前言¶
在 DeepSeek Harness(DSH)里用智能体学东西,常见两类预设都不太好扛:要么像讲课一样连续输出,要么像考试一样连珠炮提问、很少回馈。两种体验都容易带来压力,聊久了就不想继续。
下面介绍社区插件 dsh-socratic-mode:它为 DSH 增加一个名为「苏格拉底学习模式」的 Agent Preset,把顺序改成 先给后问——每轮先交付一小块可独立阅读的真知识,再附带恰好一个可选的邀请式问题,而不是审问或填鸭。
这是什么¶
dsh-socratic-mode 是维护者 summersummer-liu 发布的 DSH 插件 bundle,在 SkillHub 分类为 工作流。一句话定位:Socratic learning mode for DeepSeek Harness — a tutoring agent preset that gives one piece of real knowledge then asks one invitational question per turn(先给再问,不讲课不审问)。
插件以 MIT 许可证发布,当前 package 版本为 1.0.0(以仓库 package.json 为准)。它不负责改 DSH 内核,而是通过 cordis.patch.yml 向 Agent Preset 列表插入 preset-socratic,并可选附带独立 skill socratic-tutor。
核心功能¶
新会话里的预设¶
安装并启用后,在 New Session 选择器里会出现 苏格拉底学习模式(Custom 分组)。在 Settings → Agent Presets 中可查看卡片(标题、描述、图标),设为默认或按会话临时选用。
每轮回复的结构¶
核心循环在 README 中写为:
接住他一句 (optional) + 一块真知识 (required) + 一个邀请式问题 (exactly one)
「给」的内容限定为五类知识块之一:关键区分、反直觉事实、具体例子或数字、一行 takeaway、常见误解。「问」只用邀请语气(例如「你会怎么想?」),不用命令式(例如「请回答」)。你可以随时说「直接告诉我」「讲讲吧」「累了 / 先别考我」,模式会调整;每 4–6 轮可有无问题的回合,掌握度以隐性方式检查,不宣布考试。
会话结束时的学习笔记¶
说「总结一下」时,会在工作区生成 study note:知识地图、关键区分、你自己的好句子、误解点,以及三条自测题。
刻意精简的工具集¶
该 preset 挂载 13 个子行(persona、time-context、文件与搜索、bash/pwsh、web、skill-filesystem、tool-skill、ask-user、todo、present、compaction 等),刻意不包含 plan mode、goals、schedules、后台任务、subagents、workflows 和 plugin manager,避免学习会话里带着改系统的工具。
两层约束设计¶
- Persona(约 1.4 KB,每轮可见):20 条硬规则,覆盖先给后问、语气与压力控制等。
- Skill(约 6 KB,加载一次):
skills/socratic-tutor/SKILL.md中的完整 playbook——知识块模板、六层问题阶梯、四层提示阶梯、语气手册、笔记模板与反模式。
环境与要求¶
- DeepSeek Harness 桌面版或 Web,dsh >= 0.2.1-rc.3
- Node.js >= 20:仅用于仓库内的
npm run check校验与开发,日常使用 preset 不依赖 Node
安装与启用¶
官方 README 的安装流程如下(勿凭插件名自行拼接 dsh plugin add github:owner/repo)。
- 在本地某处克隆仓库:
git clone https://github.com/summersummer-liu/dsh-socratic-mode.git
- 让 DSH 智能体通过 plugin_manager 安装 bundle,例如对 agent 说:
用 plugin_manager 安装
dsh-socratic-mode这个目录的 bundle。
agent 应调用 plugin_manager,action: install_bundle,target 为克隆目录的绝对路径。bundle 从当前 Harness 安装解析内置包,自身不声明额外依赖。
- (可选)安装配套 skill,在 preset 外也可单独使用:
mkdir -p ~/.dsh/skills
cp -r skills/socratic-tutor ~/.dsh/skills/
路径中的 skills/socratic-tutor 相对于克隆后的仓库根目录。
- 打开 Settings → Agent Presets,在 Custom 下确认卡片正常(非「加载失败」),再设为默认或在新会话里选用。
修改 bundle 后需先 remove_bundle 再 install_bundle(覆盖安装会报 already-installed)。改 cordis.patch.yml 前可在仓库根目录执行:
npm install
npm run check
典型用法¶
新建会话,选择 苏格拉底学习模式,说明学习目标。README 中的示例:
| 目标 | 你可以说 |
|---|---|
| 从零学概念 | 「教我通货膨胀,我基础很差」 |
| 读一份文档 | 「用苏格拉底法帮我读这份讲义」(把文件拖进对话) |
| 检验已有认识 | 「考我文艺复兴,我看过两遍书了」 |
| 理清困惑 | 「我总觉得货币乘数讲不通,你来问问我」 |
会话中常用控制语:
| 需求 | 说法 |
|---|---|
| 直接要答案 | 「直接告诉我」 |
| 要提示 | 「卡住了 / 给点提示」 |
| 只要讲解、不要提问 | 「讲讲吧」 |
| 暂停提问 | 「累了 / 先别考我」 |
| 收尾并写笔记 | 「总结一下」 |
包内结构与自定义¶
| 部分 | 文件 | 作用 |
|---|---|---|
| Preset 声明 | cordis.patch.yml |
插入 preset-socratic |
| 常驻教学法 | cordis.patch.yml → persona.prefix |
先给后问等硬规则 |
| 按需教学法 | skills/socratic-tutor/SKILL.md |
知识块库、问题/提示阶梯、笔记模板 |
| 展示资源 | locale/en.json、locale/zh.json、icon.svg |
卡片文案与图标 |
想改教师人设与规则:编辑 persona.prefix 后重新安装 bundle。想改问题阶梯、提示或笔记模板:编辑 SKILL.md(每次加载重读,无需重装)。工具集与 roster 顺序分别改 cordis.patch.yml 的 plugins 与 config.order。
故障排查与卸载¶
预设卡片显示「加载失败」、新会话无法启动: 子行挂载时会校验,任一无效子行会导致整个 preset 失败;toast 或卡片诊断会指出行名。运行 npm run check。README 提到:@deepseek-ai/dsh-tool-todo 需要配置 allowParallelInProgress,缺少会导致 preset 失败,check 脚本会断言。
选择器里看不到模式: 刷新页面;确认 profile 中已列出 bundle,且 plugin_manager → list_plugins 中 preset-socratic 处于 active。
又变回连珠炮提问: 重载 skill,并对照 persona.prefix 规则 1 与 15;「直接讲吧」应给出完整讲解,而不是再出一道填空。
卸载步骤:
plugin_manager→action: remove_bundle→target: dsh-socratic-moderm -r ~/.dsh/skills/socratic-tutor(若曾复制 skill)- 删除本地克隆目录
适用场景与注意¶
适合希望在 DSH 里用对话学概念、读讲义、自测或理清误解、又不想再被「纯讲课」或「纯刷题」两种模式绑架的用户。插件与 preset 在 当前 dsh 进程的权限 下运行;安装 bundle 前建议通读仓库源码与 MIT 许可证,确认工具子集(含 bash、web、文件读写等)符合你的环境与安全策略。
DSH 生态强调「一切皆插件」;SkillHub 等社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系,本文不以「官方应用商店」口吻描述安装渠道。
结尾¶
dsh-socratic-mode 把 tutoring 预设收敛成可重复的「一块真知识 + 一个问题」,并用 persona 与 skill 两层约束压住模型默认的讲课或审问习惯;会话结束还可落盘 study note。若要在 Harness 里试这套工作流,可从目录页与 GitHub 仓库入手:
- 目录页:https://www.skillhub.cn/plugins/summersummer-liu/dsh-socratic-mode
- GitHub:https://github.com/summersummer-liu/dsh-socratic-mode