mcpField
C
Chatcrystal

Chatcrystal

本地服务
github.com/ZengLiangYi记忆与知识615 天前更新

关于 Chatcrystal

ChatCrystal 是面向开发者的本地优先知识管理应用,用于保存和复用 AI 编码对话。它可导入对话记录、整理为笔记,并提供语义搜索、标签图谱和通过 MCP 访问的 Agent 记忆。

主要功能

  1. 01导入编码 Agent 对话
  2. 02将对话整理为结构化笔记
  3. 03支持关系扩展的语义搜索
  4. 04浏览标签知识图谱
  5. 05通过命令行和 MCP 访问笔记

适用场景

  1. 01汇集受支持编码工具的对话记录
  2. 02将过往调试过程整理成笔记
  3. 03按含义搜索历史对话
  4. 04让 Agent 调取并更新保存的经验

MCP 相关

ChatCrystal 提供 MCP 工具,让 Agent 检索并写回可复用经验。README 也将 MCP 与命令行并列为访问方式。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

ChatCrystal

ChatCrystal

以本地优先的方式管理编程对话的 AI 个人知识管理工具

GitHub release npm ChatCrystal MCP server License: Apache-2.0 Node.js Platform Website

网站 · 作者与博客 · 下载桌面版 · npm · 文档 · 简体中文


ChatCrystal 演示

ChatCrystal 是一款以本地优先的 AI 个人知识管理应用,面向使用 Claude Code、Cursor、Codex CLI、Trae 和 GitHub Copilot 解决实际问题的开发者。

它能将零散的 AI 编程对话整理为结构化笔记、语义搜索、标签知识图谱、Markdown 导出内容,以及供 Agent 重复使用的 MCP 记忆。如果这符合你的工作流,欢迎点亮星标,让更多开发者找到一种私密、本地优先的方式来保存 AI 工作记忆。

快速开始

桌面应用(推荐)

从 GitHub Releases 下载最新的 Windows 安装程序。安装后,启动 ChatCrystal,在设置中配置大模型和嵌入服务提供商,然后点击 导入。

命令行 / Web
npm install -g chatcrystal
crystal serve -d
crystal import

然后在浏览器中打开 http://localhost:3721。

Docker 云端部署

想为多台设备自托管 ChatCrystal?请在了解产品概况后查看Docker 云端部署。

功能介绍

  • 导入 AI 编程对话:从本地工具数据目录导入。
  • 将对话提炼为结构化笔记:包含标题、摘要、结论、代码片段和标签。
  • 通过语义搜索查找知识:利用嵌入向量和感知关联的结果扩展功能。
  • 构建标签知识图谱:知识点以标签表示,边表示经过规范化的共现关系。
  • 提供命令行和 MCP 工具:供 Agent 回忆并写回可复用经验。
  • 在本地运行:可配置大模型和嵌入服务提供商。

截图

对话笔记
对话笔记
语义搜索知识图谱
语义搜索知识图谱

常用命令

crystal status                          # Server status and DB stats
crystal import [--source claude-code]   # Scan and import conversations
crystal search "query" [--limit 10]     # Semantic search
crystal notes list [--tag X]            # Browse notes
crystal notes get <id>                  # View note detail
crystal summarize --all                 # Batch summarize
crystal config get                      # View config
crystal serve -d                        # Start server in background
crystal serve stop                      # Stop background server
crystal mcp                             # Start MCP stdio server

文档

主题English简体中文
用户指南docs/USER_GUIDE.mddocs/USER_GUIDE.zh-CN.md
开发docs/DEVELOPMENT.mddocs/DEVELOPMENT.zh-CN.md
MCP 和 Agentdocs/MCP.mddocs/MCP.zh-CN.md
体验质量门槛docs/EXPERIENCE_GATE.mddocs/EXPERIENCE_GATE.zh-CN.md
Agent 技能docs/agent-skills.mddocs/agent-skills.zh-CN.md
架构与技术深入探讨

如需了解 ChatCrystal 背后的工程讨论、数据隐私边界和设计决策,请参阅以下文章:

要求

  • Node.js >= 24
  • 用于摘要的 LLM 提供商
  • 用于语义搜索的嵌入提供商

LLM 提供商和嵌入提供商需要分别配置。Claude、GPT 和 Qwen 等大模型并非嵌入模型。提供商示例请参阅用户指南。

