目录

MBOpenClacky

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

项目介绍

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

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

核心能力

指标 数值
源代码文件 289 个 .mbt
测试文件 93 个 _wbtest.mbt
代码行数 ~81,165 行(源码 ~60,424 + 测试 ~20,741)
测试用例 1,850+
包数 23 个 lib 包 + 1 个 cmd 入口
Provider 预设 12 个
内置工具 14 个
REST API 端点 ~156 个
默认 Skill 17 个
moon check 0 errors(项目自身代码),~500 warnings
原生二进制 ~4.6 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 实时通信,默认端口 7070
  • 多模态处理: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 服务(端口 7070)

# 测试
moon test

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


项目结构

MBOpenClacky/
├── cmd/                # CLI 入口
├── lib/                # 23 个库包
│   ├── 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-8 CLI 界面 → 会话持久化 → TUI 界面 → Web 服务器
Phase 9-11 技能系统 → 增强功能(Memory/SubAgent/TodoManager)→ 核心补齐(Bedrock/Provider)
Phase 12-14 MCP 协议 + 技能演进 → 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 的作者与贡献者,他们的设计与实现是本重写工作的全部起点。

关于

使用MoonBit编程语言重写的 AI Agent CLI 工具, 原项目为OpenClacky

38.7 MB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号