MOZI

OpenMozi

English | 简体中文

> *没啥宏大的愿景,就是想手搓一个类似 OpenClaw 但更适合自己魔改的 Agent OS。致敬 OpenClaw,纯粹是为了搞通这一套底层运转的真实逻辑。*

住在你电脑里的个人 AI 助手。
用你的工具、在你的项目里干活、交付真实的文件——不是清谈。

--- ## MOZI 是什么 MOZI 是一个完全运行在你本机的桌面 AI Agent(可以理解为自托管的个人版 Codex)。选中一个项目文件夹、描述任务,它就去执行:跑 shell 命令、改文件、查资料、生成文档。它声称交付的每个产物都会先对照文件系统核验再报告完成——**不许假成功**。

MOZI——执行、自动化、治理

Composer 就是驾驶舱:选**项目**(任意文件夹或 git 仓库)、选要工作的 **git 分支**、选**权限级别**(只读 → 完全访问)、选**模型**,然后说需求。 ## 它能做什么 - **写代码** — 读真实仓库、写改文件、跑测试,在你指定的分支上干活。内置分支切换器做的是诚实的 `git switch`(绝不自动 stash、绝不强切;冲突时用 git 自己的报错中止)。 - **做文档** — 生成 Word / PPT / Excel / PDF,并且**在应用内直接预览**:docx 走高保真内嵌查看器、表格是可交互网格、幻灯片和 PDF 中文完整。本地跑一个 [ONLYOFFICE 容器](docker-compose.yml)预览还能升级成完整编辑器——可选项,不跑也会优雅降级。 - **做调研** — 搜网页、读页面和文件,把发现整理成结构化报告,以产物形式打开。 - **有记忆** — 跨会话长期记忆。说过一次,下周还记得。 - **能定时** — 定时/循环任务有专门的 UI,还有可复用的任务模板。 - **有技能** — 25 个内置技能([Anthropic 官方技能库](https://github.com/anthropics/skills)适配 MOZI 规范,加上 MOZI 自己的)。技能按需加载:模型平时只看到一行目录,任务需要时才拉取完整说明。往工作区丢一个 `SKILL.md` 就能加自己的技能。 ## 获取应用 桌面应用是使用 MOZI 的主要方式。请从 [GitHub Releases](https://github.com/spytensor/openmozi/releases) 下载最新的 Apple Silicon DMG 及校验文件。 > [!WARNING] > 当前 macOS 下载包**没有使用 Apple Developer ID 签名,也没有经过 Apple 公证**。Gatekeeper 可能提示“MOZI 已损坏”“无法打开”或“无法验证开发者”。移除隔离标记前,必须先将 DMG 的 SHA-256 与发布的 `openmozi--SHA256SUMS.txt` 对照。校验值只能确认下载的是 GitHub 发布产物,不能替代 Apple 代码签名信任。 校验一致后,把 `MOZI.app` 拖入 `/Applications`,再对这份已验证的应用移除隔离标记并打开: ```bash xattr -dr com.apple.quarantine /Applications/MOZI.app open -a /Applications/MOZI.app ``` 也可以自己从源码构建(macOS,Apple Silicon): ```bash git clone https://github.com/spytensor/openmozi.git cd openmozi corepack enable pnpm install pnpm desktop:pack:mac # → desktop/dist/mac-arm64/MOZI.app(拖进 /Applications) ``` 首次启动时创建本地账号、填入 LLM API key 即可。应用自带后端和数据管理——不需要单独跑服务。详见 [docs/DESKTOP-APP.md](docs/DESKTOP-APP.md)。 **要求:** 构建需要 Node.js >= 22.12 且 < 26。原生依赖将上限限制在 Node.js 26 以下,构建工具链则要求 22.12 及以上。运行 `corepack enable` 以使用仓库固定的 pnpm 版本(也可通过其他方式安装完全相同的 pnpm 版本)。可选增强:LibreOffice(幻灯片/PDF 预览转换)、Docker(ONLYOFFICE 编辑器级 Office 查看)。 ## 以服务方式运行(可选) MOZI 也可以无界面运行,配 Web UI——同一套运行时、同样的功能: 服务模式支持 Linux x64/arm64 和 macOS Apple Silicon。由于向量数据库依赖未发布 macOS x64 二进制,Intel Mac 不受支持。 ```bash pnpm mozi onboard # 交互式配置:选 provider、填 API key pnpm start # Web UI 在 http://localhost:9210 ``` 服务模式的配置在 `~/.mozi/mozi.json`(JSON,不是 YAML)。用 `pnpm mozi config get brain` / `pnpm mozi config set brain.model ` 查改,或重跑 `pnpm mozi onboard --update`。 ## LLM 提供商 MOZI 兼容任何 OpenAI 风格 API——目录里有 27 个提供商,随时切换,数据和历史不丢。 | 提供商 | 配置 | 备注 | |--------|------|------| | **MiniMax** | `MINIMAX_API_KEY` | 默认提供商(MiniMax-M3) | | **OpenAI** | `OPENAI_API_KEY` | GPT 系列 | | **Anthropic** | `ANTHROPIC_API_KEY` | Claude 系列 | | **Google Gemini** | `GEMINI_API_KEY` | Gemini Pro/Flash | | **DeepSeek** | `DEEPSEEK_API_KEY` | DeepSeek V 系 / R 系 | | **Qwen / 阿里云百炼** | `DASHSCOPE_API_KEY` | 通过 Model Studio / DashScope 使用千问模型 | | **Moonshot** | `MOONSHOT_API_KEY` | Kimi 模型,长上下文 | | **Groq** | `GROQ_API_KEY` | 极速推理 | | **Ollama** | 本地安装 | 完全本地、完全私有 | | | | ……以及另外 18 家(xAI、Mistral、Together、OpenRouter、NVIDIA、Bedrock 等) | 国内平台可通过 `_BASE_URL` 覆盖区域端点。 如果 Docker 位于会拦截 TLS 的企业网络中,构建时传入企业代理的公开根证书: ```bash export MOZI_EXTRA_CA_CERT_B64="$(base64 < company-root-ca.pem | tr -d '\n')" docker compose up -d --build ``` 该证书会加入两个构建阶段。这个变量只能放公开证书,绝不能放私钥。 ## 架构 ``` 你(桌面应用 / Web UI) --> Gateway(会话、认证、权限级别) --> Brain(LLM 推理、规划、工具调用) --> Capabilities(shell、文件、搜索、技能、子代理) ``` LLM 是唯一的决策者;其余一切都是执行其决策、并把真实结果汇报回去的基础设施。深入阅读: - [架构图](docs/architecture.svg) - [运行时提示词架构](docs/RUNTIME-PROMPT-ARCHITECTURE.md) - [Constitution](docs/CONSTITUTION.md) ## 开发 ```bash pnpm dev # 后端 watch 模式 pnpm ui:dev # Web UI 开发服务器(热更新) pnpm test # 全量测试(vitest,真实 API 调用) pnpm desktop:dev # 桌面应用开发模式 ``` ``` src/ core/ # Brain:LLM 循环、模型路由、提供商故障切换 gateway/ # 会话、认证、权限级别 capabilities/ # shell、文件系统、搜索、视觉 skills/ # 技能注册表 + 25 个内置 SKILL.md memory/ # 长期记忆、向量存储 store/ # SQLite(better-sqlite3) ui/ # React + Vite 桌面/网页 UI desktop/ # Electron 壳 + 打包 ``` 技术栈:TypeScript、Node.js 22、Fastify、better-sqlite3、Vercel AI SDK、React + Vite、Electron、Vitest。 ## 参与贡献 提交 Issue 或 PR 前请先阅读 [CONTRIBUTING.md](CONTRIBUTING.md)。请使用结构化 GitHub 表单,安全漏洞必须私下报告,禁止附带凭据或私人数据。 1. 先读 `AGENTS.md`、`CLAUDE.md` 和 `docs/CONSTITUTION.md` 了解仓库规则。 2. 提交前运行相关测试和 `pnpm verify:public-export`。 3. 提交信息约定:`feat:` / `fix:` / `refactor:` / `docs:` / `test:` / `chore:`。 ## Release GitHub Actions 有意保持关闭。Release 在本地完成构建和验证,再将 DMG、ZIP、SHA-256 校验文件及发布清单上传到 [GitHub Releases](https://github.com/spytensor/openmozi/releases)。详见 [docs/RELEASE.md](docs/RELEASE.md)。 ## 致谢 向 [OpenClaw](https://github.com/openclaw/openclaw) 项目致以最深的敬意——它是 OpenMozi 最主要的架构灵感来源。 ## 许可 OpenMozi 自有源代码采用 [MIT License](LICENSE)。 OpenMozi 同时依赖若干采用各自许可协议的第三方软件。尤其是可选的 React 交互预览包含 CodeSandbox Nodebox,其 Sustainable Use License 对商业使用与 分发有限制。重新分发 OpenMozi,或将该预览用于商业场景前,请阅读 [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md) 及随包附带的完整许可文本。 ---

MOZI——为你干活的 AI,而不是反过来。