deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
AI 时代真正的稀缺能力不是「得到答案」,而是把模糊欲望翻译成可证伪规格的提问能力。 苏格拉底助产术(承认无知 → 下定义 → 反例检验 → 暴露矛盾 → 收敛留痕)正是为此而生。 本插件把它落进 DSH 的 agent 循环:让 AI 不再顺从,让实现恰好是你真正想要的。
| 症状 | 病根 | dsh-socrates 的对策 |
|---|---|---|
| AI 太顺从,你说什么它做什么 | 模型天然倾向讨好与直接执行 | 提示闸门:实现意图模糊时强制模型先诘问、后动手 |
| 做完了才发现不是想要的 | 意图从未被翻译成可检验的标准 | socratic 技能:五步诘问流程 + 意图规格契约 |
| 一句「rm -rf」就被执行 | 不可逆操作没有人类当场确认 | 高危闸门:危险命令执行前以苏格拉底式问题请你拍板 |
| 计划没人质疑 | 缺少只提问、不下结论的对抗者 | socratic 技能同会话审查模式(可选:苏格拉底预设做独立审查会话) |
设计底线(缺一即退化成烦人表单):提问要便宜(一次一个问题)、要面向人(AI 不替人作答)、要有终止条件(意图可证伪即停;一句「直接做」即可绕过提示闸门)。
| 层 | 形态 | 落点 | 干什么 |
|---|---|---|---|
| 方法论层 | skills/socratic/ |
$DSH_HOME/skills/(用户级技能) |
诘问式需求/决策分析:五步流程、提问军火库、意图规格模板 |
| 执行层 | 编译插件 dsh-socrates |
profile 插件行(dsh plugin add) |
两个闸门:agent/pre-step 提示闸门 + tools/pre-execute 高危闸门 |
| 人格层(可选,默认不装) | presets/socrates/ |
$DSH_HOME/.agent-presets/(--with-preset) |
「苏格拉底」预设:只提问、不下结论、独立对抗审查会话 |
插件本体 = 技能 + 闸门。人格层是可选资产:DSH 的 persona 行只能挂在预设组合里(scope-only),且子代理必须继承父会话预设、无法单独指定人格——所以「独立苏格拉底审查者」的唯一合法形态是预设。不需要独立审查会话时(审查走同会话技能即可),默认安装不会碰你的预设列表。
三层共享同一契约:意图规格文档(specs/<name>.intent.md,模板见 skills/socratic/references/intent-spec-template.md)。技能负责生成、人格负责审问、闸门负责确保它不被跳过。
# 1. 技能(立即生效,新会话可见);可选 --with-preset 装入「苏格拉底」预设
./install.sh # 或 ./install.sh --link(开发时改仓库即生效)
# 2. 插件闸门(编译产物,需要 dsh CLI 与一次进程重启)
dsh plugin --profile <你的profile> add link:$(pwd)
# 3. 重启 dsh
安装后:
socratic(同会话诘问澄清与对抗审查);--with-preset)新建会话的预设选择器出现「苏格拉底」;rm -rf、git push --force、DROP TABLE、curl|bash 等 → 审批弹窗向你提问「最坏结果能否接受?能否回滚?」,你批准才执行。用户:帮我实现一个订单系统
闸门:注入诘问指令
模型:我理解你要做一个订单系统。先确认最关键的一点:
「如果它不能做什么,你会觉得这不是你要的东西?」
用户:至少不能发货的订单不算完成
模型:明白。那验收标准写成「当用户提交订单后 1 秒内,库存扣减且订单可见」对吗?
还有冲突要你拍板:你说越快越好,但又要支持秒杀——如果必须牺牲一个,先牺牲哪个?
用户:先保证普通下单路径正确,秒杀以后再说
模型:好的,意图已可证伪。验收标准:……(写入 specs/orders.intent.md)开始实现。
需要有人质疑你的方案时,让当前会话加载 socratic 技能并进入审查模式:
你:加载 socratic,然后审一下这个选型计划(粘贴计划)
模型(诘问模式):「计划声称 Redis 能扛 10 万 QPS——什么证据出现,你会相信这个数字是对的?」
你:压测报告
模型:「如果压测暴露内存不够,你准备牺牲什么来兜底?」
……
如果想要一个整段系统提示都是苏格拉底人格的独立审查会话(角色强度更高、且与主会话互不干扰),用 ./install.sh --with-preset 安装预设后,新建会话选「苏格拉底」即可。
模型准备执行:rm -rf /var/cache/app
审批弹窗:【苏格拉底闸门】命令命中高危规则「递归删除」。
1. 最坏的结果是什么?发生了你能接受、能回滚吗?
2. 备份或恢复路径是否已经存在?
插件行(dsh plugin add 自动加入 profile,可在 profile 的 cordis.patch.yml 中为该行补 config 覆盖):
| 字段 | 默认 | 说明 |
|---|---|---|
promptGate |
true |
提示闸门总开关 |
promptGatePatterns |
中英文实现动词正则 | 判定「实现意图」的模式 |
criteriaMarkers |
验收/约束/边界等标记 | 命中任一视为意图已澄清,跳过 |
bypassMarkers |
「直接做」等 | 用户显式授权短语,跳过提示闸门 |
maxQuestions |
3 |
注入指令允许模型向用户提问的最大数 |
destructiveGate |
true |
高危闸门总开关 |
destructiveToolNames |
["bash"] |
参与高危检测的工具名 |
destructiveRules |
10 条内置规则 | { label, pattern } 列表,可增删 |
完整默认值见 src/config.ts。
dsh-socrates/
├── src/ # 闸门插件(TypeScript → lib/)
│ ├── index.ts # 插件入口(name / Config / apply)
│ ├── config.ts # 配置 schema + 出厂默认值
│ ├── prompt-gate.ts # 提示闸门(agent/pre-step)
│ ├── destructive-gate.ts # 高危闸门(tools/pre-execute)
│ ├── heuristics.ts # 纯函数检测逻辑(可单测)
│ └── messages.ts # 注入消息与决策理由模板
├── skills/socratic/ # 方法论技能 + 意图规格模板
├── presets/socrates/ # 可选:苏格拉底 persona 预设(--with-preset 安装)
├── tests/ # 单元测试(node --test)
├── smoke/ # cordis 事件模型冒烟测试
├── cordis.patch.yml # profile 补丁:插入闸门插件行
└── install.sh # 安装脚本(默认技能;--with-preset 加装预设)
开发:pnpm build && pnpm test && pnpm smoke(构建类型解析经仓库内 node_modules/@deepseek-ai 符号链接指向 DSH 安装农场;换机器需重指)。
bash 工具;write/edit 覆盖式写入未纳入(有版本控制可回退)。--with-preset 显式安装;默认安装不占用预设列表。MIT
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。