dsh-soul 0.8.0 → 0.10.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 +29 -5
- package/README_EN.md +29 -5
- package/client/index.mjs +3666 -297
- package/index.mjs +2017 -123
- package/lib/bindings.mjs +1 -1
- package/lib/config.mjs +43 -1
- package/lib/history.mjs +13 -1
- package/lib/personas.mjs +59 -0
- package/lib/session-dir.mjs +155 -0
- package/lib/session-scope.mjs +432 -0
- package/lib/workspace-scope.mjs +348 -0
- package/package.json +6 -4
- package/scripts/verify-client.mjs +2734 -41
- package/scripts/verify-config.mjs +1265 -46
- package/scripts/verify-e2e-prompt.mjs +255 -1
- package/scripts/verify-history.mjs +13 -2
- package/scripts/verify-scope.mjs +328 -0
- package/scripts/verify-session-dir.mjs +211 -0
- package/scripts/verify-session-scope.mjs +435 -0
package/README.md
CHANGED
|
@@ -3,6 +3,15 @@
|
|
|
3
3
|
[简体中文](./README.md) | [English](./README_EN.md)
|
|
4
4
|
|
|
5
5
|
[](https://dsh-plugin.org/plugins/aliuyanfeng/dsh-soul)
|
|
6
|
+
[](https://hub.xerj.org/contributors/Aliuyanfeng)
|
|
7
|
+
[](./LICENSE)
|
|
8
|
+
[](https://github.com/Aliuyanfeng/dsh-soul/stargazers)
|
|
9
|
+
[](https://github.com/Aliuyanfeng/dsh-soul/issues)
|
|
10
|
+
[](https://github.com/Aliuyanfeng/dsh-soul/commits)
|
|
11
|
+
[](https://github.com/Aliuyanfeng/dsh-soul)
|
|
12
|
+
[](https://github.com/Aliuyanfeng/dsh-soul/actions/workflows/ci.yml)
|
|
13
|
+
[](https://www.npmjs.com/package/dsh-soul)
|
|
14
|
+
[](https://www.npmjs.com/package/dsh-soul)
|
|
6
15
|
|
|
7
16
|
DeepSeek Harness 个性化设置插件,用于配置 Agent 的昵称、回复风格、语调和自定义指令。
|
|
8
17
|
|
|
@@ -24,6 +33,8 @@ DeepSeek Harness 个性化设置插件,用于配置 Agent 的昵称、回复
|
|
|
24
33
|
- Agent 可调用工具 `set_persona`,让模型在对话中直接调整人设
|
|
25
34
|
- 人设预设:7 个内置人设(苏格拉底式提问者 / 极简主义者 / 资深架构师 / 教学型讲解者 / 严格代码审阅者 / 头脑风暴伙伴 / 自驱型协作者,随插件提供、不可删除)+ 多套自建人设一键切换(保存 / 使用 / 列表 / 删除,Web UI 与命令双入口);每行摘要显示风格与偏离默认的维度
|
|
26
35
|
- 预设只管 Agent 的人格:**切换预设不会动「关于你」**(昵称 / 职业 / 介绍是你本人的资料,与「Agent 怎么说话」是两码事)。内置与自建一视同仁——保存预设时只快照风格 / 特质 / 回复长度 / 输出语言 / 自定义指令,不包含身份字段;早期版本存下的完整快照会在读取时自动剥离
|
|
36
|
+
- **Soul 人设总览**(侧栏面板,默认开启):一屏看清「全局在用什么人设」,以及每个工作区 / 会话是否覆盖。三段结构:**当前生效**(可就地切换全局人设)·**工作区**(失效绑定就地改绑,展开后列出该工作区的会话)·**预设库**(只读清单,增删改仍在设置页)。会话行可直接点击跳到该会话;别的页面改了人设或绑定,面板自动刷新
|
|
37
|
+
- 总览的会话口径与左侧栏一致:注册表成员 − 归档 − 子代理会话;「N 个会话」按同一口径统计,不把归档算进去。从未产生对话的**空会话**标为「(空会话 · 未开始对话)」并默认收起,末尾留一行开关可展开
|
|
27
38
|
- `set_persona` 确认模式(`requireToolConfirmation`):Agent 的人设修改先在输入框处弹出**宿主原生审批面板**,由你点「允许一次」或「拒绝」(`Enter` 允许 / `Esc` 拒绝)后才会生效;审批通道不可用时(如会话审批策略为 `never`)退化为待确认提议,需 `/soul confirm` 处理
|
|
28
39
|
- 输入框光轨:Agent 回复中时,输入框边框显示沿边循环流动的光轨(默认颜色 `#679EFE`)
|
|
29
40
|
- 颜色:预设色板、取色器或十六进制输入(如 `#679EFE`)
|
|
@@ -49,12 +60,25 @@ DeepSeek Harness 个性化设置插件,用于配置 Agent 的昵称、回复
|
|
|
49
60
|
| 版本 | 方向 | 状态 |
|
|
50
61
|
| --- | --- | --- |
|
|
51
62
|
| `0.7.2` | 设置页样式对齐宿主、卡片堆叠轮播、人设变更走宿主原生审批面板 | 已发布 |
|
|
52
|
-
| `0.8.0` | **变更审计与回滚** —— 记录每次配置改动(时间戳、来源、字段级 from→to
|
|
53
|
-
| `0.9.0` |
|
|
54
|
-
| `0.
|
|
55
|
-
| `0.
|
|
63
|
+
| `0.8.0` | **变更审计与回滚** —— 记录每次配置改动(时间戳、来源、字段级 from→to),插件详情页给时间线与撤销 | 已发布 |
|
|
64
|
+
| `0.9.0` | **三级配置作用域** —— Global → Workspace → Session:工作区决定人设、会话可临时覆盖,附保守回收 | 已发布 |
|
|
65
|
+
| `0.10.0` | 自演化提议 + diff 审批 —— Agent 提议精炼人设,改动以 diff 走审批面板 | 规划中 |
|
|
66
|
+
| `0.11.0` | 记忆层 —— 跨会话长期记忆,按人设隔离、按需召回 | 规划中 |
|
|
56
67
|
|
|
57
|
-
|
|
68
|
+
设计与取舍写在 `docs/` 下的设计文档里;已发布的改动见 [RELEASE_NOTES.md](./RELEASE_NOTES.md),发版流程见 [PUBLISHING.md](./PUBLISHING.md),排查手册见 [DEBUGGING.md](./DEBUGGING.md)。路线图是方向而非承诺,顺序可能调整。
|
|
69
|
+
|
|
70
|
+
### 文档
|
|
71
|
+
|
|
72
|
+
| 文件 | 内容 |
|
|
73
|
+
| --- | --- |
|
|
74
|
+
| [README.md](./README.md) / [README_EN.md](./README_EN.md) | 功能、安装、使用(面向使用者) |
|
|
75
|
+
| [RELEASE_NOTES.md](./RELEASE_NOTES.md) | 每个版本的详细变更记录(面向排查与追溯) |
|
|
76
|
+
| [DEBUGGING.md](./DEBUGGING.md) | 现象 → 原因的排查手册、校验链构成 |
|
|
77
|
+
| [PUBLISHING.md](./PUBLISHING.md) | 发版流程与 npm 发布配置 |
|
|
78
|
+
| [QUICK_START.md](./QUICK_START.md) | 最短上手路径 |
|
|
79
|
+
| [docs/DESIGN-config-scope.md](./docs/DESIGN-config-scope.md) | 三级作用域:为什么这样分层、回收为什么保守 |
|
|
80
|
+
| [docs/DESIGN-audit-rollback.md](./docs/DESIGN-audit-rollback.md) | 变更审计:撤销语义为什么是"连同之后的改动" |
|
|
81
|
+
| [docs/DESIGN-persona-scope.md](./docs/DESIGN-persona-scope.md) | 按目录绑定的原始设计(0.9.0 的前身,路径规范化部分仍在使用) |
|
|
58
82
|
|
|
59
83
|
## 安装
|
|
60
84
|
|
package/README_EN.md
CHANGED
|
@@ -3,6 +3,15 @@
|
|
|
3
3
|
# dsh-soul
|
|
4
4
|
|
|
5
5
|
[](https://dsh-plugin.org/plugins/aliuyanfeng/dsh-soul)
|
|
6
|
+
[](https://hub.xerj.org/contributors/Aliuyanfeng)
|
|
7
|
+
[](./LICENSE)
|
|
8
|
+
[](https://github.com/Aliuyanfeng/dsh-soul/stargazers)
|
|
9
|
+
[](https://github.com/Aliuyanfeng/dsh-soul/issues)
|
|
10
|
+
[](https://github.com/Aliuyanfeng/dsh-soul/commits)
|
|
11
|
+
[](https://github.com/Aliuyanfeng/dsh-soul)
|
|
12
|
+
[](https://github.com/Aliuyanfeng/dsh-soul/actions/workflows/ci.yml)
|
|
13
|
+
[](https://www.npmjs.com/package/dsh-soul)
|
|
14
|
+
[](https://www.npmjs.com/package/dsh-soul)
|
|
6
15
|
|
|
7
16
|
A personalization plugin for DeepSeek Harness (DSH). Configure your agent's nickname, reply style, tone, and custom instructions.
|
|
8
17
|
|
|
@@ -24,6 +33,8 @@ A personalization plugin for DeepSeek Harness (DSH). Configure your agent's nick
|
|
|
24
33
|
- Agent-callable tool `set_persona` to let the model adjust persona during a conversation
|
|
25
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
|
|
26
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
|
+
- **Soul persona overview** (sidebar panel, enabled by default): 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
|
+
- 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
|
|
27
38
|
- `set_persona` confirmation mode (`requireToolConfirmation`): agent persona changes first raise the **host's native approval panel** above the composer, taking effect only after you click "Allow once" or "Reject" (`Enter` allows, `Esc` rejects); when the approval channel is unavailable (e.g. the session approval policy is `never`) it degrades to a pending proposal handled with `/soul confirm`
|
|
28
39
|
- Composer light trail: while the agent is replying, a light trail loops around the composer border (default color `#679EFE`)
|
|
29
40
|
- Color: preset swatches, a color picker, or a hex input (e.g. `#679EFE`)
|
|
@@ -49,12 +60,25 @@ A personalization plugin for DeepSeek Harness (DSH). Configure your agent's nick
|
|
|
49
60
|
| Version | Direction | Status |
|
|
50
61
|
| --- | --- | --- |
|
|
51
62
|
| `0.7.2` | Settings-page styling aligned with the host, stacked card carousel, persona changes routed through the host's native approval panel | Released |
|
|
52
|
-
| `0.8.0` | **Change audit and rollback** — every config change recorded (timestamp, source, field-level from→to), with a timeline and undo on the plugin details page
|
|
53
|
-
| `0.9.0` | **Three-level scoping** — Global → Workspace → Session
|
|
54
|
-
| `0.
|
|
55
|
-
| `0.
|
|
63
|
+
| `0.8.0` | **Change audit and rollback** — every config change recorded (timestamp, source, field-level from→to), with a timeline and undo on the plugin details page | Released |
|
|
64
|
+
| `0.9.0` | **Three-level config scoping** — Global → Workspace → Session: the workspace picks the persona, a session may override it, plus conservative cleanup | Released |
|
|
65
|
+
| `0.10.0` | Self-evolution proposals with diff approval — the Agent proposes persona refinements and the diff goes through the approval panel | Planned |
|
|
66
|
+
| `0.11.0` | Memory layer — long-term memory across sessions, isolated per persona, recalled on demand | Planned |
|
|
56
67
|
|
|
57
|
-
Design rationale lives in
|
|
68
|
+
Design rationale lives in `docs/`; shipped changes are in [RELEASE_NOTES.md](./RELEASE_NOTES.md), the release process in [PUBLISHING.md](./PUBLISHING.md), and the troubleshooting playbook in [DEBUGGING.md](./DEBUGGING.md). The roadmap states direction, not a commitment — the order may change.
|
|
69
|
+
|
|
70
|
+
### Docs
|
|
71
|
+
|
|
72
|
+
| File | What it covers |
|
|
73
|
+
| --- | --- |
|
|
74
|
+
| [README.md](./README.md) / [README_EN.md](./README_EN.md) | Features, install, usage (for users) |
|
|
75
|
+
| [RELEASE_NOTES.md](./RELEASE_NOTES.md) | Detailed per-release changelog (for debugging and history) |
|
|
76
|
+
| [DEBUGGING.md](./DEBUGGING.md) | Symptom → cause playbook, how the verification chain is built |
|
|
77
|
+
| [PUBLISHING.md](./PUBLISHING.md) | Release process and npm publishing setup |
|
|
78
|
+
| [QUICK_START.md](./QUICK_START.md) | Shortest path to a working setup |
|
|
79
|
+
| [docs/DESIGN-config-scope.md](./docs/DESIGN-config-scope.md) | Three-level scoping: why these layers, why cleanup is conservative |
|
|
80
|
+
| [docs/DESIGN-audit-rollback.md](./docs/DESIGN-audit-rollback.md) | Change audit: why undo also reverts later changes |
|
|
81
|
+
| [docs/DESIGN-persona-scope.md](./docs/DESIGN-persona-scope.md) | Original directory-binding design (predecessor of 0.9.0; path normalization still in use) |
|
|
58
82
|
|
|
59
83
|
## Installation
|
|
60
84
|
|