内容
# 守护聊天
**克劳德桌面版的持久对话记忆**
克劳德记得你。没有空白的开始,没有遗忘。每次对话都建立在上一次的基础上。
## 功能介绍
守护聊天是一个本地的MCP服务器,为克劳德桌面版提供持久的记忆功能,涵盖所有对话。它记得你的名字、兴趣、关注点、人际关系和沟通方式。每次对话都会自然地建立上下文——克劳德会称呼你的名字,跟进未解决的问题,并调整语气以匹配你的风格。
所有数据都存储在本地机器上。没有云同步,没有外部API调用你的数据。你控制一切——使用`daem0n_forget`删除特定记忆或删除存储目录以清除所有数据。
守护聊天是优先考虑隐私的对话记忆。克劳德成为一个了解你的伴侣,而不是一个需要每次会话都重新训练的工具。
## 功能特点
守护聊天经过9个实施阶段的开发,提供以下功能:
- **对话记忆**:具有10个类别:事实、偏好、兴趣、目标、关注点、事件、人际关系、情感、日常习惯和上下文。记忆可以同时属于多个类别。
- **用户隔离**:同一台机器上的多个用户,每个用户都有完全私有的记忆存储。
- **显式记忆控制**:“记住这个”、“忘记那个”、“你知道我什么?”——由你决定存储什么。
- **自动检测**:从自然对话中自动提取重要信息,并使用基于置信度的过滤。
- **会话连续性**:自然的问候语,包括你的名字、最近的上下文和未解决的问题跟进。
- **情感上下文跟踪**:克劳德记得你对话题的感受,而不仅仅是你说的话。
- **个人知识图谱**:跟踪人物、地点、宠物及其关系,支持多跳查询(“关于我姐姐的狗呢?”)。
- **自适应沟通风格**:克劳德随着时间的推移学习你的正式程度、 verbosity、表情符号偏好和表达方式。
- **对话摘要**:自动会话摘要,包括主题提取和情感基调。
## 安装
### Windows(安装程序)
1. 从[发布页面](https://github.com/9thlevelsoftware/Daem0n-Chat/releases)下载安装程序。
2. 运行安装程序。
3. 安装程序捆绑了所有内容:Python运行时、依赖项和嵌入式模型——安装过程中无需下载。
4. 克劳德桌面版会自动配置。
5. 守护聊天安装到 `%LOCALAPPDATA%\DaemonChat\` (无需管理员权限)。
### macOS
#### 前提条件
- **Python 3.10+** —— 使用 `python3 --version` 检查。如果需要安装或升级,[Homebrew](https://brew.sh/) 是最简单的途径:`brew install python@3.12`
- **克劳德桌面版 for macOS** —— 从 [claude.ai/download](https://claude.ai/download) 下载。
#### 安装
```bash
# 克隆仓库
git clone https://github.com/9thlevelsoftware/Daem0n-Chat.git
cd Daem0n-Chat
# 创建虚拟环境(推荐)
python3 -m venv .venv
source .venv/bin/activate
# 安装守护聊天和所有依赖项
pip install -e ".[installer]"
```
**注意:** 首次运行时会下载 ModernBERT 嵌入式模型(约 400 MB)。这是一次性下载,会自动进行。
#### 配置克劳德桌面版
**选项 A — 自动**(推荐):
```bash
python -m installer.post_install install
```
这会找到你的克劳德桌面版配置,添加守护聊天服务器条目,并运行健康检查以验证一切正常。它会自动设置 macOS 的正确存储路径(`~/Library/Application Support/DaemonChat/`)。
**选项 B — 手动**:
编辑 `~/Library/Application Support/Claude/claude_desktop_config.json` 并在 `mcpServers` 部分添加守护聊天:
```json
{
"mcpServers": {
"daem0nchat": {
"command": "/Users/yourname/Daem0n-Chat/.venv/bin/python",
"args": ["-m", "daem0nmcp.server"],
"env": {
"DAEM0NMCP_STORAGE_PATH": "/Users/yourname/Library/Application Support/DaemonChat/storage",
"DAEM0NMCP_QDRANT_PATH": "/Users/yourname/Library/Application Support/DaemonChat/qdrant",
"PYTHONUNBUFFERED": "1"
}
}
}
}
```
将 `yourname` 替换为你的 macOS 用户名。所有路径都必须是绝对路径——克劳德桌面版不会扩展 `~`。
#### 验证
```bash
# 运行健康检查
python -m installer.post_install check
# 或直接测试服务器
python -m daem0nmcp.server
```
在配置完成后重启克劳德桌面版。守护聊天应该出现在克劳德的 MCP 服务器列表中。
#### 故障排除(macOS)
- **"command not found: python"** —— macOS 默认使用 `python3` 而不是 `python`。请在所有地方使用 `python3`,或激活你的虚拟环境以别名它。
- **存储权限错误** —— 守护聊天存储数据在 `~/Library/Application Support/DaemonChat/`。确保你的用户有写入权限(这是默认的)。
- **克劳德桌面版看不到服务器** —— 确保你的配置中的 `command` 路径指向虚拟环境中的 Python(`.venv/bin/python`),而不是系统 Python。克劳德桌面版不会激活虚拟环境。
### 开发者安装(所有平台)
适用于 Linux,或如果你喜欢一个没有自动配置工具的最小化设置:
```bash
git clone https://github.com/9thlevelsoftware/Daem0n-Chat.git
cd Daem0n-Chat
pip install -e .
```
然后手动编辑你的 `claude_desktop_config.json`(参见[工作原理](#工作原理)了解你平台上的配置文件位置)并添加:
```json
{
"mcpServers": {
"daem0nchat": {
"command": "python",
"args": ["-m", "daem0nmcp.server"]
}
}
}
```
**注意**:`daem0nmcp` 和 `daem0nchat` 控制台入口点都有效(与原始的 DaemonMCP 编码记忆引擎向后兼容)。
## 8 种工具
克劳德在对话过程中会自动调用这些工具。你不需要手动调用它们——只需自然地交谈。
| 工具 | 目的 |
|------|---------|
| **daem0n_briefing** | 会话开始 - 用名字问候你,显示最近的上下文,未解决的问题和后续建议 |
| **daem0n_remember** | 存储记忆 - 自动分类,具有情感检测,风格分析和重复预防 |
| **daem0n_recall** | 检索记忆 - 按主题 - 混合 BM25 + 向量搜索,具有时间上下文 |
| **daem0n_forget** | 删除记忆 - 按 ID,语义搜索查询或批量确认 |
| **daem0n_profile** | 用户管理 - 设置名称,切换用户,获取/设置首选项,新用户注册,内省存储数据 |
| **daem0n_relate** | 知识图谱 - 连接实体,查找联系,查询你个人数据中的关系 |
| **daem0n_reflect** | 反思记忆 - 查找相关模式和存储信息之间的联系 |
| **daem0n_status** | 服务器健康状况 - 版本信息,统计数据,存储详细信息 |
### 示例交互
**"记住我正在学习西班牙语"**
→ 克劳德将其存储为目标类别记忆,具有高置信度
**"你知道我的旅行计划吗?"**
→ 克劳德回忆所有标记为旅行的记忆,按相关性和时间顺序排列
**"忘记那个旧项目"**
→ 克劳德搜索相关记忆并让你确认删除
**"切换到用户 Alice"**
→ 克劳德加载 Alice 的独立记忆空间(如果她已设置)
## 工作原理
守护聊天作为本地 MCP 服务器与克劳德桌面版一起运行。它将数据存储在两个位置:
- **SQLite 数据库**:具有类别、标签、时间戳的结构化记忆存储
- **Qdrant 向量数据库**:用于相似性搜索的语义嵌入(本地运行)
存储位置(使用 `DAEM0NMCP_STORAGE_PATH` 环境变量覆盖;否则自动检测):
- Windows(安装程序): `%LOCALAPPDATA%\DaemonChat\`
- macOS(安装程序): `~/Library/Application Support/DaemonChat/`
- Linux / 开发安装: `<cwd>/.daem0nmcp/storage`(在首次运行时创建)
**语义搜索**:使用 ModernBERT 嵌入来查找相关记忆,即使使用不同的词语。“计划我的假期”与关于“即将到来的旅行”的记忆相匹配。
**记忆衰减**:随意的提及会随着时间的推移而淡忘,而重要的事实会持续存在。衰减率因类别而异——显式记忆会永远持续,而上下文会更快地淡忘。
**混合检索**:结合 BM25 关键词匹配和向量相似性,使用倒数排名融合以获得最佳结果。
所有处理过程都在本地进行。没有数据会离开您的机器。
## 隐私
- **仅本地存储**:所有数据存储在上述路径的您的机器上
- **无云同步**:不会将任何数据上传到任何地方
- **无遥测**:不会跟踪使用情况,不会分析数据,不会发送数据
- **无外部 API 调用**:您的对话仅在您和克劳德之间进行
- **您控制一切**:使用 `daem0n_forget` 删除记忆或删除存储目录以清除所有数据
## 开发
贡献者可以在本地运行测试并开发守护聊天:
```bash
# 安装开发依赖项
pip install -e .[dev]
# 运行测试套件
pytest tests/ -v --asyncio-mode=auto
# 直接运行服务器(用于调试)
python -m daem0nmcp.server
```
代码库包含 1000+ 测试,涵盖记忆存储、用户隔离、情感检测、风格跟踪、知识图查询和所有 8 个 MCP 工具。
## 许可证
MIT 许可证 - 参见 LICENSE 文件了解详情。
## 鸣谢
守护聊天从 DaemonMCP 编码记忆引擎分支出来,并为个人对话使用而重建。核心混合搜索、记忆衰减和知识图基础设施被继承和适应用于非技术用户。