DeepSeek Harness plugin

dsh-plugin-discussion-intent

An intent-calibrated DSH discussion mode that prevents complex conversations from drifting and turns them into evidence-based next steps.

Jump to install

Source facts

Repository
JinPLu/dsh-plugin-discussion-intent
Latest update
Aug 16, 2026
Category
Development & Runtime
GitHub stars
0
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/JinPLu/dsh-plugin-discussion-intent
Plugin: dsh-plugin-discussion-intent
Author: JinPLu

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer3 files
README.mdSource · read only

DSH Discussion Mode

> 为复杂思考设计的 DSH 讨论模式:保持用户意图、控制讨论焦点,把探索收敛成有依据的下一步。

<p align="center"> <a href="#core">核心卖点</a> · <a href="#quick-start">快速开始</a> · <a href="#rail">四行 Rail</a> · <a href="#continuity">讨论可续</a> · <a href="#boundaries">设计边界</a> </p>

<p align="center"> <img src="docs/assets/discussion-mode-map-v2.png" width="960" alt="DSH Discussion Mode 防漂移导图:用户目标、边界与当前焦点始终处于中心;用户原话和模型理解分开呈现,新方案与证据参与比较,Rail 和自动检查点让讨论持续校准并可恢复"> </p>

<p align="center"><sub>概念导图:图中文字对应实际产品能力,不代表 DSH 界面截图。</sub></p>

Discussion Mode 让你守住目标、边界和评价标准;模型负责拆解、比较和收敛。/discussion 只设深度,不装主题。下一句才开始讨论。你明确说过的话和模型理解分开呈现;改根问题必须 /discussion accept,工作焦点可以随讨论下沉;问卷选择算你说过的话。适合研究方向、产品策略、技术路线和跨方案取舍。

<a id="core"></a>

✨ 核心卖点

  • 意图不漂移:目标、边界、评价标准和否定项持续注入。根问题须你接受才改;工作焦点可下沉。问卷选择算你说过的话。新证据先当候选。建议和下一步不得与仍有效的否定矛盾。
  • 子代理模型自选:点顶栏芯片或 /discussion model 从当前 catalog 选择并记住。未选就 spawn 会失败。父线程模型不变。
  • 从模糊到可执行:不必先填主题。/discussion 1|2|3 只设深度。改题须你接受。
  • 四行 Rail 随时纠偏:默认一条顶栏(讨论中 + 当前焦点)。点开才显示四行。讨论进行中隐藏官方 Goal 条。落盘用图标。点模型芯片只出浮层,不展开 Rail。
  • 讨论可续:检查点写入工作区,重启可恢复。保存失败会提示。

🧭 为什么不是普通聊天或长记忆

普通 AI 对话Discussion Mode
模型可能按最近的信息重述问题用户明确的目标、边界、否定项与评价标准持续作为讨论依据
模型总结容易看起来像用户已作出的决定明确分开呈现“你已明确”与“当前理解”
新论文、局部机制或子问题可能直接成为叙事中心新信息先作为候选;升格为根问题必须 /discussion accept;工作焦点可带 returnTo 下沉
深入局部后容易忘记原本要解决什么Rail 显示工作焦点;根问题已锁定且不同时,同一行写出 工作焦点 · ↑根问题
讨论结束时可能只有观点,没有决策路径收敛为建议、风险、待验证点与下一步行动

它是单场复杂讨论的控制层,不是长记忆,也不是一次性问答。Discussion Mode 是插件内部服务(1=fast | 2=default | 3=deep),不是 DSH 全局模式。不改 DSH 主仓,不写自定义会话事件。

<a id="quick-start"></a>

🚀 快速开始

dsh plugin --profile web add @jinplu/dsh-plugin-discussion-intent
/discussion              start or resume, default intensity, no topic
/discussion 1|2|3        set depth only
/discussion model        list catalog and current subagent model
/discussion model <p>/<id>  persist subagent model for the next spawn
/discussion accept <id>  accept a pending topic/frame change
/discussion reject <id>  reject it
/discussion off          pause; state kept

不要在命令后写 topic。3 是深度。缺偏好或方向时用原生 ask_user_question;能检索的事实不反问。

<a id="rail"></a>

🗺️ 讨论状态与四行 Rail

  • 标题 / 目标 / 根问题:你接受后才生效。首句只装工作焦点;之后打字的 decision,或带 ?/? 的 goal,才可锁定空的根问题
  • 工作焦点可随合格的 returnTo 下沉;改根问题仍须 /discussion accept
  • You:仍有效的决定、否定、非目标和评价标准;过程句(spawn subagents)和刷新句不算
  • 问卷选择由宿主写入 decision,算你说过的话,但不自动变成根问题
  • 候选方案、证据、当前理解、建议、下一步

Web 输入框上方是只读 Rail。默认折叠成一条顶栏:讨论中 + 当前焦点(120 字)+ 强度 / 子代理 / 落盘。点顶栏展开四行;值列默认两行,点一行展开全文。点模型芯片选下次 spawn。Pending 时五行。/discussion off 后消失。

<a id="continuity"></a>

💾 讨论可续、过程可信

实质更新前先写 Markdown,再写 JSON:

.dsh/discussions/<session-id>.json   权威状态
.dsh/discussions/<session-id>.md     人类可读检查点

写入失败会报错。重启同一会话即可恢复。不写自定义会话事件。

<a id="boundaries"></a>

🛡️ 设计边界

/discussion 1|2|3
  → 只设深度,未命名检查点,不推断主题
  → 用户下一句开始讨论
  → 每次实质回复前更新讨论状态(先写 Markdown,再写 JSON)
  → 标题/目标/根问题改写变成 Pending Frame Changes;合格的工作焦点下沉立即生效
  → /discussion accept <id> 或 /discussion reject <id>
  → 系统提示策略重注 Human Frame + Web Rail
  → 完全退出 DSH 后从侧车恢复
  → 继续讨论或 /discussion off

依赖已发布的 DSH 0.1.0-rc.6 公共接口。无 webServer 时功能完整,只是没有 Rail。

子代理模型一开始为空。第一次 spawn 时从当前 catalog 提问;跳过不会继承父线程模型。

官方 rc.6 没有 contributeRun。研究证据保持为候选,升格须 Pending Frame Change。

细节见 [Runtime integration](docs/EXTRACTION.md),状态见 [Roadmap](docs/ROADMAP.md)。

🧪 本地开发

需要 Node.js 22+ 和 package.json 指定的 pnpm 版本。

pnpm install
pnpm typecheck
pnpm test
pnpm build
pnpm pack:check
pnpm test:consumer

test:consumer 把真实 tarball 装进临时 DSH profile,验收 dump-config、启动、命令、工具、落盘、Rail 与重启恢复。可用 DSH_SMOKE_DSH_REPO / DSH_SMOKE_DSH_VERSION 覆盖 DSH 版本。

Contributing

参阅 [CONTRIBUTING.md](CONTRIBUTING.md)。安全问题请按 [SECURITY.md](SECURITY.md) 说明报告。