memory-eternal 0.28.0 → 0.30.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.md +5 -5
- package/README.zh-CN.md +5 -5
- package/cursor-extension/package.json +1 -1
- package/dsh-tui-plugin/dsh-plugin.json +1 -1
- package/dsh-tui-plugin/package.json +1 -1
- package/lib/api.js +5 -2
- package/lib/client.js +21 -21
- package/lib/vault.js +21 -0
- package/orca-plugin/orca-plugin.json +1 -1
- package/package.json +2 -2
- package/web/app.js +25 -25
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://anthropic.com/claude-code/plugin.schema.json",
|
|
3
3
|
"name": "memory-eternal",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.30.0",
|
|
5
5
|
"description": "记忆核心(Memory Eternal):对话结束后自动沉淀知识卡到本地记忆库(~/.dsh/memory-vault),支持检索 / 召回 / 审核中心。",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "EternalNight996",
|
package/README.md
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
|
|
16
16
|
[](https://github.com/EternalNight996/memory-eternal/stargazers)
|
|
17
17
|
[](https://www.npmjs.com/package/memory-eternal)
|
|
18
|
-
[](https://github.com/EternalNight996/memory-eternal/releases)
|
|
19
19
|
[](LICENSE)
|
|
20
20
|
|
|
21
21
|
**English (default)** · [简体中文](README.zh-CN.md)
|
|
@@ -257,11 +257,11 @@ Not everything should be injected into every session. Core memory is the small,
|
|
|
257
257
|
|:---:|:---:|
|
|
258
258
|
| <img src="https://raw.githubusercontent.com/EternalNight996/memory-eternal/main/assets/support/group-qr.jpg" width="240" alt="QQ group QR" /> | <img src="https://raw.githubusercontent.com/EternalNight996/memory-eternal/main/assets/support/group-wechat.jpg" width="240" alt="WeChat group QR" /> |
|
|
259
259
|
|
|
260
|
-
**Buy the author a coffee (optional):**
|
|
260
|
+
**Buy the author a coffee (optional) — WeChat or Alipay:**
|
|
261
261
|
|
|
262
|
-
| WeChat Pay | WeChat Reward |
|
|
263
|
-
|
|
264
|
-
| <img src="https://raw.githubusercontent.com/EternalNight996/memory-eternal/main/assets/support/wechat-pay.jpg" width="200" alt="WeChat Pay QR" /> | <img src="https://raw.githubusercontent.com/EternalNight996/memory-eternal/main/assets/support/wechat-reward.jpg" width="200" alt="WeChat Reward QR" /> |
|
|
262
|
+
| WeChat Pay | WeChat Reward | Alipay |
|
|
263
|
+
|:---:|:---:|:---:|
|
|
264
|
+
| <img src="https://raw.githubusercontent.com/EternalNight996/memory-eternal/main/assets/support/wechat-pay.jpg" width="200" alt="WeChat Pay QR" /> | <img src="https://raw.githubusercontent.com/EternalNight996/memory-eternal/main/assets/support/wechat-reward.jpg" width="200" alt="WeChat Reward QR" /> | <img src="https://raw.githubusercontent.com/EternalNight996/memory-eternal/main/assets/support/alipay.jpg" width="200" alt="Alipay QR" /> |
|
|
265
265
|
|
|
266
266
|
> Sponsorship is optional; the plugin stays MIT and free. See [SPONSOR.md](SPONSOR.md).
|
|
267
267
|
|
package/README.zh-CN.md
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
|
|
16
16
|
[](https://github.com/EternalNight996/memory-eternal/stargazers)
|
|
17
17
|
[](https://www.npmjs.com/package/memory-eternal)
|
|
18
|
-
[](https://github.com/EternalNight996/memory-eternal/releases)
|
|
19
19
|
[](LICENSE)
|
|
20
20
|
|
|
21
21
|
[English (default)](README.md) · **简体中文(镜像)**
|
|
@@ -257,11 +257,11 @@ dsh-memory ledger --days 30 --json # 召回注入 / 沉淀调用 / 有用
|
|
|
257
257
|
|:---:|:---:|
|
|
258
258
|
| <img src="https://raw.githubusercontent.com/EternalNight996/memory-eternal/main/assets/support/group-qr.jpg" width="240" alt="QQ 群二维码" /> | <img src="https://raw.githubusercontent.com/EternalNight996/memory-eternal/main/assets/support/group-wechat.jpg" width="240" alt="微信群二维码" /> |
|
|
259
259
|
|
|
260
|
-
|
|
260
|
+
**如果这个插件帮你省了时间,可以请作者喝杯咖啡(微信 / 支付宝任选其一):**
|
|
261
261
|
|
|
262
|
-
| 微信收款码 | 微信赞赏码 |
|
|
263
|
-
|
|
264
|
-
| <img src="https://raw.githubusercontent.com/EternalNight996/memory-eternal/main/assets/support/wechat-pay.jpg" width="200" alt="微信收款码" /> | <img src="https://raw.githubusercontent.com/EternalNight996/memory-eternal/main/assets/support/wechat-reward.jpg" width="200" alt="微信赞赏码" /> |
|
|
262
|
+
| 微信收款码 | 微信赞赏码 | 支付宝 |
|
|
263
|
+
|:---:|:---:|:---:|
|
|
264
|
+
| <img src="https://raw.githubusercontent.com/EternalNight996/memory-eternal/main/assets/support/wechat-pay.jpg" width="200" alt="微信收款码" /> | <img src="https://raw.githubusercontent.com/EternalNight996/memory-eternal/main/assets/support/wechat-reward.jpg" width="200" alt="微信赞赏码" /> | <img src="https://raw.githubusercontent.com/EternalNight996/memory-eternal/main/assets/support/alipay.jpg" width="200" alt="支付宝收款码" /> |
|
|
265
265
|
|
|
266
266
|
> 打赏完全自愿,不影响任何功能;插件本体始终开源免费(MIT)。详见 [SPONSOR.md](SPONSOR.md)。
|
|
267
267
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "memory-eternal",
|
|
3
3
|
"displayName": "Memory Atlas",
|
|
4
4
|
"description": "Memory-eternal: open the local Memory Atlas library, review queue and knowledge graph in a Cursor/VS Code webview.",
|
|
5
|
-
"version": "0.
|
|
5
|
+
"version": "0.30.0",
|
|
6
6
|
"publisher": "EternalNight996",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"repository": {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "urn:dsh-std:community-draft:dsh-plugin:0.15",
|
|
3
3
|
"id": "memory-eternal-tui",
|
|
4
4
|
"name": "memory-eternal-tui",
|
|
5
|
-
"version": "0.
|
|
5
|
+
"version": "0.30.0",
|
|
6
6
|
"manifestVersion": "0.15",
|
|
7
7
|
"description": "Open Memory Atlas from dsh-TUI: native /audit scene plus browser launcher.",
|
|
8
8
|
"facets": {
|
package/lib/api.js
CHANGED
|
@@ -17,7 +17,7 @@ import fs, { readFileSync } from 'node:fs'
|
|
|
17
17
|
import path from 'node:path'
|
|
18
18
|
import { fileURLToPath } from 'node:url'
|
|
19
19
|
import { spawn } from 'node:child_process'
|
|
20
|
-
import { listCards, countCards, readCard, search, searchAll, graph, graphAll, graphLevel, LEVEL_ERR_PATH, LEVEL_ERR_STALE, overview, exportCards, deleteCard, writeCard, parseCard, stats, optimizeCandidates, optimizeApply, addFeedback, dailyCounts, mergeCards, ensureVault, auditQueue, recycleList, purgeExpired, purgeAllRecycle, setCardStatus, setCardKind, restoreCard, mainStoreBodies, updateCardContent, reviseCard } from './vault.js'
|
|
20
|
+
import { listCards, countCards, readCard, search, searchAll, graph, graphAll, graphLevel, topDegreeSubgraph, LEVEL_ERR_PATH, LEVEL_ERR_STALE, overview, exportCards, deleteCard, writeCard, parseCard, stats, optimizeCandidates, optimizeApply, addFeedback, dailyCounts, mergeCards, ensureVault, auditQueue, recycleList, purgeExpired, purgeAllRecycle, setCardStatus, setCardKind, restoreCard, mainStoreBodies, updateCardContent, reviseCard } from './vault.js'
|
|
21
21
|
import { compressExcerpt, guessRawKind, DEFAULT_CAPTURE_MAX_TOKENS } from './capture.js'
|
|
22
22
|
import { buildDiagnostics } from './feedback.js'
|
|
23
23
|
import { FOLLOW_DOMAINS, parseFollowIntent, listFollows, saveFollow, removeFollow, refreshFollows, followItems, ensureDefaultFollow } from './news-follows.js'
|
|
@@ -657,10 +657,13 @@ export function createApi(deps = {}) {
|
|
|
657
657
|
case '/graph': {
|
|
658
658
|
await ensureVault(vaultRoot)
|
|
659
659
|
const all = query.get('all') === '1'
|
|
660
|
+
// limit:只回「度数最高的 N 张」子图(默认 0 = 全量)。大库下全量 JSON 会到几 MB。
|
|
661
|
+
const limit = Number(query.get('limit') || 0)
|
|
660
662
|
let g
|
|
661
663
|
try { g = all ? await graphAll(vaultRoots()) : await graph(vaultRoot) }
|
|
662
664
|
catch (e) { g = await graph(vaultRoot) }
|
|
663
|
-
|
|
665
|
+
const out = limit > 0 ? topDegreeSubgraph(g.nodes, g.edges, limit) : { ...g, total: (g.nodes || []).length, shown: (g.nodes || []).length }
|
|
666
|
+
json(res, 200, { ok: true, ...out })
|
|
664
667
|
return
|
|
665
668
|
}
|
|
666
669
|
case '/capture-log': {
|