Back to home

Yaya716

dsh-user-prompts

Persistent user system-prompt manager for DeepSeek Harness Web: a Settings page where the user can add and delete their own prompts; built-in system prompts are shown read-only.

Stars
0
Language
JavaScript
Created
Aug 15, 2026
Updated
Aug 15, 2026

Introduction

@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.jsHost 半:user-prompts 设置命名空间(持久化)、systemPrompt.section() 注入、/rpc 通道提供系统提示词只读列表
client.js浏览器半:注册「设置 → 提示词」页面(settings.section),增删用户提示词、只读展示系统提示词

工作原理

  • 持久化:用户提示词存放在 settings 命名空间 user-prompts~/.dsh/settings.yamluser-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.ymlid: 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