开源仓库深度分析 · 腾讯云数据库团队
一份基于源码实读的分析报告。全部分层结构、端口、依赖版本、版本号与工程化事实均取自本地克隆的仓库副本, 不依赖 README 转述;对文档与实现不一致之处逐条标注。
一句话定位:它不是「给单个 Agent 加记忆」,而是给一支 Agent 团队建一个集中式的记忆中枢。 官方英文描述把它称为 a team-level memory hub for AI Agents,把对话、文档、代码转化为 四类可复用记忆资产——Chat Memory、Skill、LLM-Wiki、CodeGraph——并让这些资产被治理、共享、按需装配到不同 Agent 上。
项目刻意回避了「把所有东西都记下来」这个方向。README 中明确写道: Memory is not about hoarding everything in the AI — it is about sparing humans from having to repeat themselves. 它要解决的问题是「减少使用 Agent 时的重复工作」:项目背景不必换个 Session 再讲,文档不必每个 Agent 从第一页重读,跑通的做法不必下次重新摸索。
官方给出的对比表格清晰地划出了它的边界(下表为仓库 README 原文内容整理):
| 能力维度 | 聊天历史 | 普通 RAG | TencentDB Agent Memory |
|---|---|---|---|
| 跨会话理解用户 | 部分 | 部分 | ✅ Chat Memory |
| 沉淀可执行经验 | — | — | ✅ Skill |
| 文档结构与关系 | — | 部分(切片检索) | ✅ Wiki + Link Graph |
| 代码调用与影响范围 | — | 部分(文本命中) | ✅ CodeGraph |
| Owner / 版本 / 状态 | — | — | ✅ |
| 团队分享与 Agent 配装 | — | — | ✅ |
| 私有 / 团队 / ACL | — | 部分 | ✅ |
这张表透露了它的真实野心:「RAG 解决『能查到什么』,Team Memory 还要解决『谁可以用、哪个版本有效、应该给哪个 Agent』」。 也就是说,它把记忆当成需要治理的资产,而不是可检索的语料。
这个仓库里同时存在两套产品,且默认分支不是 main,而是 feat/server_team。
直接 git clone 拿到的是服务版;要拿插件版必须显式指定 main。这是理解该仓库的第一道坎。
| 分支 | 产品形态 | 根目录内容 | 适合谁 |
|---|---|---|---|
feat/server_team默认 |
团队/服务版(v2/v3) | MemoryCore、MemoryKnowledge、MemoryPanel、MemoryProxy、sdk、adapters、agents、deploy | 需要多人多 Agent 共享记忆的团队 |
main |
插件版(npm 单包) | src、bin、docker、hermes-plugin、openclaw.plugin.json、index.ts | OpenClaw / Hermes 个人用户 |
下文全部以默认分支(服务版)为准。
| 模块 | 包名 | 包版本 | 端口 | 职责 | 代码规模 |
|---|---|---|---|---|---|
| MemoryCore | @tencentdb-agent-memory/memory-tencentdb-v2 |
1.0.2-beta.1 | 8420 | 记忆读写、鉴权、L0–L3 数据面、Skill 管理、知识元数据注册 | 400 文件 / 5.6 MB |
| MemoryKnowledge | @tencentdb-agent-memory/knowledge-service |
0.1.0 | 8424 | Wiki 与 CodeGraph 的解析、索引、检索;对外暴露 MCP | 78 文件 / 714 KB |
| MemoryPanel | team-memory-control |
0.1.0 | 8125 | 团队记忆管理面板(后端 Hono + 前端 React SPA) | 284 文件 / 3.2 MB |
| MemoryProxy | context-proxy |
0.1.0 | 8096 | LLM 请求代理(Anthropic / OpenAI 双协议),负责拦截与记忆注入 | 202 文件 / 2.9 MB |
官方一键脚本 deploy/global-images/start-all.sh 拉起的是「三件套」而非四件套:
memory-core + memory-hub + proxy。
其中 memory-hub 是 Panel 与 Knowledge 合并部署的产物——
仓库里有独立的 deploy/panel-knowledge-combined/(含专属 Dockerfile)为证。
所以「四模块」是代码层面的划分,「三服务」是部署层面的形态。
| 目录 | 内容 |
|---|---|
sdk/memory-core/ | TypeScript 与 Python 两套 SDK,面向自建适配器 |
adapters/opencode/ | 框架适配器示例 |
agents/ | 八个框架的接入资产:claude-code、codebuddy、codex、dsh、hermes、openclaw、opencode、workbuddy,每个含 README + 资产导入手册;另有 agents/skills/setup-proxy 与 agents/adapter-agent-development.md |
deploy/ | global-images(三件套启停脚本)、panel-knowledge-combined、dockerhub 发布脚本 |
MemoryCore/{openclaw,hermes,pi}-plugin/ | 服务版内部仍保留了插件形态的适配层,便于渐进迁移 |
项目自述「不追求存下所有东西」,而是解决三个问题:什么值得留下、谁可以使用、下一次怎样少拿但拿对。这三个问题恰好对应三套机制。
这是整套系统的地基。对话先进 L0,再由异步 Pipeline 逐层提炼。代码层面的目录名直接印证了这一模型:
| 层级 | 保存内容 | 主要用途 | MemoryCore 源码对应目录 |
|---|---|---|---|
| L0 Conversation | 原始对话与完整上下文 | 核对原话、时间与来源 | src/core/conversation/ |
| L1 Atom | 从对话提取的事实、偏好、约束、事件 | 精确召回可执行信息 | src/core/record/ |
| L2 Scenario | 围绕项目或场景组织的知识块 | 快速恢复工作场景 | src/core/scene/ |
| L3 Core / Persona | 长期画像、稳定模式与高层认知 | 迅速进入用户与团队语境 | src/core/persona/、src/core/profile/ |
关键的工程取舍在于异构存储 + 渐进披露:底层(事实、日志、轨迹)落数据库以支持全文检索;顶层(画像、场景、画布) 以人类可读的 Markdown 文件保存,换取高信息密度与白盒可检查性。官方概括为 「下层保存证据,上层保存结构」。
压缩最大的风险是「省了 token,丢了证据」。项目刻意不做不可逆摘要,而是保证一条确定性的下钻路径: 顶层符号(Persona/画布)→ 中层索引(Scenario/jsonl)→ 底层原文(L0 Conversation/refs)。 这意味着「Agent 记住了什么」是可审计的,而不是只能看一堆向量相似度分数。
长任务里最大的 token 消耗者是冗长的中间日志(搜索结果、代码、错误堆栈)。项目用
上下文卸载(Offload)+ Mermaid 符号图来处理。源码证据在 MemoryCore/src/offload/:
| 文件 | 作用 |
|---|---|
context-token-tracker.ts / fast-token-estimate.ts | 实时估算上下文占用,决定何时触发压缩 |
mmd-injector.ts / mmd-meta.ts | Mermaid 画布的生成与注入(证实「Mermaid 符号」不是比喻) |
l3-token-counter.ts / l3-helpers.ts | L3 层 token 计量与配额 |
reclaimer.ts | 按 node_id 回捞被卸载的原文 |
session-registry.ts / state-manager.ts / state-reporter.ts | 会话级状态注册与上报 |
local-llm/、pipelines/ | 本地 LLM 兜底与多级压缩流水线 |
工作流是四步:① 全量日志卸载到外部文件(refs/*.md)→ ② 抽取关系,生成带 node_id 的 Mermaid 画布 → ③ 只把画布(几百 token)注入上下文 → ④ 需要核实细节时按 node_id grep 回原文。
压缩率与可追溯性被同时保住。
Chat Memory、Skill、Wiki、CodeGraph 被统一登记为 Memory Asset。Memory Hub 通过 Fixed Binding(固定绑定)+ ACL 决定某个 Agent 能带走哪些资产: 先按 Team、User、Agent 与可见性缩小权限范围,再按当前问题召回。
| 可见性 | 语义(README 原文) |
|---|---|
private | 只有 Owner 可读,团队管理员也不例外 |
team | 团队成员可读,Owner / Admin 负责管理 |
restricted | 通过 User / Role / Agent 三级 ACL 精确授权 |
agent | 用于同团队 Agent 的定向装配 |
权限角色分两层:全局 System Admin(管用户与团队、也能用资产业务功能)与 Team 内角色(Admin / Member)。资产归属用 Owner 标记,Owner 自动获得该资产管理权。 新记忆默认私有——「分享是一个明确动作,不是默认泄漏」。
MemoryKnowledge 的策略是「不整库注入」。文档被整理成可搜索、可沿链接下钻的 Wiki;代码库被索引成包含文件、符号、调用关系的 CodeGraph。
Agent 先通过 /v3/tools/list 发现能力,再用 /v3/tools/call 读取相关页面、源码或影响路径。
源码结构:src/engines/{wiki,code}、src/mcp/{server,tools,http-client}、src/source-fetcher/。
请注意一个职责切分的细节:MemoryCore 只存知识的元数据(标识、类型、状态、关联、服务地址), 不存知识内容本身;解析、构图、索引、检索全部由 MemoryKnowledge 承担。这条边界写在 MemoryCore/README 的显著位置。
召回策略可选 keyword / embedding / hybrid,其中 hybrid 使用 RRF 融合,是官方推荐项。
值得注意的是中文分词的落点:MemoryCore 依赖 @node-rs/jieba,配置项 bm25.language 默认 zh(jieba)/ en 可切。
MemoryCore 默认关闭远程 embedding,用 BM25 起步。
这意味着「不接任何 embedding 服务也能用」——对私有化部署和快速验证是明显的加分项。
同时用条数上限(recall.maxResults)、单条字符预算(maxCharsPerMemory)、
总字符预算(maxTotalRecallChars)与召回超时(recall.timeoutMs,超时则跳过注入不阻塞对话)
四道闸门,防止记忆反过来占满上下文。
这是该版本最具传播力的设计。传统接入需要插件、Hook 或 MCP Server;这里只要把 Agent 的 base URL 指向 Proxy。 MemoryProxy 的实现按框架切分得很干净:
| 层次 | 源码位置 | 说明 |
|---|---|---|
| 协议 Handler | src/anthropicHandler.ts、codexHandler.ts、directHandler.ts、auxiliaryHandler.ts | 按上游协议分流(Anthropic Messages / OpenAI 系列) |
| 框架适配 | src/agent-adapters/:claude-code、codebuddy、codex、dsh、opencode、pi、workbuddy、default | 每个客户端的会话识别与特性差异在此收敛 |
| 注入流水线 | src/injection/:pipeline、injectors、provider、registry、observer、prewarm | 把 L2/L3、Skill、Knowledge 按绑定关系注入 system prompt |
| 会话内指令 | src/mem-command/:parser、pre-intercept、commands、pending-store、task-draft-generator | 实现 mem: 指令的拦截与就地处理 |
| 治理与观测 | src/rate-limit/、credit-reporter.ts、clickhouse.ts、extraction-gate.ts | 限流、配额上报、提取闸门 |
会话内指令 mem: 是一个轻量而实用的入口,已随 v2.0.0 发布:
| 指令 | 作用 |
|---|---|
mem:sync | 刷新本次会话的全部资产注入(Skill / 记忆 / Knowledge / Task & Agent 描述) |
mem:create-skill [提示词] | 把本次对话归档为 Skill,后台异步提取 |
mem:help | 显示指令帮助 |
以下全部来自各模块 package.json 的实读结果。
| 类别 | 选型 | 证据 |
|---|---|---|
| 语言 | TypeScript(735 个 .ts + 87 个 .tsx) | 文件类型分布统计 |
| 运行时 | Node.js ≥ 22.16.0 | engines 字段 |
| 后端框架 | Hono(四个模块统一使用) | @hono/node-server + hono |
| 打包器 | tsdown;开发运行 tsx | tsdown ^0.21.10 |
| 测试 | Vitest(含覆盖率) | vitest ^4.1.2 |
| 校验 | Zod v4 | zod ^4.4.3 |
| 模块 | 选型 | 说明 |
|---|---|---|
| 向量检索(Core) | sqlite-vec 0.1.7-alpha.2 | 本地零依赖向量检索,注意仍是 alpha 版本 |
| 向量检索(托管) | @tencentdb-agent-memory/tcvdb-text | 腾讯云向量数据库,云上增强路径 |
| 关系库(Knowledge) | better-sqlite3 + Drizzle ORM + drizzle-kit | 带迁移工具链 |
| 可选后端 | mongodb ^6.21.0 + mongodb-memory-server | 试验特性,默认关闭 |
| 分析/限流(Proxy) | @clickhouse/client + ioredis | 行为分析与分布式限流 |
| 中文分词 | @node-rs/jieba | BM25 中文检索的基础 |
| Token 计量 | js-tiktoken | 压缩触发的判定依据 |
| 图处理 | @colbymchenry/codegraph + graphology | CodeGraph 构图与图算法 |
| 类别 | 选型 |
|---|---|
| LLM 调用 | Vercel AI SDK(ai v6)+ @ai-sdk/openai + @ai-sdk/anthropic |
| 分布式追踪 | 完整 OpenTelemetry 套件(api / sdk-node / sdk-logs / sdk-trace-base / OTLP exporter) |
| LLM 可观测 | @langfuse/otel + @langfuse/tracing;Core 另有 opik-tracer |
| 协议开放 | @modelcontextprotocol/sdk(Knowledge 暴露 MCP Server) |
| 代码生成 | @kubb/*(OpenAPI → TypeScript + Zod,Core/Knowledge 的 gateway 有 generated/ 目录) |
| 层级 | 选型 |
|---|---|
| 框架 | React 18 + Vite 6 + TypeScript 5.7 |
| 样式 | Tailwind CSS 3.4 + @tailwindcss/typography |
| 状态与路由 | Zustand 5 + react-router-dom 7 |
| 图谱可视化 | sigma + @react-sigma/core + graphology(含 forceatlas2 布局、louvain 社区发现) |
| 组件与国际化 | tea-component(腾讯自研设计系统)+ i18next + react-i18next |
| Markdown 渲染 | react-markdown + remark-gfm(用于白盒查看记忆文件) |
MemoryProxy 的 package.json 声明了 node-pty ^1.1.0,
但在全仓 .ts/.js/.mjs 中检索不到任何对 node-pty 的 import,
源码里也没有 child_process 引用。这是一个声明了却未使用的依赖——不影响使用,但会进入依赖树与安全扫描范围。
git clone https://github.com/Tencent/TencentDB-Agent-Memory.git
cd TencentDB-Agent-Memory/deploy/global-images
cp .env.example .env
$EDITOR .env # 填两组 LLM 参数:memory 组 + proxy 组
./start-all.sh # 拉起 memory-core + memory-hub + proxy
# 结束时会打印一行可直接复制的 claude 命令
面板地址:http://localhost:8125。也可只拉 Memory Hub 镜像单独用:docker pull docker.io/agentmemory/memory-hub:latest。
export ANTHROPIC_BASE_URL=http://127.0.0.1:8096/claude-code/defaultexport ANTHROPIC_AUTH_TOKEN="<业务用户的 sk-mem-... user_key>"AskUserQuestion 工具连续弹出三个选择——Team → Agent → Task(Task 可跳过)。
各客户端走各自的 handler,差异已被封装。以 WorkBuddy 为例,配置落在 ~/.workbuddy/models.json:
[
{
"id": "claude-opus-4.7-1m",
"name": "claude-opus-4.7-1m",
"vendor": "Custom",
"url": "http://127.0.0.1:8096/workbuddy/default",
"apiKey": "<业务用户的 sk-mem-... user_key>",
"supportsToolCall": true
}
]
WorkBuddy 走 OpenAI Responses API(桌面端)与 Chat Completions(Web 端)双协议,由独立的 workbuddyHandler.ts 处理;
会话初始化流程与其他客户端一致(选 Team → Agent → Task),Session ID 由客户端自动管理。
仓库为八个框架各配了 README 与资产导入手册,支持把本地历史对话导入 Memory Hub。
main 分支)更合适| 维度 | 具体表现 |
|---|---|
| 定位问题定义准确 | 没有喊「无限记忆」的口号,而是把问题收敛成「什么值得留下 / 谁可以使用 / 怎样少拿但拿对」三问,并据此设计机制。定位清晰带来架构上的克制。 |
| 设计异构资产而非平铺向量 | 四类资产(Chat Memory / Skill / Wiki / CodeGraph)各自的形态、生命周期与检索方式都不同,避免了「一切皆切片」的失真。 |
| 可信度可追溯与白盒 | 顶层画像 → 中层场景 → 底层原文的确定性下钻;Mermaid 画布人机可读;L2/L3 是普通 Markdown 文件,可直接打开查看。把「记忆出错只能看相似度分数」这个行业通病解决了。 |
| 接入零代码覆盖面广 | 改 base URL 即可接入,且已覆盖八个主流框架,并有通用接入指南与适配器开发文档。这是它在同类项目中传播最快的原因。 |
| 安全隐私默认保守 | 新记忆默认 private 且「团队管理员也不例外」;restricted 支持 User/Role/Agent 三级 ACL。同时 Gateway 提供可选 API Key 与 CORS 白名单,非回环绑定且未设 key 时会打印警告。 |
| 工程可观测与治理完备 | 完整 OpenTelemetry + Langfuse 追踪、限流、配额策略、健康检查、Docker 镜像、数据迁移工具(v2→v3、sqlite→TCVDB)、诊断导出脚本。 |
| 门槛本地零依赖起步 | 默认 SQLite,BM25 无需 embedding 服务;数据目录 ~/.memory-tencentdb/memory-tdai,无外部服务依赖(除 LLM API)。 |
| 文档详实度高于同类 | INSTALL_CN 达 707 行,含每个客户端的完整配置、端口说明、排障;四模块各有 API 文档(v3 数据面 / 管理面分列);八个框架各有 README;另有部署、Docker、适配器开发、贡献指南(中英双份)。 |
| 纪律机械化的架构约束 | CI 中有一道 Skill Queue Isolation 守卫,通过 git diff 禁止 PR 触碰记忆模块红线文件(state / pipeline-worker / integrations / redis),并禁止 src/core/skill/** 新增直接文件系统 import。属于少见地把架构纪律写成脚本强制执行的实践。 |
① 默认分支是功能分支 feat/server_team,不是 main。
克隆拿到的是服务版;想拿插件版必须显式指定 main。
② 版本号有四个口径且互不一致(详见 7.1)。
③ CI 只监听提交到 main 的 PR,且不运行测试——而默认开发分支是 feat/server_team,这意味着针对默认分支的 PR 完全没有 CI 保护。
| 来源 | 声明的版本 |
|---|---|
README_CN.md 文末 | 「当前版本 v2.0.0」,下个版本 v2.0.1 |
ROADMAP_CN.md 开头 | 「当前版本 v2.0.1-beta.1」 |
CHANGELOG.md 最新条目 | 2.0.2-beta.1(2026-09-07) |
MemoryCore/package.json | 1.0.2-beta.1 |
| API 文档与路由 | 统一以 v3 命名(/v3/conversation/* 等) |
五个版本标识并存。对一个刚接触项目的开发者来说,「我装的到底是哪个版本」需要自己交叉比对才能确认。这不影响功能,但会显著提高上手成本,也让 Issue 定位变得困难。
全仓只有一个工作流 .github/workflows/pr-ci.yml,共五个作业:
| 作业 | 实际做什么 |
|---|---|
| install | npm install --ignore-scripts |
| pack | npm pack --dry-run + 打包并上传产物 |
| manifest | 校验 openclaw.plugin.json 字段完整性 |
| size | 包体积不得超过 2048 KB |
| isolation | Skill 队列隔离守卫(架构红线) |
三个可验证的问题:
test 命令。main(触发条件为 pull_request: branches: [main]),而默认分支是 feat/server_team——针对默认分支的 PR 不触发 CI。MemoryCore,Knowledge / Panel / Proxy 三个模块的 PR 不受任何流水线约束。考虑到 828 个未关闭 Issue,这样的质量闸门与项目体量并不相称。
项目在感谢章节中主动披露了两处代码复用,态度值得肯定,但也带来实际风险:
colbymchenry/codegraph 的代码,其依赖 @colbymchenry/codegraph 直接出现在 MemoryKnowledge 的 package.json 中。对商业使用的团队而言,需要自行核验被复用代码的许可证是否与本项目的 MIT 兼容,以及上游项目变更时的维护风险。
「改 base URL 即可接入」的优雅设计,代价是 Proxy 在架构上是一次合法的中间人:它能看到并改写所有经过的提示词与响应。 同时它集中了团队全部记忆的读写入口。这意味着:
TDAI_GATEWAY_API_KEY 与 CORS 白名单。官方已内置警告机制,这一步不能省。| 问题 | 说明 |
|---|---|
| CodeGraph 仓库范围受限 | 官方原文:「CodeGraph 当前首先支持公开 HTTPS 仓库;私有仓库和 SSH 凭证接入仍在完善。」对以内部代码为主的团队,这是硬性阻塞。 |
| Wiki / CodeGraph 构建是异步的 | 导入后需等待处理才能到 ready,不具备「导入即用」的即时性。 |
| 自动路由尚未完成 | 官方注明「Hub 已支持人工绑定资产;全自动记忆路由仍在迭代」。当前需要人工配装,与「零配置」的宣传存在落差。 |
| MongoDB 后端不迁移数据 | CHANGELOG 明示:「切换存储后端不会迁移已有数据」,sqlite 与 MongoDB 数据目录独立,需自行备份与手工迁移。 |
| 记忆质量依赖抽取模型 | L1–L3 全部由 LLM 异步提炼,抽取偏差会直接变成错误记忆。ROADMAP 也承认「自动抽取的记忆不会永远正确」,而当前面板只能查看和删除,无法编辑修正(v2.0.1 才计划支持 L1–L3 编辑)。 |
| 检索基础依赖 alpha 组件 | 核心向量检索 sqlite-vec 版本号为 0.1.7-alpha.2,处于 alpha 阶段;MongoDB 后端亦为「试验特性,不建议作为生产默认后端」。 |
| Issue 存量较大 | 828 个未关闭 Issue。README 承诺「24 小时内响应」,但存量规模意味着部分问题可能长期悬置。建议落地前先按关键词检索既有 Issue。 |
| 依赖 Hygiene | node-pty 在 MemoryProxy 中声明但全仓无 import。 |
| 文档与实现存在漂移 | 根 README 描述四类资产与服务版;而 main 分支 README 描述的是完全不同的插件特性集。同一仓库两套文档,检索时极易串台。 |
| 整体偏重 | 四个 Node 服务 + 前端 SPA + 可选 ClickHouse/Redis/MongoDB。资源占用与运维复杂度远高于「一个库 + 一个插件」的方案。 |
| # | 要点 | 为什么重要 |
|---|---|---|
| 1 | 克隆前先确认分支 | 默认分支是 feat/server_team。要团队版可直接克隆;要插件版须 git clone -b main。这是最容易踩的第一个坑。 |
| 2 | 把「三问」当作评估框架 | 项目自身的问题定义(什么值得留下 / 谁可以使用 / 怎样少拿但拿对)就是最好的选型清单。若你的场景只关心第三问,可能已有更轻的方案。 |
| 3 | 白盒可追溯是它真正的护城河 | 同类项目普遍只能展示相似度分数。这里的「画像 → 场景 → 原子 → 原文」确定性下钻 + 纯 Markdown 落盘,是生产环境排障与合规审计时最实用的差异化能力。 |
| 4 | 把 Proxy 当安全边界对待 | 它是合法的中间人,能看到全部提示词。生产部署务必绑定回环或启用 TDAI_GATEWAY_API_KEY + CORS 白名单,并为它设计高可用。 |
| 5 | CodeGraph 的私有仓库限制要提前验 | 若你的核心资产是内部代码,这一项可能直接决定项目能否落地。建议先做一次真实仓库的接入验证,再评估整体选型。 |
| 6 | 记忆可编辑能力尚未到位 | 当前只能查看与删除,不能修正(计划 v2.0.1 支持)。如果你的场景容错要求高,需要评估人工纠错的工作流是否可接受。 |
| 7 | 版本口径需自行锚定 | 五处版本标识不一致。落地时建议以 CHANGELOG.md 的仓库级版本为准,并在内部文档中记录实际部署的 commit hash。 |
| 8 | 上线前自建质量闸门 | 官方 CI 不跑测试、只覆盖 main。若你要在生产使用并需要跟进上游,务必自建覆盖四模块的测试与回归流程。 |
| 9 | 区分「已发布」与「计划中」 | README 的 Roadmap 与 ROADMAP_CN.md 混用了已完成项与计划项。例如自动记忆路由、Agent 模板、记忆编辑、Cursor 支持均属未交付状态,选型时不要按「已有」计入。 |
这是一个问题定义清晰、架构取舍成熟、工程完成度较高,但治理细节尚未收敛的项目。 它在「Agent 记忆」这个方向上给出的最有价值贡献,不是更快的向量检索,而是两件事: 把记忆拆成四类异构资产并按身份装配,以及 在压缩 token 的同时保留一条从抽象回到原文的确定性证据链。 前者解决「谁该拿到什么」,后者解决「凭什么相信它记得对」。
但截止当前 commit,它更适合「团队级、有运维能力、接受 beta 状态、且核心代码可公开或已验证 CodeGraph 可用」的场景。 对个人或轻量需求,插件形态是更务实的选择;对强合规环境,Proxy 的中间人属性与 CI 缺口需要在内部补齐后再上线。
| 项目 | 取值 |
|---|---|
| 分析对象 | TencentCloud/TencentDB-Agent-Memory(Tencent/... 路径会重定向至该组织) |
| 本地副本 | D:\codebuddy\md\backups\TencentDB-Agent-Memory(经 ghproxy.net 镜像克隆,用时约 1 分 53 秒) |
| 分析分支 / 提交 | feat/server_team @ 5017e2bb927c65bd8302af2d984b04db46303f1b(2026-09-21) |
| 仓库体积 | 克隆后 81 MB(其中 assets/ 图片 33 MB) |
| 仓库元数据 | Stars 27,153 · Forks 2,602 · Open Issues 828 · 创建 2026-04-07 · 最近推送 2026-09-22 |
| API 返回体积 | 39,087 KB(GitHub API size 字段,与克隆体积口径不同) |
| 许可证 | LICENSE 正文为 MIT(前置腾讯版权声明段落)。GitHub 因前缀将其判为 NOASSERTION,徽章标注 MIT 与实际内容一致。 |
INSTALL_CN.md「三个服务默认端口」表格,并与 deploy/global-images/ 下的启停脚本、.env.example 交叉验证。README.md 与源码目录结构(find 实读,非文档转述)。package.json 的 dependencies / devDependencies,版本号为文件内实际声明值。grep 检索 node-pty 的 import 语句,结果仅命中 package.json 与 package-lock.json。.github/workflows/pr-ci.yml(共 159 行、5 个作业),据此判定无测试作业、触发分支限于 main、工作目录限于 MemoryCore。