前言¶
在 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