强制你亲手操作,一步步学会工具而不代做
30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/19 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add slimeball2026/DSH-Coach-mode该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
dsh 原生插件 · skill
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 13 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
⚠︎ 实装验证未通过(unknown · 2026/10/19) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件
查看扫描证据(共 36 处,展示前 36 条)
- 读取本地文件_ref/coach-accept.cjs:38
const buffer = fs.readFileSync(file) - 读取本地文件_ref/coach-accept.cjs:142
const info = fs.statSync(target) - 读取本地文件_ref/coach-accept.cjs:144
for (const name of fs.readdirSync(target)) { - 读取本地文件_ref/coach-accept.cjs:146
if (!fs.statSync(dir).isDirectory()) continue - 读取本地文件_ref/coach-accept.cjs:147
for (const inner of fs.readdirSync(dir)) { - 读取本地文件_ref/coach-evidence.cjs:53
const buffer = fs.readFileSync(file) - 读取本地文件_ref/coach-phases.cjs:11
const buffer = fs.readFileSync(file) - 读取本地文件_ref/coach-phases.cjs:38
if (fs.statSync(target).isDirectory()) { - 读取本地文件_ref/coach-phases.cjs:39
for (const name of fs.readdirSync(target)) { - 读取本地文件_ref/coach-phases.cjs:41
if (!fs.statSync(dir).isDirectory()) continue - 读取本地文件_ref/coach-phases.cjs:42
for (const inner of fs.readdirSync(dir)) { - 读取本地文件_ref/coach-recheck.cjs:23
const data = JSON.parse(fs.readFileSync(WORKSPACE_JSON, 'utf8')) - 读取本地文件_ref/coach-recheck.cjs:31
const buffer = fs.readFileSync(file) - 读取本地文件_ref/coach-recheck.cjs:66
for (const name of fs.readdirSync(dir)) { - 读取本地文件_ref/coach-recheck.cjs:68
if (!fs.statSync(sessionDir).isDirectory()) continue - 读取本地文件_ref/coach-recheck.cjs:69
const inner = fs.readdirSync(sessionDir).find((f) => f.startsWith('session.v4.jsonl')) - 读取本地文件_ref/coach-transcript.cjs:33
const buffer = fs.readFileSync(file) - 读取本地文件_ref/diagnose-newline.cjs:18
const buf = fs.readFileSync(file) - 读取本地文件_ref/diagnose-newline.cjs:46
const info = fs.statSync(target) - 读取本地文件_ref/diagnose-newline.cjs:49
for (const name of fs.readdirSync(target)) { - 读取本地文件_ref/diagnose-newline.cjs:51
if (!fs.statSync(dir).isDirectory()) continue - 读取本地文件_ref/diagnose-newline.cjs:52
for (const inner of fs.readdirSync(dir)) { - 写入本地文件_ref/extract-asar.cjs:43
fs.mkdirSync(path.dirname(target), { recursive: true }) - 写入本地文件_ref/extract-asar.cjs:47
fs.writeFileSync(target, buf) - 读取本地文件_ref/fix-host-imports.cjs:10
for (const name of fs.readdirSync(path.join(root, 'tools'))) { - 读取本地文件_ref/fix-host-imports.cjs:13
const text = fs.readFileSync(file, 'utf8') - 写入本地文件_ref/fix-host-imports.cjs:18
fs.writeFileSync(file, text.split(from).join(to), 'utf8') - 读取本地文件_ref/fix-host-imports.cjs:26
for (const entry of fs.readdirSync(dir, { withFileTypes: true })) { - 读取本地文件_ref/fix-host-imports.cjs:34
const text = fs.readFileSync(full, 'utf8') - 读取本地文件_ref/replay-check.mjs:21
const buffer = readFileSync(file) - 读取本地文件_ref/smoke-coach.mjs:120
const info = statSync(target.targetKey) - 读取本地文件_ref/smoke-coach.mjs:127
return readdirSync(target.targetKey, { withFileTypes: true }).map((entry) => ({ - 读取本地文件_ref/smoke-coach.mjs:133
async readText(target) { return readFileSync(target.targetKey, 'utf8') }, - 写入本地文件_ref/smoke-coach.mjs:138
mkdirSync(join(workdir, '.git'), { recursive: true }) - 写入本地文件_ref/smoke-coach.mjs:139
writeFileSync(join(workdir, 'notes.txt'), 'hello 教练模式\n', 'utf8') - 删除本地文件递归_ref/smoke-coach.mjs:921
rmSync(workdir, { recursive: true, force: true })
扫描于 2026/10/31(1 天前) · 范围 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
一个反向智能体 AI 智能体,逼着你自己动手做任何事——任何事?
README
由 DeepSeek 最新模型翻译生成教练模式 · Coach Mode
这是一个由 slimeball 与 deepseek v4.1flash 以及 deepseek v4.1flash1017 共同开发的项目。
让 AI 带你自己动手学会一个工具,而不是替你做完。
「教练模式」是 DeepSeek Harness 的一个 agent preset(插件包)。装好后新建会话时,模式列表里会多出一个「教练模式」。
它和普通助手的区别不在提示词写得多好,而在状态机长在代码里:一次只给一步、必须核查、不许代做、进度和证据都落在会话日志里。模型想跳到下一步,得先让插件校验通过。
demo
目录
- 它解决什么问题
- 它怎么工作
- 功能
- 安装
- 快速开始
- 用户看到的固定格式
- 仓库结构
- 开发
- 版本
- 设计与文档
- 已知限制
- 许可
它解决什么问题
提示词能覆盖的部分,实测早就不错了;但有两个窟窿改提示词补不上:
- 硬核查不会自发触发:模型可以一直「讲得很好」,却从没读过用户的文件、没跑过一条命令。
- 软核查判定会漂移:同一情形,这次判「无法判断」,下次判「通过」。
所以这个项目的做法是:把能写成 if 的都写成 if——阶段、前置条件、证据失效、失败阈值、检索预算,全部由插件持有;提示词只负责「怎么说话」。
展开完整文档(README 剩余 1 节)
教练模式 · Coach Mode 这是一个由 slimeball 与 deepseek v4.1flash 以及 deepseek v4.1flash1017 共同开发的项目。 让 AI 带你自己动手学会一个工具,而不是替你做完。 「教练模式」是 DeepSeek Harness 的一个 agent preset(插件包)。装好后新建会话时,模式列表里会多出一个「教练模式」。 它和普通助手的区别不在提示词写得多好,而在状态机长在代码里:一次只给一步、必须核查、不许代做、进度和证据都落在会话日志里。模型想跳到下一步,得先让插件校验通过。 demo 目录 - 它解决什么问题 - 它怎么工作 - 功能 - 安装 - 快速开始 - 用户看到的固定格式 - 仓库结构 - 开发 - 版本 - 设计与文档 - 已知限制 - 许可 它解决什么问题 提示词能覆盖的部分,实测早就不错了;但有两个窟窿改提示词补不上: - 硬核查不会自发触发:模型可以一直「讲得很好」,却从没读过用户的文件、没跑过一条命令。 - 软核查判定会漂移:同一情形,这次判「无法判断」,下次判「通过」。 所以这个项目的做法是:把能写成 if 的都写成 if——阶段、前置条件、证据失效、失败阈值、检索预算,全部由插件持有;提示词只负责「怎么说话」。 它怎么工作 INIT ──coach_plan──▶ (确认环境) ──▶ PLAN ──受理──▶ WAIT_FEEDBACK / INSTALL_TOOL │ ┌────────────────────────┤ ▼ ▼ coach_check(只读取证) coach_research(联网补全) │ ▼ coach_verify(落盘结论)──▶ 通过 ──▶ coach_advance ──▶ 下一步 / COMPLETE │ 不通过 ──▶ 本步失败 +1 └── 无法判断 ──▶ DEGRADED 它管得住的三件事: 1. 一次只给一步:计划建立后,状态块只暴露当前步骤。 2. 核查必须落盘:结论只能通过工具提交;只在正文里写「通过了」不算,状态不会变。 3. 不代做:write / edit 在工作区里会被确定性拒绝。 它还管这些:安装分支(工具没装时把「装好并跑通」当成临时目标)、同会话回退、暂停/恢复、检索缓存、进度摘要、按表现调整讲解详细度、检索与状态块的预算。 功能 | 能力 | 说明 | | 强制核查 | file / command 类证据必须先取证再判定;重复核查必须引用新证据 | | 安装分支 | 工具不可用时先走「安装并跑通」,完成后自动回到原目标;发现其实装好了可以一步早退 | | 联网检索 | coach_research 自动脱敏检索词,来源写进缓存;失败不自动降级 | | 同会话回退 | 回到更早的步骤重做;回退之前的结论/证据/跳过一律作废 | | 暂停 / 恢复 | 「先停一下」有明确暂停点;关掉再打开同一会话仍是暂停,恢复不作废旧证据 | | 进度摘要 | 已完成/跳过/剩余、当前板块、本步失败、检索次数 | | 脚手架递减 | 按板块表现给出 1–3 级讲解详细度(放手 / 给要点 / 手把手),核查标准不随之放宽 | | 成本控制 | 每步检索上限、状态块字符预算、检索正文上限,以及每轮的 【用量】 | | 跳过与出口 | 多次失败后给出明确出口:跳过 / 暂停 / 换目标;跳过必须说出口 | 安装 从本仓库安装 用任何带 plugin_manager 工具的会话,发一条: 请用 plugin_manager 安装这个本地目录: <本仓库绝对路径>\coach-mode-bundle 安装会弹一次审批。返回 applied 即成功;之后完全退出 DSH 再重新打开,新建会话时选「教练模式」。 从 .tgz 安装 plugin_manager action: install_bundle target: <某个目录>\local-coach-mode-0.4.2.tgz 注意事项 - 安装/覆盖之后必须重启 DSH:只重启不重装可能跑旧模块代,只重装不重启不会加载新代码。 - profile 里是 link: 安装时,改代码只需重启;install_bundle 返回 already-installed 属正常。 - 目录方式安装后不要移动或删除那个目录(profile 直接指向它)。 快速开始 新建一个「教练模式」会话,发: 我想学 Git,但我不太会。 正常节奏是:先确认你电脑上能不能用 Git → 问你的水平和目标 → 拆成几个板块 → 一次给你一步 → 你做完反馈 → 它核查 → 下一步。 它不是万能的:不会替你点软件,不会改你的文件,也不跨会话记进度。 用户看到的固定格式 每一步(字段之间会空行): 【当前板块】【本步目标】【请执行】【预期结果】【请反馈】截图 / 文件 / 报错 / 文字描述【合格标准】 每次核查后: 【核查结果】通过 / 不通过 / 无法判断【原因】【建议】【下一步】 仓库结构 coach-mode-bundle/ ← 插件本体(安装目标) index.js 宿主插件入口:状态块 + 守卫 + 8 个工具 cordis.patch.yml 唯一的声明文件(preset + persona) config.js 配置默认值与归一化(不导出 schema) projection.js 按需折叠会话日志 → CoachState inject.js 每轮状态块注入 guard.js write / edit 的确定性拒绝 core/ 纯核心:零宿主 import、零 IO、零时间、零随机 tools/ 8 个教练工具 + 本地 defineTool test/ 零依赖单测(149 个用例) README.md 行为、Config、已知限制(改动前先读) SPEC-档2-教练模式.md 施工图:Q1–Q7 决策、状态机、各版本实现与验收 coach-mode-档1-验收报告.md 档 1 的验收证据(会话 id + 事件 seq) prompt_and_work-document/ 按阅读顺序编排的设计/交接文档(00–13) _ref/ 验收与回放工具(冒烟、日志回放、会话转写、取证) _verify-20261018/ 0.4.1 / 0.4.2 的验收结论(原始会话日志未入库) 开发 要求:Node 24.x(实测 24.21.0)、DeepSeek Harness 0.2.1-rc.1。 powershell 单测(在 coach-mode-bundle 目录内;不要传 test/) node --test --test-isolation=none 装配冒烟(零宿主依赖,覆盖真磁盘 fs、守卫、检索与预算) node ../_ref/smoke-coach.mjs 用当前代码重折一条真实会话日志,看每个状态块"应该"长什么样 node ../_ref/replay-check.mjs <session.v4.jsonl.zstd> 两条硬约束(test/decoupling.test.js 会拦): 1. 整包禁止 import '@deepseek-ai/'。宿主包装在 app.asar 里,profile 装的 bundle 解析不到,一行 import 就会让整个 preset 显示「加载失败」。需要的能力走 ctx.,工具定义用本地的 tools/define-tool.js。 2. core/ 零 Node 内置模块、零时间、零随机。状态全部从会话日志折叠,所以重启、恢复、fork 之后都能重算;改折叠语义必须递增 stateVersion。 改完:install_bundle 覆盖安装 → 重启 DSH → 新会话验证。 版本 当前 0.4.2(2026-10-18)。完整版本记录见 CHANGELOG.md。 - stateVersion 9、8 个教练工具、11 个相位、单测 149 - 验收:A1–A15(A8–A15 有实机记录,见 SPEC-档2-教练模式.md 与 _verify-20261018/) 设计与文档 - 施工图:SPEC-档2-教练模式.md——决策台账(Q1–Q7、D1–D11、R1–R16)、状态机、每个版本的设计与实机结论。 - 行为与配置:coach-mode-bundle/README.md——工具、状态块、Config、已知限制、排版坑。 - 设计史:prompt_and_work-document/——按"接手的人该读的顺序"编排的 14 份文档(从 00. 阅读顺序.md 开始)。 这些历史文档里的本机路径已统一替换为 C:\Users\<user>;文档编号与内容保持原样。 已知限制 - 没有 UI / slash 命令:全部通过对话完成,模式切换在建会话时。 - 只做同会话:暂停、回退、进度都跟当前会话绑定,不跨会话续接。 - pwsh / bash 不加守卫:"不代做"在命令行这一项上仍靠提示词;文件编辑是物理拒绝的。 - Config 没有 schema / 表单:字段只能手改 cordis.patch.yml,写错会静默回落默认值。 - 支撑等级是软约束:它改变"讲多细",但计划里的 【请执行】 原文不变,模型仍可能讲得太细。 - 检索正文上限在本机不触发:宿主的 web.search 目前只返回来源、不返回正文。 - 依赖 DSH 插件 API:客户端版本变化可能导致加载失败;升级后先跑单测与冒烟。 许可 尚未指定开源许可。在添加 LICENSE 之前,默认保留所有权利。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
slimeball2026/DSH-Coach-mode
强制你亲手操作,一步步学会工具而不代做
相关插件 · 技能 / 提示词
人设统管ZiChuanLan/agent-purge
一份系统提示词,喂给多个 coding…
★ 931已汉化DSH
73.8
人物画像蒸馏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