memory-eternal 0.12.0 → 0.14.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/.claude-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +1 -1
- package/.cursor-plugin/plugin.json +1 -1
- package/README.en.md +16 -5
- package/README.md +16 -5
- package/cursor-extension/package.json +1 -1
- package/dsh-tui-plugin/README.md +71 -0
- package/dsh-tui-plugin/demo-audit.mjs +535 -0
- package/dsh-tui-plugin/demo.mjs +743 -0
- package/dsh-tui-plugin/dsh-plugin.json +7 -2
- package/dsh-tui-plugin/main.js +43 -0
- package/dsh-tui-plugin/package.json +3 -1
- package/dsh-tui-plugin/scene.js +151 -0
- package/lib/client.js +28 -16
- package/orca-plugin/README.md +12 -0
- package/orca-plugin/orca-plugin.json +1 -1
- package/orca-plugin/panel.html +27 -12
- package/package.json +1 -1
- package/web/app.js +28 -16
package/orca-plugin/README.md
CHANGED
|
@@ -4,6 +4,18 @@
|
|
|
4
4
|
|
|
5
5
|
## 安装
|
|
6
6
|
|
|
7
|
+
### 推荐:Git URL
|
|
8
|
+
|
|
9
|
+
Orca → Settings → Plugins → Install plugin → **Git URL**:
|
|
10
|
+
|
|
11
|
+
```text
|
|
12
|
+
https://github.com/EternalNight996/memory-eternal-orca#v0.12.1
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Orca 会固定到 `v0.12.0` tag。
|
|
16
|
+
|
|
17
|
+
### 本地目录
|
|
18
|
+
|
|
7
19
|
1. 确认本机已安装并运行 `memory-eternal`(默认 Web 服务 `http://127.0.0.1:7999/`)。
|
|
8
20
|
2. 确认终端能找到 CLI:
|
|
9
21
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"id": "memory-eternal",
|
|
4
4
|
"publisher": "eternalnight996",
|
|
5
5
|
"name": "memory-eternal",
|
|
6
|
-
"version": "0.
|
|
6
|
+
"version": "0.14.0",
|
|
7
7
|
"description": "Memory Atlas for Orca: open the local memory vault, pending review and knowledge graph from a sandboxed Orca panel.",
|
|
8
8
|
"author": {
|
|
9
9
|
"name": "EternalNight996",
|
package/orca-plugin/panel.html
CHANGED
|
@@ -64,6 +64,7 @@
|
|
|
64
64
|
}
|
|
65
65
|
button:hover { filter: brightness(1.06); }
|
|
66
66
|
button:disabled { opacity: .45; cursor: default; }
|
|
67
|
+
button.secondary { margin-top: 7px; background: transparent; color: var(--foreground, #f3f5f8); border-color: var(--border, #3a404a); }
|
|
67
68
|
.status { min-height: 1.6em; margin: 10px 0 0; font-size: 10.5px; color: var(--muted-foreground, #99a1ac); }
|
|
68
69
|
.fallback { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--border, #3a404a); font-size: 10.5px; color: var(--muted-foreground, #99a1ac); }
|
|
69
70
|
.fallback code {
|
|
@@ -98,11 +99,12 @@
|
|
|
98
99
|
<select id="terminal"><option value="">正在读取工作区…</option></select>
|
|
99
100
|
</div>
|
|
100
101
|
|
|
101
|
-
<button id="
|
|
102
|
+
<button id="openOrca" disabled>在 Orca 浏览器打开</button>
|
|
103
|
+
<button id="openBrowser" class="secondary" disabled>外部浏览器打开</button>
|
|
102
104
|
<p id="status" class="status"></p>
|
|
103
105
|
|
|
104
106
|
<div class="fallback">
|
|
105
|
-
|
|
107
|
+
“在 Orca 浏览器打开”会执行 <code>orca tab create</code>,需要 <code>orca</code> CLI 在 PATH;失败时用外部浏览器:
|
|
106
108
|
<code>dsh-memory open</code>
|
|
107
109
|
<br/>Web 地址:<code>http://127.0.0.1:7999/</code>
|
|
108
110
|
</div>
|
|
@@ -115,7 +117,8 @@
|
|
|
115
117
|
var pending = new Map()
|
|
116
118
|
var statusEl = document.getElementById('status')
|
|
117
119
|
var terminalEl = document.getElementById('terminal')
|
|
118
|
-
var
|
|
120
|
+
var openOrcaBtn = document.getElementById('openOrca')
|
|
121
|
+
var openBrowserBtn = document.getElementById('openBrowser')
|
|
119
122
|
|
|
120
123
|
function setStatus(text, cls) {
|
|
121
124
|
statusEl.textContent = text || ''
|
|
@@ -155,8 +158,9 @@
|
|
|
155
158
|
opt.value = ''
|
|
156
159
|
opt.textContent = '请先打开一个 Orca 终端'
|
|
157
160
|
terminalEl.appendChild(opt)
|
|
158
|
-
|
|
159
|
-
|
|
161
|
+
openOrcaBtn.disabled = true
|
|
162
|
+
openBrowserBtn.disabled = true
|
|
163
|
+
setStatus('需要一个终端来打开 Memory Atlas。', 'warn')
|
|
160
164
|
return
|
|
161
165
|
}
|
|
162
166
|
terminals.forEach(function (term, index) {
|
|
@@ -165,33 +169,44 @@
|
|
|
165
169
|
opt.textContent = '终端 ' + (index + 1)
|
|
166
170
|
terminalEl.appendChild(opt)
|
|
167
171
|
})
|
|
168
|
-
|
|
172
|
+
openOrcaBtn.disabled = false
|
|
173
|
+
openBrowserBtn.disabled = false
|
|
169
174
|
setStatus('已就绪。')
|
|
170
175
|
} catch (err) {
|
|
171
176
|
setStatus('无法读取工作区终端:' + err.message, 'warn')
|
|
172
177
|
}
|
|
173
178
|
}
|
|
174
179
|
|
|
175
|
-
|
|
180
|
+
async function sendCommand(text, okText) {
|
|
176
181
|
var terminalId = terminalEl.value
|
|
177
182
|
if (!terminalId) {
|
|
178
183
|
setStatus('请先选择一个终端。', 'warn')
|
|
179
184
|
return
|
|
180
185
|
}
|
|
181
|
-
|
|
182
|
-
|
|
186
|
+
openOrcaBtn.disabled = true
|
|
187
|
+
openBrowserBtn.disabled = true
|
|
188
|
+
setStatus('正在打开 Memory Atlas…')
|
|
183
189
|
try {
|
|
184
190
|
await call('terminal.sendText', {
|
|
185
191
|
terminalId: terminalId,
|
|
186
|
-
text:
|
|
192
|
+
text: text,
|
|
187
193
|
enter: true
|
|
188
194
|
})
|
|
189
|
-
setStatus(
|
|
195
|
+
setStatus(okText, 'ok')
|
|
190
196
|
} catch (err) {
|
|
191
197
|
setStatus('打开失败:' + err.message + '。请在终端手动执行 dsh-memory open。', 'warn')
|
|
192
198
|
} finally {
|
|
193
|
-
|
|
199
|
+
openOrcaBtn.disabled = false
|
|
200
|
+
openBrowserBtn.disabled = false
|
|
194
201
|
}
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
openOrcaBtn.addEventListener('click', function () {
|
|
205
|
+
sendCommand('orca tab create --url http://127.0.0.1:7999/', '已发送 orca tab create。若 Orca 内置浏览器打开,即可在 Orca 内使用 Memory Atlas。')
|
|
206
|
+
})
|
|
207
|
+
|
|
208
|
+
openBrowserBtn.addEventListener('click', function () {
|
|
209
|
+
sendCommand('dsh-memory open', '已发送 dsh-memory open。浏览器打开后即可使用 Memory Atlas。')
|
|
195
210
|
})
|
|
196
211
|
|
|
197
212
|
loadTerminals()
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "memory-eternal",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.14.0",
|
|
4
4
|
"description": "记忆核心(Memory Eternal):自研的 DeepSeek Harness 记忆插件,不移植任何既有记忆框架——对话结束后自动沉淀知识卡到本地 Markdown Vault(自研去重、自研 CJK 检索、可 git 管理),设置页提供图形化知识库(统计 / 搜索 / 知识图谱 + 侧边栏一键弹窗),Agent 通过 memory_recall 工具按需召回历史上下文。零人工干预。",
|
|
5
5
|
"icon": "assets/icon.png",
|
|
6
6
|
"license": "MIT",
|