dsh-memory-palace 1.7.2-alpha.3 → 1.7.2
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 +5 -2
- package/lib/client.js +2 -2
- package/lib/index.js +6 -6
- package/lib/projection.mjs +2 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
把 WorkBuddy 的文件式记忆系统移植进 [DeepSeek Harness](https://www.deepseek.com/harness/) —— 为 Harness 提供**跨会话持久化、人类可直接编辑的 Markdown 记忆**。
|
|
4
4
|
|
|
5
|
-
[](./LICENSE) [](https://awesome-dsh-plugin.com) [](https://www.npmjs.com/package/dsh-memory-palace) [](./LICENSE) [](https://awesome-dsh-plugin.com) [](https://www.npmjs.com/package/dsh-memory-palace) [](https://github.com/deepseek-ai/deepseek-harness)
|
|
6
6
|
|
|
7
7
|
## 特性
|
|
8
8
|
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
|
|
79
79
|
```bash
|
|
80
80
|
dsh plugin --profile web add github:lovezi0/dsh-memory-palace
|
|
81
|
-
# 锁定版本:dsh plugin --profile web add github:lovezi0/dsh-memory-palace#v1.7.2
|
|
81
|
+
# 锁定版本:dsh plugin --profile web add github:lovezi0/dsh-memory-palace#v1.7.2
|
|
82
82
|
```
|
|
83
83
|
|
|
84
84
|
方式二:clone 后本地安装(开发 / 修改源码场景)
|
|
@@ -120,6 +120,9 @@ dsh plugin --profile web remove dsh-memory-palace
|
|
|
120
120
|
## 版本历史
|
|
121
121
|
|
|
122
122
|
- **1.7.2**
|
|
123
|
+
- 修正注释版本号笔误
|
|
124
|
+
- 徽标核验线更新至 0.1.7-rc.1
|
|
125
|
+
- npm publish
|
|
123
126
|
- **1.7.2-alpha.3**
|
|
124
127
|
- 🐛修复记忆投影通道并发导致记忆串台的问题 @sunligh91
|
|
125
128
|
- 🐛修复插件工具串台问题
|
package/lib/client.js
CHANGED
|
@@ -784,7 +784,7 @@ window.__ModuleLoader__.load({
|
|
|
784
784
|
document.head.appendChild(style);
|
|
785
785
|
}
|
|
786
786
|
|
|
787
|
-
// ---- v1.
|
|
787
|
+
// ---- v1.7.2-alpha.2 设置面板 nav 图标(「记忆」条目)----
|
|
788
788
|
// 宿主 SettingsRoot.navIcon(id) 是**硬编码白名单**(account/models/agent-presets/plugins/archived-sessions),
|
|
789
789
|
// 未列出的第三方 section 一律回退齿轮图标,且 slots 契约(id/order/label)没开 nav 图标位、
|
|
790
790
|
// 官方文档亦无「从 manifest 取 nav 图标」的机制(manifest icon 只进插件管理面板的卡片/行)。
|
|
@@ -1046,7 +1046,7 @@ window.__ModuleLoader__.load({
|
|
|
1046
1046
|
// v1.1.3:设置读写走自有 route(/memory-palace/api),不再 bind settingsScope——
|
|
1047
1047
|
// 非 loopback 下 settingsScope persistence=memory(set() no-op),保存永不落盘。
|
|
1048
1048
|
const controller = new MemoryPalaceController(ctx);
|
|
1049
|
-
// v1.
|
|
1049
|
+
// v1.7.2-alpha.2:设置面板 nav 条目换成自家 sparkle-twinkle 星标——宿主无 nav 图标位,
|
|
1050
1050
|
// 走「label 传节点 + CSS 隐藏回退齿轮」两步(原理/失效面见 40-sparkle.js 的 ensureNavStarStyles)。
|
|
1051
1051
|
ensureNavStarStyles();
|
|
1052
1052
|
const navLabel = () =>
|
package/lib/index.js
CHANGED
|
@@ -40,7 +40,7 @@ export const name = "memory-palace";
|
|
|
40
40
|
// v1.6.0-rc1:settingsNamespace() 已删除,namespace 直接用字符串(宿主侧做类型级校验)。
|
|
41
41
|
const MEMORY_PALACE_SETTINGS_NAMESPACE = "memory-palace";
|
|
42
42
|
|
|
43
|
-
// v1.
|
|
43
|
+
// v1.7.2-alpha.2:适配 dsh 0.1.7-alpha.1 契约破坏(DSH-CONTRACT-TRACKING.md §1.6)。
|
|
44
44
|
// - 契约5:MessageSourceMap 删除通用 'plugin' kind → 投影/子代理消息 source 改用宿主
|
|
45
45
|
// v3→v4 迁移约定 `plugin:dsh-memory-palace`(去重判据向后兼容旧形态,防升级前已 resume 的会话重复注入)。
|
|
46
46
|
// - 契约10:SettingsProvider.installSection 整包删除 → ctx.settings 改挂 SettingsForms
|
|
@@ -90,7 +90,7 @@ export const Config = Schema.object({
|
|
|
90
90
|
export const inject = ["systemPrompt", "tools", "llm", "webServer", "webRuntime"];
|
|
91
91
|
|
|
92
92
|
/**
|
|
93
|
-
* v1.
|
|
93
|
+
* v1.7.2-alpha.2(dsh 0.1.7 适配):解包 cordis 解析后的 cosmokit Volatile 引用。
|
|
94
94
|
* 0.1.7 起 Config schema 字段标 `.volatile()`,loader 解析后该字段值不再是原始值,
|
|
95
95
|
* 而是 `{ get(): snapshot, [writeSymbol]: fn }` 引用对象(热改时原地更新、不重载 fiber)。
|
|
96
96
|
* 宿主自己的 consumer 一律 `.get()` 读;本插件全部配置经 source() 消费,故在此统一解包。
|
|
@@ -113,15 +113,15 @@ export function apply(ctx, config) {
|
|
|
113
113
|
// 未挂载 settings 服务时回退到 cordis 组合里的 config。
|
|
114
114
|
// v1.6.0-rc1:注册动作挪进下方 ctx.inject(["settings"]) 回调(installSection 是
|
|
115
115
|
// SettingsProvider 实例方法,须等 settings 服务挂载;其内部同步 setSource,时序与旧版等价)。
|
|
116
|
-
// v1.
|
|
116
|
+
// v1.7.2-alpha.2:配置真源统一 = cordis 注入的 config(0.1.7 起即 profile 条目 config、热改原地生效)。
|
|
117
117
|
let source = () => unwrapConfig(config);
|
|
118
118
|
const baseEntry = { ...config };
|
|
119
119
|
|
|
120
|
-
// ---- v1.1.3:设置读写 route(真保存)/ v1.
|
|
120
|
+
// ---- v1.1.3:设置读写 route(真保存)/ v1.7.2-alpha.2:适配 dsh 0.1.7 SettingsForms ----
|
|
121
121
|
// client fetch 同源 /memory-palace/api/settings.get|update,绕过 apiproxy allowlist;
|
|
122
122
|
// handler 内直接走服务端 settings 面 → profile patch 持久化。
|
|
123
123
|
// 写用 replace 语义(整节替换):表单里留空的字段自动回退 base/schema 默认,与「保存=提交整个表单」一致。
|
|
124
|
-
// v1.
|
|
124
|
+
// v1.7.2-alpha.2 适配(dsh 0.1.7-alpha.1):dsh-settings 整包重写为 SettingsForms——
|
|
125
125
|
// ① 不再有 installSection / setSource / onChange:配置的**唯一真源 = profile 条目 config**,
|
|
126
126
|
// 应用值就是 cordis 注入的 config,且热改经 loader 原地生效(volatile 字段经引用更新、
|
|
127
127
|
// 其余字段整 fiber 重载),故 source 恒为 () => config,无需 setSource 切换。
|
|
@@ -143,7 +143,7 @@ export function apply(ctx, config) {
|
|
|
143
143
|
? { value: undefined, user: undefined, revision: undefined }
|
|
144
144
|
: { value: descriptor.value, user: descriptor.user, revision: descriptor.revision };
|
|
145
145
|
};
|
|
146
|
-
// v1.
|
|
146
|
+
// v1.7.2-alpha.2 双栈:旧宿主(0.1.6 线 SettingsProvider)有 installSection,须注册节并把 setSource
|
|
147
147
|
// 切到解析层;新宿主(0.1.7 SettingsForms)无此方法——配置真源即 profile 条目 config,
|
|
148
148
|
// 热改经 loader 生效,source 保持 () => config 即可。describe/replace 两栈签名兼容。
|
|
149
149
|
if (typeof sctx.settings.installSection === "function") {
|
package/lib/projection.mjs
CHANGED
|
@@ -35,7 +35,7 @@ import { createUserMessage } from "@deepseek-ai/dsh-llm";
|
|
|
35
35
|
import { expandHome, toHomeShort, todayISO, readMdSync, budgetClip, stripSmartTag, stripDeletedLines } from "./common/text.mjs";
|
|
36
36
|
|
|
37
37
|
// 投影消息的 source 标注。
|
|
38
|
-
// v1.
|
|
38
|
+
// v1.7.2-alpha.2(dsh 0.1.7 适配):宿主删除了通用 catch-all `plugin` kind(MessageSourceMap 不再含
|
|
39
39
|
// 'plugin' 键),改为「每个生产者在自己的模块里声明自有 kind」;v3→v4 会话持久化迁移把第三方
|
|
40
40
|
// 旧源 `{kind:'plugin',plugin:X}` 规范化为 `plugin:X`(见 session-format-v3-to-v4/sources.ts
|
|
41
41
|
// producerKind())。故本插件合规 kind = 'plugin:dsh-memory-palace'。运行时不校验 kind 白名单
|
|
@@ -58,7 +58,7 @@ function projectionIdentity(msg) {
|
|
|
58
58
|
|
|
59
59
|
// 只在双方都是本插件投影时才比身份 —— 规避真实用户消息与宿主注入消息
|
|
60
60
|
// (runtime context / skill 目录等)因首行文本巧合而误撞。
|
|
61
|
-
// v1.
|
|
61
|
+
// v1.7.2-alpha.2:新消息 kind='plugin:dsh-memory-palace';同时**保留旧 kind='plugin'+plugin 字段的识别**
|
|
62
62
|
// —— 历史会话里已持久化的旧投影消息经宿主 v3→v4 迁移会变成 plugin:dsh-memory-palace,但旧宿主
|
|
63
63
|
// (<0.1.7)与未迁移数据仍是旧形状,双认可防「换 kind 当天在老会话里重复注入」。
|
|
64
64
|
function isOwnProjection(msg) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-memory-palace",
|
|
3
|
-
"version": "1.7.2
|
|
3
|
+
"version": "1.7.2",
|
|
4
4
|
"description": "把 WorkBuddy 的文件式记忆系统移植进 DeepSeek Harness:用户级 + 工作区的人类可读 Markdown 记忆(~/.deepseek-harness/MEMORY.md 与 <cwd>/.deepseek-harness/memory/)。",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "lib/index.js",
|