momozi1996/momo-code

GitHub: momozi1996/momo-code

一款具备双速自进化学习能力的本地优先 AI 编程命令行助手,支持多模型切换和从 Claude Code 无缝迁移。

Stars: 47 | Forks: 3

# MOMO CODE ``` ███╗ ███╗ ██████╗ ███╗ ███╗ ██████╗ ██████╗ ██████╗ ██████╗ ███████╗ ████╗ ████║██╔═══██╗████╗ ████║██╔═══██╗ ██╔════╝██╔═══██╗██╔══██╗██╔════╝ ██╔████╔██║██║ ██║██╔████╔██║██║ ██║ ██║ ██║ ██║██║ ██║█████╗ ██║╚██╔╝██║██║ ██║██║╚██╔╝██║██║ ██║ ██║ ██║ ██║██║ ██║██╔══╝ ██║ ╚═╝ ██║╚██████╔╝██║ ╚═╝ ██║╚██████╔╝ ╚██████╗╚██████╔╝██████╔╝███████╗ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝ ``` # MOMO CODE 🔥v1.0.0

官方网站 Hugging Face 切换中文


截屏2026-06-19 16 28 16 ## 架构 | 双速进化算法 |系统技术架构 | |------|----------| |AG|SS| ## 目录 - [功能](#features) - [安装说明](#installation) - [快速开始](#quick-start) - [用法](#usage) - [CLI 命令](#cli-commands) - [配置](#configuration) - [体验快速循环 (`/evolve`)](#experience-fast-loop-evolve) - [自进化训练 (`/fine-tune`)](#self-evolution-training-fine-tune) - [从 Claude Code 迁移](#migrating-from-claude-code) - [环境变量](#environment-variables) - [架构](#architecture) - [更新日志](#changelog) - [许可证](#license) ## 功能 - **25+ LLM 提供商** — Deepseek、Zhipu (GLM)、Moonshot (Kimi)、Claude、GPT-4、Gemini、Doubao、OpenRouter、Groq、Mistral 等。\chat` 命令仅使用 OpenAI 兼容协议` - **自定义提供商** — 通过 `MOMO_CUSTOM_*` 环境变量接入任何 OpenAI 兼容的 API - **模型分层** — 零配置选择:`ultra` / `standard` / `lite` - **体验快速循环 (`/evolve`)** — 通过 KEP 协议进行秒级 prompt 注入。从成功中提炼的战术通过 Thompson 采样自动选择 - **自进化训练 (`/fine-tune`)** — 通过 Monte Carlo Graph Search (MCGS) + LoRA 进行小时级的权重提升 - **Claude Code 互操作** — 无缝迁移,继承 `.claude/` 配置、MCP 服务器、prompt - **本地优先** — 你的代码永远不会离开你的机器。开源,可审计 - **Effect 驱动** — 使用 Effect 构建,实现可组合、类型安全的代码 ## 安装说明 ### 前置条件 - **macOS** 或 **Linux**(Windows 需通过 WSL) - **Node.js** ≥ 20.0.0 — 如果没有,请从 https://nodejs.org 安装 - **git** 和 **curl** 使用以下命令检查: ``` node -v # should print v20.x or later npm -v git --version curl --version ``` ### 快速安装(推荐) ``` curl -fsSL https://momozi.cc/install | bash ``` 安装程序将执行以下操作: 1. 将仓库克隆到 \`~/.momo/lib/momo-code\` 2. 运行 \`npm install\` + \`npm run build\`(大约 30-60 秒) 3. 在 \`~/.momo/bin/momo\` 放置一个包装脚本 4. 将 \`~/.momo/bin\` 添加到你的 \`~/.zshrc\` 或 \`~/.bashrc\` 的 PATH 中 **打开一个新的终端**(或运行 \`source ~/.zshrc\`),然后: ``` momo --version # 1.0.0 momo --help ``` 如果看到 \`command not found: momo\`,说明你的 PATH 没有生效 — 请参阅 [INSTALL.md](./INSTALL.md#troubleshooting)。 ### 从源码安装(手动) ``` git clone https://github.com/momozi1996/momo-code.git cd momo-code/packages/opencode npm install # installs all deps including TypeScript npm run build # compiles TS + fixes ESM imports node bin/momo --version ``` ### 从 npm 安装 ### 卸载 ``` # 移除安装构件 rm -rf ~/.momo # 从你的 shell rc 中移除 PATH 行 sed -i.bak '/# momo Code CLI/,+1d' ~/.zshrc # zsh sed -i.bak '/# momo Code CLI/,+1d' ~/.bashrc # bash ``` ### 1. 设置 API key ``` # 通用 key(适用于任何 provider) export MOMO_API_KEY=your-api-key # 或特定于 provider export MOMO_ANTHROPIC_API_KEY=sk-ant-... export MOMO_OPENAI_API_KEY=sk-... ``` ### 2. 开始编码 ``` # 交互模式 momo # 一次性任务 momo "Refactor auth to use Effect" # 使用模型层级 momo --model ultra "Complex architecture review" momo --model standard "Fix the login bug" momo --model lite "Quick code review" ``` ### 3. 首次运行 首次运行时,momo 会创建 `~/.momo/`: ``` ~/.momo/ ├── momo.jsonc # Config ├── sessions/ # History ├── experience/ # Learned tactics (auto-created) │ ├── tactics.json │ └── ledger.jsonl └── ... ``` ## 用法 ### 模型分层 | 分层 | 用例 | |------|----------| | `ultra` | 复杂任务,大上下文 | | `standard` | 日常编码工作 | | `lite` | 快速任务,低延迟 | ### CLI 选项 ``` momo [options] [prompt] Options: --model, -m Model ID or tier --provider, -p Provider --help Show help --version Show version ``` ## CLI 命令 ### 编码会话 ``` momo # Show help and banner momo "prompt" # One-shot task momo --model claude-sonnet-4 "task" ``` ### 体验快速循环 (`/evolve`) ``` momo /evolve # Run evolution with default settings momo /evolve --mode=explore # Favor exploration of new tactics momo /evolve --mode=harden # Favor proven high-win-rate tactics momo /evolve --mode=convention-only # Only convention-type tactics momo /evolve --list # Show all learned tactics momo /evolve --inject # Inject tactics for current task momo /evolve --solidify # Apply verdict, update stats ``` ### 自进化训练 (`/fine-tune`) ``` momo /fine-tune # Diagnose, show training proposal momo /fine-tune run # Execute training pipeline momo /fine-tune run --dry-run # Preview without executing momo /fine-tune status # Check training status momo /fine-tune promote # Promote candidate to production ``` ### 模型 ``` momo models list # List all models momo models info # Show model details momo models providers # Show available providers ``` ## 配置 ### 配置文件 (`~/.momo/momo.jsonc`) ``` { "$schema": "https://momocode.cc/config.json", "model": "standard", "provider": "anthropic", "inheritClaudeCode": true, "evolve": { "enabled": true, "auto": false, "clusterThreshold": 10, "budgetUSD": 50 } } ``` ## 体验快速循环 (`/evolve`) 体验快速循环(KEP — Knowledge Embedding Protocol)是 momo 独特的**秒级**学习系统。与需要数小时更新模型权重的 `/fine-tune` 不同,`/evolve` 通过 prompt 注入在**几秒钟内**学习并应用知识。 ### 工作原理 1. **观察** — 从会话中提取信号(测试通过/失败、编辑接受/拒绝、用户修正) 2. **提炼** — 将成功的模式转换为紧凑的 Tactic 卡片 3. **选择** — 通过 **Thompson 采样**(贝叶斯探索/利用)对 tactic 进行排名 4. **注入** — 将 top-k 的 tactic 插入到当前任务的系统 prompt 中 5. **巩固** — 应用判定结果,更新 Beta 分布统计数据 6. **提升** — 高置信度的 tactic 将升级为 `/fine-tune` 训练课程 ### 三种 KEP 资产 | 资产 | 描述 | |-------|-------------| | **Tactic** | 带有触发条件、步骤、检查点、护栏的紧凑策略卡 | | **Case** | 注入了 tactic 的成功任务记录 | | **Ledger** | 仅追加的审计日志 (JSONL) | ### Tactic 统计数据(Beta 分布) 每个 tactic 追踪一个 Beta(α, β) 分布: - α = 1 + 胜场,β = 1 + 负场 - 使用 **Thompson 采样** 平衡探索与利用 - 使用 **UCB1** 作为备选选择策略 ### 进化模式 | 模式 | 行为 | |------|----------| | `balanced`(默认) | 正常的探索/利用权衡 | | `explore` | 倾向于新 tactic,更广泛的采样 | | `harden` | 倾向于已证明有效的 tactic,更严格的选择 | | `convention-only` | 仅限约定类型的 tactic | ### 存储 学习到的 tactic 存储在 `~/.momo/experience/`: - `tactics.jsonl` — 所有 tactic 记录 - `ledger.jsonl` — 所有操作的审计日志 ### 环境变量 | 变量 | 描述 | 默认值 | |----------|-------------|---------| | `MOMO_XP_MODE` | 进化模式 | `balanced` | | `MOMO_XP_DIR` | 存储目录 | `~/.momo/experience` | ## 自进化训练 (`/fine-tune`) 权重慢速循环通过 fine-tuning 提升 momo 的**模型权重**。这在小时级的时间尺度上运行。 ### 工作原理 1. **信号挖掘** — 从会话中提取学习信号 2. **课程合成** — 构建训练数据(Gold/Hard-neg/Replay 切片) 3. **Monte Carlo Graph Search (MCGS)** — 探索训练 pipeline 空间 4. **LoRA Fine-tuning** — 训练候选模型 5. **Ratchet Gate** — 确保单调改进 ### 命令 ``` momo /fine-tune # Diagnose, show proposal momo /fine-tune run # Execute training momo /fine-tune run --dry-run # Preview momo /fine-tune status # Check status momo /fine-tune promote # Promote candidate ``` ### 配置 | 变量 | 描述 | 默认值 | |----------|-------------|---------| | `MOMO_EVOLVE_ENABLED` | 启用自进化 | `true` | | `MOMO_EVOLVE_AUTO` | 自动触发训练 | `false` | | `MOMO_EVOLVE_BUDGET_USD` | 最大训练预算 | `50` | ## 从 Claude Code 迁移 零摩擦迁移: 1. **配置继承**(默认开启) — 自动合并 `~/.claude/settings.json` 2. **MCP 服务器**(默认开启) — `.claude/mcp/` 开箱即用 3. **Prompt**(默认开启) — 可使用 `.claude/prompts/` ``` # 禁用继承 export MOMO_CLAUDE_CODE_INHERIT=false export MOMO_ONLY=1 ``` ## 环境变量 | 变量 | 描述 | |----------|-------------| | `MOMO_API_KEY` | 通用 API key | | `MOMO_HOME` | 主目录(默认:`~/.momo`) | | `MOMO_MODEL` | 默认模型/分层 | | `MOMO_PROVIDER` | 默认提供商 | | `MOMO_XP_MODE` | 进化模式 (balanced/explore/harden/convention-only) | | `MOMO_XP_DIR` | 体验存储目录 | | `MOMO_EVOLVE_ENABLED` | 启用自进化 | | `MOMO_EVOLVE_BUDGET_USD` | 训练预算 | | `MOMO_ANTHROPIC_API_KEY` | Anthropic key | | `MOMO_OPENAI_API_KEY` | OpenAI key | | `MOMO_OPENROUTER_API_KEY` | OpenRouter key | 完整列表:`src/env.ts` ## 架构 ### 双速进化 ``` ┌─────────────────────────────────────────────────────────┐ │ momo Code │ ├─────────────────────┬───────────────────────────────────┤ │ Experience Fast │ Weight Slow Loop │ │ Loop (/evolve) │ (/fine-tune) │ ├─────────────────────┼───────────────────────────────────┤ │ Timescale: seconds │ Timescale: hours │ │ Mechanism: prompt │ Mechanism: LoRA fine-tuning │ │ injection │ │ │ Selection: │ Search: Monte Carlo Graph │ │ Thompson/UCB │ Search (MCGS) │ │ Storage: JSONL │ Training: LoRA │ │ (~/.momo/xp/) │ Gate: Ratchet check │ │ Bridge: promoted │ Storage: model registry │ │ → curriculum │ │ └─────────────────────┴───────────────────────────────────┘ ``` ### Provider 层 ``` User Request | v resolveModel("standard") → BUILTIN_TIERS.standard | [claude-sonnet, gpt-4.1, ...] v getCredentials() → MOMO_*_API_KEY env | v Provider Factory → baseUrl, headers, timeout | v createModel() → LanguageModel adapter | v wrapSSE() → Streaming with 8min timeout ``` ### 项目结构 ``` packages/opencode/src/ ├── provider/ # 19 LLM provider integrations ├── evolve/ # Weight slow loop (/fine-tune) — MCGS ├── experience/ # Fast loop (/evolve) — KEP protocol │ ├── tactic.ts # Tactic model + Beta stats │ ├── selector.ts # Thompson/UCB selection │ ├── injector.ts # Prompt injection │ ├── gate.ts # Promotion ratchet │ ├── bridge.ts # Two-speed bridge │ └── ... ├── cli/cmd/ # CLI commands ├── session/ # Prompt routing ├── config/ # Configuration └── effect/ # Effect utilities ``` ## 测试结果 - **TypeScript**: `tsc --noEmit` — **0 错误** - **Runtime**: 17/17 个测试通过 - **CLI 验证**: `/evolve`, `/fine-tune`, `models`, `help` ## 更新日志 ### v1.0.0 (2026-06-16) **新增:** - 体验快速循环 (`/evolve`) — 带有 Thompson 采样的 KEP 协议 - 权重慢速循环 (`/fine-tune`) — MCGS 训练 pipeline - CLI 命令系统 — `/evolve`, `/fine-tune`, `models`, `help` - 跨越 provider/evolve/experience/cli 层的 53 个 TypeScript 模块 - 双速进化架构 - 用于 tactic 选择的 Beta 分布追踪 - 双速桥梁(提升的 tactic → fine-tune 课程) **变更:** - 产品名称:kqq Code → momo Code - bin/momo:CJS → ESM 命令路由器 - package.json:生产就绪导出,文件白名单 ## 许可证 [MIT](LICENSE) — 第三方归属说明请参阅 [NOTICE](NOTICE)。 另请参阅 [USE_RESTRICTIONS.md](USE_RESTRICTIONS.md) 和 [SECURITY.md](SECURITY.md)。
标签:AI编程助手, MITM代理, SOC Prime, 人工智能, 代码生成, 开发工具, 渗透测试工具, 用户模式Hook绕过, 网络调试, 自动化, 自动化攻击