Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dsh-plan-first

Plan-first:让 DeepSeek Harness 的 agent 在动手前先输出一份完整的实现方案,并在获得用户确认后才开始实现。

一个轻量 DSH 宿主端插件:通过 systemPrompt.section() 向每次模型步骤注入一个有序的 plan-first 提示段落,强制 agent 遵循「方案先行」工作流。

效果

启用后,agent 对任意用户请求都会:

  1. Step 1 �� 生成完整实现方案 —— 覆盖组件选择 / 代码架构 / 实现路径 / 潜在问题 / 参考方案(web_search)/ UI 设计 / 错误日志策略
  2. Step 2 · 等待用户确认 —— 先输出方案,明确征求确认后才开始实现
  3. Step 3 · 彻底记录错误 —— 不静默重试,先分析根因,报错带上下文与建议修复
  4. Step 4 · 实现总结 —— 对比方案与实际实现的差异、遗留事项

安装 / 注入

在装有 dsh-super-injector 的 DSH 环境中,运行时注入(免重启):

# 构建(需要 DSH 源码 checkout;跳过可手动维护 lib/)
DSH_CHECKOUT=<path> bash scripts/build.sh

# 运行时注入
dev_inject_plugin C:/path/to/dsh-plan-first

注入后在插件清单中应可见:

[active] @dsh-external/dsh-plan-first [injected] · host ✓

验证是否生效

新开一条用户消息,若 agent 的回复以「完整实现方案 + 等待你确认」开头,即表示提示段落注入成功。

结构

├── src/index.ts        # 插件宿主源码(TS)
├── lib/index.js        # 编译产物(被加载的运行时代码)
├── scripts/build.sh    # tsc 构建脚本(DSH_CHECKOUT 自动探测)
├── package.json
└── tsconfig.json

强制注入命令:/plan-first

即使插件是安装前就开着的旧会话(系统提示装配可能没吃到全局 section),也可以在当前会话里手动触发:

/plan-first

效果:把 plan-first 提示段注册进当前会话的 agent 作用域,从下一回合开始生效;重复执行幂等(返回“已生效”)。

注:系统本身另���一个 /plan 命令(进入 DSH 的 plan mode),与本插件的 /plan-first 无关、互不冲突。

说明与规范

  • 资源注册挂在 ctx.effect 上,热重载 / 卸载自动清理(注入器规范)。
  • 提示词刻意不含 {{...}},避免被 system-prompt 变量插值器解析为未注册变量而抛 unknown prompt variable

License

BSD-3-Clause

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages