dsh-user-prompts
其他 活跃维护

dsh-user-prompts

Yaya716/dsh-user-prompts

适配DSH Web的系统提示词管理工具,提供专属设置页,支持自由增删自定义提示词,内置提示词设为只读防误改,所有配置自动持久化存储,无需重复录入。

0
Stars 标星
0
Forks 分支
0
Watchers 关注
0
Open Issues
JavaScript
主要语言
None
开源协议
9 KB
仓库大小
1 个月前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:Yaya716/dsh-user-prompts
git clone https://github.com/Yaya716/dsh-user-prompts.git
git clone git@github.com:Yaya716/dsh-user-prompts.git
README.md main

@local/dsh-user-prompts — 设置中的自定义系统提示词管理

在「设置 → 提示词」页面管理提示词:

  • 系统提示词:只读展示(由各插件组装,含 harness:identity、persona、
    工具提示词等),不可修改、不可删除。
  • 各模式的 persona:只读展示每个 agent 模式(预设)对全局 persona 的
    覆盖情况(「已覆盖 / 与全局一致 / 未覆盖」,极简模式标注「完整提示词」)。
  • 我的提示词:用户可以随时添加、删除自己的提示词。用户提示词以
    user:<id> 段(order 500)注入系统提示词,作用于所有会话,重启后保留。

AGENTS.md 自动迁移

旧版用户通过 $DSH_HOME/AGENTS.md(全局用户指令)添加提示词。插件首次
加载时会把该文件内容迁移为一条用户提示词(条目带「AGENTS.md」徽标,
id from-agents-md),然后把文件清空为空白文件(不删除文件),使内置
的 agent-instructions 不再重复注入。迁移后可在设置页直接删除该条目。

组成

文件 作用
package.json 声明 dsh.client(web 平台、inject slots/connection)与 exports["./client"]
lib/index.js Host 半:user-prompts 设置命名空间(持久化)、systemPrompt.section() 注入、/rpc 通道提供系统提示词只读列表
client.js 浏览器半:注册「设置 → 提示词」页面(settings.section),增删用户提示词、只读展示系统提示词

工作原理

  • 持久化:用户提示词存放在 settings 命名空间 user-prompts
    (~/.dsh/settings.yaml 的 user-prompts: 段),由 settings 服务统一
    校验、写盘、冲突检测。
  • 注入:Host 半把每条用户提示词注册为一个 system-prompt section
    (user:<id>,order 500,位于所有内置/工具提示词之后),删除或改动后
    通过 scope.watch 即时重同步。
  • 只读枚举:Client 通过 connection.rpc.call('/rpc', 'user-prompts/listSystem', {}) 读取 systemPrompt.assemble() 中非
    user: 前缀的段落。

安装位置

  • 源码:$DSH_HOME\extensions\user-prompts\
  • 加载副本:$DSH_HOME\profiles\web\node_modules\@local\dsh-user-prompts\
  • 组合行:$DSH_HOME\profiles\web\cordis.patch.yml 中 id: user-prompts

注:副本是物理拷贝(未走 pnpm install)。若日后对 profile 执行
pnpm install,该目录可能被清理;重新拷贝即可。

生效

组合行在进程启动时解析(Web 表面未启用 HMR),修改后需重启 DSH。

卸载

  1. 从 $DSH_HOME\profiles\web\cordis.patch.yml 删除 user-prompts 行
  2. 删除 $DSH_HOME\profiles\web\node_modules\@local\dsh-user-prompts\
  3. (可选)删除 $DSH_HOME\extensions\user-prompts\
  4. (可选)删除 ~/.dsh/settings.yaml 中的 user-prompts: 段
  5. 重启 DSH