dsh-soul 0.11.0 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -1
- package/README_EN.md +2 -1
- package/client/index.mjs +700 -266
- package/index.mjs +52 -29
- package/lib/config.mjs +15 -0
- package/lib/workspace-scope.mjs +1 -1
- package/package.json +1 -1
- package/scripts/lib/hook-order.mjs +89 -0
- package/scripts/verify-client.mjs +634 -50
- package/scripts/verify-config.mjs +292 -83
- package/scripts/verify-e2e-prompt.mjs +262 -9
- package/scripts/verify-sidebar-visibility.mjs +47 -15
package/README.md
CHANGED
|
@@ -33,6 +33,7 @@ DeepSeek Harness 个性化设置插件,用于配置 Agent 的昵称、回复
|
|
|
33
33
|
- Agent 可调用工具 `set_persona`,让模型在对话中直接调整人设
|
|
34
34
|
- 人设预设:7 个内置人设(苏格拉底式提问者 / 极简主义者 / 资深架构师 / 教学型讲解者 / 严格代码审阅者 / 头脑风暴伙伴 / 自驱型协作者,随插件提供、不可删除)+ 多套自建人设一键切换(保存 / 使用 / 列表 / 删除,Web UI 与命令双入口);每行摘要显示风格与偏离默认的维度
|
|
35
35
|
- 预设只管 Agent 的人格:**切换预设不会动「关于你」**(昵称 / 职业 / 介绍是你本人的资料,与「Agent 怎么说话」是两码事)。内置与自建一视同仁——保存预设时只快照风格 / 特质 / 回复长度 / 输出语言 / 自定义指令,不包含身份字段;早期版本存下的完整快照会在读取时自动剥离
|
|
36
|
+
- 分层生效范围:**会话覆盖 > 工作区绑定 > 目录绑定 > 全局设置 > 默认值**。绑定是**部分覆盖** —— 只接管那个人设声明过的字段,所以在全局「特质」里保存不会改变绑定了人设的工作区;「关于你」不在覆盖范围内,永远全局说话。`enabled` 同理,任何层都盖不掉它。设置页「特质」区的保存按钮下方有这行提示,细节在旁边的 ⓘ 里
|
|
36
37
|
- **Soul 人设总览**(侧栏面板,**默认关闭**,可在设置页「在侧边栏显示人设总览」打开;关闭时侧栏不占位置,仍可从设置页「打开人设总览」按钮进入):一屏看清「全局在用什么人设」,以及每个工作区 / 会话是否覆盖。三段结构:**当前生效**(可就地切换全局人设)·**工作区**(失效绑定就地改绑,展开后列出该工作区的会话)·**预设库**(只读清单,增删改仍在设置页)。会话行可直接点击跳到该会话;别的页面改了人设或绑定,面板自动刷新
|
|
37
38
|
- 总览的会话口径与左侧栏一致:注册表成员 − 归档 − 子代理会话;「N 个会话」按同一口径统计,不把归档算进去。从未产生对话的**空会话**标为「(空会话 · 未开始对话)」并默认收起,末尾留一行开关可展开
|
|
38
39
|
- **引用作为上下文**(**默认关闭**;DSH 官方 `dsh-message-quotes` 已内置更合适的入口):在回答里选中一段文字 → 点「引用」,它作为**运行时上下文**随下一轮请求送达模型 —— 不进你的消息正文,也不写进对话历史
|
|
@@ -137,7 +138,7 @@ dsh plugin --profile <profile> update dsh-soul
|
|
|
137
138
|
|
|
138
139
|
## 使用
|
|
139
140
|
|
|
140
|
-
启动 DSH
|
|
141
|
+
启动 DSH 后,进入设置页面中的「个性化设置」栏目。「关于你」「特质」各自带一个保存按钮,只提交本区字段;「交互与界面」那一组(确认模式、快捷开关、引用、侧栏总览、输入框光轨)拨完即生效,不需要保存。「重置默认」在「高级选项」里,需要再点一次确认。
|
|
141
142
|
|
|
142
143
|
也可以使用斜杠命令:
|
|
143
144
|
|
package/README_EN.md
CHANGED
|
@@ -33,6 +33,7 @@ A personalization plugin for DeepSeek Harness (DSH). Configure your agent's nick
|
|
|
33
33
|
- Agent-callable tool `set_persona` to let the model adjust persona during a conversation
|
|
34
34
|
- Named personas: 7 built-in personas (Socratic Questioner / Minimalist / Senior Architect / Teaching Explainer / Strict Code Reviewer / Brainstorm Partner / Self-Driven Collaborator — shipped with the plugin, cannot be deleted) plus your own named personas, switched with one click (save / use / list / delete, in both the Web UI and slash commands); each row summarises the style and every dimension that differs from its default
|
|
35
35
|
- Personas cover the **agent's personality only**: switching a persona never touches **"About you"** (nickname / occupation / bio describe *you*, not how the agent talks). Built-in and self-saved personas behave identically — saving a persona snapshots style / traits / reply length / reply language / custom instructions, never the identity fields; full-config snapshots written by earlier versions are stripped on read
|
|
36
|
+
- Scope precedence: **session override > workspace binding > directory binding > global settings > defaults**. A binding is a **partial** override — it takes over only the fields that persona actually declares, so saving in the global **Traits** section will not change a workspace that has a persona bound. "About you" is never in scope: it always comes from the global config. Neither can any layer turn off `enabled`. The note sits under the Traits section's save buttons as a short hint line, with the detail behind the ⓘ next to it.
|
|
36
37
|
- **Soul persona overview** (sidebar panel, **off by default** — turn it on in Settings → "Show persona overview in sidebar"; while off it takes no sidebar space, and the "Open persona overview" button still opens it): see at a glance which persona is active globally, and whether each workspace / session overrides it. Three blocks: **Current** (switch the global persona in place) · **Workspaces** (rebind a broken binding in place; expand to list that workspace's sessions) · **Presets** (read-only list; add/edit/delete stays in Settings). Click a session row to jump straight to that session; the panel refreshes automatically when persona or bindings change elsewhere
|
|
37
38
|
- The overview uses the same session scope as the sidebar: registry members − archived − subagent sessions, and the "N sessions" count follows the same rule (archived ones excluded). Sessions that never had a conversation are labelled "(empty session · no conversation yet)" and collapsed by default, with a toggle to show them
|
|
38
39
|
- **Quote as context** (**off by default**; DSH already ships a better entry point, `dsh-message-quotes`): select text in a reply → **Quote**, and it is delivered to the model as **runtime context** with your next request — it never enters your message body or the chat history
|
|
@@ -139,7 +140,7 @@ dsh plugin --profile <profile> update dsh-soul
|
|
|
139
140
|
|
|
140
141
|
## Usage
|
|
141
142
|
|
|
142
|
-
After starting DSH, open the **Personalization** section on the settings page
|
|
143
|
+
After starting DSH, open the **Personalization** section on the settings page. **About-you** and **Traits** each have their own save button that submits only that section; the **Interaction & UI** group (confirmation mode, quick toggle, quote, sidebar overview, input trail) applies immediately with no save needed. **Reset to defaults** lives under **Advanced** and asks for a second confirmation.
|
|
143
144
|
|
|
144
145
|
Slash commands are also available:
|
|
145
146
|
|