Back to home@gameswu

dsh-human-coding

DeepSeek Harness 增加古法编程模式,让模型监督你写代码!

Stars
1
Language
TypeScript
Created
Aug 26, 2026
Updated
Aug 26, 2026

Introduction

dsh-human-coding · 古法编程模式

把 AI 的「手」收起来,找回自己写代码的感觉:你提需求,AI 只搭骨架、出题, 你来补全实现,最后由 AI 验收、讲思路。一套 DeepSeek Harness 插件包 + 「古法编程」预设,装上就能玩。

怎么玩

出题 —— AI 把骨架和测试写进你的项目,然后弹出提问:

发起挑战提问

  • 接受挑战:进入答题模式,AI 从此只答疑、给提示,绝不代写;
  • 跳过:AI 像平时一样直接把需求做完。

答题 —— 输入框上方常驻「古法」状态条,显示题目、阶段、提交次数和提示 等级,随时可以点 提交 / 放弃(直接打字说「提交」「放弃」也一样):

作答中的状态条

卡住了就提问,AI 会按等级给提示:方向 → 思路 → 接近答案,但不会替你把代码 写出来。

验收 —— 提交后 AI 跑测试、评审你的实现。不通过可以继续(提示升级) 或放弃;通过后你来定最终代码长什么样:

验收通过后的三种选择

  • 采用你的写法:保留你的实现,AI 总结点评;
  • AI 略做修改:以你的实现为基础小修,逐处解释;
  • AI 彻底重写:按 AI 的写法重写,并对比讲解差异。

放弃或收尾之后,AI 恢复正常编码能力。题目状态记录在会话里,不会在项目中 留下任何额外文件。

安装

一次装好,之后每次新建会话选「古法编程」就能用。

# 在仓库根目录,二选一执行
bash scripts/install.sh            # Linux / macOS / Git Bash
.\scripts\install.ps1              # Windows PowerShell(可加 -Profile <name> 指定)

脚本只做三件事:构建插件包、把插件装进 Profile、准备「古法编程」预设—— 预设不存在时会自动以 standard 为基础创建,已存在则只合并差异行。不会动你 的其他设置:合并前自动备份(agent.cordis.yml.bak),preset.yml 仅在 缺失时创建。

万一脚本提示找不到 standard 预设:手动以 standard 为基础建一个名为 human-coding 的预设(位置 ${DSH_HOME:-~/.dsh}/.agent-presets/human-coding/),再重跑脚本即可。

装完重启 Profile,新建会话选「古法编程」,然后刷新页面(客户端 状态条依赖页面加载时的插件清单)。

开发

pnpm install     # 装依赖
pnpm typecheck   # 类型检查
pnpm test        # 状态机单元测试
pnpm build       # 打包 Host + Client 两半

源码结构:src/host/(状态机、gufa_* 工具、提示段、会话投影)、 src/client/(状态条)、src/shared/(共享状态模型)、preset/(预设追加 片段)。完整设计见 docs/design.md

排障

  • 新会话里没有 gufa_ 工具*:确认脚本执行成功、Profile 已重启、预设 片段已并入,并在新会话选了「古法编程」;
  • 状态条不显示:先刷新页面;仍不出现就按 F12 看控制台里有没有本包 的模块报错;
  • 组合挂载报错:会话启动时报错通常是预设文件行 id 冲突或包名解析失败, 对照 preset/agent.cordis.yml 检查。