dsh-agent-teams-dashboard:在 DSH Web UI 里看 AgentTeams 团队、用量与归档

前言

用 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.client bundle、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 也可覆盖汇率。

典型用法

  1. 安装并重启 DSH host,确认 AgentTeams 已在同一 profile 中启用并在工作区产生 .agent-teams 数据。
  2. 打开 DSH Web,在侧栏进入 «Команды»。
  3. 在顶部选择时间范围(默认 7 天),查看 token、USD/RUB 费用与工时三张主卡片。
  4. 在团队网格中查看状态与任务路线图;需要历史记录在归档中搜索或排序,或点底部按钮进入更老团队。
  5. 点击某张团队卡片或归档行,跳转到对应队长会话继续对话。

面板只请求本机 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.asp
  • https://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 为准。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye