DeepSeek Harness 插件

dsh-approval-flow-poc

A fail-closed, auditable approval policy plugin for DeepSeek Harness(英文原文)

跳到安装方式

来源信息

GitHub 仓库
lasoloryan/dsh-approval-flow-poc
最近更新
2026年8月15日
分类
安全与权限
GitHub stars
0
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/lasoloryan/dsh-approval-flow-poc
插件名:dsh-approval-flow-poc
作者:lasoloryan

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器3 个文件
README.md来源说明 · 只读预览

dsh-approval-flow-poc

> 非官方社区实验。 本项目与 DeepSeek AI 无隶属或背书关系,不是生产安全承诺。

一个面向 DeepSeek Harness 的最小企业审批策略插件:在官方 tools/pre-execute 扩展点上,把工具调用分成 allowdenyrequireApproval 三类,并生成脱敏 JSONL 审计记录。需要人工确认时,插件返回 DSH 原生 ask 决策,由 DSH 内置审批服务和 Web UI 完成一次性授权;本项目不修改官方核心。

验证基线

项目验证值
DSH npm@deepseek-ai/dsh@0.1.0-rc.6
DSH 源码47f943859bef60e4160492346772ded9b24f765a
Node.jsv24.19.0
验证日期2026-08-15
项目版本0.1.0-beta.1

DSH 当前仍处于 developer preview,官方明确提示会有不兼容改动;升级 DSH 后请重新执行本文的配置检查和测试。

功能边界

  • 基于工具名和脱敏参数摘要评估 lowmediumhighcritical 风险。
  • critical 默认拒绝;其他风险按 developerproductionstrict 预设处理。
  • allow 会继续委托后续策略,不会绕过 DSH 自带安全控制。
  • requireApproval 使用 DSH 原生审批通道;无可用审批通道时由 DSH 自动拒绝。
  • 审计日志只记录脱敏摘要、策略决定和最终错误状态,不记录原始参数。
  • 提供可注入的 ApprovalTransport 接口,以及用于无界面调试的本地 TTY transport。

这个 PoC 不提供 SSO、RBAC、多级会签、远程 Webhook、不可篡改日志或合规认证。

安装

从 GitHub 安装到 Web profile:

npx @deepseek-ai/dsh plugin --profile web add github:lasoloryan/dsh-approval-flow-poc
npx @deepseek-ai/dsh --profile web --dump-config
npx @deepseek-ai/dsh web

在配置输出中应看到:

- id: approval-flow-policy
  name: dsh-approval-flow-poc

从本地 checkout 验证:

npm install
npm run check
npx @deepseek-ai/dsh plugin --profile web add .
npx @deepseek-ai/dsh web

如果 pnpm 阻止 Git 依赖的 prepare 脚本,请按 pnpm 输出的精确提示在对应 profile 的 pnpm-workspace.yaml 中允许该包构建,然后重新执行安装;不要关闭全部构建保护。

三套策略

预设lowmediumhighcritical适用场景
developer委托/允许委托/允许人工审批拒绝本地开发
production委托/允许人工审批人工审批拒绝预生产或受控运行
strict委托/允许人工审批拒绝拒绝高敏感演示

allow 实际上调用 next(),所以后续 DSH 策略仍可拒绝该调用。

切换预设时,在 profile 的 cordis.patch.yml 覆盖完整配置:

- id: approval-flow-policy
  config:
    preset: production
    auditPath: .dsh-approval-flow/audit.jsonl
    approvalTimeoutMs: 45000
    localPrompt: false
    include: []
    exclude: []

注意:DSH patch 对同一 row 的 config 是整体替换,不是深度合并,因此覆盖时应写全字段。

公共接口

export interface ApprovalRequest {
  requestId: string
  callId: string
  toolName: string
  summary: string
  risk: 'low' | 'medium' | 'high' | 'critical'
  createdAt: string
  expiresAt: string
}

export interface ApprovalDecision {
  requestId: string
  decision: 'allow' | 'deny'
  reason: string
  decidedAt: string
}

export interface ApprovalTransport {
  requestApproval(request: ApprovalRequest, signal?: AbortSignal): Promise<ApprovalDecision>
}

当前 DSH 适配器把 requireApproval 映射为官方 { kind: 'ask' }ApprovalTransport 为后续 Webhook/飞书/企微适配保留稳定的最小 seam;本版本只提供本地 TTY 实现。

审计示例

{"schemaVersion":1,"event":"policy-decision","timestamp":"2026-08-15T00:00:00.000Z","request":{"requestId":"…","callId":"…","toolName":"bash","summary":"{\"cmd\":\"deploy\",\"token\":\"[REDACTED]\"}","risk":"high","createdAt":"…","expiresAt":"…"},"decision":"requireApproval","reason":"high-risk action requires one-time approval"}

日志默认写到当前项目的 .dsh-approval-flow/audit.jsonl。它是调试和取证线索,不是防篡改账本;生产环境应接入受保护的集中日志系统。

测试

npm run check

当前测试覆盖:风险分类、允许/拒绝/需要审批、敏感字段脱敏、本地批准/拒绝、审批超时默认拒绝和 JSONL 审计。

配套内容

  • [《DSH 插件开发周末速通——企业审批实战》](docs/BLUEPAPER.md)
  • [知乎发布稿:《如何评价 DeepSeek Harness?》](docs/ZHIHU.md)
  • [B 站视频脚本:《两天做出第一个 DSH 企业审批插件》](video/SCRIPT.md)
  • 需求登记页

反馈

请在 GitHub Issues 提交可复现问题。工具包、训练营和企业诊断仅做需求验证,不在本 Beta 中收费交付。

License

MIT