AI Agent CLI tool rewritten in MoonBit
Dependencies
使用 MoonBit 编程语言完全重写的 AI Agent CLI 工具。
| 指标 | 数值 |
|---|---|
| 源代码文件 | 299 个 .mbt(lib + cmd,不含测试) |
| 测试文件 | 197 个 _wbtest.mbt(lib + cmd + test/) |
| 代码行数 | ~148,600 行(源码 ~92,900 + 测试 ~55,700) |
| 测试用例 | 3,843 |
| 包数 | 24 个 lib 包 + 1 个 cmd 入口(含 lib/zip) |
| Provider 预设 | 13 个 |
| 内置工具 | 14 个 |
| REST API 端点 | 218 条路由注册(GET 90 / POST 86 / PATCH 15 / DELETE 18 / PUT 9) |
| 默认 Skill | 18 个 |
| moon check | 0 errors / 0 warnings |
| 原生二进制 | ~3.6 MB |
| 维度 | JSON 文件 | SQLite |
|---|---|---|
| 部署复杂度 | 零依赖,单文件即可运行 | 需链接 SQLite 库,增加二进制体积 |
| 可调试性 | 文本格式,可直接查看/编辑 | 二进制格式,需专用工具 |
| 并发需求 | 单用户 CLI 场景,无高并发 | 适合多进程/多线程并发写入 |
| 数据规模 | 会话数据量小(KB 级) | 适合大数据量(MB+) |
| 跨平台 | 纯文件操作,无平台差异 | 需处理不同平台 SQLite 兼容性 |
| 与原项目兼容 | 完全兼容 openclacky 会话格式 | 需额外迁移逻辑 |
# 安装依赖
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 testMBOpenClacky/
├── cmd/ # CLI 入口
├── lib/ # 24 个库包
│ ├── agent/ # Agent 核心(ReAct 循环、会话、压缩、Time Machine)
│ ├── client/ # LLM API 客户端(3 协议、13 Provider)
│ ├── tool/ # 工具系统(14 个内置工具、PTY 终端)
│ ├── skill/ # 技能系统 + GEP 进化引擎
│ ├── extension/ # 扩展系统(Loader/Verifier/Packager/Scaffold/Marketplace + API 路由分发)
│ ├── mcp/ # MCP 协议(Stdio/HTTP + JSON-RPC)
│ ├── channel/ # 6 平台 IM 适配器
│ ├── web/ # Web 服务器(218 条路由注册、WebSocket)
│ ├── i18n/ # 国际化(中英文翻译)
│ ├── tui/ # TUI 界面(行级重绘 + commit-scrollback + moonbit-community/tty)
│ ├── server/ # 运维(Cron、浏览器管理、备份、Git 面板)
│ ├── config/ # 配置系统(TOML、13 Provider)
│ ├── billing/ # 计费系统
│ ├── brand/ # 品牌配置 + AES-256-GCM 加密
│ ├── media/ # 媒体生成
│ ├── parser/ # 文档解析(PDF/DOCX/PPTX/XLSX)
│ ├── vision/ # Vision OCR
│ ├── pricing/ # 模型定价表
│ ├── message/ # 消息类型
│ ├── hook/ # Shell Hook 系统
│ ├── telemetry/ # 匿名遥测
│ ├── errors/ # 错误类型层次
│ ├── utils/ # 工具函数
│ └── zip/ # ZIP 压缩/解压
├── test/ # Eval 框架(通用引擎 + TUI 适配层 + 场景)
├── assets/ # Agent 配置、技能、Web 前端
├── specs/ # Harness 方法论(模板 + 活跃 spec + 归档)
├── codemaps/ # 代码地形索引
├── .github/ # CI/CD 工作流
└── docs/ # 项目文档AI Agent CLI tool rewritten in MoonBit
Dependencies