前言¶
在做 DSH 自动化时,常见的问题不是“有没有工具”,而是“这个能力现在到底能不能用”。同一个任务,可能底层已有官方 DSH 工具,但它未必在当前 profile 中挂载、未必对 Agent 可见、也未必满足 provider 条件。
cyanseek/dsh-native-playbook 是一个面向 DeepSeek Harness 的社区插件。它提供一个 native_capability 工具,将任务路由到官方 DSH 工具,检查完整能力是否 operational,并在可能时安全激活已审核的 native path。
它适合在安装另一个插件之前,先检查 DSH 是否已经有可用的原生路径。
这是什么¶
dsh-native-playbook 是一个 task-aware native capability manager。它围绕 DSH profile 做能力检查、激活规划和验证。
维护者是 cyanseek,许可证为 MIT。项目要求 Node.js 22 或 24,以及 DeepSeek Harness。它明确标注为社区扩展,未与 DeepSeek 关联或获得其认可。
当前支持的 DSH 安装路径是 GitHub 命令;npm 包名保留给后续发布。
核心功能¶
将任务路由到官方 DSH 工具¶
插件提供 native_capability 工具。它的重点是先判断任务是否应走 DSH 自带能力,而不是直接新增一套外部工具。
检查能力是否 operational¶
它会检查完整能力是否 operational,并报告以下生命周期事实:
shippedmountedvisibleproviderReadyoperational
这些事实用于区分“目录里有”“profile 里挂了”“Agent 当前能看到”“provider 条件满足”和“现在可用”。
覆盖常见任务路径¶
它支持以下常见任务路径:
- 后台命令
- 符号导航
- 先前会话搜索
- 委派调查
- 固定多步工作
安全激活已审核 native path¶
在可能时,它会安全激活已审核的 native path。激活面较窄:
- 只限本仓库中已审核配方
- 需通过显式 DSH 版本兼容门
- 当前已验证激活目标为 DSH
0.1.0-rc.6 - 变更需通过 DSH 检查且可逆
- 验证失败会保留原 profile
- 停用会恢复保存内容,并拒绝覆盖后续用户编辑
提供 CLI 和 Node API¶
它提供 dsh-native CLI 命令,包括:
lookup
status
list
explain
doctor
install
plan
activate
deactivate
verify
它也提供 Node API,例如:
inspectDshProfilelookupNativeCapabilityplanNativeActivation
提供 Agent Skill 安装方式¶
除了 DSH 插件安装,它还提供 Agent Skill 安装方式,用于把相同的原生优先指引接入 agent 工作流。
安装与启用¶
将插件安装到 DSH profile:
dsh plugin --profile web add github:cyanseek/dsh-native-playbook
如果你需要以 Agent Skill 方式安装:
npx skills@latest add cyanseek/dsh-native-playbook --skill dsh-native-playbook --agent codex --yes
移除插件:
dsh plugin --profile web remove dsh-native-playbook
典型用法¶
下面以 web profile 为例。
查询某个任务应该走哪条 native path:
dsh-native lookup "<task>" [--profile <name>] [--json]
查看某个 profile 的状态:
dsh-native status --profile web --json
为 session_search 生成激活计划:
dsh-native plan session_search --profile web --json
在 Node 代码中,也可以先检查 profile,再查询能力和生成计划:
import {
inspectDshProfile,
lookupNativeCapability,
planNativeActivation,
} from 'dsh-native-playbook'
const profile = await inspectDshProfile({ profile: 'web' })
const result = await lookupNativeCapability('run a long test in background', { profile })
const plan = await planNativeActivation('session_search', { profile: 'web' })
经过上面的步骤,你可以先拿到“当前是否可用”和“准备激活什么”的事实,再决定是否执行 activate 或 verify。
适用场景与注意¶
适合:
- 想在添加另一个插件前,先确认 DSH 是否已有可用能力
- 需要把
shipped、mounted、visible、providerReady、operational分开检查 - 需要对
session_search等已审核路径做plan、activate、deactivate、verify - 希望以 JSON 输出进行自动化检查
需要注意:
- 它要求 Node.js 22 或 24 以及 DeepSeek Harness
- 静态查找可以不需要 DSH;实时就绪检查需要已有 DSH profile
- 它不收集遥测;API 不访问凭据存储或私有会话内容
- 激活只限已审核配方,并受显式 DSH 版本兼容门约束
- 插件以当前 DSH 进程权限运行,安装前应检查源码、许可证和已审核配方
- 它是社区扩展,未与 DeepSeek 关联或获得其认可
结尾¶
dsh-native-playbook 的价值,是把“能不能用、要不要启用、如何回退”拆成可检查的步骤:先 lookup,再 status,再 plan,然后在版本兼容、可验证、可回退的前提下 activate。
项目 GitHub:https://github.com/cyanseek/dsh-native-playbook
目录页线索:https://www.skillhub.cn/plugins/cyanseek/dsh-native-playbook