为会话加独立审计,风险修复需你批准
29.6/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add yhfgyyf/dsh-audit-mode该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
dsh 原生插件 · skill
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 57 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
⚠︎ 实装验证未通过(dependency_conflict · 2026/10/5) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意未发布到 npm registry,仅可从源码安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包dsh-audit-mode(未发布到 npm,仅可源码安装)
✓Node 引擎要求 >=22.19.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/9/22 02:04:27
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 21 处,展示前 20 条)
- 发起网络请求lib/client.js:16
return fetch(base + path, options).then(function (response) { - 读取本地文件lib/service.js:73
content: stripFrontmatter(await readFile(url, 'utf8')), - 读取本地文件lib/sidecar.js:66
raw = await readFile(sidecarPath(sessionId, this.env), 'utf8') - 读取本地文件lib/sidecar.js:71
raw = await readFile(retiredFile, 'utf8') - 删除本地文件lib/sidecar.js:89
await rm(retiredFile, { force: true }) - 读取本地文件lib/sidecar.js:97
names = await readdir(namespaceRoot(RETIRED_NAMESPACE, this.env)) - 写入本地文件lib/sidecar.js:111
await mkdir(this.root, { recursive: true }) - 写入本地文件lib/sidecar.js:114
await writeFile(tmp, JSON.stringify(fresh, null, 2) + '\n', { mode: 0o600 }) - 写入本地文件lib/sidecar.js:115
await rename(tmp, file) - 删除本地文件lib/sidecar.js:121
rm(sidecarPath(sessionId, this.env), { force: true }), - 删除本地文件lib/sidecar.js:122
rm(retiredSidecarPath(sessionId, this.env), { force: true }) - 读取本地文件lib/sidecar.js:128
try { names = await readdir(this.root) } catch (error) { - 执行外部命令来自配置/变量lib/codex.js:55
const child = spawn(this.binary, this.args, { - 发起网络请求lib/codex.js:168
await this.request('initialize', { - 发起网络请求lib/codex.js:177
const result = await this.request('thread/start', { - 发起网络请求lib/codex.js:192
const result = await this.request('thread/resume', { - 发起网络请求lib/codex.js:206
const result = await this.request('thread/fork', { - 发起网络请求lib/codex.js:221
if (threadId !== undefined) await this.request('thread/archive', { threadId }) - 发起网络请求lib/codex.js:225
try { await this.request('thread/name/set', { threadId, name }) } catch (error) { - 执行外部命令来自配置/变量lib/reviewer.js:115
const child = spawn(this.binary, args, {
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-agent@deepseek-ai/dsh-agent-presets@deepseek-ai/dsh-commands@deepseek-ai/dsh-host-webserver@deepseek-ai/dsh-llm@deepseek-ai/dsh-skill@deepseek-ai/dsh-tools@deepseek-ai/schemastery给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 独立持久化审计
- 风险修复需批准
DeepSeek Harness 的 Guardian 预设,带独立的持久化 Codex 审计
README
由 DeepSeek 最新模型翻译生成dsh-audit-mode
0.6.1 已适配 DSH 0.1.3-alpha.2,冷会话检查使用新版持久化句柄,读取结束后关闭句柄。
DeepSeek Harness (DSH) 的第五模式:preset id audit,把 PTC 的 code 呈现、独立审计和用户批准后的 Cordis 修复回路组合在同一个会话里。
该 preset 保留标准模式全部能力(Shell、文件系统、Web、Skills、Goals、子代理、工作流和 Code Mode 工具呈现)。Cordis 自修改工具平时对模型隐藏,只在用户接受 critical 修复后临时开放。同时每个会话使用两个隔离 reviewer 角色;审核后端可配置为 Codex、Claude Code 或宿主 DSH LLM runtime。默认仍是一个持久 Codex app-server:
| 角色 | 默认模型 | Effort | 职责 |
| summarizer | gpt-5.6-luna | medium | 每轮增量 trace 总结 |
| auditor | gpt-5.6-sol | max | 独立审计 → pass / warning / critical |
Codex 与 Claude Code 为两个角色维护独立持久会话。
展开完整文档(README 剩余 1 节)
dsh-audit-mode
0.6.1 已适配 DSH 0.1.3-alpha.2,冷会话检查使用新版持久化句柄,读取结束后关闭句柄。
DeepSeek Harness (DSH) 的第五模式:preset id audit,把 PTC 的 code 呈现、独立审计和用户批准后的 Cordis 修复回路组合在同一个会话里。
该 preset 保留标准模式全部能力(Shell、文件系统、Web、Skills、Goals、子代理、工作流和 Code Mode 工具呈现)。Cordis 自修改工具平时对模型隐藏,只在用户接受 critical 修复后临时开放。同时每个会话使用两个隔离 reviewer 角色;审核后端可配置为 Codex、Claude Code 或宿主 DSH LLM runtime。默认仍是一个持久 Codex app-server:
| 角色 | 默认模型 | Effort | 职责 |
| summarizer | gpt-5.6-luna | medium | 每轮增量 trace 总结 |
| auditor | gpt-5.6-sol | max | 独立审计 → pass / warning / critical |
Codex 与 Claude Code 为两个角色维护独立持久会话。DSH 后端直接执行无工具的
llm.stream(),不会再创建 DSH Agent,因此不会递归进入 Audit;该调用本身
无状态,所以 Audit 会在每次 DSH 审核时带上当前任务目标和 sidecar 中有界的近期 reviewer memory。
所有未批准审计反馈和 reviewer 状态写入独立 sidecar
(${DSH_HOME:-~/.dsh}/audit/sidecars/.json)。只有用户明确
accept 后,系统才把边界化的 prompt 和临时能力租约追加到上下文尾部;模型再通过稳定的 skill 工具按需加载其中点名的 Skill。
系统不会重写历史消息或暴露原始 reviewer 输出。
安装
在你的 dsh profile(profiles/web 与 profiles/tui 同套路)
cd ~/.dsh/profiles/web
pnpm add dsh-audit-mode@github:yhfgyyf/dsh-audit-mode
Audit 与 Auto 目标 preset 推荐同时安装稳定工具发现插件:
pnpm add dsh-progressive-tools@github:yhfgyyf/dsh-progressive-tools
把两个 bundle 都加入 package.json 的 dsh.profile.bundles,然后重启 profile
本包 patch 只插入一个双面行:
- insert:
- id: audit-bundle
name: dsh-audit-mode
Node 半边挂载宿主 audits 服务、注册 /audit 命令,并在存在 webserver 时提供 Remote API;浏览器半边(dsh.client)渲染 composer dock 里的 audit 条。
使用
- --preset audit(TUI)或 Web preset 选择器 / 空白会话 /preset audit。
- /audit status — 轮次、审计间隔、最近判定、暂停状态。
- /audit now — 立即审计(不受节奏约束)。
- /audit history — 最近审计(来自 sidecar)。
- /audit accept [audit-id] — 接受最新/指定审计并进入独立修复轮。
- /audit resume — 解除非待批准 critical 的失败/手工暂停。
Reviewer 配置
在 profile 的 cordis.patch.yml 里配置 audit-bundle。不写配置时保留现有 Codex 默认值:
- id: audit-bundle
config:
reviewer: codex
binary: codex
args: [app-server, --stdio]
models:
summarizer: { model: gpt-5.6-luna, effort: medium }
auditor: { model: gpt-5.6-sol, effort: max }
summarizer 和 auditor 是按职责命名的稳定字段,模型名称可以任意配置。旧版 luna / sol 字段仍可读取,并会在运行时迁移为新名称。
Claude Code 使用 print + JSON schema、plan 权限模式、safe mode,并清空 model-facing tools;模型名需明确填写为 Claude Code 支持的名称:
- id: audit-bundle
config:
reviewer: claude-code
claudeBinary: claude
claudeArgs: []
models:
summarizer: { model: haiku, effort: medium }
auditor: { model: opus, effort: max }
DSH 后端直接使用已注册 provider。若总结和审计模型位于不同路由,可在角色内用 provider 覆盖 dshProvider:
- id: audit-bundle
config:
reviewer: dsh
dshProvider: deepseek-official
dshMaxTokens: 4096
models:
summarizer: { model: deepseek-v4-flash, effort: off }
auditor: { model: deepseek-v4-flash, effort: high }
切换 reviewer 不会自动翻译模型名。若目标后端不支持所配模型,Audit 会明确失败,不会静默替换审核模型。
行为
- 审计节奏:第一次审计至少 2 个 step 且运行 60 秒;之后每 3 个 step 或 3 分钟审计,最小间隔 60 秒;异常在下一个安全边界审计。
- warning 批准:warning 出现后主 Agent 默认继续;用户可以直接执行审计意见,也可以先编辑。批准后使用 DSH 原生 next-step steering,与 Codex 临时输入一致:当前 tool call 完成后执行编辑后的意见;Agent 空闲时立即执行。
- critical 批准:critical 先暂停主 Agent 和活动 Goal。用户 accept 后,可直接执行或先编辑审计意见,随后立即启动修复,临时开放专用 Cordis 工具并追加能力租约。修复 Agent 必须通过稳定的 skill loader 加载 editing-cordis-compositions;只有修改 plugin 或模型工具时才加载 cordis-plugin-development。修复轮完成后强制验证审计;非 critical 才收回临时能力并恢复原任务。
- 连续三次失败(reviewer 不可达、超时、回复无法解析)以 failures 原因暂停。
- 每 5 轮做一次完整目标对齐审计(目标 + 边界规则 + 近期总结)。
- 最终审计:会话结束时自动执行(Remote API final: true 亦可)。
- 固定能力:audit(AUDIT_CAPABILITY)。auto 路由仍然只路由 standard / code / minimal / cordis。
Remote API
| 方法 | 路径 | 参数 |
| GET | /api/audit/snapshot | ?session= |
| GET | /api/audit/watch | ?session=(SSE event: audit) |
| POST | /api/audit/request-now | { sessionId, final? } |
| POST | /api/audit/accept | { sessionId, auditId?, editedText? } |
| POST | /api/audit/resume | { sessionId } |
Web dock 注册在 conversation.input.dock order 5:显示在 Todo(order 0)与 Goal(order 10)之间。
TUI
dsh-tui-app 在配置行旁显示独立彩色块(pass 绿,warning、critical 和暂停红):
- a — 原样执行待处理修复
- e — 把意见载入输入框;编辑后 Enter 执行,Esc 取消
- c — 暂停时复制审计意见
- r — 恢复非 critical-review 暂停
- Esc / Ctrl+C — 停止当前任务
开发
npm test # 单元 + 集成
npm run check # 语法、包清单、测试
npm run pack:check # npm pack --dry-run
scripts/build-preset.mjs 从官方 code + cordis 合成 presets/audit/agent.cordis.yml(生成物已入库,包可独立运行)。测试使用 test/fixtures/fake-codex.mjs 与 fake-claude.mjs,无需真实 reviewer 登录。
审核后端、模型、effort、二进制、CLI 参数、DSH provider、超时与 DSH 输出上限均为配置项,而非常量。
兼容性
- 不调用 session.delete 或任何会话删除 API;仅通过宿主 session/disposed 事件观察结束并执行最终审计。
- Auto 仍只路由原来的四模式;若配套 auto router 支持 capability hints,提示只在路由完成后追加,不改原始用户 prompt。
- 图片、普通 Skills、Goals、子代理、工作流经 preset 原样流过;两项 Audit composition Skill 仅在批准 critical 后渐进加载。
- 已持久化消息保持逐字不变;accept 只追加 remediation、运行时 catalog 快照和 continuation 尾消息,因此模型可复用此前消息前缀。配合 dsh-progressive-tools 时,Cordis restriction 变化只改变发现结果,不改变模型可见的 system/tool 前缀;未安装配套插件时,DSH 仍会按正常规则重建 Code Mode SDK。
若实际修复了 plugin/system prompt,后续重启或新 task 才重建对应 system 前缀。
- 不改全局 node_modules;以 profile bundle 方式安装。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
yhfgyyf/dsh-audit-mode
为会话加独立审计,风险修复需你批准
相关插件 · 技能 / 提示词
人设统管ZiChuanLan/agent-purge
一份人设,统一管理多个 coding agent。
★ 1,141已汉化DSH
74.1
人物画像蒸馏titanwings/distilly
Distilly — 把他们的思考方式提炼成可复用的技能,供任何智能体或机器人使用。原名 Colleague Skill(原同事 Skill)。
★ 25,659已汉化DSH
71.3
推理工作空间套件Tiger3807861189/J-Space-Cognition-Suite
J-Space 是面向复杂推理、大型仓库工程、子代理协作与授权安全分析的推理时工作空间和控制套件。
★ 2,957已汉化DSH
70.5
两阶段工具锚定预设xiaobright/dsh-anchored-standard
实验性 DeepSeek Harness agent preset…
★ 3,742已汉化DSH
70.1
智能体工作流编排nrslib/takt
不再日夜盯着 AI 编码智能体。
★ 1,402已汉化DSH
70
Agent 运行时手册Electricitysheep/dsh-handbook
DeepSeek Harness dsh 从 0 到 1 深度手册:安装/插件开发/性能调优/实测案例/同模型多…
★ 827已汉化DSH
68.7
这是你的仓库?认领条目