DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

IHS470 /

IHS470/dsh-global-rules

Verified

DSH plugin: one user-owned rule list, injected into every request system prompt, so the agent has to walk the rules before answering.

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHubProject homepage
READMESource: main@48fcda76

dsh-global-rules

DSH 插件:维护一份「全局规则」,并把它注入每一次请求的系统提示,让 Agent 在回答前必须逐条核对。

A DSH plugin that keeps one user-owned rule list and injects it into every request's system prompt, so the agent has to walk the rules before answering.

它做什么

能力 位置
可视化编辑规则 设置(Settings)→ 全局规则(顺序 55,在「背景图片」之前)
Agent 读写规则 global_rules 工具
命令行快速改 /rules 命令
注入系统提示 每一步请求都会重新装配;第 100 位(部署人设之后、工具说明之前)
存储 $DSH_HOME/dsh-global-rules/rules.json

三条入口改的是同一份数据,不会出现「设置页改了但工具读到的还是旧的」。

注入的是什么

只要开着开关且至少有一条启用的规则,系统提示里就会出现这样一段(interpolate: false,规则文本原样进入,不做变量替换):

## 全局规则(每次回答前必须逐条核对)

以下规则由用户维护。在生成任何回答之前,先逐条核对本清单,并确保最终回答完全符合每一条;
若某条规则与本次要求冲突,以规则为准,并在回答中说明冲突。

1. <规则一>
2. <规则二>

(共 N 条启用规则,存储于 …\rules.json;可在「设置 → 全局规则」、global_rules 工具或 /rules 命令中修改。)
核对在内部完成即可:不要在回答里输出规则核对结果、规则编号或规则清单本身。

上面最后一行是**默认(静默)**行为:规则照旧逐条核对,但回答里不出现任何核对痕迹。

只有在设置页打开「回答里显示规则检查」后,这一行才会被换成一条输出要求:

核对后,在回答的最后另起一行输出一行核对结果,格式:`规则检查:已核对 N 条`;
若某条无法满足,改写这一行说明是哪一条、为什么。

关掉总开关、或一条规则都没启用时,这一段整体消失(空 section 会被丢弃),不占用任何 token。

设置页

  • 启用全局规则:关掉后规则仍保留,只是不再注入。
  • 回答里显示规则检查:默认关闭;打开后每次回答末尾会附一行核对结果。
  • 规则清单:每条规则可以单独启用/停用、上移/下移、删除,文本支持多行。
  • 编辑为文本:一个 textarea,一行一条;行号与左侧列表一一对应,所以编辑某一行会保留那一行的启用状态。
  • 预览:显示模型实际会收到的完整文本(保存后刷新;有未保存修改时会标注)。

/rules 命令

/rules                     查看当前规则
/rules add <文本>          新增一条
/rules remove <序号>       删除第 N 条(序号从 1 开始)
/rules clear yes           清空全部(必须写 yes)
/rules on | off            启用 / 停用注入
/rules check on | off      回答里显示 / 不显示规则检查行
/rules help                用法说明

命令结果不进模型历史,也不会触发一轮对话。

global_rules 工具

action 参数 作用
list — 列出规则与开关状态
add text 追加一条
update index 或 id,可选 text / ruleEnabled 改内容或单条启停
remove index 或 id 删除一条
clear — 清空全部
replace rules: string[] 整份替换
configure enabled / acknowledge 总开关与可见检查

index 从 1 开始。任何改动在下一次模型请求就生效,无需重启。

存储格式

$DSH_HOME/dsh-global-rules/rules.json(可直接手改;写入是临时文件 + rename 的原子替换):

{
  "version": 1,
  "enabled": true,
  "acknowledge": false,
  "rules": [
    { "id": "r-1a2b3c4d", "text": "回答只用简体中文。", "enabled": true },
    { "id": "r-5e6f7a8b", "text": "代码块必须标注语言。", "enabled": false }
  ],
  "updatedAt": "2026-01-01T00:00:00.000Z"
}

读取是宽容的(某条坏掉只丢那一条),写入是严格的(不会把空规则或超限内容写进去)。每条最多 2000 字,最多 200 条。

安装与卸载

插件在 profile 的 bundle 列表里,名为 dsh-global-rules。安装/卸载走 Plugin Manager 的 install_bundle / remove_bundle,不要手改 cordis.patch.yml。

从 GitHub 装(本仓库):

https://github.com/IHS470/dsh-global-rules/archive/refs/tags/v1.0.0.tar.gz

把它交给 Plugin Manager,或在 profile 里 pnpm add <上面的 URL> --dir <profile>,然后把 dsh-global-rules 加入 dsh.profile.bundles。规则数据在 $DSH_HOME/dsh-global-rules/rules.json,与安装方式无关,升级插件不会动它。

自检

node test/host-smoke.mjs

在临时 DSH_HOME 里跑完整 Host 半个:装配函数、global_rules 工具、/rules 命令、浏览器半用的 HTTP 路由、以及请求围栏(跨站 / 非回环 Host / 外来 Origin 一律拒绝)。不会碰真实规则文件。

与其他「全局指令」机制的关系

  • @deepseek-ai/dsh-agent-instructions($DSH_HOME/AGENTS.md)走的是「首轮把指令作为一条消息写进历史」,且在当前 profile 里是关闭的。本插件与它独立:规则每次都出现在系统提示里,压缩/裁剪上下文也不会丢。
  • 本插件不写入会话日志,不改任何已有事件类型;它只贡献一个 prompt section、一个工具、一个命令和一条自己的 HTTP 路由。

边界

  • 规则清单不进入会话日志,所以历史会话回放时不会带上「当时的规则」——它是部署级配置,不是对话内容。
  • 没有浏览器端控制时无法截图证明外观;设置页的正确性靠 slot 注册(Client Slots)与 Host 半个的 smoke test 保证。
  • 规则保证「送达」,不保证「遵从」。 每条规则都会出现在每一步请求的系统提示里,但模型是否照做由模型决定,插件无法强制。

实测:「思考用中文」这类规则为什么要换新会话

推理(reasoning / 思考)通道对系统提示中段的用户规则遵从度明显低于回答本身,而且会话惯性很强:同一个会话里已经积累的推理语言会把后续推理继续往同一方向带。本机实测(会话日志里持久化的 reasoning 块):

阶段 推理块 中文占比
规则加入前(同一会话已有 66 块英文推理) 66 7%
规则加入后、同一会话继续 9 86%
换成新会话后 — 明显转为中文

所以控制推理语言时:改规则措辞只能小幅改善;开新会话(惯性归零)才是主要杠杆。已生成的推理是持久内容,任何规则改动都不会回溯改写它。提问时再带一句「用中文思考」效果最直接,因为用户消息紧贴生成点。

若新会话里仍不稳定,可再考虑两条更强的通道:把规则摘要作为每一步请求末尾的 runtime context 注入(systemPrompt.context(),紧贴生成点),或把指令写进 profile 的 system-prompt.personaPrefix(系统提示第 0 位,人设层)。两者都需要改 Host 代码并重启 DSH。

—/ 5

No ratings yet

Verified DSH bundle

Commit 48fcda76c7a3

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout