一个集成 Kimi AI Agent 的智能网页开发环境。通过自然语言对话,让 AI 帮你写代码、改样式、加功能,实时预览效果。
🚀 在线 Demo: https://cnb.cool/xbotter/KWBD
# 1. 克隆项目
git clone https://cnb.cool/xbotter/kimi_web_builder
cd web-builder
# 2. 安装服务端依赖
cd server && npm install
# 3. 确保已安装 Kimi CLI
which kimi # 如未安装请参考 https://moonshotai.github.io/kimi-cli/
# 4. 启动服务
npm start
# 5. 访问 http://localhost:8080
# 构建镜像
docker build -t web-builder .
# 运行容器
docker run -d -p 8080:8080 web-builder
AI 执行工具调用时会显示简洁的状态图标:
○ Used toolName - 等待执行✓ Used toolName - 执行成功✗ Used toolName - 执行失败模板文件位于 templates/vanilla/ 目录:
templates/
└── vanilla/
├── index.html # 页面结构
├── main.js # JavaScript 逻辑
├── style.css # 样式文件
└── .gitignore # Git 忽略配置
修改模板文件后,新项目或重置时会自动应用更改。
┌─────────────────────────────────────────────────────────┐
│ 前端 (Client) │
│ ┌─────────────────┐ ┌──────────────────────────────┐ │
│ │ 预览窗口 │ │ AI 聊天框 │ │
│ │ - Vite 实时预览 │ │ - 自然语言输入 │ │
│ │ - 全屏/刷新 │ │ - 流式响应显示 │ │
│ │ - 下载项目 │ │ - 工具调用状态 │ │
│ └─────────────────┘ └──────────────────────────────┘ │
└──────────────────────────┬──────────────────────────────┘
│ WebSocket / HTTP
┌──────────────────────────┴──────────────────────────────┐
│ 后端 (Server) │
│ ┌───────────────────────────────────────────────────┐ │
│ │ Express API │ │
│ │ - /api/preview 启动/停止 Vite 预览 │ │
│ │ - /api/sessions 会话管理 │ │
│ │ - /api/agent/chat 发送消息给 AI │ │
│ └───────────────────────────────────────────────────┘ │
│ ┌───────────────────────────────────────────────────┐ │
│ │ Agent Bridge (Kimi Wire Mode) │ │
│ │ - JSON-RPC 2.0 通信 │ │
│ │ - 消息转发到前端 │ │
│ └───────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────┘
web-builder/
├── .env.example # 环境变量配置示例
├── Dockerfile # Docker 镜像配置
├── README.md # 本文件
├── bin/
│ └── web-builder # 启动脚本
├── client/ # 前端代码
│ ├── index.html
│ ├── style.css
│ ├── app.js
│ └── modules/ # JS 模块
├── server/ # 后端代码
│ ├── index.js # 主入口
│ ├── agent-bridge.js # AI Agent 桥接
│ ├── session-store.js # 会话存储
│ └── package.json
├── templates/ # 项目模板
│ └── vanilla/ # Vanilla JS 模板
│ ├── index.html
│ ├── main.js
│ ├── style.css
│ └── .gitignore
└── projects/ # 项目工作目录(运行时创建)
| 方法 | 路径 | 说明 |
|---|---|---|
| POST | /api/preview | 启动 Vite 预览服务器 |
| DELETE | /api/preview | 停止预览服务器 |
| GET | /api/preview | 获取预览状态 |
| POST | /api/project/reset | 重置项目为模板状态 |
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /api/sessions | 列出所有会话 |
| POST | /api/sessions | 创建新会话 |
| POST | /api/sessions/:id/switch | 切换到指定会话 |
| DELETE | /api/sessions/:id | 删除会话 |
| 方法 | 路径 | 说明 |
|---|---|---|
| POST | /api/agent/chat | 发送消息给 AI |
| POST | /api/agent/cancel | 取消当前对话 |
| GET | /api/agent/history | 获取聊天记录 |
| DELETE | /api/agent/history | 清空聊天记录 |
| 变量 | 说明 | 默认值 |
|---|---|---|
PORT | 服务端口 | 8080 |
PROJECTS_DIR | 项目存储目录 | /workspace |
TEMP_DIR | 临时文件目录 | /data/temp |
CNB_VSCODE_PROXY_URI | CNB 代理地址 | - |
存储在 Kimi CLI 工作目录中(~/.kimi/sessions/{sessionId}/):
context.json - 对话上下文wire.jsonl - 原始 Wire 消息存储在 PROJECTS_DIR 指定的目录中。
MIT License