CmdCode V0.5
🤖 智能 AI 编程助手 — 多模型 · WebUI · PAVR 循环 · QQ Bot
集 CLI 工具与 WebUI 界面于一体的 AI 编程助手,支持多模型切换(DeepSeek V4 / MiniMax M2.7 / GLM-5.1 / Doubao)、Plan-Act-Verify-Respond 智能执行循环、向量记忆系统,可作为 QQ Bot 提供服务。
🚀 在线体验
✨ 核心特性
🧠 多模型支持
| 模型 | 类型 | 特点 |
| DeepSeek V4 Flash/Pro | 推理模型 | ⚡ 快速推理 + 思维链展示 |
| MiniMax M2.7 (m1/m2/m3) | 通用模型 | 🎯 默认三池随机轮换 |
| GLM-5.1 | 通用模型 | 🏛️ 5个Key 429轮换 |
| Doubao-Seed-Code | 多模态 | 🖼️ 图片分析 |
| Doubao-Embedding | 向量模型 | 🔍 5个Key 429循环轮换 |
⚡ 前端直连模式
- 浏览器直接调用 LLM API,跳过后端中转
- 比后端转发快 ~13%(每轮省 ~900ms cpolar 隧道)
- API Key 加密存储在后端,前端永不暴露
- 使用切换:⚡ 前端直连 / 🔄 后端转发
🛠️ Plan-Act-Verify-Respond 循环
🤔 用户输入 → 🎯 意图识别 → 📋 执行计划 → ⚡ 智能执行 → 🔍 结果验证 → 💬 响应
📦 WebUI 功能
- 🎨 DeepSeek Chat 风格聊天界面
- 🏷️ 消息气泡 + Token 计数 + 模型标签
- 🧰 工具调用可视化(过程展开/收起)
- 🔐 用户登录注册 + workspace 隔离
- 💾 本地会话持久化
- 🔧 多模型切换 + API Key 管理
🤖 QQ Bot 集成
- 直接作为 QQ 平台 AI 助手运行
- 双通道消息架构(桥接服务 + 直调 API)
- 自动分段处理长回复
- 多 Hermes Agent 互联互通
🔐 安全架构
- 五重沙箱:CPU / 内存 / 进程 / 磁盘 / 网络
- 加密密钥存储(派生自机器特征)
- 用户注册 + 权限分级 + Workspace 隔离
🏗️ 项目结构
├── src/
│ ├── cli.ts # CLI 入口
│ ├── web.ts # Web 后端服务
│ ├── chat.ts # 对话引擎
│ ├── chat-enhanced.ts # 融合版 PAVR 引擎
│ ├── tools.ts # 沙箱工具执行器
│ ├── user.ts # 用户系统
│ ├── models.ts # 模型配置
│ ├── session.ts # 会话管理
│ ├── config.ts # 配置管理
│ ├── apikeys.ts # API Key 加密存储
│ │
│ ├── commands/ # CLI 命令模块
│ │ ├── repl.ts # REPL 主循环
│ │ ├── auth.ts # 登录/注册 (/register, /login)
│ │ ├── workspace.ts # 工作区管理
│ │ ├── model.ts # 模型切换 (/model)
│ │ ├── set.ts # 设置 (/set)
│ │ ├── session.ts # 会话管理 (/session)
│ │ ├── memory.ts # 记忆系统 (/memory)
│ │ ├── keypool.ts # 密钥池管理
│ │ └── help.ts # 帮助 (/help)
│ │
│ ├── intent/ # 意图识别(双路融合)
│ ├── planner/ # 执行计划生成与运行
│ ├── verifier/ # 结果验证(语法/类型/安全)
│ ├── resilience/ # 容错重试(4 种策略)
│ ├── memory/ # 向量记忆系统
│ │ ├── embedding.ts # Embedding + 429轮换
│ │ ├── vectorSearch.ts # 向量搜索
│ │ ├── rrf.ts # RRF 混合排序
│ │ ├── database.ts # SQLite 数据库
│ │ ├── sessionStore.ts # 会话存储
│ │ └── ...
│ └── ui/ # CLI UI 组件(进度条/对话框/状态)
│
├── webui/
│ └── index.html # WebUI 单页应用(完整聊天界面)
│
└── xiaoc/
└── cmdcode_api.php # PHP API 后端(注册/登录/Workspace)
🎯 意图识别
双路融合分类器:关键词快速匹配 + 向量语义搜索
- 关键词匹配优先(置信度 ≥0.5 直接返回,零延迟)
- 低置信度时自动启用向量语义搜索(种子库覆盖 10+ 意图类别)
- 支持研发日常用语、口语化表述的精准识别
| 类型 | 标识 | 说明 |
| 代码生成 | 💻 | 生成新代码 |
| 代码修改 | 🔧 | 修改现有代码 |
| 代码调试 | 🐛 | 调试错误 |
| 文件操作 | 📁 | 文件读写 |
| 命令执行 | ⚡ | 运行命令 |
| 代码审查 | 👀 | 审查代码 |
| 架构设计 | 🏗️ | 系统设计 |
| 解释说明 | 📖 | 解释代码 |
| 性能优化 | 🚀 | 优化性能 |
| 安全检查 | 🔐 | 安全审计 |
💻 WebUI 使用指南
- 登录:首次使用需注册账号(
/register <用户名> <密码>)
- 选择模型:WebUI 顶部选择框切换模型
- 选择模式:⚡ 前端直连 / 🔄 后端转发
- 开启 PAVR:🛠️ 按钮开启 Plan-Act-Verify-Respond 循环
- 工具调用:PAVR 模式下 AI 可执行代码、文件操作等
模型切换命令
| 命令 | 模型 |
/model minimax | MiniMax M2.7(默认) |
/model deepseek | DeepSeek V4 Flash |
/model glm | GLM-5.1 |
🚀 快速开始
CLI 模式
# 构建
bun run build
# 运行
bun run start
# 开发模式
bun run dev
WebUI 模式
# 启动后端服务(端口 3010)
bun run web
# 浏览器打开 webui/index.html
# 或访问: https://cmdcode.cn/webui.html
Web 终端模式
# 构建后通过 ttyd 提供服务
# 访问: http://localhost:8080 或 https://cmdcode.cn/
📋 执行计划
- 自动分析任务步骤
- 风险评估(LOW / MEDIUM / HIGH / CRITICAL)
- 用户确认交互 + 部分执行支持
- 步骤跳过/重试
🔍 验证系统
| 检查类型 | 说明 |
| 语法检查 | TypeScript / JavaScript 语法 |
| 类型检查 | 类型兼容性 |
| 安全检查 | 敏感信息、危险操作 |
⚡ 容错机制
错误分类
| 类别 | 严重度 | 可恢复 |
| 🌐 网络错误 | 🟡 中 | ✅ |
| ⏱️ 超时错误 | 🟡 中 | ✅ |
| 📝 语法错误 | 🟠 高 | ❌ |
| 🔤 类型错误 | 🟠 高 | ❌ |
| 💾 资源不足 | 🔴 严重 | ✅ |
| 🔐 权限错误 | 🟠 高 | ❌ |
重试策略
| 策略 | 说明 |
| ⚡ immediate | 立即重试 |
| 📈 linear | 线性等待 |
| 🚀 exponential | 指数退避 |
| 🔢 fibonacci | 斐波那契等待 |
🔧 API 使用
快速开始
import {
smartProcessor,
processUserInput,
generatePlan,
verify,
} from './src/engine'
// 快速意图识别
const result = await smartProcessor.quickProcess('写一个排序算法')
// 完整流程
const fullResult = await smartProcessor.process('创建用户注册功能')
自定义配置
import { createSmartProcessor } from './src/engine'
const processor = createSmartProcessor({
enableUI: false,
autoConfirm: true,
maxRetries: 5,
})
容错处理
import { withRetry, classifyError } from './src/resilience'
const result = await withRetry(
async () => { /* 操作 */ },
{ maxAttempts: 3, strategy: 'exponential' }
)
const classification = classifyError(error)
console.log(`${classification.category}: ${classification.message}`)
🧪 SWE-bench 测试
CmdCode 已通过 SWE-bench 实战评估,使用 Docker 容器化测试环境,验证 AI 修复真实开源项目 Bug 的能力。已成功完成 sqlfluff__sqlfluff 测试集的端到端修复。
评估框架:swe-bench/SWE-bench
📄 技术栈
| 类别 | 技术 |
| 运行时 | Bun / TypeScript |
| 后端 | Bun.serve + ttyd |
| 前端 | 原生 HTML/CSS/JS |
| 数据库 | SQLite + sqlite-vec |
| 向量模型 | Doubao-Embedding(火山引擎) |
| API 后端 | PHP + MySQL(用户系统) |
| 部署 | 新网香港虚拟主机 / cpolar 隧道 |
🔧 环境要求
- 运行时:Bun ≥ 1.2.x(非 Node.js)
- 存储:SQLite + sqlite-vec 向量数据库
- 内存:推荐 ≥ 4GB
- 网络:需访问 LLM API 端点
📝 License
MIT License
CmdCode — 让编程回归自然的对话体验