前言¶
DeepSeek Harness (DSH) 的核心在于插件化,但原生界面在成本控制和状态反馈上相对精简。dsh-sym(symbiote,共生体)是一个旨在直接叠加在 DSH 原生界面上的读数层插件。它不新增面板,不打断工作流,主要解决开发者对实时会话花费、账户余额、峰谷计费以及上下文引用的即时可见性问题。
功能概览¶
以下是 dsh-sym 在界面上的主要表现形式:
| 图标 | 功能 | 出现位置 |
|---|---|---|
| 💵 | 会话花费 | 输入框状态栏末尾 |
| 👛 | 账户余额 | 输入框下方工具行,模型名左侧 |
| 🕐 | 峰谷时段 | 品牌行 deepseek HARNESS 后面 |
@ |
引用回复 | 每条已完成回复的动作行 |
| ▮ | 快捷按钮条 | 侧栏与对话区之间的竖条 |
| ⚙ | 共生体设置 | 设置 → 插件 → 共生体设置 |
| ⑂ | Git 状态 | 会话头部标题行最前 |
这些组件互不干扰:某一处读不到数据时它会自动隐藏,不影响其他功能。
核心功能详解¶
1. 实时会话花费¶
在输入框下方状态栏末尾,会显示两个人民币金额。
- 💵 本会话总计:从第一条消息到现在,所有轮次累计的花费。
- 💬 本次任务:在右侧的轮次导航刻度上选中某一格,对应的这一轮花费。
- 查看详情:鼠标悬停在金额上,会展开完整的账单,包括厂商、模型、峰时/谷时单价以及 cache hit/miss/output 的 token 数量。
- 上下文压缩:显示本会话已压缩的次数,悬停时显示丢失的 token 量。
计价覆盖 1046 个模型和 42 家厂商。
2. 账户余额¶
位于输入框下方工具行、模型选择器左侧。
- 数据来源:使用官方的
ctx.remote.account接口,与「设置 → 账户」共用同一份凭据。 - 刷新机制:挂载时读一次,之后每 60 秒刷新;读不到时降为每 5 分钟重试。
- 显示:优先显示 CNY 钱包,只有美元钱包时显示
$。悬停可查看赠送余额和更新时间。
3. 峰谷时段¶
在品牌行后面跟随一个状态标记,直观显示当前计费时段。
- 峰时:琥珀色描边,按标准价计费。
- 谷时:灰色,按半价计费。
- 刷新:每天在固定时刻触发 5 次(北京时间 09:00、12:00、14:00、18:00、00:00),边界后约半秒翻转。窗口重新获得焦点时会立即重新对时。
4. 引用回复¶
每条已完成的回复动作行里多一个 @ 按钮。点击后,输入框内会出现一个短标记(如 @引用#9806056fac67)。
- 模型读取:模型读到的是那条回复的完整原文,不是这个标记。
- 实现方式:宿主侧监听
session/event,维护最近 400 条消息的索引。发送前,宿主的agent/pre-step钩子会扫描并展开标记为 Markdown 引用块。 - 限制:只对之后的发送生效,不改变会话结构;索引在内存中,App 重启后需重新填充。
5. 快捷按钮条¶
位于侧栏与对话区之间的竖条。点击按钮内容会直接填入输入框,光标留在框内。
- 分组:分为三组「官方命令 → 技能 → 预设提示词」。
- 实现:调用官方的
commandUi.dispatch将决策交回官方,因此外观和交互与官方菜单完全一致。 - 自定义:可在「共生体设置」中修改按钮内容和图标(内置 105 个图标)。
6. 共生体设置¶
在「设置 → 插件 → 共生体设置」中管理。
- 显示项开关:控制余额、计费、内存占用、压缩信息的可见性。
- 快捷按钮管理:支持增删、改名、改图标、改类型、排序(组内排序)。
- 导入导出:配置存储在浏览器本地存储中,支持 JSON 文件导入导出。
7. Git 状态胶囊¶
显示在会话头部标题行最前。
- 内容:分支名、工作区改动(
+N −M)、未跟踪文件数(?N)。 - 交互:点分支名可切换分支(仅在分支数 > 1 时可用)。切换时会使用
git switch,拒绝强制丢弃改动的操作。 - 数据源:每 2 秒轮询一次宿主的认证路由。
8. 会话菜单增强¶
在侧栏会话行的悬停菜单中,官方四项下方新增一组。
- 复制会话 ID:复制 UUID,失败时菜单不关闭。
- 导出会话日志:复用官方的
dsh-session-log-export功能,与头部「下载 Session 日志」一致。
安装¶
本包为 DSH 组合包(bundle),安装后会自动合并 cordis.patch.yml,无需手动修改配置。
# 推荐方式:通过 GitHub 安装
dsh plugin --profile desktop add github:seeseeczl/dsh-sym
注意:本插件未发布到 npm。npm 上存在一个同名或相似的项目
dsh-hud,与本插件无关。
典型用法¶
- 查看花费:在聊天右侧的轮次刻度上滚动或点选,观察输入框末尾的「本次任务」金额变化。
- 刷新余额:点击输入框下方工具行中的钱包图标。
- 引用回复:在对话历史中,点击某条回复右侧的
@按钮,直接在当前输入框中引用该条消息。 - 使用快捷命令:点击侧栏右缝的快捷按钮,内容会自动填入输入框并准备发送。
注意事项¶
- 零依赖:这是一个纯 JavaScript 项目,无构建步骤。
- 本地存储:配置文件存储在浏览器本地存储中,不写入 DSH 的配置文件。
- 权限:插件以当前 DSH 进程的权限运行,安装前建议检查源码与许可证(MIT)。
总结¶
dsh-sym 通过「共生」的方式,将成本、余额、计费时段等关键信息直接叠加在 DSH 原生界面之上,无需切换面板。它提供了从会话花费细粒度控制到 Git 状态同步、上下文引用等实用功能,适合需要精细化管理 DeepSeek 调用成本与工作流的开发者。