项目结构¶
模块依赖关系¶
graph TB
subgraph APPS["📦 apps/desktop/ — Electron 前端"]
direction LR
MAIN["Main Process<br/>Window · IPC · Bridge"]
RENDERER["Renderer<br/>React · 15 功能页面"]
PRELOAD["Preload<br/>contextBridge API"]
end
subgraph MIQI["🐍 miqi/ — Python 后端"]
direction LR
AGENT["agent/<br/>AgentLoop · Context · Subagent"]
TOOLS["agent/tools/<br/>15 内置工具"]
BRIDGE["bridge/<br/>Bridge Server"]
MEMORY["agent/memory/<br/>Store · Lessons · Curator"]
TRACE["agent/trace/<br/>TraceStore · Embedder"]
PROVIDERS["providers/<br/>OpenAI · Anthropic · Gemini"]
SESSION["session/<br/>Manager · SQLite"]
CONFIG["config/<br/>Schema · Loader"]
CHANNELS["channels/<br/>飞书 · Telegram · Slack"]
CRON["cron/<br/>定时任务服务"]
end
subgraph MCPS["🔗 mcps/ — MCP 工具服务器"]
direction LR
RASPA["raspa-mcp"]
ZEO["zeopp-backend"]
MOFSTRUCT["mofstructure-mcp"]
PDFTL["pdftranslate-mcp"]
FEISHU["feishu-mcp"]
MIQRO["miqrophi-mcp"]
end
RENDERER --> PRELOAD --> MAIN
MAIN --> BRIDGE
BRIDGE --> AGENT
AGENT --> TOOLS
AGENT --> MEMORY
AGENT --> TRACE
AGENT --> PROVIDERS
BRIDGE --> SESSION
BRIDGE --> CONFIG
TOOLS --> MCPS
AGENT --> CHANNELS
AGENT --> CRON
目录结构¶
miqi-desktop/
├── miqi/ Python 后端
│ ├── agent/ 核心代理引擎
│ │ ├── loop.py AgentLoop — 消息处理主循环
│ │ ├── context.py ContextBuilder — 系统提示词构建
│ │ ├── subagent.py SubagentManager — 子代理管理
│ │ ├── tools/ 工具系统 (15个工具)
│ │ │ ├── web.py WebSearch / WebFetch
│ │ │ ├── filesystem.py ReadFile / WriteFile / EditFile / ListDir
│ │ │ ├── shell.py Shell 命令执行
│ │ │ ├── memory.py 长期记忆读写追加
│ │ │ ├── skill_manage.py 技能 CRUD
│ │ │ ├── session_search.py FTS5 跨会话搜索
│ │ │ ├── cron.py 定时任务创建
│ │ │ ├── papers.py 论文搜索/获取/下载
│ │ │ ├── spawn.py 子代理启动
│ │ │ └── task_trace.py Git 风格任务追踪 (begin/end/search)
│ │ ├── memory/ 记忆与自改进系统
│ │ │ ├── store.py MemoryStore + LessonStore
│ │ │ ├── lessons.py 经验教训状态机
│ │ │ └── skill_curator.py LLM 驱动的技能生命周期管理
│ │ └── trace/ 任务追踪 (Git 风格)
│ │ ├── store.py TraceStore (SQLite WAL + FTS5)
│ │ ├── model.py TaskTrace / TaskStep 数据模型
│ │ ├── embedder.py fastembed 向量嵌入与相似度搜索
│ │ └── migrate.py LESSONS.jsonl → TaskTrace 迁移
│ ├── bridge/ 与 Electron 的桥接通信
│ │ └── server.py Bridge Server (~2000行, 57 handler)
│ ├── providers/ LLM 提供商适配
│ │ ├── registry.py ProviderSpec 注册表
│ │ ├── openai_provider.py OpenAI 兼容适配
│ │ ├── anthropic_provider.py Anthropic Claude 适配
│ │ └── gemini_provider.py Google Gemini 适配
│ ├── config/ 配置管理
│ │ ├── schema.py Pydantic 配置模型
│ │ └── loader.py 配置文件加载与保存
│ ├── session/ 会话管理
│ │ ├── manager.py SessionManager
│ │ └── sqlite_store.py SQLite 存储后端
│ ├── channels/ 消息通道 (飞书/Telegram/Slack/邮件/...)
│ ├── cron/ 定时任务服务
│ ├── cli/ CLI 命令入口
│ ├── bus/ 内部消息总线
│ ├── heartbeat/ 心跳服务
│ ├── skills/ 内置技能模板
│ └── utils/ 工具函数
│
├── apps/desktop/ Electron 前端
│ ├── src/
│ │ ├── main/ 主进程
│ │ │ ├── index.ts BrowserWindow + IPC 注册
│ │ │ ├── bridge.ts BridgeManager (Python 子进程管理)
│ │ │ └── ipc/ IPC Handler 实现 + Zod 验证
│ │ ├── preload/
│ │ │ └── index.ts contextBridge 安全 API 暴露
│ │ ├── renderer/ 渲染进程 (React)
│ │ │ ├── App.tsx 路由导航核心
│ │ │ ├── components/ 共享组件 (Sidebar, ContextMenu)
│ │ │ ├── contexts/ React Context (RuntimeContext)
│ │ │ └── features/ 15个功能页面
│ │ │ ├── chat/ 聊天界面 (ChatConsole)
│ │ │ ├── sessions/ 会话管理 (SessionExplorer)
│ │ │ ├── providers/ LLM 提供商管理
│ │ │ ├── memory/ 记忆系统
│ │ │ ├── skills/ 技能管理 + SkillHub
│ │ │ ├── settings/ 设置页面
│ │ │ ├── setup/ 设置向导 (含 WSL2)
│ │ │ ├── mcps/ MCP 管理
│ │ │ ├── workspace/ 工作区管理
│ │ │ ├── cron/ 定时任务
│ │ │ ├── channels/ 消息通道
│ │ │ ├── approvals/ 命令审批
│ │ │ └── experience/ 经验面板
│ │ └── shared/ 共享类型 + IPC 常量
│ ├── electron-builder.yml 打包配置
│ ├── electron.vite.config.ts Vite 构建配置
│ └── package.json
│
├── mcps/ MCP 子模块 (git submodules)
│ ├── raspa-mcp RASPA2 分子模拟
│ ├── zeopp-backend Zeo++ 孔隙分析
│ ├── mofstructure-mcp MOF 结构分析
│ ├── mofchecker-mcp MOF 结构检查
│ ├── pdftranslate-mcp PDF 论文翻译
│ ├── feishu-mcp 飞书集成
│ └── miqrophi-mcp Miqrophi 科学计算
│
├── tests/ Python 测试 (27 个文件)
├── scripts/ 运维脚本
├── build/ PyInstaller 构建输出
├── dist/ Python 分发包
├── dist-new/ electron-builder 输出
├── docs/ 项目文档 (MkDocs Material)
│
├── pyproject.toml Python 项目配置
├── miqi.spec PyInstaller 打包规范
├── Dockerfile Docker 镜像定义
├── docker-compose.yml Docker Compose 编排
├── uv.lock Python 依赖锁定
├── mkdocs.yml 文档站点配置
├── README.md / README_zh.md 项目说明
├── ROADMAP.md 工程路线图
├── CHANGELOG.md 变更日志
├── CONTRIBUTING.md 贡献指南
└── LICENSE MIT 许可证