ChatCrystal 原生支持 OrcaRouter 进行 LLM 生成。OrcaRouter 兼容 OpenAI;其 Base URL 已内置,因此只需输入 API Key,然后使用 设置 获取并选择可用模型。

本地开发

git clone https://github.com/ZengLiangYi/ChatCrystal.git
cd ChatCrystal
corepack enable
pnpm install
pnpm dev

开发服务器端口:

有关架构、测试、构建和发布的详细信息,请参阅 docs/DEVELOPMENT.md。

Docker 云部署

默认的 Compose 部署仅运行 ChatCrystal 服务。数据存储在 chatcrystal-data 卷中,该卷挂载到容器内的 /data。

git clone https://github.com/ZengLiangYi/ChatCrystal.git
cd ChatCrystal
docker compose up -d

默认的 docker-compose.yml 会从 GitHub Container Registry 拉取 ghcr.io/zengliangyi/chatcrystal:latest。设置 CHATCRYSTAL_IMAGE_TAG 可固定到某个已发布版本。若要从源代码构建,请运行 docker compose -f docker-compose.yml -f docker-compose.build.yml up -d --build。

若要更新现有的 Docker 部署,请运行 docker compose pull && docker compose up -d。仅限维护者:首次向 GHCR 发布后,请在 GitHub Packages 中将 ghcr.io/zengliangyi/chatcrystal 软件包设为公开;发布工作流会在通过前验证匿名拉取权限。

默认情况下,Compose 会将 ChatCrystal 绑定到 0.0.0.0:3721,以便其他设备通过主机 IP 访问云端核心。设置 CHATCRYSTAL_HOST_PORT 可更改主机端口;若由仅限本地访问的反向代理转发流量,则设置 BIND_ADDRESS=127.0.0.1。若要公开访问云端,建议使用 HTTPS 反向代理,以便更安全地传输令牌。

在 Windows Docker Desktop 上,即使已发布端口,也可能需要额外配置主机网络,才能通过主机的局域网 IP 访问。测试云模式时,请先在客户端设备上验证 http://<host-ip>:<host-port>/api/health;如果无法连接,请配置 Windows 端口转发或防火墙规则,或者将云端核心部署到真正的远程主机上。

首次启动时,如果未设置 CHATCRYSTAL_API_TOKEN,请打开 Web UI,输入容器日志中打印或存储于 /data/setup-code 的设置代码,然后为你的设备选择一个共享 API 令牌。

若要轮换或重置 Docker 云端令牌:

# If you still know the current token, rotate it online.
crystal --base-url https://chatcrystal.example.com token rotate "new-long-token-at-least-16-chars" --current "old-token"
crystal connect https://chatcrystal.example.com --token "new-long-token-at-least-16-chars"

# If you forgot the token and did not set CHATCRYSTAL_API_TOKEN, reset stored auth in the container.
docker compose exec chatcrystal crystal token reset --yes
docker compose logs chatcrystal --tail=80
docker compose exec chatcrystal cat /data/setup-code

如果部署设置了 CHATCRYSTAL_API_TOKEN,该环境变量就是当前使用的令牌来源。请在 .env 或 Compose 环境中更改该变量,并运行 docker compose up -d --force-recreate 重新创建容器。

若要使用现有的 Ollama 或外部 API,请在 Web UI 或环境中配置提供方 URL。在 Docker 中,localhost 指的是容器内部;可使用 CHATCRYSTAL_DOCKER_LLM_BASE_URL 和 CHATCRYSTAL_DOCKER_EMBEDDING_BASE_URL 覆盖 Compose 构建时的提供方 URL。Docker Desktop 可通过 http://host.docker.internal:11434 访问主机上的 Ollama,也可以使用远程 HTTPS/OpenAI 兼容 API。

从设备导入到云端实例

在装有 Claude Code、Cursor、Codex CLI、Trae 或 GitHub Copilot 历史记录的设备上安装或运行 CLI:

crystal connect https://chatcrystal.example.com --token "your-long-token"
crystal import --yes

CLI 会扫描本地历史记录,在本地解析后,将标准化的对话上传到云端。云端不会扫描你的本地文件系统。导入的对话不会自动生成摘要;准备就绪后,请使用 Web UI 或 crystal summarize --all。建议通过 HTTPS 访问云端,但如果你选择的部署方式使用 HTTP,也可以正常工作。

联系我们

微信二维码

许可证

Apache License 2.0

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。