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.
@@ -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.12.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",
@@ -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="open" disabled>打开 Memory Atlas</button>
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 openBtn = document.getElementById('open')
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
- openBtn.disabled = true
159
- setStatus('需要一个终端来执行 dsh-memory open。', 'warn')
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
- openBtn.disabled = false
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
- openBtn.addEventListener('click', async function () {
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
- openBtn.disabled = true
182
- setStatus('正在拉起 Memory Atlas…')
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: 'dsh-memory open',
192
+ text: text,
187
193
  enter: true
188
194
  })
189
- setStatus('已发送 dsh-memory open。浏览器/WebView 打开后即可使用。', 'ok')
195
+ setStatus(okText, 'ok')
190
196
  } catch (err) {
191
197
  setStatus('打开失败:' + err.message + '。请在终端手动执行 dsh-memory open。', 'warn')
192
198
  } finally {
193
- openBtn.disabled = false
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.12.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",