内容
# 蘑菇网络
[](https://github.com/Tyler-Hughes312/mycelium/actions/workflows/ci.yml)
[](LICENSE)
[](CHANGELOG.md)
[](https://getmycelium.vercel.app)
[](services/core/pyproject.toml)
[](docs/DEPLOY.md)
**适用于 AI-heavy 开发者的本地优先上下文层**
停止每次会话时重新阅读和搜索代码库,浪费 tokens。 蘑菇网络 **在本地索引您的仓库**(符号、文件、提交)并向 Cursor / Claude 返回 **精确的上下文数据包**,通过 MCP - 这样代理将专注于答案,而不是搜索。
这 **不是** 聊天记录或“代理记忆库”。这些工具优化了对话记忆。 蘑菇网络优化了 **从项目结构中高效检索** - 更强有力、更可演示的推介(节省 tokens 与粘贴文件 / 重新 grep)。
```text
Cursor / Claude ──MCP──► mycelium-mcp ──► Core :8787
Desktop (Vite) ──HTTP──────────────────► Core :8787
VS Code panel ──HTTP──────────────────► Core :8787
│
├── ~/.mycelium/data (indexes) ← primary
└── ~/.mycelium/vault ← optional decisions/ADRs
```
## 为什么选择蘑菇网络
| | |
|---|---|
| **Token 效率(headline)** | 紧密的搜索数据包 vs 每次会话都上传文件或 grep |
| **代码库优先索引** | 项目结构、符号、提交 - 不是对话记录 |
| **可衡量的影响** | 桌面 **Impact** 估计本地节省的 tokens(服务 vs 基线转储) |
| **默认私有** | 仅限 localhost;上传 / 远程 LLM 是可选的 |
| **三种界面** | 桌面控制台 · 编辑器侧面板 · 代理 MCP 工具 |
**vs 代理记忆 / “上下文库” 产品:** 它们记住的是您 **说过的话**。 蘑菇网络检索您的 **代码** 已经包含的内容。 可选的次要上下文(决策、ADRs)存储在思考库中 - 不是核心产品。
## 下载桌面版
安装打包的应用(核心已捆绑 - 无需 Python/Node):
- **最新版本:** https://github.com/Tyler-Hughes312/mycelium/releases/tag/v0.1.2-desktop
- **所有版本:** https://github.com/Tyler-Hughes312/mycelium/releases
- **安装说明(Gatekeeper / SmartScreen):** [docs/DESKTOP-INSTALL.md](docs/DESKTOP-INSTALL.md)
- **营销网站:** https://getmycelium.vercel.app
本地构建:
```bash
./scripts/package-desktop.sh # → .dmg under apps/desktop/src-tauri/target/release/bundle/
```
## 与 Cursor / Claude(MCP)一起使用
蘑菇网络 MCP 是代理获取索引上下文数据包的方式。 核心必须在 `127.0.0.1:8787` 运行(桌面应用 **或** `./scripts/dev.sh` / `mycelium serve`)。
### 1. 安装 MCP 桥接器
```bash
git clone https://github.com/Tyler-Hughes312/mycelium.git
cd mycelium
./scripts/install.sh # creates venv + mycelium-mcp
```
或将 Cursor 指向二进制文件的绝对路径:`…/mycelium/venv/bin/mycelium-mcp`。
### 2. 添加 MCP 配置(Cursor)
复制 [`templates/cursor/mcp.json.example`](templates/cursor/mcp.json.example) → `.cursor/mcp.json`:
```json
{
"mcpServers": {
"mycelium": {
"command": "/ABSOLUTE/PATH/TO/mycelium/venv/bin/mycelium-mcp",
"args": [],
"env": { "MYCELIUM_CORE_URL": "http://127.0.0.1:8787" }
}
}
}
```
可选代理规则:复制 [`templates/cursor/mycelium-mcp.mdc`](templates/cursor/mycelium-mcp.mdc) → `.cursor/rules/`。
### 3. 索引一次,然后询问
1. 打开桌面(或网络界面)→ **库** → 添加您的仓库 → **索引**
2. 重新加载 Cursor MCP
3. 请求代理使用 蘑菇网络(`mycelium_search` / `mycelium_focus`)而不是 grep 整个树
完整读写策略:[docs/AGENT-SECOND-BRAIN.md](docs/AGENT-SECOND-BRAIN.md) · 运维:[docs/DEPLOY.md](docs/DEPLOY.md#mcp-path-based)
## 从源码开发(≈15 分钟)
**需求:** macOS/Linux · Python 3.12+ · Node.js · git
```bash
git clone https://github.com/Tyler-Hughes312/mycelium.git
cd mycelium
./scripts/install.sh
./scripts/dev.sh # Core :8787 + Desktop :5173
```
打开 **http://localhost:5173** → 库 → 添加 `fixtures/dogfood-rate-limits` → 索引 → 搜索:`如何处理速率限制`。
| 界面 | 命令 |
|---|---|
| 生产核心 | `./scripts/run-core.sh` → `mycelium serve` |
| 桌面预览 | `./scripts/run-desktop.sh` → `:4173` |
| 原生桌面 | `./scripts/package-desktop.sh` 或 `cd apps/desktop && npm run tauri:dev` |
| VS Code / Cursor | `cd apps/vscode && npm run package` → 安装 `.vsix` |
| 代理(MCP) | `mycelium-mcp` — [第二大脑指南](docs/AGENT-SECOND-BRAIN.md) |
### 升级 / 卸载
```bash
git pull && ./scripts/install.sh # 保留 ~/.mycelium 数据
rm -rf venv # 仅限工具
rm -rf ~/.mycelium # 可选:清除存储库 + 索引
```
## 仓库布局
| 路径 | 角色 |
|---|---|
| [`apps/desktop`](apps/desktop) | Vite + React 控制台(库、索引、搜索、存储库、设置) |
| [`apps/web`](apps/web) | 营销网站(Vercel)— 参见 [apps/web/README.md](apps/web/README.md) |
| [`apps/vscode`](apps/vscode) | 侧面板上下文 + 新笔记(`.vsix`) |
| [`packages/ui`](packages/ui) | 共享芯片 / 结果行 |
| [`services/core`](services/core) | FastAPI 核心 + MCP 桥接器(`mycelium`、`mycelium-mcp`) |
| [`fixtures/dogfood-rate-limits`](fixtures/dogfood-rate-limits) | 用于第一个上下文的演示 Git 仓库 |
| [`docs/`](docs) | 部署、演示、测试、代理文档 |
## 文档
- [定位](docs/POSITIONING.md) — token 效率 vs 代理记忆产品
- [部署 / 运维](docs/DEPLOY.md) — 安装、MCP、发布关卡
- [连接 GitHub](docs/GITHUB.md) — 导入仓库进行跨仓库搜索
- [代理第二大脑](docs/AGENT-SECOND-BRAIN.md) — MCP 读写循环
- [演示脚本](docs/DEMO.md) · [测试清单](docs/DOGFOOD-CHECKLIST.md)
- [更新日志](CHANGELOG.md) · [许可证(MIT)](LICENSE)
## 故障排除
| 症状 | 修复 |
|---|---|
| 桌面核心离线 | `./scripts/run-core.sh` · 检查 `~/.mycelium/logs/` |
| 空白界面 / CORS | 核心在 `127.0.0.1:8787`;打开 `:5173` 或 `:4173` |
| `mycelium-mcp` 丢失 | 在 MCP 配置中使用 `…/venv/bin/mycelium-mcp` |
| 空搜索 | 索引工作区;第一次嵌入下载可能需要一分钟 |
| 扩展离线 | 设置 `mycelium.coreUrl` → 重试连接 |
## 维护者
```bash
./scripts/release-check.sh # 本地 CI 等价
cd services/core && ../../venv/bin/pytest -q
```
默认嵌入:`sentence-transformers/all-MiniLM-L6-v2`(缓存在 `~/.mycelium/models` 下)。
---
<p align="center">
<sub>为希望索引代码上下文的开发者而建 - 无需上传仓库或每次聊天都烧 tokens。</sub>
</p>