zriyox/dsh-goal-scaffold

先别急着接大需求:拦截一句话巨型任务,先自动规划并生成带验收清单的 plan.md 再开工 — DeepSeek Harness 插件 / 拦住一句话级庞大任务,先搭建 plan.md 和限定的目标再动工

项目介绍Project Overview

dsh-goal-scaffold 是 DSH 插件,用于拦截会话中首个庞大模糊的一句话任务,弹出“先规划/直接开始/本会话不再询问”三选项;选规划后,代理先写 plan.md(每项含可验证验收标准)、建带轮次上限的目标、展示计划,再逐项执行勾选。适合“帮我建完整任务管理系统”这类大需求,避免无计划即兴开发。注意:每会话最多询问一次,headless 无提问通道时消息原样放行。

dsh-goal-scaffold is a DSH plugin that intercepts the first large, vague one-liner in a session and offers three choices: plan first, just start, or don't ask again. Choosing plan makes the agent write plan.md with verifiable acceptance criteria per item, create a goal with a round cap, show the plan, then execute and tick items off. Use it for big requests like "build a complete task system." Caveat: it asks at most once per session, and in headless mode messages pass through untouched.

或使用命令行安装(适合开发者)Or use CLI install (for developers)

命令行安装CLI Install

dsh plugin --profile web add github:zriyox/dsh-goal-scaffold

zriyox/dsh-goal-scaffold 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

dsh-goal-scaffold

English | 中文

What it does, in one sentence: when you drop a huge one-liner like "build me a complete task management system", this plugin asks you "want to plan it first?" — before the agent burns twenty minutes improvising.

Without it, a mammoth one-sentence request goes straight to work: no plan, no acceptance criteria, and nobody can tell whether it's drifting. With goal-scaffold installed, the first such message in a session gets a gentle interception:

you send a big vague task
  → a three-option prompt pops up:
      ① Plan first (Recommended)  ② Just start  ③ Don't ask again this session
  → pick ①: your request goes through, and the agent is told to first write
    plan.md (a checklist where every item has a verifiable acceptance
    criterion), create a goal with a round cap, show you the plan — then
    execute item by item, ticking boxes as it goes

You stay the boss of one click; the agent does the disciplined rest. Pairs with dsh-verify-judge, which makes the final "done" require passing tests.

Install

dsh plugin --profile web add github:zriyox/dsh-goal-scaffold
# or a local checkout:
dsh plugin --profile web add /absolute/path/to/dsh-goal-scaffold

Behavior notes

  • Asks at most once per session. "Don't ask again" silences it; so does any answer, until a new session.
  • Headless-safe: where no user-questions channel exists (e.g. the headless profile), every message passes through untouched — nothing blocks, nothing errors.
  • Human messages only: goal-driver continuations, plugin injections, and tool artifacts never trigger detection.
  • Fail-open on dismissal: if you dismiss the question to type something else, your original message proceeds as-is.

Configuration

- id: goal-scaffold
  config:
    enabled: true          # master switch
    minLength: 80          # minimum message length that participates in detection
    extraSignals: ['迁移']  # extra case-insensitive scope phrases

Development

pnpm install
pnpm run build   # tsc → lib/

License

MIT

上一个 Prev dsh-archive-manager 下一个 Next dsh-service-console