xinshang777/dsh-per-turn-isolation ↗★ 0
dsh-per-turn-isolation
每轮对话独立:每轮开始前把本轮之前的历史从模型可见上下文中折掉,并按会话注入一段长期有效的设定。 适合需要批量处理独立任务、防止上下文干扰的特定场景。
Install
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:xinshang777/dsh-per-turn-isolationREADME
Read the full README ↗使用教程
-
找到开关 —— 它被注入在输入框发送区,位于「回退」按钮的左边。
-
设置长期规则并开启 —— 点击「独立」→ 弹出对话框 → 在输入框里写你想让模型"永远记住"的那段话(可以留空)→ 点「保存并开启」。
-
验证隔离生效 —— 连续问两轮:
第 1 轮:记住一个数字:42 第 2 轮:我刚才让你记的数字是多少?开启时第 2 轮答不出来——因为第 1 轮已被折叠,这正是隔离生效的表现;而界面上你仍能往上翻到第 1 轮。
-
关闭 —— 再点一次「独立」→ 对话框里点「关闭功能」。对话框再次打开时,若功能已在运行,里面会显示「关闭功能」按钮。
-
长期规则可以这么写 —— 按会话保存,换会话互不影响。
| 场景 | 长期规则示例 |
|---|---|
| 代码审查 | 只评审 diff,输出格式固定为:问题 / 原因 / 建议改法。不要复述代码。 |
| 批量改写文案 | 每条输入都按"标题 20 字内 + 正文 80 字内"重写,保持原意,不要加 emoji。 |
| 结构化抽取 | 把输入当作文本抽取字段,只输出 JSON,不要解释。 |
flowchart TD
A["一轮开始"] --> B{"step === 1 ?"}
B -->|"是"| C["把之前所有可见节点
折叠成一个占位节点"]
C --> D["写回会话树
界面历史仍可见"]
C --> E["注入长期规则
到系统提示"]
D --> F["模型只看到
本轮 + 长期规则"]
E --> F
B -->|"否"| G["不干预"]
配置项
本插件在 bundle 层没有可配置项(cordis.patch.yml 里没有任何 config:),全部设置都来自界面上的对话框,并按会话落盘。状态文件里的字段如下:
| 名称 | 类型 | 默认值 | 是否必填 | 作用 |
|---|---|---|---|---|
sessionId | string | 当前会话 ID | 否 | 状态保存的键,插件与页面自动填充,不要手改 |
enabled | boolean | false | 否 | 该会话是否开启「每轮独立」 |
rule | string | "" | 否 | 每轮注入的长期规则文本;留空则只折叠历史、不注入规则 |
没有记录 = 关闭 + 规则为空,所以新建会话默认是关闭状态。