项目概述
Mind Memory Lab 是一个记忆导向的智能体框架实验室原型,旨在验证长期记忆与对话连续性在 LLM 应用中的可行性。核心关注点包括:受控的信息检索、工作区隔离与回合级编排。
技术架构
项目采用 pnpm monorepo 组织(9 packages + 1 app):
| 模块 | 职责 | 测试 |
|---|---|---|
@mind/kernel | 回合流水线、领域类型、LLM 端口 | 5 通过 |
@mind/memory | 记忆落盘、分块、SQLite FTS 索引与召回 | 8 通过 |
@mind/workspace | 工作区沙箱与忽略规则 | 3 通过 |
@mind/adapters-llm | Anthropic / OpenAI / Ollama / 阿里云适配器 | 3 通过 |
@mind/agent-host | 多轮工具编排 AgentToolLoop | - |
@mind/tools-core | 只读工作区工具与 ToolPolicy | - |
@mind/agent-contract | Agent 工具与 MCP/Hooks/Skills 端口类型 | 无运行时依赖 |
@mind/native-mindmem | N-API 绑定(可选) | 回退验证 |
c/ | C99 原语库(分块、指纹、计数) | - |
@mind/web | Web UI + 本地 API | - |
Web UI 功能
- 对话:AI Agent 对话界面(会话管理、流式响应、思考过程展示)
- 记忆库:记忆条目管理(列表浏览、筛选、详情查看)
- 检索:全文检索功能
核心设计
工作区沙箱
基于工作区沙箱的只读访问控制:
interface WorkspaceSandbox {
rootPath: string
ignorePatterns: string[] // gitignore 格式
allowPatterns: string[] // 白名单
canAccess(path: string): boolean
readFile(path: string): Promise<string>
}记忆系统
SQLite FTS5 全文索引:
interface MemoryStore {
store(entry: MemoryEntry): Promise<void>
search(query: string, limit: number): Promise<MemoryEntry[]>
chunkAndIndex(content: string): Promise<Chunk[]>
}C99 原语库
size_t mind_chunk_end(const char* utf8, size_t max_bytes);
uint64_t mind_fnv1a64(const char* data, size_t len);
size_t mind_whitespace_token_estimate(const char* text);通过 N-API 可选绑定到 Node.js,原生模块不可用时自动回退到 TypeScript 实现。
当前状态
回合流水线、记忆持久化与 FTS 检索、多 LLM 后端适配、Web UI 已实现。向量检索、消息总线与多 ThinkingUnit 并行仍在开发中。
相关链接
最后更新: 2026-05-13