MBOpenClacky

AI Agent CLI tool rewritten in MoonBit

ai
agent
cli
llm
moon add hnlyxiaobing/MBOpenClacky@0.1.0
Download zip
Version
0.1.0
License
MIT
Last updated
last month
Downloads
3
README

#MBOpenClacky

使用 MoonBit 编程语言完全重写的 AI Agent CLI 工具。

#项目介绍

MBOpenClacky 是开源项目 openclacky 的 MoonBit 完整重写版本,已实现原项目全部核心功能并扩展至商业可用级别。

  • 原始项目clacky-ai/openclacky(Ruby)
  • 本项目语言:MoonBit
  • 完成度:~95%(后端 ~98%,Web 前端 ~95%,TUI ~95%,部署 ~95%)

#核心能力

指标数值
源代码文件309 个 .mbt(lib + cmd)
测试文件103 个 _wbtest.mbt(lib + cmd + test)
代码行数~85,000 行(源码 ~62,000 + 测试 ~23,000)
测试用例1,850+
包数24 个 lib 包 + 1 个 cmd 入口(含 lib/zip
Provider 预设12 个
内置工具14 个
REST API 端点~154 个
默认 Skill17 个
moon check0 errors(项目自身代码),~500 warnings
原生二进制~3.8 MB

#功能亮点

  • 多 LLM 后端:OpenAI / Anthropic / Bedrock / DeepSeek 等 12 种 Provider
  • MCP 协议:Stdio/HTTP 传输 + JSON-RPC 2.0 + 虚拟 Skill 映射
  • 6 平台 IM 渠道:飞书 / 企微 / Telegram / Discord / 钉钉 / 微信
  • Web 前端 SPA + REST API:暗色主题 + SSE 流式 + WebSocket 实时通信,默认端口 7071
  • 多模态处理:PDF/DOCX/PPTX/XLSX 解析 + Vision OCR + Media 生成
  • GEP 技能自进化:EvolutionEngine + SkillReflector + AutoCreator
  • Time Machine:文件快照与回滚
  • PTY 终端执行:真实交互式命令会话
  • TUI:基于 moonbit-community/tty 的 Inline Scrolling 架构


#核心技术优势

相较原 Ruby 实现,MoonBit 重写版带来:

  1. AOT 原生编译 — 单一可执行文件(~3.8MB),毫秒级启动,零运行时依赖
  2. 静态类型安全 — 代数数据类型、Checked Error、Option[T] 消除 nil 访问
  3. struct + trait 现代架构 — 显式 trait 实现 + AnyTool 枚举分发,替代 Ruby mixin 隐式耦合
  4. GEP 技能自进化系统 — 执行后反思 + 模式检测自动创建技能
  5. moon 一体化工具链 — build/check/test/fmt 开箱即用


#快速开始

# 安装依赖 moon update && moon install # 类型检查 moon check # 构建(显式指定 cmd 包,避免 moon #1488 bug) moon build --target native --release cmd # 运行 moon run cmd -- --message "Hello" # 非交互模式 ./_build/native/debug/build/cmd/cmd.exe # TUI 交互模式 moon run cmd -- --server # Web 服务(端口 7071) # 测试 moon test

详细的环境要求、安装步骤、配置指南和故障排除,请参阅 快速入门指南


#项目结构

MBOpenClacky/ ├── cmd/ # CLI 入口 ├── lib/ # 24 个库包 │ ├── agent/ # Agent 核心(ReAct 循环、会话、压缩、Time Machine) │ ├── client/ # LLM API 客户端(3 协议、12 Provider) │ ├── tool/ # 工具系统(14 个内置工具、PTY 终端) │ ├── skill/ # 技能系统 + GEP 进化引擎 │ ├── extension/ # 扩展系统(Loader/Verifier/Packager/Scaffold/Marketplace + API 路由分发) │ ├── mcp/ # MCP 协议(Stdio/HTTP + JSON-RPC) │ ├── channel/ # 6 平台 IM 适配器 │ ├── web/ # Web 服务器(~154 REST 端点、SSE、WebSocket)│ ├── tui/ # TUI 界面(moonbit-community/tty) │ ├── server/ # 运维(Cron、浏览器管理、备份、Git 面板) │ ├── config/ # 配置系统(TOML、12 Provider) │ ├── billing/ # 计费系统 │ ├── brand/ # 品牌配置 + AES-256-GCM 加密 │ ├── media/ # 媒体生成 │ ├── parser/ # 文档解析(PDF/DOCX/PPTX/XLSX) │ ├── vision/ # Vision OCR │ ├── pricing/ # 模型定价表 │ ├── message/ # 消息类型 │ ├── hook/ # Shell Hook 系统 │ ├── telemetry/ # 匿名遥测 │ ├── errors/ # 错误类型层次 │ └── utils/ # 工具函数 ├── test/ # Eval 框架(通用引擎 + TUI 适配层 + 场景) ├── assets/ # Agent 配置、技能、Web 前端 ├── specs/ # Harness 方法论(模板 + 活跃 spec + 归档) ├── codemaps/ # 代码地形索引 ├── .github/ # CI/CD 工作流 └── docs/ # 项目文档


#开发阶段

项目按 26 个阶段自底向上推进,全部已完成:

阶段内容
Phase 0-4项目脚手架 → 配置系统 → LLM 客户端 → 工具系统 → Agent 核心
Phase 5-8CLI 界面 → 会话持久化 → TUI 界面 → Web 服务器
Phase 9-11技能系统 → 增强功能(Memory/SubAgent/TodoManager)→ 核心补齐(Bedrock/Provider)
Phase 12-14MCP 协议 + 技能演进 → Agent 增强 → Web 前端 SPA + TUI 增强
Phase 15-17多模态 → 运维集成 → 商业扩展(IM 渠道/Brand/Hook/Telemetry)
Phase 18-22深度补齐 → 文档校准 → 业务功能补齐 → 差距填补方案实施
Phase 23-26部署阻碍修复 → API 扩展 + TUI 增强 → CI/CD + Harness + Codemaps → Web 管理面板全量实现


#当前状态与已知问题


#开源协议

MIT License — 与上游 openclacky 保持兼容。详见 LICENSE

#致谢

特别感谢原项目 clacky-ai/openclacky 的作者与贡献者,他们的设计与实现是本重写工作的全部起点。