Introduction¶
The DSH plugin ecosystem emphasizes “everything is a plugin.” When running Coding Agent-type tasks in DSH Web, the scope and constraints written at the beginning may be weakened or ignored as the rounds increase. Taskify is a DSH Web plugin designed to avoid modifying the original Prompt in the composer, carrying forward “what to do this time” and “what cannot be touched” as continuous boundaries into subsequent rounds.
Below is an introduction to the positioning, core mechanisms, installation methods, and considerations for GearVoid/dsh-taskify.
What is it¶
dsh-taskify is a DSH Web plugin used to establish task boundaries for the current Session:
- Use Focus to fix the execution scope of the current task; a Session can have at most one Focus.
- Use Persistent Anchors to retain hard constraints explicitly stated by the user; a Session can have multiple Anchors.
- Do not rewrite the original Prompt in the composer, nor automatically send it on behalf of the user.
- The project is located at the GitHub repository
GearVoid/dsh-taskifywith an MIT license.
Core Mechanisms¶
Focus: Fixing the maximum scope for this time¶
Focus answers the question: “What is the maximum we can achieve this time?”
- Can be handwritten by the user or suggested by the AI.
- The Focus suggestion given by the AI is just a draft and must be confirmed by the user to become the current Session’s Focus.
- The user can Set, Edit, Pause, Resume, or Clear the Focus.
Persistent Anchors: Retaining explicit hard constraints¶
Persistent Anchors answer the question: “What cannot change?”
- Anchors extract hard constraints explicitly stated by the user from the current Prompt or draft.
- Each Anchor must be accompanied by exact evidence from the current draft.
- Preferences or weakening expressions will not be upgraded into hard constraints;
anchors: []is a valid successful result. - The user can Pause, Resume, or Remove a single Anchor, or Clear All.
Extraction Protection¶
- Literal Lock: Protects code blocks, inline code, paths, URLs, IP/ports, versions, CLI, and common identifiers.
- Provenance: Evidence must be an exact substring of the current draft.
- Concrete Claim Guard: Prevents Anchors from adding new paths, URLs, CLI, versions, or obvious code identifiers out of thin air.
State and Subsequent Rounds¶
- Host is the authoritative state; Client is just a discardable snapshot cache.
- Revision/CAS will reject stale writes.
- Durable replay: When the DSH persistence provider confirms a flush, the state can be recovered by replaying known events; it will explicitly degrade if it fails or cannot be confirmed.
- Session isolation: State is isolated by precise session ID; new Sessions and forks do not inherit Focus or Anchors by default.
- Subsequent rounds obtain active Focus and active Anchors via the official DSH
systemPrompt.context; paused items will not enter the context.
Installation and Updates¶
Use the Web profile to install a specific version:
dsh plugin --profile web add github:GearVoid/dsh-taskify#v0.4.1
Start Web after execution:
dsh web
Listed compatible environments are as follows:
- DeepSeek Harness Launcher:
0.1.2-rc.1 - DSH Core Plugin API:
0.1.2-rc.1 - DSH Web Client API:
0.1.2-rc.1 - Node.js:
^22.19.0 || >=24.0.0 - pnpm:
11.x(The repository uses11.19.0)
Typical Usage¶
Write the original task first, then click Taskify, confirm boundaries, and finally send the original Prompt.
- Write the original task in the composer.
- Click Taskify to let the plugin suggest Focus and extract Anchors.
- Confirm, edit, or ignore the Focus; check the Anchors.
- Send the original Prompt.
- In subsequent rounds, active Focus and active Anchors continuously enter the context.
Example Input:
把 dashboard 卡片布局改得更紧凑、整齐一点,后端别动,不要新增依赖,也别顺手改其他功能
The generated result can be:
Focus
调整 dashboard 卡片布局,使其更紧凑、整齐
Anchors
不修改后端
不新增依赖
不处理其他功能
The original Prompt here remains unchanged.
Applicable Scenarios and Notes¶
Suitable for scenarios where “scope” and “hard constraints” need to be continuously retained in multi-round tasks, such as adjusting only a specific module, not touching the backend, not adding new dependencies, or not extending to adjacent features.
Pay attention to the following boundaries:
- Taskify is continuous model guidance, not a sandbox, policy engine, or mechanical interception layer.
- Currently does not include file write interception, dependency installation interception, automatic rollback, Git baseline, semantic diff audit, native
/goalreplacement, watchState/polling/WebSocket, multi-Client real-time synchronization, or automatic task completion detection. - Focus suggestions do not take effect automatically; they only become the current Session’s Focus after user confirmation.
- Anchors only extract explicit constraints and will not upgrade preferences or weakening expressions into hard rules.
- Modifying a draft that has not been sent will only invalidate pending/armed requests, not delete active Focus or Anchors.
- New Sessions and forks do not inherit Focus or Anchors by default.
- The plugin runs with the permissions of the current
dshprocess. Source code and license should be checked before installation. - DSH is still in Developer Preview, and future versions may bring compatibility changes.
References¶
- GitHub:
https://github.com/GearVoid/dsh-taskify - Directory page (from plugin clues, not verified item by item in the current scraped data):
https://www.skillhub.cn/plugins/GearVoid/dsh-taskify