内容
<p align="center">
<img src="frontend/public/logo.png" alt="Pixelle Studio" width="400">
</p>
<p align="center">
<strong>🚀 用自然语言定义工作流 — 您的零代码 AI 文件专家</strong>
</p>
<p align="center">
<code>📄 全格式文档</code>
<code>🧠 自然语言 SOP</code>
<code>🔌 一键工具</code>
<code>🛡️ 稳定可靠</code>
<code>⚡ 智能 Token 管理</code>
</p>
<p align="center">
<a href="https://github.com/AIDC-AI/Pixelle-Studio"><img src="https://img.shields.io/github/stars/AIDC-AI/Pixelle-Studio?style=social" alt="GitHub Stars"></a>
<a href="https://github.com/AIDC-AI/Pixelle-Studio/blob/main/LICENSE"><img src="https://img.shields.io/github/license/AIDC-AI/Pixelle-Studio" alt="License"></a>
<a href="https://github.com/AIDC-AI/Pixelle-Studio"><img src="https://img.shields.io/badge/python-3.10+-blue.svg" alt="Python"></a>
<a href="https://github.com/AIDC-AI/Pixelle-Studio"><img src="https://img.shields.io/badge/Next.js-16-black.svg" alt="Next.js"></a>
</p>
<p align="center">
<strong>中文</strong> | <a href="README_CN.md">English</a>
</p>
---
**Pixelle Studio** 是一个开源的 AI 智能体工作空间,专为**专家级文件处理**而设计。只需用**自然语言描述您的工作流**,就可以将日常任务 SOP 转换为 AI 可执行的技能 — 无需复杂的变量传递或编码知识。您可以通过 MCP 插件外部工具,让智能体可靠地生成 PDF、PPT、Excel 文件等 — 具有三层容错机制,确保稳定可靠,并通过渐进式加载来节省 Token。
> 💡 **不仅仅是一个聊天机器人** — 用自然语言教 AI 您的工作流,以零代码方式打造专家级文件处理智能体。
<p align="center">
<img src="assets/main.png" alt="Pixelle Studio Main Interface" width="100%">
</p>
---
## ✨ 主要特点
<table>
<tr>
<td width="33%" align="center">
<h3>📄 专家级文件处理</h3>
<p>PDF、Excel、PPT、Word、Markdown、HTML<br>— 生成、预览和下载任意格式</p>
</td>
<td width="33%" align="center">
<h3>🧠 自然语言 SOP 技能</h3>
<p>用自然语言描述工作流,零代码<br>— 将任何人变成智能体专家,无需开发技能</p>
</td>
<td width="33%" align="center">
<h3>🔌 一键工具集成</h3>
<p>通过 MCP 插件搜索、地图、视频等<br>— 在几秒内扩展智能体的功能</p>
</td>
</tr>
<tr>
<td width="33%" align="center">
<h3>🛡️ 稳定可靠</h3>
<p>三层容错机制 + WebSocket 心跳<br>— 服务永不停止,长任务永不丢失</p>
</td>
<td width="33%" align="center">
<h3>⚡ 智能 Token 管理</h3>
<p>渐进式技能加载,节省 90%+ Token<br>— 智能上下文压缩,不会溢出</p>
</td>
<td width="33%" align="center">
<h3>🖥️ 安全持久执行</h3>
<p>内置 PTY 终端,智能安全过滤<br>— 多步骤代码执行,变量持久化</p>
</td>
</tr>
</table>
### 🎯 为什么选择 Pixelle Studio?
| 功能 | 传统 AI 聊天工具 | Pixelle Studio |
|---------|:---:|:---:|
| 文档生成 (PDF/PPT/Excel) | ❌ 仅限文本输出 | ✅ 生成文件,实时预览 |
| 代码执行 | ❌ 或依赖插件 | ✅ 内置持久终端,多步骤 |
| 自定义技能 | ❌ | ✅ 自然语言定义技能,零代码 |
| 外部工具 (MCP) | ❌ 封闭生态 | ✅ 开放协议,即插即用 |
| 上下文管理 | ❌ 被动截断 | ✅ 智能压缩,历史重建 |
| 多模型容错 | ❌ 单模型 | ✅ 三层容错 + WebSocket 心跳 |
| Token 消耗 | 🔴 加载全部上下文 | 🟢 渐进式按需加载 |
---
## 🖼️ 使用场景
### 1️⃣ 旅行规划
> 💬 *"我想从西雅图机场开车到雷尼尔山,能否请您帮我规划一下行程?我明天早上出发。"*
智能体加载地图技能 → 调用地图 API → 规划路线 → 生成行程文档,实时预览
<p align="center">
<img src="assets/from Seattle Airport to Mount Rainier.png" alt="Road Trip Planning" width="100%">
</p>
### 2️⃣ 深度研究 + PPT 生成
> 💬 *"设计一份关于 '2025 AI 技术趋势' 的专业 PPT 演示文稿,包括封面、目录、3 个内容幻灯片和一个总结页面。请使用现代、清洁的设计和专业的配色方案。"*
智能体组合多个技能 → 网络搜索 → 内容抓取 → 结构化分析 → 自动生成 PPT
<p align="center">
<img src="assets/ppt-gen1.png" alt="Deep Research + PPT Generation" width="100%">
</p>
### 3️⃣ Excel 数据分析与报告生成
> 💬 *"我有一个年度销售数据集。按季度汇总每个产品线的收入,计算同比增长率,突出显示异常值,并生成财务分析报告。"*
智能体读取原始 Excel → 数据清理和结构化 → 使用**原生 Excel 公式**(`SUM`/`VLOOKUP`/增长率公式,而非硬编码的 Python 值)进行汇总 → 条件格式突出显示异常值 → `recalc.py` 验证零公式错误 → 输出专业财务报告
**为什么更准确?** 传统 AI 工具在 Python 中计算数字并粘贴到单元格中 — 更改数据后,所有内容都会损坏。Pixelle Studio 坚持**原生 Excel 公式驱动**的输出,生成 "活" 的电子表格 — 编辑源数据,所有汇总、增长率和图表都会自动更新。
<p align="center">
<img src="assets/sales_data_analysis.png" alt="Excel Data Analysis & Reporting" width="100%">
</p>
### 4️⃣ HTML 游戏与交互内容
> 💬 *"为我创建一个贪吃蛇游戏。"*
智能体编写 HTML/CSS/JS → 生成可运行的游戏文件 → 内置预览,立即玩
<p align="center">
<img src="assets/files-html.png" alt="HTML Snake Game" width="100%">
</p>
### 5️⃣ 创建您自己的技能
不仅可以使用内置技能,还可以创建自己的技能来教智能体您独特的工作流:
<p align="center">
<img src="assets/skill-edit.png" alt="Skill Editor" width="100%">
</p>
---
## 🏗️ 架构
```
┌──────────────────────────┐
│ 前端 (Next.js) │
│ 聊天 + 技能 + 预览 │
└────────────┬─────────────┘
│ WebSocket
┌────────────▼─────────────┐
│ 后端 (FastAPI) │
│ 技能智能体核心 │
└────────────┬─────────────┘
│
┌────────────┬────────────┼────────────┬────────────┐
▼ ▼ ▼ ▼ ▼
┌─────────────┐┌──────────┐┌───────────┐┌───────────┐┌──────────┐
│ 9 内置工具 ││ PTY ││ 技能 ││ MCP ││ 上下文 │
│ 读取/写入 ││ 持久终端 ││ 渐进式 ││ 外部集成 ││ 管理器 │
│ 执行/外壳 ││ 会话 ││ 加载 ││ 工具 ││ 自动 │
└─────────────┘└──────────┘└───────────┘└───────────┘└──────────┘
```
### 技术深度解析
<details>
<summary><b>🔋 渐进式技能加载 — Token 高效的秘密</b></summary>
<br>
与传统方法将所有技能塞进系统提示不同,我们使用**三级渐进式加载**:
| 级别 | 内容 | Token 成本 | 何时加载 |
|-------|---------|-----------|-------------|
| 一级 | 技能元数据(名称 + 描述) | ~50 tokens/技能 | 每次对话 |
| 二级 | 完整的 SKILL.md 文档 | ~500-2000 tokens | 智能体按需加载 |
| 三级 | 辅助文件(脚本/引用) | 可变 | 智能体按需加载 |
**结果**:12 个内置技能仅消耗 ~600 tokens 的元数据,而传统方法可能需要 20,000+ tokens。
</details>
<details>
<summary><b>🖥️ 持久伪终端 (PTY) — 超越代码执行</b></summary>
<br>
基于 `pexpect`,我们的持久 Shell 会话超越一次性代码执行:
```python
# 变量在多个调用之间持久化!
shell_exec("import pandas as pd", shell_type="python")
shell_exec("df = pd.DataFrame({'a': [1,2,3]})", shell_type="python")
shell_exec("print(df.describe())", shell_type="python") # df 仍然存在!
```
**优势**:
- ✅ 变量持久化 — 状态在调用之间保持
- ✅ 多语言 — Bash / Python / IPython
- ✅ 智能安全 — 阻止危险命令,同时允许合法模式(例如 `python -c "stmt1; stmt2"`)
- ✅ 自动恢复 — 会话崩溃时自动重启
- ✅ 自动清理 — 空闲会话自动回收
</details>
<details>
<summary><b>🛡️ 三层容错机制 + WebSocket 心跳 — 服务永不停止</b></summary>
<br>
```
请求失败?
├─ 第一层:身份验证容错 → 切换 API 密钥 / 基地址
├─ 第二层:模型容错 → 切换到备用模型(gpt-4o → gpt-4o-mini → ...)
└─ 第三层:思考容错 → 降低思考深度
长任务?
└─ WebSocket 心跳 → 定期 ping 保持连接
```
即使主要模型遇到速率限制、超时或配额耗尽,系统也会自动切换到备用计划。对于 PPT 生成等长期任务,WebSocket 心跳保持连接 — 不再出现 "无信号" 断开。
</details>
<details>
<summary><b>📐 智能上下文管理 — 永不溢出</b></summary>
<br>
- **上下文窗口守护** — 实时 Token 使用监测,自动阈值警报
- **自动压缩** — 当上下文达到 ~70% 使用时,自动生成摘要以压缩历史
- **丰富历史重建** — 多轮对话保留工具调用、代码执行和文件输出,以实现连贯的上下文
- **多模型感知** — 自动检测模型上下文窗口大小(GPT-4o 128K / Claude 200K / Gemini 1M)
</details>
---
## 🔌 MCP 外部工具集成
通过 [Model Context Protocol](https://modelcontextprotocol.io/) 开放标准,轻松连接外部工具:
<p align="center">
<img src="assets/mcp-add.png" alt="MCP Configuration" width="100%">
</p>
**内置技能已支持这些 MCP 工具**:
| 工具 | 功能 | 用例 |
|------|----------|----------|
| 🔍 Exa 搜索 | AI 原生搜索引擎 | 深度研究,信息收集 |
| 🔍 Bing 搜索 | 通用网络搜索 | 实时信息查询 |
| 🗺️ AMap (高德) | 路线规划,POI 搜索 | 旅行规划 |
| 🌐 网络抓取 | 网络内容抓取 | 数据收集 |
| 🎬 社交媒体视频 | 视频内容解析 | 内容创作 |
> 您还可以集成任何兼容 MCP 的工具服务!
---
## 🚀 快速开始
### 要求
- **Python 3.10+** 和 [uv](https://docs.astral.sh/uv/getting-started/installation/) (Python 包管理器)
- **Node.js 20+** 和 npm
- **Docker & Docker Compose** (可选,用于容器化部署)
### 选项 1: 一键启动
```bash
# 1. 克隆仓库
git clone https://github.com/AIDC-AI/Pixelle-Studio.git
cd Pixelle-Studio
# 2. 一键启动(首次运行时自动安装依赖)
./start.sh
```
> 💡 启动后,打开 **http://localhost:3000**,点击右上角 ⚙️ **设置** 按钮配置您的 **API 密钥**、**基准 URL** 和 **模型**。
### 选项 2: Docker Compose(推荐用于部署)
```bash
# 1. 克隆仓库
git clone https://github.com/AIDC-AI/Pixelle-Studio.git
cd Pixelle-Studio
# 2. 构建并启动所有服务
docker compose up -d
# 3. 查看日志(可选)
docker compose logs -f
```
然后访问 👉 **http://localhost:3000** 并在 ⚙️ **设置** 中配置您的 API 密钥。
<details>
<summary><b>📦 Docker Compose 命令参考</b></summary>
<br>
```bash
docker compose up -d # 在后台启动所有服务
docker compose up # 在前台启动(直接查看日志)
docker compose down # 停止所有服务
docker compose logs -f # 跟随所有日志
docker compose logs -f backend # 仅跟随后端日志
docker compose up --build # 重新构建镜像并启动
docker compose ps # 显示正在运行的服务状态
```
**数据持久化**:以下数据通过 Docker 卷持久化:
- `backend-data` — SQLite 数据库
- `backend-scripts` — 生成的文件(PDF/PPT/Excel/HTML 等)
- `backend-skills` — 用户定义的技能
- `backend-logs` — 应用程序日志
要重置所有数据:`docker compose down -v`
</details>
### 选项 3:手动启动
```bash
# 后端
cd backend
uv sync # 安装 Python 依赖(自动创建 .venv)
npm install # 安装 Node.js 依赖(用于 PPT/文档生成技能)
.venv/bin/python3 -m uvicorn app.main:app --reload --host 0.0.0.0 --port 8001
# 前端(新终端)
cd frontend
npm install # 安装 Node.js 依赖
npm run dev # 启动开发服务器(端口 3000)
```
然后访问 👉 **http://localhost:3000** 并在 ⚙️ **设置** 中配置您的 API 密钥。
### 配置
**LLM 设置**(API 密钥,基准 URL,模型)通过网页界面 ⚙️ **设置** 面板配置 — 无需环境文件。
**基础设施变量**(仅需 Docker 或自定义部署):
| 变量 | 描述 | 默认值 |
|----------|-------------|---------|
| `FRONTEND_PORT` | 前端端口 | `3000` |
| `BACKEND_PORT` | 后端端口 | `8001` |
| `NEXT_PUBLIC_API_BASE` | 前端 → 后端 API URL | `http://localhost:8001/api` |
| `NEXT_PUBLIC_WS_BASE` | 前端 → 后端 WebSocket URL | `ws://localhost:8001/ws` |
| `JWT_SECRET` | JWT 签名密钥 | 自动生成 |
---
## 🛠️ 内置工具
Pixelle Studio 为智能体提供 **9 个即用工具**:
| 工具 | 功能 | 描述 |
|------|----------|-------------|
| `shell_exec` | 持久终端 | 多步骤执行,变量持久化和智能安全 |
| `exec` | 命令执行 | 一次性命令 / 后台任务 |
| `read_file` | 读取文件 | 支持技能文件和用户文件 |
| `write_file` | 写入文件 | 创建脚本 / 配置文件 |
| `edit_file` | 编辑文件 | 精确字符串替换 |
| `grep` | 搜索内容 | 支持正则表达式 |
| `find` | 查找文件 | Glob 模式匹配 |
| `ls` | 列出目录 | 智能限制以防止溢出 |
| `process` | 进程管理 | 监视 / 终止后台任务 |
---
## 📁 项目结构
```
Pixelle-Studio/
├── frontend/ # 前端 (Next.js 16 + React 19)
│ ├── app/ # 应用路由页面
│ ├── components/ # UI 组件
│ │ ├── layout/chat/ # 聊天界面
│ │ ├── layout/leftPanel/ # 侧边栏(会话 + 技能)
│ │ └── ui/ # 共享 UI 组件
│ ├── hooks/ # React 钩子
│ ├── lib/ # API 客户端
│ ├── types/ # TypeScript 类型定义
│ └── Dockerfile # 前端容器镜像
│
├── backend/ # 后端 (Python + FastAPI)
│ ├── app/
│ │ ├── agent.py # 智能体核心引擎
│ │ ├── tools/ # 9 个内置工具
│ │ ├── context/ # 上下文管理(守护 + 压缩)
│ │ ├── skills/ # 技能库
│ │ ├── config/ # 容错配置
│ │ └── routes/ # REST API 路由
│ ├── skills/ # 技能库
│ │ ├── default/ # 内置技能(PDF/PPT/Excel/搜索...)
│ │ └── <user_id>/ # 用户定义的技能
│ ├── scripts/ # 生成的文件存储
│ └── Dockerfile # 后端容器镜像
│
├── docker-compose.yml # Docker Compose 容器编排
├── assets/ # README 资产
└── start.sh # 一键启动脚本
```
---
## 🧰 技术栈
**后端**:Python 3.10+ · FastAPI · OpenAI API · WebSocket · SQLAlchemy · pexpect
**前端**:Next.js 16 · React 19 · TypeScript · Tailwind CSS
**基础设施**:SQLite · MCP 协议 · Docker Compose
---
## 🤝 贡献
我们欢迎所有贡献!无论是错误报告、功能建议还是代码提交。
1. 复刻仓库
2. 创建功能分支 (`git checkout -b feature/amazing-feature`)
3. 提交更改 (`git commit -m 'Add amazing feature'`)
4. 推送到分支 (`git push origin feature/amazing-feature`)
5. 打开拉取请求
---
## 📄 许可证
该项目使用 [Apache License 2.0](LICENSE) 许可证。
---
<p align="center">
<b>⭐ 如果这个项目对您有帮助,请给我们一个 Star!</b>
</p>
<p align="center">
<a href="https://github.com/AIDC-AI/Pixelle-Studio">GitHub</a> ·
<a href="https://github.com/AIDC-AI/Pixelle-Studio/issues">报告 Bug</a> ·
<a href="https://github.com/AIDC-AI/Pixelle-Studio/issues">请求功能</a>
</p>
MCP 配置
以下是此 MCP Server 的配置信息,可直接复制到 Cursor 或其他 MCP 客户端中使用。
mcp.json
连接信息
猜你喜欢
暂无推荐服务器