memory-eternal 0.24.0 → 0.25.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 +7 -1
- package/README.zh-CN.md +7 -1
- 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 +19 -0
- package/lib/client.js +20 -20
- package/lib/star-prompt.js +92 -0
- package/orca-plugin/orca-plugin.json +1 -1
- package/package.json +2 -2
- package/web/app.js +24 -24
|
@@ -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.25.0",
|
|
5
5
|
"description": "记忆核心(Memory Eternal):对话结束后自动沉淀知识卡到本地记忆库(~/.dsh/memory-vault),支持检索 / 召回 / 审核中心。",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "EternalNight996",
|
package/README.md
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
# 🧠 memory-eternal — a second brain for your AI
|
|
2
2
|
|
|
3
|
+
<p align="center">
|
|
4
|
+
<img src="https://raw.githubusercontent.com/EternalNight996/memory-eternal/main/assets/screen/cover-zh.png" width="900" alt="记忆核心 memory-eternal:给 AI 一个不会忘、可审核、可量化的长期记忆" />
|
|
5
|
+
</p>
|
|
6
|
+
|
|
7
|
+
**记忆核心(memory-eternal)** —— 给 AI 一个不会忘、可审核、可量化的长期记忆。本地优先 · 审核闸门 · 记忆账本 · 一个库接入 DSH / Claude Code / Codex / Cursor 与任意 MCP 客户端。
|
|
8
|
+
|
|
3
9
|
[](https://github.com/EternalNight996/memory-eternal/stargazers)
|
|
4
10
|
[](https://www.npmjs.com/package/memory-eternal)
|
|
5
|
-
[](https://github.com/EternalNight996/memory-eternal/releases)
|
|
6
12
|
[](LICENSE)
|
|
7
13
|
|
|
8
14
|
**English (default)** · [简体中文](README.zh-CN.md)
|
package/README.zh-CN.md
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
# 🧠 memory-eternal —— 给 AI 装一个可信的第二大脑
|
|
2
2
|
|
|
3
|
+
<p align="center">
|
|
4
|
+
<img src="https://raw.githubusercontent.com/EternalNight996/memory-eternal/main/assets/screen/cover-zh.png" width="900" alt="记忆核心 memory-eternal:给 AI 一个不会忘、可审核、可量化的长期记忆" />
|
|
5
|
+
</p>
|
|
6
|
+
|
|
7
|
+
**记忆核心(memory-eternal)** —— 给 AI 一个不会忘、可审核、可量化的长期记忆。本地优先 · 审核闸门 · 记忆账本 · 一个库接入 DSH / Claude Code / Codex / Cursor 与任意 MCP 客户端。
|
|
8
|
+
|
|
3
9
|
[](https://github.com/EternalNight996/memory-eternal/stargazers)
|
|
4
10
|
[](https://www.npmjs.com/package/memory-eternal)
|
|
5
|
-
[](https://github.com/EternalNight996/memory-eternal/releases)
|
|
6
12
|
[](LICENSE)
|
|
7
13
|
|
|
8
14
|
[English (default)](README.md) · **简体中文(镜像)**
|
|
@@ -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.25.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.25.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
|
@@ -24,6 +24,7 @@ import { FOLLOW_DOMAINS, parseFollowIntent, listFollows, saveFollow, removeFollo
|
|
|
24
24
|
import { buildDigest, readDigest, digestPrompt } from './news-digest.js'
|
|
25
25
|
import { getSetupStatus, runSetup, mcpAgentAction } from './setup.js'
|
|
26
26
|
import { ledgerSummary } from './ledger.js'
|
|
27
|
+
import { starPromptStatus, markStarAction } from './star-prompt.js'
|
|
27
28
|
import { backupDb, dbStatus, rebuildGuidance, withDbRetry } from './db.js'
|
|
28
29
|
import { listNews, getNews, saveNews, deleteNews, setNewsRead } from './news.js'
|
|
29
30
|
import { getNewsFeed, refreshNewsFeed } from './news-feed.js'
|
|
@@ -1306,6 +1307,24 @@ export function createApi(deps = {}) {
|
|
|
1306
1307
|
} catch (e) { json(res, 200, { ok: false, error: String(e?.message || e) }) }
|
|
1307
1308
|
return
|
|
1308
1309
|
}
|
|
1310
|
+
case '/star/status': {
|
|
1311
|
+
// 价值触发的 star 提示:够不够格问、以及「讲证据」用的数字
|
|
1312
|
+
try {
|
|
1313
|
+
const env = typeof process !== 'undefined' ? process.env : {}
|
|
1314
|
+
json(res, 200, starPromptStatus({ root: vaultRoot, env }))
|
|
1315
|
+
} catch (e) { json(res, 200, { ok: false, error: String(e?.message || e) }) }
|
|
1316
|
+
return
|
|
1317
|
+
}
|
|
1318
|
+
case '/star/action': {
|
|
1319
|
+
const starChunks = []
|
|
1320
|
+
for await (const chunk of req) starChunks.push(chunk)
|
|
1321
|
+
let starBody
|
|
1322
|
+
try { starBody = JSON.parse(Buffer.concat(starChunks).toString('utf8') || '{}') } catch { return json(res, 400, { ok: false, error: 'JSON 解析失败' }) }
|
|
1323
|
+
const env = typeof process !== 'undefined' ? process.env : {}
|
|
1324
|
+
const action = String(starBody?.action || 'later')
|
|
1325
|
+
json(res, 200, { ok: markStarAction(env, action), action })
|
|
1326
|
+
return
|
|
1327
|
+
}
|
|
1309
1328
|
case '/budget': {
|
|
1310
1329
|
try {
|
|
1311
1330
|
const cfg = getSettings() ?? {}
|