diff --git a/build/esbuild.config.mjs b/build/esbuild.config.mjs index 9bdaba7..bcf3a1a 100644 --- a/build/esbuild.config.mjs +++ b/build/esbuild.config.mjs @@ -27,7 +27,7 @@ export const trayRendererHtmlOutput = path.join(rendererOutDir, "pages", "tray", export const cssInput = path.join(rendererRoot, "styles", "globals.css"); export const cssOutput = path.join(rendererAssetsDir, "main.css"); export const webClientBridgeOutput = path.join(rendererAssetsDir, "web-client-bridge.js"); -const lightweightMcpBundleNames = ["fusion-vision-mcp.js", "fusion-tool-fallback-mcp.js"]; +const lightweightMcpBundleNames = ["browser-web-search-proxy-mcp.js", "fusion-vision-mcp.js", "fusion-tool-fallback-mcp.js"]; const lightweightMcpBundleMaxBytes = 128 * 1024; const forbiddenLightweightMcpInputs = [ { prefix: "src/main/", reason: "main-process modules can pull in config, Electron, or native storage side effects" }, @@ -120,6 +120,7 @@ export function createMainBuildOptions({ mode = "production", plugins = [] } = { entryPoints: [ path.join(projectRoot, "src", "main", "main.ts"), path.join(projectRoot, "src", "main", "browser-preload.ts"), + path.join(projectRoot, "src", "server", "mcp", "browser-web-search-proxy-mcp.ts"), path.join(projectRoot, "src", "server", "mcp", "fusion-vision-mcp.ts"), path.join(projectRoot, "src", "server", "mcp", "fusion-tool-fallback-mcp.ts"), path.join(projectRoot, "src", "main", "preload.ts") diff --git a/docs/src/content/docs/en/configuration/overview.md b/docs/src/content/docs/en/configuration/overview.md index 0399669..9a7bf49 100644 --- a/docs/src/content/docs/en/configuration/overview.md +++ b/docs/src/content/docs/en/configuration/overview.md @@ -2,52 +2,130 @@ title: Overview Dashboard pageTitle: Overview Dashboard eyebrow: Detailed Configuration -lead: Customize the CCR home dashboard for system status, account balance, requests, tokens, cost, model distribution, and share cards. +lead: Customize the CCR home dashboard to inspect system status, account balance, requests, tokens, cost, and model distribution. --- -## Top Controls +## When To Use It -| Field | Capability | +| Scenario | What to inspect | | --- | --- | -| Usage over time | Changes the statistics range used by the dashboard. | -| Today / 24h / 7d / 30d | Available time windows. Widgets recalculate requests, tokens, cost, and trends for the selected range. | -| Edit widgets | Enters layout editing mode. | -| Reset layout | Restores the default overview layout. | -| Done | Leaves editing mode and keeps the current widget configuration. | +| Check gateway health | System status, success rate, errors, average latency | +| Estimate recent spend | Requests, input / output / cache tokens, estimated cost | +| Compare upstream usage | Provider analysis, model distribution, client analysis | +| Watch account quota | Balance, subscription quota, remaining quota, account status | +| Report or share usage | AI Usage Wrapped, CCR Route Map, Model Leaderboard, Spend Receipt, and other share cards | -## Widget Editing +## Time Range -In editing mode, the left `Components` panel adds widgets, the middle `Preview` panel shows the current layout, and the right `Component properties` panel edits the selected widget. +The `Usage over time` control at the top drives every widget that depends on usage stats. After you switch ranges, requests, tokens, cost, trends, distribution, and share cards are recomputed for the selected window. -| Field | Capability | +| Option | Window | | --- | --- | -| Components | List of widgets that can be added. | -| Preview | Current dashboard layout. Widgets can be dragged to reorder. | -| Component properties | Configuration for the selected widget. | -| Component category | Changes the widget category, such as status, account, metric, trend, activity, breakdown, analysis, or share card. | -| Data | Selects the data shown by the widget, such as requests, tokens, cost, account, client analysis, or provider analysis. | -| Widget size | Controls the widget's grid width and height. | -| Style | Changes visual style, such as cards, compact, bar, line, ring, and more. | -| Remove widget | Removes the selected widget from the overview. | +| `Today` | Current local date from 00:00 to now, bucketed hourly. | +| `24h` | Last 24 hours, bucketed hourly. | +| `7d` | Last 7 days, bucketed daily. | +| `30d` | Last 30 days, bucketed daily. | -## Widget Types +The account balance widget does not use this time range. It shows the latest snapshot returned by provider account connectors. -| Widget | Capability | +## Edit Layout + +Click the pencil button in the upper-right corner to enter editing mode. Editing mode has three columns: + +| Area | Purpose | | --- | --- | -| Status component | Shows a system status timeline for recent gateway health. | -| Account component | Shows provider account balance, quota, or usage. Requires provider `Fetch usage`. | -| Metric component | Shows requests, total tokens, input tokens, output tokens, cache tokens, cache ratio, estimated cost, success rate, errors, or average latency. | -| Trend component | Shows usage trend over time. | -| Activity component | Shows token activity as a heatmap. | -| Breakdown component | Shows Token mix or Model distribution. | -| Analysis component | Shows Client Analysis or Provider Analysis. | -| Share card | Generates shareable PNG cards such as AI Usage Wrapped, CCR Route Map, Model Leaderboard, AI Fuel Cockpit, Token Calendar Poster, and Spend Receipt. | +| Components | Left palette. Click a template to add it to the dashboard. | +| Preview | Middle layout preview. Drag widgets to reorder them or click a widget to select it. | +| Component properties | Right property panel for changing type, data, size, style, or removing the selected widget. | -## Data Sources +Common operations: -| Data | Source | +1. Add a widget: click a template in `Components`. +2. Reorder widgets: drag them in `Preview`. +3. Resize a widget: select it, then drag the right, bottom, or bottom-right resize handle. +4. Change data: use `Component category` and `Data` in `Component properties`. +5. Change presentation: choose `Widget size` and `Style`. +6. Save the result: click `Done`; the layout is persisted in app configuration. +7. Restore defaults: click `Reset layout` while editing. + +Removing a widget only removes that card from the overview layout. It does not delete request logs, providers, account connectors, or upstream configuration. If all widgets are removed, the page shows `No widgets configured`. + +## Widget Catalog + +Sizes are written as `width:height`, with both dimensions from `1` to `4`. The overview grid has up to 4 columns on desktop and collapses automatically on narrow screens. + +| Widget | Data | Default size | Default style | Styles | +| --- | --- | --- | --- | --- | +| Status component | System status | `4:1` | Timeline | Timeline, Compact | +| Account component | All accounts or one account | `4:2` | Cards | Cards, Compact, Bars, Ring, Semicircle, Arc, Nested rings | +| Metric component | Requests, tokens, cost | `1:1` | Cards | Cards, Compact, Bar, Ring | +| Trend component | Usage over time | `3:2` | Composed | Composed, Area, Line, Bar | +| Activity component | Token activity | `4:2` | Heatmap | Heatmap | +| Breakdown component | Token distribution / Model distribution | Token distribution: `1:2`; Model distribution: `2:2` | Token distribution: Bars; Model distribution: Pie | Bars, Stacked, Donut, Pie | +| Analysis component | Client Analysis / Provider Analysis | `2:2` | Table | Table, Compact | +| Share card | AI Usage Wrapped, CCR Route Map, Model Leaderboard, AI Fuel Cockpit, Token Calendar Poster, Spend Receipt | `1:4` | Card | Card | + +Size constraints: + +| Rule | Reason | | --- | --- | -| Requests, tokens, cost, success rate, latency | Request logs and usage stats. | -| Account balance, quota, status messages | Provider `Fetch usage` configuration. | -| Client analysis, provider analysis, model distribution | Client, provider, model, and token data from request logs. | -| Agent analysis data | Agent observability settings and agent execution traces. | +| Share cards have a minimum size of `1:4`. | PNG export uses a vertical poster ratio and needs enough height. | +| The account widget has a minimum size of `2:2` when showing All accounts with the Compact style. | Multi-account lists need readable space. | +| Legacy aliases are still accepted: `small` -> `1:1`, `medium` / `large` -> `2:2`, `wide` -> `3:2`, `full` -> `4:1` or `4:2`. | Backward compatibility for older config. | + +## Metric Data + +`metric` widgets use the `metric` field to choose the displayed value. + +| `metric` | Meaning | +| --- | --- | +| `requests` | Request count | +| `total-tokens` | Total tokens | +| `input-tokens` | Input tokens | +| `output-tokens` | Output tokens | +| `cache-tokens` | Cache tokens | +| `cache-ratio` | Cache ratio | +| `estimated-cost` | Estimated cost, calculated from model pricing data | +| `success-rate` | Success rate | +| `errors` | Error count | +| `avg-latency` | Average latency | + +## Account Widget + +The account widget reads provider account / usage connectors. To show balance or remaining quota, first enable and test `Fetch usage` in provider configuration. + +| Data selection | Behavior | +| --- | --- | +| `All accounts` | Shows every available account snapshot. | +| One account | Shows only one provider or credential snapshot. The internal config value is usually `provider` or `provider::credentialId`. | + +If the account widget is empty, check: + +1. Whether the provider has an account / usage connector configured. +2. Whether the `Fetch usage` test succeeds. +3. Whether the API key or account endpoint is still valid. +4. Whether the selected account was deleted or renamed. + +## Share Cards + +Share card widgets can export PNGs through the download button in the card header. The desktop app uses native export when available; browser environments fall back to frontend canvas export. The exported image size is `1080 x 1350`. + +| Card | `type` | Content | +| --- | --- | --- | +| AI Usage Wrapped | `share-usage-wrapped` | Total tokens, requests, estimated cost, cache ratio, longest activity streak, top model, top provider, peak day. | +| CCR Route Map | `share-route-map` | Main client-to-provider/model route relationships, plus client, provider, and model counts. | +| Model Leaderboard | `share-model-leaderboard` | Models ranked by tokens. | +| AI Fuel Cockpit | `share-fuel-cockpit` | Up to 3 account quota gauges. Requires account / usage connectors. | +| Token Calendar Poster | `share-token-calendar` | Contribution-calendar style token activity poster. | +| Spend Receipt | `share-spend-receipt` | Estimated cost, requests, tokens, latency, and success rate for the selected range. | + +## Data Sources And Troubleshooting + +| Symptom | Likely cause | What to do | +| --- | --- | --- | +| Requests, tokens, or cost are 0 | No requests went through CCR in the selected range, or usage capture has not recorded data yet. | Try `24h` / `7d`, and confirm the client is actually using CCR. | +| Cost shows `$0.00` | The model has no pricing data, or usage is very small. | Check model catalog matching and provider model names; values under 0.01 USD are shown with extra decimals. | +| Success rate or errors look unexpected | The overview only aggregates request results captured by CCR. | Compare with records on the Logs page. | +| Account balance is empty | No account connector exists, or `Fetch usage` failed. | Test account / usage field mapping in provider configuration. | +| Distribution charts have no data | Request logs lack model, provider, or token information. | Confirm requests go through CCR and upstream responses include token usage. | +| PNG export fails | Canvas export is unavailable, the element has no size, or the save dialog was canceled. | Retry in the desktop app, and make sure the card is visible and not resized too small. | diff --git a/docs/src/content/docs/en/index.md b/docs/src/content/docs/en/index.md index d60d2c6..a9a08ba 100644 --- a/docs/src/content/docs/en/index.md +++ b/docs/src/content/docs/en/index.md @@ -13,7 +13,7 @@ The top navigation is split into four standalone pages: | --- | --- | | [Documentation](./) | Product positioning, architecture overview, and reading path | | [Quick Start](guides/) | From installation and provider setup to connecting an agent | -| [Detailed Configuration](configuration/providers/) | Overview dashboard, API keys, server, providers, routing, Agent Config, Fusion, Bots, tray, and config database location | +| [Detailed Configuration](configuration/overview/) | Overview dashboard, API keys, server, providers, routing, Agent Config, Fusion, Bots, tray, and config database location | | [Q&A](troubleshooting/) | Request logs, observability panel, and common questions | Bot platform guides are child pages under Detailed Configuration. Each platform has its own page so platform dashboard fields, callback URLs, signatures, and FAQs can be expanded independently. @@ -24,5 +24,5 @@ If this is your first time using CCR: 1. Start with [Quick Start](guides/) to connect a provider and Agent Config. 2. Use the app's request logs to confirm whether requests are passing through CCR. -3. Open [Detailed Configuration](configuration/providers/) for the overview dashboard, API keys, server, providers, vision, web search, MCP tools, tray, and IM relay. +3. Open [Detailed Configuration](configuration/overview/) for the overview dashboard, API keys, server, providers, vision, web search, MCP tools, tray, and IM relay. 4. Use [Q&A](troubleshooting/) for 401, 404, timeout, wrong-routing, or Bot delivery questions. diff --git a/docs/src/content/docs/zh/configuration/overview.md b/docs/src/content/docs/zh/configuration/overview.md index 27a64e9..d7b4ff9 100644 --- a/docs/src/content/docs/zh/configuration/overview.md +++ b/docs/src/content/docs/zh/configuration/overview.md @@ -2,52 +2,130 @@ title: 概览仪表盘 pageTitle: 概览仪表盘 eyebrow: 详细配置 -lead: 自定义 CCR 首页组件,查看系统状态、账户余额、请求量、tokens、成本、模型分布和可分享卡片。 +lead: 自定义 CCR 首页仪表盘,查看系统状态、账户余额、请求量、令牌、成本和模型分布。 --- -## 顶部控件 +## 适用场景 -| 字段 | 代表的能力 | +| 场景 | 看什么 | | --- | --- | -| 按时间查看用量 | 切换仪表盘使用的统计时间范围。 | -| 今天 / 24 小时 / 7 天 / 30 天 | 可选统计窗口。不同组件会根据这个窗口重新计算请求、tokens、成本和趋势。 | -| 编辑组件 | 进入布局编辑模式。 | -| 重置布局 | 恢复默认概览布局。 | -| 完成 | 退出布局编辑模式并保留当前组件配置。 | +| 检查网关是否正常 | 系统状态、成功率、错误数、平均延迟 | +| 估算今日或近期消耗 | 请求数、输入 / 输出 / 缓存令牌、估算成本 | +| 比较上游使用情况 | 供应商分析、模型分布、客户端分析 | +| 关注账户额度 | 账户余额、套餐额度、剩余额度、账户状态 | +| 汇报或分享用量 | AI 用量年报、CCR 路由图、模型排行榜、消费小票等分享卡片 | -## 组件区 +## 时间范围 -编辑模式下,左侧“组件”用于添加组件,中间“预览”展示当前布局,右侧“组件属性”编辑选中组件。 +顶部的 `按时间查看用量` 控制所有依赖用量统计的组件。切换后,请求、令牌、成本、趋势、分布和分享卡片会按新的窗口重新聚合。 -| 字段 | 代表的能力 | +| 选项 | 统计窗口 | | --- | --- | -| 组件 | 可添加组件列表。 | -| 预览 | 当前仪表盘布局。组件可以拖拽排序。 | -| 组件属性 | 当前选中组件的配置区域。 | -| 组件类型 | 切换组件大类,例如状态、账户、指标、趋势、活跃度、构成、分析或分享卡片。 | -| 数据 | 选择组件展示的数据,例如请求数、tokens、成本、账户、客户端分析或供应商分析。 | -| 组件大小 | 控制组件占用的网格宽高。 | -| 样式 | 切换组件展示样式,例如卡片、紧凑、柱状图、折线图、圆环等。 | -| 移除组件 | 从概览中移除当前组件。 | +| `今天` | 当前本地日期从 00:00 到现在,按小时分桶。 | +| `24 小时` | 最近 24 小时,按小时分桶。 | +| `7 天` | 最近 7 天,按天分桶。 | +| `30 天` | 最近 30 天,按天分桶。 | -## 组件类型 +账户余额组件不按这个时间窗口重算,它展示供应商账户连接器最近一次获取到的快照。 -| 组件 | 代表的能力 | +## 编辑布局 + +点击右上角铅笔按钮进入编辑模式。编辑模式分为三栏: + +| 区域 | 作用 | | --- | --- | -| 状态组件 | 展示系统状态时间线,帮助判断网关近期是否正常。 | -| 账户组件 | 展示供应商账户余额、套餐额度或用量。需要供应商开启“获取用量”。 | -| 指标组件 | 展示请求数、总 tokens、输入 tokens、输出 tokens、缓存 tokens、缓存比例、估算成本、成功率、错误数或平均延迟。 | -| 趋势组件 | 展示按时间聚合的用量趋势。 | -| 活跃度组件 | 展示 token 活跃度热力图。 | -| 构成组件 | 展示 Token 构成或模型分布。 | -| 分析组件 | 展示客户端分析或供应商分析。 | -| 分享卡片 | 生成适合分享的 PNG 卡片,例如 AI Usage Wrapped、CCR Route Map、Model Leaderboard、AI Fuel Cockpit、Token Calendar Poster 和 Spend Receipt。 | +| 组件 | 左侧组件库,点击任一组件即可添加到当前仪表盘。 | +| 预览 | 中间布局预览。可以拖拽组件排序,也可以点击组件选中它。 | +| 组件属性 | 右侧属性面板,用于修改类型、数据、尺寸、样式或移除组件。 | -## 数据来源 +常用操作: -| 数据 | 来源 | +1. 添加组件:在左侧 `组件` 中点击组件模板。 +2. 调整顺序:在 `预览` 中拖拽组件。 +3. 调整尺寸:选中组件后拖动右侧、底部或右下角的缩放手柄。 +4. 修改数据:在 `组件属性` 里切换 `组件类型` 和 `数据`。 +5. 修改展示:在 `组件大小` 和 `样式` 中选择合适的布局。 +6. 保存结果:点击 `完成` 退出编辑模式;布局会保存在应用配置中。 +7. 恢复默认:编辑模式下点击 `重置布局`。 + +移除组件只会从概览布局中删除该卡片,不会删除请求日志、供应商、账户连接器或任何上游配置。如果所有组件都被移除,页面会显示 `未配置组件`。 + +## 组件目录 + +尺寸使用 `宽:高` 表示,宽高范围都是 `1` 到 `4`。概览网格在桌面端最多 4 列,在窄屏上会自动折叠。 + +| 组件 | 可选数据 | 默认尺寸 | 默认样式 | 可选样式 | +| --- | --- | --- | --- | --- | +| 状态组件 | 系统状态 | `4:1` | 时间线 | 时间线、紧凑 | +| 账户组件 | 所有账户或指定账户 | `4:2` | 卡片 | 卡片、紧凑、横条、圆环、半圆、弧形、内外圆 | +| 指标组件 | 请求、Token、成本 | `1:1` | 卡片 | 卡片、紧凑、柱状图、圆环 | +| 趋势组件 | 按时间查看用量 | `3:2` | 组合图 | 组合图、面积图、折线图、柱状图 | +| 活跃度组件 | Token 活跃度 | `4:2` | 热力图 | 热力图 | +| 构成组件 | Token 分布 / 模型分布 | Token 分布:`1:2`;模型分布:`2:2` | Token 分布:横条;模型分布:饼图 | 横条、堆叠、环形图、饼图 | +| 分析组件 | 客户端分析 / 供应商分析 | `2:2` | 表格 | 表格、紧凑 | +| 分享卡片 | AI 用量年报、CCR 路由图、模型排行榜、AI 燃料仪表、Token 日历海报、消费小票 | `1:4` | 卡片 | 卡片 | + +尺寸约束: + +| 规则 | 原因 | | --- | --- | -| 请求数、tokens、成本、成功率、延迟 | 请求日志和用量统计。 | -| 账户余额、套餐额度、状态消息 | 供应商“获取用量”配置。 | -| 客户端分析、供应商分析、模型分布 | 请求日志中的客户端、供应商、模型和 token 信息。 | -| Agent 分析相关数据 | 设置中的“Agent 观测”和 Agent 执行链路数据。 | +| 分享卡片最小高度是 `1:4`。 | 导出图片使用竖版海报比例,需要足够高度。 | +| 账户组件在展示所有账户且使用“紧凑”样式时,最小尺寸是 `2:2`。 | 多账户列表需要保留可读空间。 | +| 旧版尺寸别名仍可被解析:`small` -> `1:1`,`medium` / `large` -> `2:2`,`wide` -> `3:2`,`full` -> `4:1` 或 `4:2`。 | 用于兼容旧配置。 | + +## 指标数据 + +`metric` 组件通过 `metric` 字段选择要展示的指标。 + +| `metric` | 含义 | +| --- | --- | +| `requests` | 请求数 | +| `total-tokens` | 总令牌 | +| `input-tokens` | 输入令牌 | +| `output-tokens` | 输出令牌 | +| `cache-tokens` | 缓存令牌 | +| `cache-ratio` | 缓存率 | +| `estimated-cost` | 估算成本,按模型价格信息计算 | +| `success-rate` | 成功率 | +| `errors` | 错误数 | +| `avg-latency` | 平均延迟 | + +## 账户组件 + +账户组件读取供应商配置里的账户 / 用量连接器。要让它显示余额或剩余额度,需要先在供应商配置中启用并测试 `获取用量`。 + +| 数据选择 | 行为 | +| --- | --- | +| `所有账户` | 展示所有可用账户快照。 | +| 指定账户 | 只展示某个供应商或某个凭据的账户快照。内部配置值格式通常是 `provider` 或 `provider::credentialId`。 | + +如果账户组件为空,优先检查: + +1. 供应商是否配置了账户 / 用量连接器。 +2. `获取用量` 测试是否成功。 +3. API Key 或账户接口是否仍有效。 +4. 当前选择的指定账户是否已经被删除或重命名。 + +## 分享卡片 + +分享卡片组件可以通过右上角下载按钮导出 PNG。桌面 App 会优先使用原生导出能力,浏览器环境会退回到前端 canvas 导出。导出图片尺寸为 `1080 x 1350`。 + +| 卡片 | `type` | 内容 | +| --- | --- | --- | +| AI 用量年报 | `share-usage-wrapped` | 总令牌、请求数、估算成本、缓存率、最长连续、最高频模型、最高频供应商、峰值日期。 | +| CCR 路由图 | `share-route-map` | 客户端到供应商 / 模型的主要路由关系,以及客户端、供应商、模型数量。 | +| 模型排行榜 | `share-model-leaderboard` | 按令牌排序的模型排行榜。 | +| AI 燃料仪表 | `share-fuel-cockpit` | 最多 3 个账户额度仪表,依赖账户 / 用量连接器。 | +| Token 日历海报 | `share-token-calendar` | 类似贡献日历的 Token 活跃度海报。 | +| 消费小票 | `share-spend-receipt` | 当前时间范围内的估算成本、请求、令牌、延迟和成功率小票。 | + +## 数据来源与排障 + +| 现象 | 可能原因 | 处理方式 | +| --- | --- | --- | +| 请求、令牌或成本为 0 | 当前时间范围内没有经过 CCR 的请求,或用量捕获尚未记录。 | 切换到 `24h` / `7d`,确认客户端请求确实走 CCR。 | +| 成本显示为 `$0.00` | 模型没有价格信息,或用量过小。 | 检查模型目录和供应商模型名是否能匹配价格;低于 0.01 美元会显示更多小数。 | +| 成功率、错误数不符合预期 | 只统计 CCR 捕获到的请求结果。 | 对照日志页面中的请求记录。 | +| 账户余额为空 | 没有账户连接器,或 `获取用量` 失败。 | 到供应商配置中测试账户 / 用量字段映射。 | +| 分布图没有数据 | 请求日志里缺少模型、供应商或 token 信息。 | 确认请求经过 CCR,并检查上游响应是否返回 token usage。 | +| PNG 导出失败 | 浏览器不支持 canvas 导出、元素尺寸为空,或用户取消了保存。 | 在桌面 App 中重试,确保卡片可见且没有被缩到过小。 | diff --git a/docs/src/content/docs/zh/index.md b/docs/src/content/docs/zh/index.md index 136c57e..45caad3 100644 --- a/docs/src/content/docs/zh/index.md +++ b/docs/src/content/docs/zh/index.md @@ -13,7 +13,7 @@ lead: 了解 CCR 的定位、能力边界和文档结构。需要动手配置时 | --- | --- | | [文档](./) | 产品定位、架构概览、阅读路径 | | [快速开始](guides/) | 从安装、接供应商,到接入 Agent 的上手流程 | -| [详细配置](configuration/provider/) | 概览仪表盘、API 密钥、服务、供应商、路由、Agent配置、Fusion、Bot、托盘和配置数据库位置 | +| [详细配置](configuration/overview/) | 概览仪表盘、API 密钥、服务、供应商、路由、Agent配置、Fusion、Bot、托盘和配置数据库位置 | | [Q&A](troubleshooting/) | 请求日志、观测面板和常见问题 | Bot 平台教程是「详细配置」分类下的子页面,每个平台有独立页面,方便逐步补齐平台后台字段、回调 URL、签名和 FAQ。 @@ -24,7 +24,7 @@ Bot 平台教程是「详细配置」分类下的子页面,每个平台有独 1. [快速开始](guides/) 覆盖供应商接入和 Agent配置。 2. App 的请求日志页面展示请求是否经过 CCR。 -3. [详细配置](configuration/provider/) 覆盖概览仪表盘、API 密钥、服务、供应商、图像、联网搜索、MCP 工具、托盘和 IM 接力。 +3. [详细配置](configuration/overview/) 覆盖概览仪表盘、API 密钥、服务、供应商、图像、联网搜索、MCP 工具、托盘和 IM 接力。 4. [Q&A](troubleshooting/) 覆盖 401、404、超时、路由不对或 Bot 收不到消息等常见问题。 这样文档不会挤在一个长页面里,后续也能按顶部分类逐步扩展。 diff --git a/docs/src/i18n/content.ts b/docs/src/i18n/content.ts index 731f868..8569685 100644 --- a/docs/src/i18n/content.ts +++ b/docs/src/i18n/content.ts @@ -15,7 +15,7 @@ export const docsContent = { navItems: [ { label: "文档", href: "/", pageKey: "documentation" }, { label: "快速开始", href: "/guides/", pageKey: "guides" }, - { label: "详细配置", href: "/configuration/provider/", pageKey: "configuration" }, + { label: "详细配置", href: "/configuration/overview/", pageKey: "configuration" }, { label: "Q&A", href: "/troubleshooting/", pageKey: "troubleshooting" }, ], pages: { @@ -77,7 +77,7 @@ export const docsContent = { "Bot 与 IM 接力 Agent", "配置数据库位置", ], - active: "供应商配置", + active: "概览仪表盘", }, ], expandableSidebarItems: ["Fusion 组合模型", "Bot 与 IM 接力 Agent"], @@ -163,7 +163,7 @@ export const docsContent = { navItems: [ { label: "Documentation", href: "/en/", pageKey: "documentation" }, { label: "Quick Start", href: "/en/guides/", pageKey: "guides" }, - { label: "Detailed Configuration", href: "/en/configuration/providers/", pageKey: "configuration" }, + { label: "Detailed Configuration", href: "/en/configuration/overview/", pageKey: "configuration" }, { label: "Q&A", href: "/en/troubleshooting/", pageKey: "troubleshooting" }, ], pages: { @@ -225,7 +225,7 @@ export const docsContent = { "Bots And IM Agent Relay", "Config Database Location", ], - active: "Provider Config", + active: "Overview Dashboard", }, ], expandableSidebarItems: ["Fusion Models", "Bots And IM Agent Relay"], diff --git a/docs/src/pages/configuration.astro b/docs/src/pages/configuration.astro index 1ad9fba..5484cef 100644 --- a/docs/src/pages/configuration.astro +++ b/docs/src/pages/configuration.astro @@ -1,5 +1,5 @@ --- -const target = "/configuration/provider/"; +const target = "/configuration/overview/"; --- @@ -8,10 +8,10 @@ const target = "/configuration/provider/";
- 供应商配置 + 概览仪表盘