前言¶
用 AgentTeams 跑多智能体协作时,团队状态、token 消耗和工时往往散落在会话目录和 .agent-teams 状态里。要在 DSH 侧边栏里集中查看「正在跑什么、花了多少钱、干了多久」,单靠默认界面通常不够直观。
dsh-agent-teams-dashboard 是面向 DSH Web 的客户端插件:在侧栏增加 «Команды»(Teams) 分区,并为每个 AgentTeams 相关会话提供仪表盘——活跃与近三日结束的团队、按时间范围的 token 与费用(USD/RUB)、总工时与归档。维护者为 dadgrand,仓库 dadgrand/dsh-agent-teams-dashboard,当前版本 0.1.0,许可证 MIT。插件归类为 DSH 社区目录中的客户端类扩展;目录页见 SkillHub 插件页。
这是什么¶
一句话:只读聚合 DSH 与 AgentTeams 本地状态,在 DSH Shell 内渲染面板;面板不直接访问外网,仅调用本机同源 JSON 路由。
架构分两半(README 原文):
- 宿主侧:
index.js+lib/host/,只读 DSH/AgentTeams 状态,在 loopback 上提供两条 JSON 路由。 - 浏览器侧:
lib/client.js,在 DSH Shell 内绘制 UI。
依赖关系:
- DSH Web 需支持客户端插件:
dsh.engines.dsh >= 0.2.0-rc.2(dsh.clientbundle、sidebar.panellist/main等槽位)。 - 数据来源:需已安装 AgentTeams 插件
@nanmicoder/dsh-agent-teams;未安装时插件仍可挂载,但仪表盘为空,orca 头像会退回字母标。
核心功能¶
以下能力均来自仓库 README 功能列表。
侧栏与总览¶
- 侧栏分区 «Команды»(panel id
agent-teams-dashboard,order 10);有团队在跑时显示 live 指示点。 - 时间范围:Today、7 days(面板默认)、30 days、All time,以及自定义区间选择器。
- 三张主卡片:
- Tokens:cache / input / output,按日堆叠。
- Cost:USD 为主、RUB 始终可见;可显示 CBR 汇率日期及 stale/override 标记。
- Time:总工时与合并后的「online」时间。
团队卡片与归档¶
- 团队网格:标题自适应字号并两行截断;彩色状态点(active、waiting、halted、stalled、completed、unknown);队长与成员 orca 图(无图时用 monogram);按依赖排序的任务路线图与分段进度条;单行指标脚注。
- 归档:按标题搜索;按结束日期、标题或花费排序;较老团队也可从底部粘性按钮进入。
- 导航:点击卡片或归档行通过 Shell 打开该团队聊天(队长会话);会话不存在时 toast 提示,不跳转。
体验与健壮性¶
- Skeleton、空态、范围内无数据、错误、陈旧与部分数据等状态。
- 单个损坏的
team.json不会清空整页,仅显示警告条,其余内容仍可见。 - 明暗主题跟随 DSH token;键盘焦点、礼貌 live region、减少动效;RU/EN 文案字典。
安装与启用¶
前置:DSH Web 客户端插件支持,以及(若要看到数据)@nanmicoder/dsh-agent-teams。
从 Git 安装(推荐)¶
将 <profile> 换成你的 DSH profile 名(Desktop 默认多为 desktop)。命令结束后重启 host,loader 会自动挂载 cordis.patch.yml。
dsh plugin --profile <profile> add --save-exact git+https://github.com/dadgrand/dsh-agent-teams-dashboard.git#v0.1.0
Desktop 插件管理器¶
打开 Settings → Plugins,选择 “Install from Git URL”,粘贴:
git+https://github.com/dadgrand/dsh-agent-teams-dashboard.git#v0.1.0
确认安装并重启 host;侧栏会出现 «Команды»。
手动写入 profile¶
在 <DSH_HOME>/profiles/<profile>/package.json 的 dependencies 中加入:
{
"dependencies": {
"dsh-agent-teams-dashboard": "git+https://github.com/dadgrand/dsh-agent-teams-dashboard.git#v0.1.0"
}
}
并在同文件的 dsh.profile.bundles 中加入包名:
{
"dsh": {
"profile": {
"bundles": ["...", "dsh-agent-teams-dashboard"]
}
}
}
然后安装并重启:
cd <DSH_HOME>/profiles/<profile>
pnpm install
<DSH_HOME> 在 Windows 默认为 %USERPROFILE%\.dsh,macOS/Linux 为 ~/.dsh。
配置(可选)¶
未写 config 时使用默认值。可在 profile 的 cordis.patch.yml 中覆盖,例如:
- id: teams-dashboard
name: 'dsh-agent-teams-dashboard'
config:
archiveDays: 5
fxEnabled: true
常用项(完整表见 README):
| 键 | 默认 | 含义摘要 |
|---|---|---|
stateDir |
.agent-teams |
各工作区内 AgentTeams 状态目录 |
archiveDays |
3 |
无活动多少天后移入归档(面板请求 3 天) |
defaultRange |
today |
请求未带范围时的默认(面板自身默认 7 天) |
fxEnabled |
true |
是否拉取 CBR 汇率;false 用缓存或内置汇率 |
usdRub / cnyRub |
未设置 | 手动汇率,优先于拉取值 |
环境变量 DSH_TEAMS_DASHBOARD_USD_RUB、DSH_TEAMS_DASHBOARD_CNY_RUB 也可覆盖汇率。
典型用法¶
- 安装并重启 DSH host,确认 AgentTeams 已在同一 profile 中启用并在工作区产生
.agent-teams数据。 - 打开 DSH Web,在侧栏进入 «Команды»。
- 在顶部选择时间范围(默认 7 天),查看 token、USD/RUB 费用与工时三张主卡片。
- 在团队网格中查看状态与任务路线图;需要历史记录在归档中搜索或排序,或点底部按钮进入更老团队。
- 点击某张团队卡片或归档行,跳转到对应队长会话继续对话。
面板只请求本机 loopback 上的同源路由;远程访问这些路由会收到 403 forbidden: loopback-only。
隐私、外连与适用注意¶
插件对 DSH home 与工作区为只读,不读消息正文,不读 AgentTeams 邮箱(inbox/*.jsonl 不在范围内),不发遥测。写入仅一处:汇率缓存 <DSH_HOME>/cache/dsh-teams-dashboard/fx.json(可删)。
启用 fxEnabled: true 时,仅有的出站请求为俄罗斯央行汇率接口:
https://www.cbr.ru/scripts/XML_daily.asphttps://www.cbr-xml-daily.ru/daily_json.js(备用)
不需要外网汇率时设 fxEnabled: false。
适用谁:已在 DSH 上用 AgentTeams 做多会话协作、希望在 Web UI 里统一看 token/费用/工时与归档的开发者。
安装前注意:插件以当前 DSH 进程权限读取本机存储与会话日志;安装前请自行审阅 GitHub 源码 与 MIT 许可证。DSH 社区目录(如 SkillHub)为独立站点,与 DeepSeek / 幻方无官方从属关系;生态上 DSH 强调「一切皆插件」,本插件是其中的客户端可视化扩展之一。
若侧栏没有 «Команды»,README 建议检查 dsh.profile.bundles、git 依赖是否解析完整,以及 host 是否已重启。
结尾¶
dsh-agent-teams-dashboard 把 AgentTeams 的团队卡片、用量曲线、双币种费用、工时与归档收进 DSH Web 侧栏,数据留在本机、面板走 loopback。需要安装命令与配置细节时,以仓库 README 为准。