logo
0
0
WeChat Login

Web Builder - AI 驱动的网页构建工具

一个集成 Kimi AI Agent 的智能网页开发环境。通过自然语言对话,让 AI 帮你写代码、改样式、加功能,实时预览效果。

🚀 在线 Demo: https://cnb.cool/xbotter/KWBD

✨ 功能特性

  • 🤖 AI 对话编程 - 用自然语言描述需求,AI 自动生成代码
  • 实时预览 - Vite 驱动,代码修改即时生效
  • 📝 智能输入 - 聊天框自动调整高度,支持多行输入
  • 📁 模板系统 - 可自定义项目初始化模板
  • 💬 会话管理 - 多会话支持,聊天记录持久化
  • 🔧 工具调用 - 实时显示 AI 工具调用状态

🚀 快速开始

本地开发

# 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 部署

# 构建镜像
docker build -t web-builder .

# 运行容器
docker run -d -p 8080:8080 web-builder

📖 使用指南

与 AI 对话修改代码

  1. 在右下角聊天框输入你的需求,例如:
    • "把按钮改成蓝色"
    • "添加一个计数器功能"
    • "优化页面布局"
  2. AI 会自动修改代码并刷新预览

工具调用状态

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/              # 项目工作目录(运行时创建)

🔌 API 参考

预览相关

方法路径说明
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删除会话

Agent 相关

方法路径说明
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_URICNB 代理地址-

📝 数据持久化

聊天记录

存储在 Kimi CLI 工作目录中(~/.kimi/sessions/{sessionId}/):

  • context.json - 对话上下文
  • wire.jsonl - 原始 Wire 消息

项目文件

存储在 PROJECTS_DIR 指定的目录中。

🔗 相关链接

📄 License

MIT License

About

No description, topics, or website provided.
Language
CSS58.7%
JavaScript34.7%
HTML4.8%
Shell1.6%
Others0.2%