🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI
广告☁️ 云服务器特惠阿里云首购 8 折 · 腾讯云合作特惠
DeepSeek Harness Hub
← 返回列表

eiainano/agpa-dsh-plugin

DeepSeek Harnessspec-screened扫描:中风险在 GitHub 查看 ↗
✓ 可直接安装

/WorkSpace/forClaude/AgentPlayerAchievements接到 DeepSeek…

自动检查通过:npm 包已发布且 engines 声明满足基线(声明 Node >=22);该结论来自程序自动检查,未经人工实机验证。 · 最近上游提交 2026/9/15 · 已提供中文文档

DeepSeek Harness 的 AGPA(Agent Player Achievements):原生 achievement_* 工具,用于桥接 AGPA 引擎,并支持从 dsh 会话事件中自动追踪事件。

综合分
29.2
GitHub 分
29.2
用户评分
—
★ Stars
0
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add agpa-dsh-plugin
npm 包 agpa-dsh-plugin 已校验归属本仓库,走 npm 安装最省事
信任档位:已验证本站已于 0 天前真实安装成功
是什么
dsh 原生插件 · chat
装得上吗
本站已真实安装成功(非静态推断)
安全吗
本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
还在维护吗
活跃:最近一次提交在 11 天前

档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →

🟢实装验证通过· 2026/9/25
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/22(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查✓ 自动检查通过

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包agpa-dsh-plugin @ 0.1.11
✓Node 引擎要求 >=22 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/23 02:25:04

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-llm@deepseek-ai/dsh-tools
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

由 DeepSeek 最新模型翻译生成
agpa-dsh-plugin

把 AGPA(Agent Player Achievements,npm @eiainano/agpa,源码在
~/WorkSpace/forClaude/AgentPlayerAchievements)接到 DeepSeek Harness (dsh)
的 Cordis 插件。

设计目标(最高性价比):DSH 侧不复制任何成就逻辑。所有 achievement_
工具都是薄壳,把参数原样转发给已发布的 AGPA MCP 服务(@eiainano/agpa 的
agpa-mcp bin)。于是 AGPA 的引擎、成就定义、profile、~/.agent-achievements
数据在 Claude Code / DSH / 其他工具之间完全共享——cross_agent 成就自动生效。

分层与文件

| 层 | 文件 | 说明 |
|---|---|---|
| 入口(Cordis 行) | src/index.ts + cordis.patch.yml | name='agpa',id 必须一致 |
| 工具桥 | src/tools.ts | 7 个 achievement_ 原生工具壳 |
| MCP 客户端 | src/agpa-bridge.ts | 零运行时依赖的 MCP-over-stdio(仅 Node 内建),懒启动一个 AGPA 子进程 |
| 自动采集 | src/events.ts | 订阅 dsh session/event,归一成 CC-style payload(source:'dsh') |
| 摄入子进程 | src/hook-runner.ts | 串行 spawn 短命 agpa-hook auto,把 payload 喂 stdin |
| 模型工作流手册 | skills/agpa/SKILL.md | 教模型何时 track / poll / 展示解锁 |

目录结构

forDSH/agpa-dsh-plugin/
├─ cordis.patch.yml        # insert 行 id=agpa name=agpa-dsh-plugin
├─ package.json            # dsh.bundle.patch → cordis.patch.yml
├─ tsconfig.json           # NodeNext → lib/
├─ src/
│  ├─ index.ts             # export name='agpa'; inject=['tools']; apply()
│  ├─ tools.ts             # 7 × ctx.tools.register(defineTool(...))
│  ├─ agpa-bridge.ts       # 最小 MCP 客户端(spawn agpa-mcp)
│  ├─ events.ts            # session/event → CC-style 归一(AutoTrackFeed)
│  └─ hook-runner.ts       # 串行 spawn agpa-hook auto 摄入子进程
├─ scripts/
│  ├─ install-skills.mjs   # 复制 skills → $DSH_AGENTS_HOME/skills
│  └─ smoke-bridge.mjs     # 真机冒烟:调 AGPA 只读 stats
└─ skills/agpa/SKILL.md    # AGPA 工作流手册

命令

npm install --legacy-peer-deps   # 仅用于类型检查的开发依赖
npm run typecheck                # 对着真实 @deepseek-ai/dsh-tools 类型检查
npm run build                    # tsc → lib/
npm run smoke:bridge             # 真机验证 bridge ↔ AGPA MCP(只读 stats)
npm run install-skills           # 复制 skills/agpa → ~/.agents/skills/agpa
npm pack                         # 产出 agpa-dsh-plugin-.tgz

装进 dsh

已发布到 npm:agpa-dsh-plugin。

1) 从 registry 加入 profile(bundle 层,重启生效)
dsh plugin --profile web add agpa-dsh-plugin

2) 安装模型工作流 skill:包内已带 skills/agpa,复制到 skills 根即可
(git clone 开发时用:npm run install-skills)
cp -r ~/.dsh/profiles/web/node_modules/agpa-dsh-plugin/skills/agpa ~/.agents/skills/

3) 重启后离线检查合成树里是否出现 agpa 行
dsh --profile web --dump-config | grep -A3 agpa

本地开发(改源码时):

npm run build && npm pack                 # prepack 会自动先 build
dsh plugin --profile web add ./agpa-dsh-plugin-.tgz

出现行但工具列表里没有 → 代码问题(看 dsh 日志);行都没出现 → 组合问题
(name 未解析 / files 漏了 cordis.patch.yml)。

