OpenMonoAgent.ai
本地运行的 AI 编程代理,零账单、零云依赖,一条命令安装即可使用
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
本地运行的 AI 编程代理,零账单、零云依赖,一条命令安装即可使用
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象这样一个场景:深夜两点,你正对一个紧急 bug 焦头烂额——云端 AI 代理的速度突然变慢,每秒只有几个 token,账单上的数字却还在蹭蹭往上涨。更让人不安的是,你的项目代码正在一次次发往第三方服务器,数据隐私成了一道无形的坎。
OpenMono 正是为解决这些问题而生。这是一个完全运行在本地的 AI 编程代理,使用本地 llama.cpp 推理引擎驱动,推理成本为零,代码永不离开你的机器。它由 StartupHakk 团队开发,采用 C#/.NET 10 构建,目标用户是那些既想要 AI 辅助编程效率,又不愿被云端订阅束缚的开发者。
当前主流的 AI 编程工具(如 Claude Code、GitHub Copilot)虽然功能强大,但存在两个根本性问题:按 token 计费的持续成本和数据隐私风险。每次 IDE 中的代码补全、每次代码审查,敏感的项目上下文都会经过第三方服务器。2026 年,随着 AI 编程工具深度融入开发流程,这两个问题越发尖锐——企业代码审计、合规要求以及对知识产权的担忧,使得"本地优先"(local-first)成为越来越多开发者的诉求。
OpenMono 的开发者敏锐地捕捉到了这一趋势。团队以 AGPL-3.0 开源许可发布了这款产品,明确承诺"永远免费、永远本地运行"。项目于 2026 年 4 月底首次提交,不到两个月便积累了超过 1500 颗星,增长速度相当可观。
如果用一句话概括 OpenMono 的定位,那就是"把 AI 编程工具做成基础设施,像装 Docker 一样装进开发机"。它不仅仅是把 API key 换成本地模型这么简单,而是一套完整的 agentic loop(代理循环)系统。
安装时,用户只需运行一行命令:
bash <(curl -fsSL https://raw.githubusercontent.com/StartupHakk/OpenMonoAgent.ai/refs/heads/main/get-openmono.sh)
安装脚本会自动检测本机硬件:检测到 NVIDIA GPU 时下载 CUDA 优化的模型(Qwen3.6-27B dense,约 60 tok/s);检测到 Apple Silicon 时使用 Metal 加速(约 45-48 tok/s);纯 CPU 环境则运行 Qwen3.6-35B-A3B MoE 量化版(约 20 tok/s)。安装完成后,用户在项目目录下直接运行 openmono agent 即可启动对话,无需配置任何 API key 或端点地址。
docker-compose.yml 揭示了架构的全貌:llama-server 容器运行 llama.cpp 官方镜像,agent 容器运行 .NET 10 CLI,两者通过 HTTP 交换(OpenAI 兼容协议)。这是两个独立的服务,用户可以替换其中任意一个——比如将 llama-server 换成 Ollama 或 vLLM 的兼容端点。
OpenMono 的代理循环(agentic loop)设计得非常精细。每个工具调用都经过 12 个步骤:JSON 解析 → Schema 验证 → 路径安全检查 → Plan 模式守卫 → 能力检查 → 结果缓存查找 → Pre-hook → 执行 → Post-hook → 大结果存储 → 缓存写入 → 文件缓存失效。读操作工具可以并行执行,写操作工具则串行执行。
Doom-loop 检测机制(连续 3 次相同工具序列自动中止)和上下文窗口管理(65% 时检查点、80% 时压缩)体现了一个成熟系统的工程素养——不是简单的"调用 LLM → 返回结果"循环。
内置工具覆盖了编程场景的方方面面:文件读写编辑、Glob/ Grep 搜索、Bash 命令执行、代码搜索(WebSearch/WebFetch)、Todo 管理、Playbook 剧本执行、子代理(AgentTool)、Roslyn 静态分析、LSP 工具等。其中 RoslynTool 直接调用 Microsoft.CodeAnalysis,能对 C# 代码进行深度的语义分析,这是大多数竞品不具备的能力。
MCP(Model Context Protocol)客户端支持动态加载外部 MCP 服务器。用户可以通过 YAML 配置文件注册任何 MCP 工具,OpenMono 会自动完成 JSON-RPC 握手、工具列表获取和动态注册。docs/assets 目录中内置了 code-review-graph 和 graphify 两个 MCP 服务器,用于代码审查图谱和图查询。
OpenMono 内置了 5 种专业子代理,每种有独立的工具集和最大迭代上限:
这种"专家分工"的设计比单一 agent 的全工具集调用更具可控性和可预测性。
默认启动会进入 TUI(终端用户界面)模式,使用 Terminal.Gui 库渲染出一个多面板交互界面,展示了思考过程、对话历史和工具调用状态。同时 OpenMono 在后台启动 ACP(Agent Communication Protocol)服务器(默认 7475 端口),支持 VS Code 扩展和 IDE 客户端连接。--classic 参数可以切换到传统滚动终端界面。
OpenMono 的代码结构高度模块化。src/OpenMono.Cli/ 目录下有 18 个子目录,核心模块包括:
| 模块 | 职责 |
|---|---|
Agents/ | 子代理定义和生命周期管理 |
Commands/ | 斜杠命令(/checkpoint、/compact、/plan、/retry 等 16 个命令) |
Config/ | 配置管理和持久化 |
Hooks/ | Pre/Post 钩子系统 |
Llm/ | LLM 客户端,支持 Anthropic 和 OpenAI 兼容两种协议 |
Lsp/ | Language Server Protocol 集成 |
Mcp/ | MCP 客户端实现 |
Memory/ | 跨会话记忆管理 |
Playbooks/ | 剧本系统(typed、composable) |
Tools/ | 20 个内置工具的实现 |
Tui/ | Terminal.Gui 渲染层 |
Session/ | 会话管理和 JSONL 持久化 |
NuGet 依赖也透露了技术栈的关键信息:Spectre.Console(终端 UI)、Terminal.Gui(TUI 渲染)、Markdig(Markdown 渲染)、YamlDotNet(配置解析)、Microsoft.CodeAnalysis.CSharp.Workspaces(Roslyn 静态分析)、TiktokenSharp(Token 计数)、SixLabors.ImageSharp(图像处理)。
代码质量方面,架构文档详尽(ARCHITECTURE.md、CONFIG.md、MODELS.md、PLAYBOOKS.md 齐全),子代理和工具系统有清晰的类型约束,整体符合企业级工程标准。
安装流程:get-openmono.sh 脚本处理 Git clone,调用 openmono setup 进行交互式配置,全程无需手动编辑任何文件。
启动模式:Docker Compose 提供三种 profile:
full:完整模式(llama-server + agent + TUI)agent:仅 agent(TUI 连接到远程 llama-server)server:仅 llama-server硬件需求:显存 16GB+(Q8 量化 Qwen3.6-27B),内存 32GB+,磁盘 20GB+。Apple Silicon Mac 用户使用 Metal 加速,显存要求变为统一内存 16GB+。纯 CPU 运行虽然可行,但速度较慢(约 20 tok/s),更适合轻量级任务。
值得注意的是,OpenMono 目前处于 Beta 状态(README 和 shields 均标注 BETA)。作为一个 2026 年 4 月才发布的新项目,仍存在一些局限性:
OpenMono 的出现代表了一个重要趋势:本地化 AI 编程工具正在从极客玩具走向生产可用。llama.cpp 推理性能的提升(Q8 量化下 60 tok/s 已接近可用的交互延迟)、.NET 10 的 AOT 编译支持、以及 Agentic Loop 设计模式的成熟,共同催生了这类产品。
从增长曲线看,2 个月内 1538 星的成绩说明市场需求强烈。但 AGPL-3.0 许可意味着任何对代码的修改也必须开源,对于商业产品集成来说存在一定障碍——这或许是团队有意为之的选择,用开源换社区信任。
总结:OpenMono 是一个架构成熟、设计精细的本地 AI 编程代理。它用 Docker + llama.cpp + .NET 10 的组合,重新定义了"AI 编程工具"的部署方式。对于追求数据隐私、厌恶订阅费用、或希望在离线环境使用 AI 辅助编程的开发者,它是一个值得关注的选择。当然,Beta 阶段的功能完整性和长期维护承诺仍需观察。