# AcpUI：一个支持多ACP提供商的本地Agentic工作流IDE

> AcpUI是一个开源的本地Web UI IDE，专为Agentic工作流设计，支持一个或多个ACP提供商，提供统一的聊天体验、画布工作区和工具编排能力。

- 板块: [Openclaw Llm](https://www.zingnex.cn/forum/board/openclaw-llm)
- 发布时间: 2026-05-29T19:45:05.000Z
- 最近活动: 2026-05-29T19:48:36.809Z
- 热度: 148.9
- 关键词: ACP, Agentic Workflow, AI Agent, Web IDE, Local AI, Multi-provider, Open Source
- 页面链接: https://www.zingnex.cn/forum/thread/acpui-acpagenticide
- Canonical: https://www.zingnex.cn/forum/thread/acpui-acpagenticide
- Markdown 来源: ingested_event

---

## 原作者与来源

- 原作者/维护者：BitsInBytes
- 来源平台：GitHub
- 原始标题：AcpUI
- 原始链接：https://github.com/BitsInBytes/AcpUI
- 来源发布时间/更新时间：2026-05-29T19:45:05Z

## 项目概述

AcpUI是一个轻量级、高性能的Web UI，专为基于ACP（Agent Communication Protocol）的AI代理设计。它的核心特点是严格的提供商无关性——只需更改单个配置目录即可切换整个后端身份。该项目在本地运行，生成原生的ACP守护进程，将JSON-RPC流解析为统一时间线，并提供高保真聊天界面，集成画布、终端、差异查看器和代码库文档浏览器。

## 架构设计

AcpUI采用分层架构设计，分为三个主要层级：

### 前端层

前端基于React、Vite和Zustand构建，具有零硬编码提供商引用的特点。所有品牌标识和模型信息都通过后端Socket动态获取，确保UI能够适应不同的ACP提供商而无需修改代码。

### 后端层

后端使用Node.js、Express和Socket.IO构建，包含以下核心组件：

- **通用ACP客户端**：处理与ACP守护进程的通信
- **会话管理**：维护用户会话状态
- **SQLite持久化**：存储会话、文件夹、笔记、工件和时间线数据
- **Stdio MCP代理**：用于工具执行的标准输入输出代理

### 提供商层

提供商层是AcpUI的核心创新点。每个提供商目录包含：

- `provider.json`：协议身份定义
- `branding.json`：UI标签和文本
- `user.json`：用户默认设置
- `index.js`：逻辑模块

这种设计使得应用加载时，任何无效的配置问题（包括格式错误的JSON和缺失的必需提供商定义）都会通过前端弹窗报告，列出受影响的路径。

## 核心能力

### 提供商无关的运行时

AcpUI支持多个ACP提供商的并发运行，每个提供商由独立的运行时管理。提供商注册表支持动态加载命令、模型、品牌标识、扩展协议和用户默认值。通过`AsyncLocalStorage`在后端异步工作中实现线程安全的提供商上下文。

### 统一聊天体验

统一时间线将思考过程、工具执行、权限请求和助手响应整合在一起。支持平滑的流式传输，具有记忆化的Markdown渲染和自适应打字机行为。其他功能包括：

- 动态工作区和聊天分支/分叉
- 分叉合并和压缩
- 自动标题生成
- 会话导出和桌面通知
- 文件和图片附件，支持每会话存储和自动图片压缩
- 配置后可通过本地whisper.cpp实现语音输入

### 画布与工作区

AcpUI集成了多种开发工具：

- 基于Monaco的文件查看/编辑，支持Markdown预览和"在VS Code中打开"入口
- 集成终端标签页
- Git文件列表，支持暂存/修改/未跟踪视图
- 并排差异渲染
- 全屏文件浏览器，用于工作区文件操作
- 应用内帮助文档浏览器，支持可搜索的只读代码库Markdown文档

### 工具与代理编排

AcpUI提供强大的工具编排能力：

- 每会话stdio MCP代理，将启用的AcpUI工具暴露给ACP代理
- 通过`ux_invoke_shell`执行Shell命令，支持实时终端输出、输入处理、调整大小和停止控制
- 通过`ux_invoke_subagents`、`ux_check_subagents`和`ux_abort_subagents`实现并行子代理编排
- 通过`ux_invoke_counsel`实现多视角咨询，包括倡导者、批评者、实用主义者和可选专家提示
- 可选IO工具，用于安全的文件读/写/替换、目录列表、全局搜索、grep和Web获取
- 配置API密钥和模型后，可选的基于Google搜索的接地工具

## 运行时流程

AcpUI的运行时流程可以用以下方式描述：

1. 浏览器UI（React + Zustand）通过Socket.IO事件与后端通信
2. 后端（Express + Socket.IO）通过stdio上的JSON-RPC与ACP守护进程通信
3. ACP守护进程返回会话更新和权限请求
4. 后端将统一时间线事件发送回UI
5. 后端与SQLite持久化存储和MCP工具调用代理交互

## 可靠性与本地优先安全

AcpUI在设计上注重可靠性和安全性：

- 握手保护、提供商运行时隔离、后台固定聊天预热和热恢复优化
- ACP守护进程在运行时故障期间的自动重启退避机制
- 后端监视模式重启期间的受控关闭
- 本地优先CORS策略，允许LAN访问同时阻止公共来源
- 敏感Shell命令和代理生成的主动审批工作流
- SQLite支持的会话、文件夹、笔记、工件和时间线持久化

## 实际应用场景

AcpUI适合以下场景：

1. **本地AI开发环境**：开发者可以在本地运行多个ACP提供商，比较不同模型的性能
2. **代理工作流原型设计**：通过可视化界面快速设计和测试代理工作流
3. **团队协作**：统一的IDE界面降低团队成员使用AI代理的门槛
4. **隐私敏感场景**：本地运行确保数据不会离开用户机器

## 总结

AcpUI代表了一种新的AI代理交互范式——提供商无关、本地优先、功能丰富。通过将多个ACP提供商整合到统一的IDE体验中，它为开发者和团队提供了灵活性和便利性。其架构设计考虑了可扩展性、可靠性和安全性，使其成为Agentic工作流开发的理想选择。
