agpa-dsh-plugin 插件介绍

前言

DeepSeek Harness (DSH) 的设计理念是「一切皆插件」。在开发智能体时,追踪行为与成就(Achievements)通常需要编写重复逻辑或依赖特定环境。agpa-dsh-plugin 插件旨在解决跨工具共享成就引擎的问题,无需在 DSH 侧重新实现成就逻辑,而是通过桥接现有的 AGPA 引擎,实现统一的成就数据存储与跨代理触发。

插件概况

  • 名称:agpa-dsh-plugin
  • 作者:eiainano
  • 许可证:MIT
  • 核心价值:为 DSH 提供原生的 achievement_* 工具外壳,直接调用 AGPA MCP 引擎,并自动从 DSH 会话事件中捕获数据。

核心功能

  1. 原生 achievement_* 工具外壳
    插件注册了 7 个原生工具,如 achievement_stats。这些工具仅作为薄外壳,将参数原样转发至 AGPA MCP 服务器。
  2. MCP 桥接
    插件包含一个零运行时依赖的 MCP-over-stdio 客户端(src/agpa-bridge.ts),用于连接 AGPA 引擎。
  3. 自动事件跟踪
    订阅 DSH 的 session/event,将 file.create、file.write、command.run、tool.complete 等事件规范化,并自动触发 agpa-hook auto 进行处理。
  4. 跨代理成就支持
    由于 AGPA 引擎和数据存储(~/.agent-achievements)是共享的,在 DSH 中触发的成就也会在 Claude Code 等其他工具中生效。
  5. 模型工作流手册
    插件附带 skills/agpa/SKILL.md,指导模型何时进行跟踪、轮询或宣布解锁。

安装与启用

  1. 添加插件到配置文件
   dsh plugin --profile web add agpa-dsh-plugin
  1. 安装模型工作流手册
   cp -r ~/.dsh/profiles/web/node_modules/agpa-dsh-plugin/skills/agpa ~/.agents/skills/
  1. 验证安装
    重启 DSH 后,检查配置树中是否出现 agpa 行:
   dsh --profile web --dump-config | grep -A3 agpa

典型用法

  • 获取 AGPA 统计信息:
  achievement_stats tool_source=dsh
  • 事件标记:
    通过 DSH 触发的事件会被标记为 tool_source:'dsh',存储在共享的 ~/.agent-achievements 中。
  • 关联键:
    事件跟踪的关联键位于 result.data.message.source.callId。

环境变量配置

插件依赖以下环境变量进行配置与调试:

  • AGPA_MCP_CMD:AGPA MCP 启动命令(默认:npx -y -p @eiainano/agpa@0.1.10 agpa-mcp)。
  • AGPA_AUTOTRACK=1:启用自动事件跟踪,每个规范化事件会启动一个 agpa-hook auto 进程。
  • AGPA_HOOK_CMD:覆盖 ingest 命令(默认:npx -y -p @eiainano/agpa@0.1.10 agpa-hook auto)。
  • AGPA_DEBUG=1:打印调试信息(MCP stderr、事件类型、规范化载荷)。
  • DSH_AGENTS_HOME:技能根目录(默认:~/.agents)。

适用场景与注意事项

  • 运行环境:需要 Node.js 版本 >= 22。
  • 当前状态:Phase 1(工具外壳 + 桥接)和 Phase 2(自动事件跟踪)已验证并实现;Phase 3(可选的客户端组件)尚未实现。
  • 权限注意:插件以当前 DSH 进程的权限运行,安装前请检查源码与许可证。
  • Node 版本管理:Managed Node 运行时版本更新可能会影响全局安装,需注意路径配置。

总结

该插件通过桥接 AGPA 引擎,实现了 DSH 与其他智能体工具之间的成就数据互通,减少了重复开发。更多细节与源码请访问:GitHub。

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

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

小夜