ang-XWBWZ/dsh-approval-ai ↗★ 1
@llangtop/dsh-approval-ai
AI approval answerer using the unified ctx.llm route with fail-closed local policy checks
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:ang-XWBWZ/dsh-approval-ai说明文档
阅读完整 README ↗@llangtop/dsh-approval-ai
English | 中文
面向 approval/request 的 AI 审批应答器。DSH 负责创建和路由审批请求;本插件只对已经产生的请求调用 ctx.llm 判断。插件不新增路径、工作区、Shell、沙箱或风险触发条件。默认路由为 provider deepseek-official、model deepseek-v4-flash;凭据和供应商协议由 LLM Adapter 管理。
配置
- id: approval-ai
name: '@llangtop/dsh-approval-ai'
config:
provider: deepseek-official
model: deepseek-v4-flash
mode: ai-only
timeoutMs: 3000
failClosed: true
mode 支持 ai-only、ai-then-human 和 human-only。插件接收进入其 listener 的每个审批请求,但不决定是否创建审批请求;human-only 始终委托。ai-only 将合法的 allow 映射为 allowed-once;拒绝、高/严重风险、review、非法输出、路由缺失、取消、超时和 Provider 错误均故障关闭。ai-then-human 按 reviewOutcome 处理 review,不依赖 listener 顺序表达优先级。
模型只接收 DSH 审批请求字段,以及显式配置的审批背景:当前路径、项目架构摘要、实施架构摘要、挂载的 AGENTS.md 指导和安全审批提示词。这些是配置值,不是插件读取的文件。插件不会读取项目、会话历史、工具 schema、凭据或主 system prompt,也不会将模型请求或响应写入 Agent 会话。参数和响应原因均有字节限制,模型输出会在运行时校验为 JSON。
本地开发与 DSH 测试
在本仓库目录执行:
pnpm install --frozen-lockfile
pnpm run typecheck
pnpm run build
npm pack --dry-run
要把 checkout 挂载到本地 DSH profile,请从 DSH 自己的仓库运行 CLI,并使用绝对路径:
cd /path/to/deepseek-harness
pnpm dsh plugin --profile approval-ai-local add /mnt/data/demo/dsh插件/approval-ai
pnpm dsh --profile approval-ai-local --dump-config
pnpm dsh --profile approval-ai-local
profile 的配置 dump 中应看到插入到现有审批服务旁边的 approval-ai 条目。默认 patch 使用 provider deepseek-official,因此 profile 需要可用的 DSH LLM 配置和凭据,审批请求才能得到 AI 应答。移除本地安装:pnpm dsh plugin --profile approval-ai-local remove @llangtop/dsh-approval-ai。
要验证尚未发布的真实 npm 包内容,先构建并打包本仓库,再把生成的 .tgz 绝对路径交给 dsh plugin --profile add /absolute/path/to/package.tgz。
发布与安装
源码仓库是 github.com/ang-XWBWZ/dsh-approval-ai,公开 npm 包名是 @llangtop/dsh-approval-ai;当前 0.1.0-rc.5 是预发布版本,建议使用 next dist-tag。
在本仓库中使用具有 @llangtop scope 发布权限的 npm 账号登录并发布:
npm login
npm whoami
npm publish --access public --tag next
将已经发布的组合包安装到 DSH profile: