返回博客列表

Mind Memory Lab:记忆导向的智能体框架

记忆导向智能体框架原型,验证长期记忆与对话连续性,采用可插拔 LLM 适配器与 SQLite FTS 全文索引。

#AI#Agent#Memory#TypeScript#SQLite#pnpm

项目概述

Mind Memory Lab 是一个记忆导向的智能体框架实验室原型,旨在验证长期记忆与对话连续性在 LLM 应用中的可行性。核心关注点包括:受控的信息检索、工作区隔离与回合级编排。

技术架构

项目采用 pnpm monorepo 组织(9 packages + 1 app):

模块职责测试
@mind/kernel回合流水线、领域类型、LLM 端口5 通过
@mind/memory记忆落盘、分块、SQLite FTS 索引与召回8 通过
@mind/workspace工作区沙箱与忽略规则3 通过
@mind/adapters-llmAnthropic / OpenAI / Ollama / 阿里云适配器3 通过
@mind/agent-host多轮工具编排 AgentToolLoop-
@mind/tools-core只读工作区工具与 ToolPolicy-
@mind/agent-contractAgent 工具与 MCP/Hooks/Skills 端口类型无运行时依赖
@mind/native-mindmemN-API 绑定(可选)回退验证
c/C99 原语库(分块、指纹、计数)-
@mind/webWeb 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