DSH Web 成就系统:画廊支持按分类/难度双排序、解锁 toast、侧栏奖杯、输入坞进度读条、联动成就,并本地持久化进度。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:WJNCT55555/dsh-achievements
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本。请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
为 DeepSeek Harness(DSH)编写的进程级(全局)成就系统插件。观察 agent / session 事件,把工具调用、文件操作、子代理、workflow、goal、preset 切换等行为折叠成成就进度,解锁时弹出 toast 并写入一次性队列,供浏览器画廊、侧栏奖杯与输入坞读条展示。
组成
本仓库发布为三个 npm 包(bundle + 两个子包):
| 包 | 目录 | 说明 |
|---|---|---|
@wjnct55555/dsh-achievements-bundle |
仓库根 | 可安装 bundle:声明 dsh.bundle patch,挂载下面两个包 |
@wjnct55555/dsh-achievements |
packages/extensions/achievements/ |
宿主侧引擎:事件监听、计数、解锁队列、只读 Remote(list / recent / dock / deepState / setDeepInsights)与 list_achievements 工具 |
@wjnct55555/dsh-client-ui-achievements |
packages/extensions/ui-achievements/ |
浏览器侧界面:设置页画廊、toast 堆栈、侧栏奖杯、输入坞读条、画廊浮层 |
设计文档
架构、规则引擎、51 个成就目录、客户端数据流与未来演进方向(参考 AGPA 的可达性审计 / 规则扩展 / hint-tip 引导等候选)见 docs/DESIGN.md。
功能
- 51 个成就,分
启程 / 工具大师 / 文件工匠 / 编排 / 目标 / 技能 / 模型 / 行为 / 联动 / 隐藏十类,稀有度覆盖普通 → 稀有 → 史诗 → 传说。 - 本地持久化:计数与解锁写入
~/.agent-achievements/state.json,重启后完整保留。 - 画廊双排序:按分类(默认)或按难度(稀有度)查看。
- 多 UI 表面:解锁 toast(史诗/传说带彩纸)、侧栏奖杯(未读角标)、输入坞进度读条、设置页画廊与奖杯弹出的全屏画廊。
- 联动成就「吾栖之肤」:检测到
dsh-deep-whale鲸鱼娘皮肤插件(github.com/Small-tailqwq/dsh-deep-whale)已安装时自动解锁。 - 隐藏成就:达成前名称/描述以
???显示。
隐私
分层设计,零遥测、零上传。
- 基础层(默认):监听器只读取叶子标量(工具名、成功标志、agent id、事件类型、文件路径、token 计数),从不读取消息正文、文件内容、错误详情或搜索结果。
- 深度洞察层(opt-in,默认关闭):首次运行通过设置页询问,启用后允许对消息正文正则匹配与历史会话扫描,仅用于成就解锁;正文只在运行时匹配、绝不落盘。
- 持久化:只保存成就进度到本地 JSON(
~/.agent-achievements/state.json),不含任何消息/文件内容。
构建与安装
安装(推荐:npm)
dsh plugin --profile web add @wjnct55555/dsh-achievements-bundle
安装(git 方式)
git clone https://github.com/WJNCT55555/dsh-achievements
dsh plugin --profile web add ../dsh-achievements
从源码构建
三个包由 DSH 工作区构建(lib/ 产物已随仓库提供;需重新构建时在 DSH checkout 中放入 packages/extensions/):
pnpm install --offline
pnpm exec tsc -b packages/extensions/achievements packages/extensions/ui-achievements
pnpm exec tsdown --env.DSH_BUILD_FACE host # 生成宿主侧 Typert 工件
pnpm --filter @wjnct55555/dsh-client-ui-achievements bundle # 构建浏览器侧
宿主侧依赖 @deepseek-ai/cordis-plugin-loader 读取 Loader 条目以检测联动皮肤。浏览器侧挂载于 settings.section、shell.overlay、sidebar.footer.action、conversation.composer.dock 四个槽位。
测试
pnpm exec vitest run packages/extensions/achievements/tests/achievements.spec.ts
覆盖:会话播种、工具计数、连击重置、并发子代理、phoenix 恢复解锁、marathon 回合隔离、联动皮肤检测、token 按会话去重等 10 个用例。
许可
MIT。见各包 package.json 与本仓库根目录 LICENSE。
链接
同类插件
zhu1090093659/dsh-web-ui#packages/dsh-web-ui-all★ 2842
DSH Web UI 插件与皮肤合集:任务看板、git 图、右侧面板、远程移动端 UI、桌宠、实时 token 统计与皮肤中心。
omdsh-dev/DSH-better-sidebar★ 1343
侧边栏完整工作台:内置文件渲染编辑、终端、Git 与子代理,支持三方插件注册新 Tab。
ccch1mneyyy/dsh-TUI★ 1323
Claude Code 风格全屏终端 UI:像素鲸鱼顶栏、实时工作状态行、思考流式展开。
omdsh-dev/dsh-at-file★ 228
Codex 风格的 `@file` 文件引用,输入框里直接搜索并引用工作区文件。
huiliyi37/dsh-tianshu-tui★ 175
DeepSeek Harness 的终端 UI(TUI)。
Nagi-ovo/dsh-visualize★ 126
对话内生成式 UI:模型把交互式 HTML 卡片直接画进会话流,带流式预览与沙箱渲染。