中文EN

dsh-soul

ui装不上npmMIT

为 Agent 提供个性化设置:Web 设置栏目(关于你、回复风格和语调、标题与列表 / 表情符号特质、输出语言、自定义指令)与 `/soul` 命令;昵称 / 职业 / 介绍 / 风格 / 特质 / 语言编译进提示词并推送给所有活动会话。向其他插件暴露 `soulConfig` 服务,并注册 Agent 可调用的 `set_persona` 工具。

下载量 / Downloads
5,089
测试时间 / Tested
2026-11-06
DSH 版本 / Version
0.2.2-rc.1

安装

dsh plugin --profile web add dsh-soul

沙箱测试结果

阶段结果
1 安装✗
2 列装—
3 挂载—
4 启动—
第一条错误
dsh: initialized profile web at /home/node/.dsh/profiles/web

四阶段在隔离沙箱里跑:安装(有网)→ 列装 → 挂载 → 启动(后三步断网)。

README

dsh-soul

[简体中文](./README.md) | [English](./README_EN.md)

![Listed on dsh-plugin.org](https://dsh-plugin.org/plugins/aliuyanfeng/dsh-soul)

![XERJ Corpus Hub contributor](https://hub.xerj.org/contributors/Aliuyanfeng)

![License: MIT](./LICENSE)

![GitHub stars](https://github.com/Aliuyanfeng/dsh-soul/stargazers)

![GitHub issues](https://github.com/Aliuyanfeng/dsh-soul/issues)

![GitHub last commit](https://github.com/Aliuyanfeng/dsh-soul/commits)

![GitHub repo size](https://github.com/Aliuyanfeng/dsh-soul)

![Verify](https://github.com/Aliuyanfeng/dsh-soul/actions/workflows/ci.yml)

![npm version](https://www.npmjs.com/package/dsh-soul)

![npm downloads](https://www.npmjs.com/package/dsh-soul)

DeepSeek Harness 个性化设置插件,用于配置 Agent 的昵称、回复风格、语调和自定义指令。

功能

  • Web UI 个性化设置页面
  • 设置页体验:中英双语文案(随界面语言切换)、dirty 检测(无改动禁用保存)、保存结果提示、提示词预览只读面板
  • 启用或禁用个性化设置
  • 「关于你」:设置用户昵称、职业和介绍,回复时结合你的背景
  • 选择回复风格和语调(合并为单一选项):professional(专业严谨)、casual(轻松自然)、humorous(幽默风趣)、roast(吐槽达人)、efficient(高效干练)
  • 特质微调(在风格和语调的基础上叠加):
  • 标题和列表:default(默认)、more(增强,采用清晰格式和列表结构)、less(减弱,使用更多段落文本)
  • 表情符号:default(默认)、more(增强,使用较多表情符号)、less(减弱,尽量减少使用表情符号)
  • 表格:default(默认)、more(增强,呈现对比或多字段信息时优先使用表格)、less(减弱,避免表格、改用列表或段落)
  • 回复长度偏好:concise(简洁,只讲要点、不展开)、normal(适中,不额外约束,默认)、detailed(详尽,充分展开背景、步骤与推理)
  • 选择输出语言(Agent 回复语言 + /soul 命令输出语言):中文 / English
  • 提示词随输出语言本地化:language=en 时 system prompt 使用英文描述
  • 输入自定义指令
  • Agent 可调用工具 set_persona,让模型在对话中直接调整人设
  • 人设预设:7 个内置人设(苏格拉底式提问者 / 极简主义者 / 资深架构师 / 教学型讲解者 / 严格代码审阅者 / 头脑风暴伙伴 / 自驱型协作者,随插件提供、不可删除)+ 多套自建人设一键切换(保存 / 使用 / 列表 / 删除,Web UI 与命令双入口);每行摘要显示风格与偏离默认的维度
  • 预设只管 Agent 的人格:切换预设不会动「关于你」(昵称 / 职业 / 介绍是你本人的资料,与「Agent 怎么说话」是两码事)。内置与自建一视同仁——保存预设时只快照风格 / 特质 / 回复长度 / 输出语言 / 自定义指令,不包含身份字段;早期版本存下的完整快照会在读取时自动剥离
  • Soul 人设总览(侧栏面板,默认关闭,可在设置页「在侧边栏显示人设总览」打开;关闭时侧栏不占位置,仍可从设置页「打开人设总览」按钮进入):一屏看清「全局在用什么人设」,以及每个工作区 / 会话是否覆盖。三段结构:当前生效(可就地切换全局人设)·工作区(失效绑定就地改绑,展开后列出该工作区的会话)·预设库(只读清单,增删改仍在设置页)。会话行可直接点击跳到该会话;别的页面改了人设或绑定,面板自动刷新
  • 总览的会话口径与左侧栏一致:注册表成员 − 归档 − 子代理会话;「N 个会话」按同一口径统计,不把归档算进去。从未产生对话的空会话标为「(空会话 · 未开始对话)」并默认收起,末尾留一行开关可展开
  • 引用作为上下文(默认关闭;DSH 官方 dsh-message-quotes 已内置更合适的入口):在回答里选中一段文字 → 点「引用」,它作为运行时上下文随下一轮请求送达模型 —— 不进你的消息正文,也不写进对话历史
  • 为什么默认关闭:官方自带「消息引用」功能,交互入口与本项完全相同,但引用会插入输入框、成为可见可编辑的 Markdown 引用块,形态更符合预期。本项只给「引用不该进正文」的场景用,默认不抢位置
  • 开启后,发送过的消息上方留一枚「N 个已选文本片段」胶囊,hover 显示引用原文;胶囊按消息唯一 id 绑定,不随轮次迁移、也不会被后续消息顶掉
  • 排队消息不带引用:队列项减少时引用立即失效 —— 它只属于你按发送的那一条
  • set_persona 确认模式(requireToolConfirmation):Agent 的人设修改先在输入框处弹出宿主原生审批面板,由你点「允许一次」或「拒绝」(Enter 允许 / Esc 拒绝)后才会生效;审批通道不可用时(如会话审批策略为 never)退化为待确认提议,需 /soul confirm 处理
  • 输入框光轨:Agent 回复中时,输入框边框显示沿边循环流动的光轨(默认颜色 #679EFE)
  • 颜色:预设色板、取色器或十六进制输入(如 #679EFE)
  • 流动速度:慢 / 中 / 快;光带粗细:细 / 中 / 粗
  • 光轨起点、终点沿边框匀速推进,带渐隐拖尾;与输入框边框完全重合,不出现双线
  • 设置页内置实时效果示例,随颜色 / 速度 / 粗细联动;系统开启「减少动态效果」时自动停用
  • /soul set 键值方式修改配置项
  • 配置持久化保存
  • 配置输入校验:字段白名单、类型、长度上限(昵称/职业 50、介绍 500、自定义指令 2000 字符)、枚举与十六进制颜色校验,非法或超限字段整单拒绝
  • 配置持久化健壮性:写入为原子替换(先写临时文件再 rename,中断不会留下半份配置);读取区分「文件不存在」与「文件损坏」——损坏时保留原文件、另存 .corrupt 备份、拒绝覆写,并把原因直接显示在设置页,避免自定义指令与人设库被静默清空
  • 配置损坏时有逃生口:「重置」会先把损坏文件移开(备份为 .corrupt)再写入默认值 —— 否则损坏状态下五条写路径全被拒,用户只能自己删文件
  • 送达可观测:/soul show 的「送达」行、GET /api/soul/status、设置页提示条(configError = 配置读不出来;deliveryWarning = 配置送不到活动会话)
  • 提示词插值已关闭:自定义指令里的 {{…}} 按字面保留,不会触发宿主提示词装配失败
  • 配置更新后同步到所有活动 Agent
  • 变更检测:仅在影响 Agent 行为的配置实际变化时刷新提示词并注入会话;纯外观配置(输入框光轨)只落盘,不产生注入消息
  • 变更记录与回滚(插件详情页:插件管理 → 已安装插件 → dsh-soul;设置页只在「人设预设」展开区给出指引,保留条数下拉也在这个区块内):每次配置改动都追加一条记录(时间、来源、字段级 原值 → 新值),可撤销某一次改动及其之后的全部改动;删掉的预设可单点恢复。记录写在 $DSH_HOME/soul-config.history.jsonl(追加式,一行一条,人能直接读),保留条数可调(50 / 100 / 200 / 500,默认 200,改完即时生效);存不下时只影响记录、不影响配置写入,并如实告诉你「记录可能不完整」。详情页给时间线与撤销,也可直接看文件
  • 插件图标:插件管理列表与侧栏入口显示专属图标(assets/icon.svg,36×36,随 npm 包发布)
  • 设置导航图标:设置面板左侧「个性化」那一项显示与插件图标同一套几何的图标——同一条光轨与火花,颜色与线宽则跟随邻居(单色 currentColor);DSH 的导航图标按 section id 硬编码、插件声明不了,故由客户端做 DOM 替换
  • 提示词预览(只读,设置页底部折叠区):无未保存编辑时显示当前生效的提示词;表单一有改动就转为预览草稿——展示保存后真正会注入的内容,边改边看(停止输入 400ms 后自动重新编译),并在保存 / 重置 / 应用预设后自动刷新。未通过校验的字段会单独列出且不计入预览

路线图

版本 · 方向 · 状态

0.7.2 · 设置页样式对齐宿主、卡片堆叠轮播、人设变更走宿主原生审批面板 · 已发布

0.8.0 · 变更审计与回滚 —— 记录每次配置改动(时间戳、来源、字段级 from→to),插件详情页给时间线与撤销 · 已发布

0.9.0 · 三级配置作用域 —— Global → Workspace → Session:工作区决定人设、会话可临时覆盖,附保守回收 · 已发布

0.10.0 · 自演化提议 + diff 审批 —— Agent 提议精炼人设,改动以 diff 走审批面板 · 规划中

0.11.0 · 记忆层 —— 跨会话长期记忆,按人设隔离、按需召回 · 规划中

设计与取舍写在 docs/ 下的设计文档里;已发布的改动见 [RELEASE_NOTES.md](./RELEASE_NOTES.md),发版流程见 [PUBLISHING.md](./PUBLISHING.md),排查手册见 [DEBUGGING.md](./DEBUGGING.md)。路线图是方向而非承诺,顺序可能调整。

文档

文件 · 内容

[README.md](./README.md) / [README_EN.md](./README_EN.md) · 功能、安装、使用(面向使用者)

[RELEASE_NOTES.md](./RELEASE_NOTES.md) · 每个版本的详细变更记录(面向排查与追溯)

[DEBUGGING.md](./DEBUGGING.md) · 现象 → 原因的排查手册、校验链构成

[PUBLISHING.md](./PUBLISHING.md) · 发版流程与 npm 发布配置

[QUICK_START.md](./QUICK_START.md) · 最短上手路径

[docs/DESIGN-config-scope.md](./docs/DESIGN-config-scope.md) · 三级作用域:为什么这样分层、回收为什么保守

[docs/DESIGN-audit-rollback.md](./docs/DESIGN-audit-rollback.md) · 变更审计:撤销语义为什么是"连同之后的改动"

[docs/DESIGN-persona-scope.md](./docs/DESIGN-persona-scope.md) · 按目录绑定的原始设计(0.9.0 的前身,路径规范化部分仍在使用)

安装

dsh plugin --profile <profile> add dsh-soul
dsh plugin --profile <profile> update dsh-soul

插件配置由 cordis.patch.yml 提供:

- insert:
    - id: soul
      name: dsh-soul
``

…(truncated)

以上内容来自 npm 上的 README,我们只做格式化,不改内容。

版本

npm 上共发布:18,最后更新 2026-11-06

链接

GitHub · Homepage · npm

同类插件