JinPLu / dsh-plugin-discussion-intent

Listed

A DSH Discussion Mode that keeps complex AI conversations aligned with your goals and turns them into evidence-based next steps.

masterOther View source

Installation

npx -y @deepseek-ai/dsh plugin --profile web add github:JinPLu/dsh-plugin-discussion-intent

This installation command is an unverified starting point generated from the GitHub repository address.

README

Maintainer-authored documentation snapshot.

View on GitHub ↗
Commit 92c7964Synced Aug 18, 2026

DSH Discussion Mode

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

核心卖点 · 快速开始 · 四行 Rail · 讨论可续 · 设计边界

DSH Discussion Mode 防漂移导图:用户目标、边界与当前焦点始终处于中心;用户原话和模型理解分开呈现,新方案与证据参与比较,Rail 和自动检查点让讨论持续校准并可恢复

概念导图:图中文字对应实际产品能力,不代表 DSH 界面截图。

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

✨ 核心卖点

  • 意图不漂移:目标、边界、评价标准和否定项持续注入。根问题须你接受才改;工作焦点可下沉。问卷选择算你说过的话。新证据先当候选。建议和下一步不得与仍有效的否定矛盾。
  • 子代理模型自选:点顶栏芯片或 /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 主仓,不写自定义会话事件。

🚀 快速开始

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;能检索的事实不反问。

🗺️ 讨论状态与四行 Rail

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

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

💾 讨论可续、过程可信

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

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

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

🛡️ 设计边界

/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,状态见 Roadmap

🧪 本地开发

需要 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。安全问题请按 SECURITY.md 说明报告。

Project files and signals

Shown items are public repository signals detected in the directory snapshot.

TestsDetected
Security policyDetected
Contributing guideDetected
DocumentationDetected

Repository information

Language
TypeScript
License
MIT
Latest release
v1.6.2
Last updated
Aug 16, 2026, 2:56 AM

Install deliberately

Review source code, permissions, lifecycle hooks, dependencies and network access. Test untrusted plugins in an isolated environment.