Mycelia
Mycelia
换工具、换模型,记忆不归零。
给 AI coding agent 的长期记忆层 —— 本地优先,跨工具共享。
它解决什么
你花了一小时向 Claude Code 解释清楚项目的部署流程、踩过的坑、为什么选了这个方案。
明天换到 Codex,一切从头再来。
这不是某个工具的缺陷,是整个生态的结构性问题:上下文属于会话,而不是属于你。会话结束,理解就蒸发了。换模型、换工具、开新窗口,都是一次归零。
Mycelia 把这层记忆从会话里拿出来,放进你自己的机器:
agent 自己判断什么值得记 —— 通过 MCP 接入后,agent 在对话中把结论性的东西写回来。不是录音机,不是什么都往里塞
按需检索,而不是灌满上下文 —— 需要时才取相关的几条,token 花在刀刃上
跨工具共享 —— Claude Code 记下的,Codex 下次就能读到
┌─────────────┐ ┌─────────┐ ┌──────────┐ ┌────┐
│ Claude Code │ │ Codex │ │ opencode │ │ pi │
└──────┬──────┘ └────┬────┘ └────┬─────┘ └─┬──┘
└──────────────┴────────────┴──────────┘
│ MCP
┌──────▼──────┐
│ Mycelia │ ← 你的机器,你的数据
└─────────────┘三层知识库
不同形态的知识需要不同的组织方式,硬塞进一种结构必然有一头受委屈。
存什么 | 怎么找 | |
记忆库 | 结论、决策、偏好、踩坑记录 | 全文检索 + 向量语义 + 重要度排序 |
文档库 | 成篇的材料,挂载目录或手写 | RAG:结构化分块 → 向量召回 → 原文扩展 |
知识图谱 | 记忆之间的关联 | 社区发现,看结构而非看列表 |
特性
记忆不该被污染
写入前有四道闸:价值判断(这条脱离上下文还成立吗)、重复检测(向量粗筛 + 模型确认)、时效判断、敏感度分级。低置信度的进待确认队列,你说了算。
长文不该被切碎
按文档结构切分而非固定长度,代码块、表格、列表作为原子单元不拆开;每块附带层级路径与文档摘要一起向量化(内容本身保持干净);命中后向上扩展到完整段落再交给 agent。
知识图谱是能读懂的
力导向 + LinLog 能量模型让社区自然分离,而不是糊成一团毛球。防重叠保证间距均匀,拖拽时相连节点跟随移动,坐标持久化——同一份数据每次打开位置一致,方位感才建立得起来。
凭据不该明文躺着
AES-256-GCM 加密,密钥经系统钥匙串封装。写入时自动识别 API key、私钥、连接串并强制加密。
离线可用
嵌入模型跑在本地(multilingual-e5-small,384 维)。不配任何云端 API 也能完整使用——LLM 只影响长文入库的上下文增强这类锦上添花的环节。
安装
到 Releases 下载对应平台的包:
平台 | 下载 |
macOS |
|
Windows |
|
Linux |
|
macOS 首次打开
应用没有花钱买 Apple 的开发者签名,Gatekeeper 会拦一下,提示「已损坏」或「无法验证开发者」。这不是应用真的有问题——所有未签名的开源 macOS 应用都是这个待遇。放行一次即可:
xattr -cr /Applications/Mycelia.app或者在访达里右键点应用 →「打开」→ 再点一次「打开」。
从源码运行
需要 Node.js 20+ 和 pnpm。
git clone https://github.com/kittors/Mycelia.git
cd Mycelia
pnpm install
pnpm build
pnpm desktop:dev自己打包:
pnpm --filter @mycelia/desktop package:mac # 或 package:win / package:linux接入 agent
打开应用 → 设置 → Agent 接入,会自动检测本机已安装的 agent 并一键写入配置。
也可以手动接:
// Claude Code: ~/.claude/settings.json
{
"mcpServers": {
"mycelia": {
"command": "npx",
"args": ["-y", "@mycelia/mcp-server"]
}
}
}agent 侧会拿到这些工具:
工具 | 用途 |
| 写入一条长期记忆 |
| 按语义检索相关记忆 |
| 在文档库里检索原文片段 |
| 标记失效 |
可选:配置文本模型
不配也能用。配了之后,长文入库时会做上下文增强、去重时会有模型二次确认。
export MYCELIA_LLM_BASE_URL="https://api.openai.com/v1" # 兼容 OpenAI 协议的任意端点
export MYCELIA_LLM_API_KEY="sk-..."
export MYCELIA_LLM_MODEL="gpt-4o-mini"也可以在应用的设置页里配,支持 Anthropic Messages、OpenAI Chat、OpenAI Responses、Ollama 四种协议。
技术栈
apps/desktop Electron + React 19 + Tailwind v4
services/mcp MCP stdio server
packages/core 提取管线、检索、图谱、RAG
packages/store SQLite (WAL / FTS5 trigram) + 向量索引
packages/embed transformers.js 本地嵌入
packages/crypto AES-256-GCM 保险箱数据全部在本地:~/Library/Application Support/Mycelia(macOS)。没有账号,没有同步,没有遥测。
开发
pnpm build # 全量构建
pnpm test # 跑测试
pnpm lint # Biome 检查
pnpm desktop:dev # 桌面端热更新约定:单文件不超过 300 行;注释解释为什么而不是复述代码。
License
MIT © kittors
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/kittors/Mycelia'
If you have feedback or need assistance with the MCP directory API, please join our Discord server