PAKIKNOWLEDGE/dsh-auto-classifier ↗★ 0
dsh-auto-classifier
Autonomous (auto) mode permission classifier for DeepSeek Harness: a Claude-Code-auto-mode-like classifier over tools/pre-execute and approval/request, a selectable 'auto' permission preset, LLM semantic judge, git checkpointing, and agent discipline guidance.
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:PAKIKNOWLEDGE/dsh-auto-classifier说明文档
阅读完整 README ↗dsh-auto-classifier — DeepSeek Harness 的 auto(自主模式)权限分类器
English | 中文
DeepSeek Harness(DSH)的类 Claude Code Auto Mode 权限分类器。在 read-only / workspace-write / danger-full-access 之外新增第四个权限预设 auto(Autonomous / 自主模式):工具调用自动分类——危险操作在真正执行前被拦截,安全操作正常放行,沙箱升级由分类器自动裁决,无需人工盯着审批弹窗。
工作机制
host 平面插件。两个 { prepend: true } 监听器抢在浏览器应答者之前裁决,只在会话权限预设为 auto 时生效;其它会话保持原生交互行为(处理函数调用 next() 放行):
| 扩展点 | 作用 |
|---|---|
tools/pre-execute(工具预执行瀑布) | 每次工具调用都能看到工具名与完整参数:危险命令(删系统目录、格式化、改注册表、git reset --hard / force push、访问凭据等)在执行前被拒绝 |
approval/request(审批瀑布) | 沙箱升级(sandbox_permissions)由分类器自动放行/拒绝——auto 会话内无浏览器弹窗 |
| git 快照 | 放行高风险升级前对工作区自动 checkpoint(git add -A && git commit,可节流);auto_snapshot 工具可随时手动打点 |
| systemPrompt section | 注入自主模式纪律:风险分级、git 救援、禁止无限重试、需要人决策时发邮件并停止 |
规则引擎(Claude Code 风格,工具作用域)
- 规则语法:
Tool(pattern)——如pwsh(^git\s+commit\b)、write,edit(C:\Windows);工具名可逗号并列;无括号的裸正则作用于所有工具。pattern 是大小写不敏感正则。 - 字段投影(防误伤):命令类工具(pwsh/bash/run_code)只扫
command/code字段(匹配前先清洗:剥FOO=bar环境变量前缀、> / >>重定向);路径类工具(write/edit/read)只扫file_path;其它工具不扫描——文件内容/代码文本里提到危险词不算数。审批请求扫reason理由句。 - 判定顺序:deny 规则(最高优先)→ allow 规则 → LLM 裁判(可选)→ pwsh 严格默认 →
defaultDecision。 - 默认 deny 表(参考 Claude Code soft_deny):破坏性文件操作、磁盘/引导/系统服务、关机重启、账号/服务篡改、注册表写入、git push / force-push / reset --hard、外部代码执行(
curl|bash、iwr|iex)、提权(sudo/runas/gsudo)、网络监听、系统级包安装、凭据文件、受保护路径直写、DSH/shell 配置文件篡改。 - 默认 allow 表:常规 git(不含 push)/ 包管理器 / 语言运行 / gh / dsh / winget/scoop/choco / PowerShell cmdlet。
- LLM 裁判():规则未命中时由模型做语义判定(BLOCK-ALWAYS 类别 + "不确定倾向拦截");失败降级到 。仅用于 pre-execute 路径——升级请求用规则 + 默认决策(底层命令已在 pre-execute 筛过)。