环境变量

| 变量 | 说明 |
|---|---|
| AGPA_MCP_CMD | 覆盖 AGPA MCP 启动命令(空格分隔)。默认 npx -y -p @eiainano/agpa@0.1.10 agpa-mcp。本地开发可用 tsx /path/to/agpa/src/main.ts |
| AGPA_AUTOTRACK=1 | 启用事件自动采集:每个归一事件 spawn 一个 agpa-hook auto 摄入进程 |
| AGPA_HOOK_CMD | 覆盖摄入命令(空格分隔)。默认 npx -y -p @eiainano/agpa@0.1.10 agpa-hook auto(开箱即用);本地开发可指 tsx /path/to/agpa/src/cli/hook.ts auto |
| AGPA_DEBUG=1 | 打印 AGPA MCP stderr + 每个收到事件类型 [agpa][ev] 与归一 payload [agpa][autotrack] |
| DSH_AGENTS_HOME | install-skills 的目标 skills 根(默认 ~/.agents) |

桥接/摄入子进程固定注入 AGPA_TOOL_SOURCE=dsh,让事件正确打上工具来源
(落库为 tool_source:"dsh",与 Claude Code 的 claude-code 并存于同一 store)。

状态 / 路线

- [x] Phase 1(本仓库):7 个工具壳 + MCP 桥(已验证可连真实 AGPA,返回 stats 且 tool_source=dsh)+ SKILL
- 2026-09-09 已在真实 dsh 0.1.2-rc.1 端到端验证:dsh plugin --profile web|headless add  装进两个 profile;
headless 实跑任务成功调用 achievement_stats,经桥接返回共享 store 真实数据(75/212、level 6、10,592 XP)。
- [x] Phase 2(本仓库,0.1.11 已发布 npm):事件自动采集,真机 e2e 通过、开箱即用。
- events.ts 订阅 dsh session/event,把 tool/call+tool/result → PostToolUse(Failure)、
user/message(source.kind==='user')→ UserPromptSubmit 归一成 CC-style payload(source:'dsh');
每个 payload spawn 一个 agpa-hook auto 摄入进程(hook-runner.ts)。
- headless 实跑(Write/Bash)后,~/.agent-achievements/profiles/neo/event.log 出现
tool_source:"dsh" 的 file.create/file.write/command.run/tool.complete 等行。
- 实测关键坑:tool/result.data 顶层没有 callId(tool/call 才有);
关联键 ${turn}:${step}:${callId} 的 callId 藏在 result.data.message.source.callId
(= content[].toolCallId)。事件名一律以锁定的 dsh 0.1.2-rc.1 实测为准
(session/event 还广播 permission/preset、assistant/chunk 等噪音类型,均已忽略)。
- AGPA 0.1.10 已发布并带 agpa-hook bin,插件的默认摄入命令
npx -y -p @eiainano/agpa@0.1.10 agpa-hook auto 开箱即用(仅 AGPA_AUTOTRACK=1 即验证通过)。
本地开发仍可用 AGPA_HOOK_CMD 指 checkout 的 tsx src/cli/hook.ts auto。
- 摄入子进程 detached 启动:短命 headless 进程退出不会 SIGTERM 掉在途摄入
(首次 npx 冷缓存下载时可能较慢,detached 保证事件不丢;常驻 web 会话本就不受影响)。
- [ ] Phase 3:可选 dsh.client 的 XP/成就小组件,或直接复用 AGPA dashboard(:3867)。

已知注意点

1. 本机 dsh 暂无法启动(2026-09-09 修,2026-09-15 二次修):workbuddy 的 binary manager
升级 node 时会整个替换带版本的 prefix(versions/22.22.2-2 → versions/22.22.2-3),
清空其中全局包。所以 dsh/pnpm 已不再装在版本 prefix 里,改到稳定目录
~/.local/share/dsh-runtime;~/.local/bin/dsh 动态读
~/.workbuddy/binaries/node/versions/current 取 node 版本,并把 $DSH_HOME/bin(pnpm)
与该 node 的 bin 加进 PATH。安装 prefix 内全局包务必显式用
"$NODE" "$PREFIX/lib/node_modules/npm/bin/npm-cli.js" i -g  --prefix "$PREFIX",
否则 npm wrapper 的 shebang 会落到 PATH 上的 homebrew node。
2. 运行期解析:外部插件裸 import @deepseek-ai/dsh-tools(value)与
@deepseek-ai/cordis(type-only)经 dsh host 映射到 in-box 树,均可在
0.1.2-rc.1 解析(本插件的 defineTool value import 已实跑验证)。
3. DSH 是 developer preview:cordis.patch.yml/dsh 字段/事件名都可能随版本变化。
package.json 的 peer 只声明 @deepseek-ai/cordis(类型与闭包注入由 dsh 提供)。
4. 事件名以 pinned 版本为准:采集所订阅的类型已在锁定的 0.1.2-rc.1 上真机核过
(见 Phase 2);若 dsh 升级,先打开对应版本的 SessionEventMap 复核,别照搬 master 文档。
5. 工具 schema 用了 JSON-schema 风格字面量;如需数值范围校验,AGPA 侧目前未做
强校验,描述里已注明允许范围。
6. 若装不进 profile,先确认 npm pack 的 files 里确实有 cordis.patch.yml。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入社群

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

DPharness QQ 群二维码,QQ 扫码进群
QQ 扫码进群
DPharness 飞书群二维码,飞书扫码进群
飞书扫码进群