# DaoMem **Repository Path**: atlaslee/daomem ## Basic Information - **Project Name**: DaoMem - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-22 - **Last Updated**: 2026-06-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # DaoMem > **为 Agent 提供长期记忆底座的 Python SDK** > > 通过 WebSocket 连接 DaoQLServer,将图+列+向量+全文统一存储封装为 Agent 直接可用的记忆 API。 [![Python](https://img.shields.io/badge/python-3.10%2B-blue)](https://www.python.org/) [![License](https://img.shields.io/badge/license-Apache%202.0-green)](LICENSE) --- ## 架构 ``` ┌─ Agent 框架层 ────────────────────────────────────┐ │ OpenCode (MCP) · OpenClaw (Plugin) │ │ hermes-agent (MemoryProvider) · LangGraph │ └────────────────────┬──────────────────────────────┘ │ ┌────────────────────┴──────────────────────────────┐ │ DaoMem (Python SDK) │ │ │ │ ┌──────────────────┐ ┌────────────────────────┐ │ │ │ MCP Server │ │ MemoryManager 层 │ │ │ │ (daomem-mcp) │ │ Episode / Entity │ │ │ │ 14 个工具 │ │ Fact / Session / Saga │ │ │ └──────┬───────────┘ └───────────┬────────────┘ │ │ │ │ │ │ ┌──────┴──────────────────────────┴────────────┐ │ │ │ DSLBuilder · SyncDaoQLClient · Connection │ │ │ │ 连接池 · 断路器 · Ed25519/SM2 认证 │ │ │ └────────────────────┬──────────────────────────┘ │ └────────────────────────┼────────────────────────────┘ │ WebSocket JSON-RPC 2.0 ┌────────────────────────┼────────────────────────────┐ │ DaoQLServer (DSL Server :9527) │ │ 图引擎 · 列引擎 · HNSW 向量 · Tantivy 全文 │ └─────────────────────────────────────────────────────┘ ``` ## 快速开始 ```bash pip install dao-mem ``` ```python import asyncio from daomem import DaoQLClient, DaoQLMemoryClient async def main(): client = DaoQLClient() await client.connect() mem = DaoQLMemoryClient(client=client, group_id="demo") # 存储一条记忆 await mem.episodes.add( content="用户决定使用 FastAPI + JWT", session_id="s1", ) # 搜索 results = await mem.search("FastAPI", search_type="keyword") for r in results: print(f"[{r.score:.3f}] {r.content}") await client.close() asyncio.run(main()) ``` ## Agent 框架集成 | 框架 | 集成方式 | 能力 | |------|---------|------| | **OpenCode** | [`MCP Server`](#opencode-通过-mcp-集成) | 14 个记忆工具,LLM 主动调用 | | **OpenClaw** | [`Plugin`](#openclaw-原生-plugin-集成) | 自动召回 + 自动捕获 + 全工具 | | **hermes-agent** | [`MemoryProvider`](#hermes-agent-集成) | 7 个工具,自动注册 | | **LangGraph** | `BaseStore` 适配 | 开发中 | ## 核心概念 | 概念 | 说明 | |------|------| | **Episode** | 一条记忆条目(对话、文档、观察) | | **Session** | 一组相关 Episode 的容器 | | **Saga** | 跨 Session 的叙事线(一个项目) | | **Entity** | 知识图谱节点(人、技术、概念) | | **Fact** | 实体间的关系 | | **Search** | 关键词全文搜索(Tantivy)或语义搜索 | --- ## OpenCode(通过 MCP 集成) 在 `~/.opencode.json` 中添加: ```json { "mcpServers": { "daomem": { "type": "stdio", "command": "daomem-mcp", "args": ["--dsl-uri", "ws://dao.yblock.biz:9527"] } } } ``` 自动发现 14 个工具: | 工具 | 用途 | |------|------| | `memory_search` | 关键词/混合搜索 | | `memory_store` | 存入对话内容 | | `memory_store_entity` | 创建实体 | | `memory_store_fact` | 创建事实 | | `memory_entities_search` | 搜索实体 | | `memory_entity_get` | 获取实体详情 | | `memory_entity_graph` | 探索关系图 | | `memory_facts_query` | 查询事实 | | `memory_session_create` | 创建会话 | | `memory_sessions_list` | 列出会话 | | `memory_session_get` | 查看会话 | | `memory_saga_create` | 创建叙事线 | | `memory_saga_list` | 列出叙事线 | | `memory_saga_get` | 查看叙事线 | 独立启动 MCP 服务器: ```bash daomem-mcp --dsl-uri ws://dao.yblock.biz:9527 # 或 python -m daomem.mcp_server --dsl-uri ws://dao.yblock.biz:9527 ``` --- ## OpenClaw(原生 Plugin 集成) Plugin 位于 OpenClaw 项目的 `extensions/daomem/`。 | 能力 | 实现 | |------|------| | **自动召回** | `before_agent_start` 钩子 → 注入记忆 context | | **自动捕获** | `agent_end` 钩子 → 存储对话为 Episode | | **13 个工具** | 通过 `daomem-mcp` 子进程桥接 | | **CLI** | `openclaw daomem` | 配置: ```json { "plugins": { "daomem": { "dslUri": "ws://dao.yblock.biz:9527", "autoRecall": true, "autoCapture": true } } } ``` --- ## hermes-agent 集成 环境变量配置: ```bash export DAOQL_URI=ws://dao.yblock.biz:9527 ``` 提供的工具(7 个): | 工具 | 用途 | |------|------| | `memory_search` | 关键词搜索 | | `memory_conclude` | 存储结论 | | `memory_store_entity` | 创建实体 | | `memory_store_fact` | 创建事实 | | `memory_graph` | 知识图谱遍历 | | `memory_entities` | 搜索实体 | | `memory_sessions` | 列出会话 | --- ## 开发 ```bash git clone https://gitee.com/atlaslee/daomem.git cd daomem pip install -e . pytest tests/unit/ -v # 67 个单元测试 ruff check daomem/ # 代码风格检查 ``` ## 许可证 Apache-2.0