Skip to content

Latest commit

 

History

History
158 lines (106 loc) · 6.17 KB

File metadata and controls

158 lines (106 loc) · 6.17 KB

五分钟上手

English

0. 前置

能跑起来 dsh web 就行。没有其它依赖,插件本身零运行时依赖。

1. 装上

dsh plugin --profile web add dsh-abyss
dsh web

打开 http://127.0.0.1:3080 ,右下角出现一枚坞:

🐋🐙  暂无成员
      深海所

点它展开面板。到这里就装完了,不需要配置。

想卸载:dsh plugin --profile web remove dsh-abyss,重启 web 后生效。

2. 让第一位同事入职

在 dsh 里正常发起一个任务,比如:

用 subagent 委派一个子任务:让子代理运行 `ls | wc -l` 并报告数量,然后你转述结果。

盯着面板看,你会依次看到:

你看到的 它对应的日志事件
主理人卡片出现,状态「思考中」 turn/start
状态变「派活中 · subagent」,气泡弹出任务简述 tool/call subagent
一位新同事入职,头像是另一种海洋生物 subagent/descriptor
他状态变「敲终端 · bash」 tool/call bash
气泡里出现他的汇报原文 tool/call report
卡片变灰、标注「已收工」 turn/endone-shot 子代理)
令牌数和工资实时往上走 assistant/message.usage

气泡里的每一句都是日志原文,不是模板句。

3. 看懂四个页签

办公室 —— 现在谁在场

每张卡片是一个 agent 会话:

  • 头像:颜色由 session id 哈希得到,所以同厂商的两位同事一眼可辨;主理人固定是鲸鱼,其余从 7 种海洋生物里按 id 分配。
  • 右下角小圆点:厂商徽标(DeepSeek / Claude Code / Codex / ACP / SDK)。
  • 状态行:思考中 / 敲终端 / 查资料 / 写代码 / 上网中 / 派活中 / 沟通中 / 整理档案…
  • 标签:厂商、正式/临时、模型、preset、委派层级 L1/L2。
  • 底部细条:上下文水位(只有当路由广播了上下文窗口时才画)。
  • 徽章:⚠ 失败次数、↻ 重拨次数、⏳ 正在等你批准(含已等多久)、🗄 归档次数。

点任意一张卡片进入员工档案:他的全部事实、汇报关系(双向可点)、自己的待办清单,以及他参与过的每一场戏。

时间线 —— 发生过什么

按真实时间从旧到新,一行一件事:派活、私聊、汇报、发言、被拦、等批准、已批复、重拨、出错、归档、收工。

超过 80 条会自动折叠,顶部一个「展开更早的 N 条」。新消息只在你已经在底部时才自动跟随——往上翻历史时不会被拽走。

统计 —— 这个案子花了多少、卡在哪

八个数字,全部是整棵会话树的汇总(不只是主会话):

指标 含义
成本 按你配的价目表算出来的钱
令牌 输入 + 输出 + 推理 + 缓存读
工具调用 全案子的 tool/call 次数
失败 工具真的报错的次数(shell 退出码非零不算,dsh 把它当普通输出)
重拨 provider 重试次数
归档 上下文压缩次数
等人 卡在等你批准的累计时长
历时 从第一个人入职到最近一次活动

下面还有两块:

  • 上下文水位:每人 已占用 / 上下文窗口,70% 转黄、90% 转红。路由没广播窗口的成员不画——编一个分母等于编一个假警报。
  • 考勤:每人一条泳道,turn 的开合就是班次;十个会话同时跑时,重叠、空档一眼看完。

再往下是过往案子:磁盘上的会话日志就是档案库。

组织 —— 谁把活派给了谁

委派谱系,从真实的父子会话关系长出来。层级来自 SessionHeader.parentSessiondelegationDepth——harness 建子会话时盖的章,不是猜的。

4. 导出一份复盘

统计页,任意案子右上角点「导出复盘」。宿主会从磁盘上的日志重建整个案子,返回 Markdown:

# 五个 Agents 调查游戏逻辑

- Case: `session-9af1dd1b-…`
- Started: 2026-08-15 21:19 · Last activity: 2026-08-15 21:22
- Elapsed: 2m 45s
- Staff: 6 (1 still on)
- Spend: $0.0903 over 312,000 tokens
- Tool calls: 72 · failures: 0 · provider retries: 0

## Staff
| Member | Firm | Depth | Tools | Fails | Tokens | Spend | Blocked |## Transcript
- `21:19:59` **assign** 五个Agents调查游戏逻辑 → 调查动作战斗与打击感逻辑: …

面板里可直接阅读,点「复制」进剪贴板(浏览器不给权限时会退化成"已选中,按 ⌘C")。

5. 回放一个旧案子

统计页底部的「过往案子」列出磁盘上的全部案子,任意一个都能:

  • 回放:从第一件事开始重演整个过程,可暂停、可重头看,节奏按事件之间的真实间隔压缩。
  • 导出复盘:同上。

这就是事件溯源运行时的好处:面板不需要当时开着,日志就是完整记录。

6. 配置(可选)

在 profile 的 cordis.yml 里加 config。最常改的是价目表和货币:

- id: dsh-abyss
  config:
    currency: "¥"
    prices:
      deepseek-v4-pro: { input: 4.0, output: 16.0, cacheRead: 0.5 }

改完重启 dsh web。写错了会在启动时大声报错,不会默默按默认值跑。

常见问题

面板是空的? 说明当前会话还没有事件。发起一个任务;或者切到「全部」范围看看别的案子。如果你打开的是一个旧会话,面板会自动从磁盘重建它。

面板挡住了输入框? 按住标题栏把它拖走,位置会记住;双击标题栏放回右下角;右下角还能拖拽调整大小。

看不到「统计」里的上下文水位? 说明这条模型路由没有广播 contextWindow。这时不画是刻意的——见上文。

报告顶部写着「有 N 位成员的日志读不出来」? 那位成员的会话日志损坏了(dsh 的持久化层会拒绝读取,比如 seq 断档)。报告里的数字不含他们,这行字就是提醒你别把它当全量。

我的会话数据会被发到哪里去吗? 不会。数据只挂在产品自己的 origin 下 /abyss,没有跨域头、没有外部请求、没有遥测。