Pi Agent Gateway 使用指南:给 Pi 配上可视化、可扩展的 Agent 工作台

Pi Agent Gateway 使用指南:给 Pi 配上可视化、可扩展的 Agent 工作台

使用 AI 编程工具时,真正影响日常体验的,往往是一些具体问题:对话记录怎么管理?Agent 正在读什么文件、执行什么工具?模型和扩展在哪里配置?如果想把这些能力接入自己的应用,需要重新写多少代码?

Pi Agent Gateway 为这些需求提供了一个实现起点:以 Pi Coding Agent 为运行基础,配上 Web 控制台,并将前后端通过 WebSocket 协议连接起来。

对使用者来说,它可以是一个本地 AI 编程工作台;对开发者来说,它也可以作为构建自定义 Agent 应用的参考工程。

项目地址:Fucheng-Wu/pi-agent-gateway

下面从实际需求、功能优势、上手方法和二次开发几个方面,看看这个项目适合怎样使用。

项目仓库提供的真实界面截图,使用全新配置,尚未进行模型对话。

一、它主要解决什么问题?

1. 希望在浏览器里使用 Pi,并查看执行过程

Pi Agent Gateway 提供了对话、模型选择、工具执行记录和会话切换等界面。如果更习惯图形化操作,可以在浏览器里完成这些操作,并查看流式回复和模型提供的思维输出。

这对于需要反复查看执行过程的任务比较有用。例如分析陌生代码库时,可以结合 Agent 的回复和工具记录,了解它读取了哪些文件,再判断分析是否有依据。

其中,模型调用和 Agent 执行能力来自 Pi 及其相关运行时;Gateway 的主要工作是组织后端服务、会话流程、权限处理和 Web 交互。

2. 希望把"分析方案"和"修改代码"分成两个阶段

直接让 Agent 处理任务时,有些使用者希望先讨论方案,明确范围,再进入实现。

项目提供 Plan / Build 主代理切换:

  • Plan 用于探索和规划,限制普通项目文件修改和命令执行。
  • Build 用于实施方案、修改代码和验证结果,具体执行范围由权限策略控制。

切换在会话空闲时进行,保留原会话历史、模型与思考强度。使用者不必为了从分析进入实现,重新创建一段对话或搬运上下文。

3. 希望集中配置模型和扩展资源

模型 Provider、Skills、插件、子代理、MCP,分别涉及不同的配置和资源。

Gateway 将这些管理入口放入设置界面,方便查看与调整。需要进一步定制时,仍然可以使用相应的文件配置和 TypeScript 扩展。

它更适合希望同时保留图形化入口和代码定制空间的使用者。

4. 想做自己的 Agent 应用,但不想从空目录起步

开发一个可交互的 Agent 应用,除了调用模型,还要处理会话创建与恢复、流式事件、工具记录、模型设置、断线状态和权限请求。

这个项目已经提供了一套贯通的前后端实现。二次开发时,可以沿用后端和共享协议,也可以参考它如何将 Pi SDK 的事件转成前端状态。

这可以减少一部分基础流程的重复实现;能节省多少工作,仍取决于目标应用与现有实现的差异。

二、从使用者角度看,有哪些优点?

优点 对日常使用或开发的意义
执行过程可见 可以查看文本、可用的思维输出、工具输入和结果,便于理解任务进展
Plan / Build 共享会话 从分析转入实现时可以保留上下文
模型配置有界面 可认证内置 Provider,或配置自定义兼容端点
保留 Pi 的资源机制 可以继续使用和组织 Skills、插件及相关扩展
支持角色定制 可围绕任务配置主代理、子代理、工具和技能范围
前后端分离 可以使用现有 Vue 界面,也可以接入自己的客户端
源码开放 采用 MIT 许可证,可在遵守许可条件的前提下修改和二次开发

这里的优势主要是操作入口集中、流程可见和可定制。代码生成质量、推理能力和响应速度,还会受到模型、提示词、上下文以及运行环境的影响。

关于权限确认,需要了解一个细节

当前内置 Build 角色默认允许常规的读取、检索、文件修改、命令执行及工具调用;通过文件或目录工具访问项目外路径、读取敏感环境文件时,会按策略请求确认。

所以,不能把它理解为"每次改代码都会弹窗"。如果希望对写入或命令执行采用更严格的确认方式,需要调整角色权限规则。

权限确认支持本次允许、本会话允许和拒绝,但它仍属于应用层控制,并不等同于操作系统沙箱。

设置页可管理模型、Skills、插件、子代理与 MCP。具体可用资源取决于运行时和本机配置。

三、适合哪些人群?

人群 适合的用法 需要具备的基础
已经使用 Pi 的开发者 增加 Web 操作入口,管理和查看本地会话 理解 Pi 的模型与项目配置
希望使用本地 AI 编程助手的程序员 阅读代码、讨论方案、修改项目、整理文档 会安装 Node.js、运行命令并配置模型
前端或全栈开发者 基于现有后端开发自己的 Agent 界面 熟悉 TypeScript 和 WebSocket;修改现有界面还需了解 Vue
学习 Agent 工程化的开发者 研究会话生命周期、事件转发、角色权限和扩展加载 能阅读前后端代码
需要定制工作流的个人或小型研发团队 在可信环境中验证角色、Skills 和工具组合 能维护本地服务并评估权限与数据边界

对于希望注册后立即使用、无需配置模型和开发环境的普通用户,目前仍有一定上手门槛。

如果目标是直接搭建面向多人的公共服务,还需要补充身份认证、租户隔离、工作目录限制和部署运维等能力。它目前更适合作为本地工作台或开发起点。

四、具体可以用它做什么?

场景一:理解一个刚接手的项目

将工作目录指向目标仓库,在 Plan 中提出:

阅读项目的入口、路由和核心模块,梳理一次请求的处理流程。给出相关文件路径,并说明还有哪些地方需要进一步确认。

可以结合工具记录核对它读取的文件,再继续追问某个模块。实际分析质量取决于模型能力和提供的上下文。

场景二:先讨论小改动,再进入实现

先让 Plan 明确影响范围:

找出这个表单校验逻辑的相关实现,提出一个最小修改方案,说明可能影响哪些调用位置,暂不修改代码。

确认方案后,等会话空闲,再切换到 Build:

按刚才确认的方案实现修改,并运行项目中已有的相关检查。说明修改了哪些文件,以及还有哪些结果需要人工确认。

这个流程适合希望参与决策、逐步推进任务的开发者。生成的改动和检查结果仍应自行审阅。

场景三:整理项目文档与重复任务

可以围绕已有项目,要求 Agent 整理接口说明、补充 README、解释配置项或提出测试建议。

对于反复执行的任务,还可以将约定整理成 Skills,例如文档格式、接口说明结构或代码审查关注点。后续通过相应资源加载机制复用这些指令。

场景四:定制职责明确的角色

项目支持自定义角色及工具、技能范围。例如,可以自行配置一个只读代码审查角色,专注于定位问题和输出建议;也可以为某个子代理配置专属 TypeScript 工具。

这里的"代码审查角色"是可自行配置的用法示例,不表示项目已经内置了完整的自动审查系统。

五、如何在本地使用?

第一步:准备环境并启动

需要 Git、Node.js 22.19+ 、pnpm 10.22.0,以及可用的模型服务。

如果没有安装 pnpm,可以执行:

bash 复制代码
npm install --global pnpm@10.22.0

然后克隆并启动:

bash 复制代码
git clone https://github.com/Fucheng-Wu/pi-agent-gateway.git
cd pi-agent-gateway
pnpm install
pnpm dev

浏览器打开:

text 复制代码
http://127.0.0.1:5173

开发模式下,前端会将 /ws 和 /api 转发至本地后端 127.0.0.1:3000。

第二步:连接模型

如果已经使用 Pi,后端默认读取 ~/.pi/agent/ 下的配置。

首次使用时,打开:

设置 → 模型 → 添加 Provider

可以选择内置 Provider 完成认证,也可以配置自定义兼容端点。自定义端点通常需要填写 API 类型、Base URL、API Key 和模型 ID;上游支持时,可以使用模型发现功能。

保存配置后,新建对话并选择模型。项目开源并不代表模型服务免费,调用使用自己的 Provider 凭证,可能产生上游费用。

第三步:指定要处理的项目

建议第一次尝试就设置目标项目路径,避免 Agent 操作了错误的目录。

停止开发服务,设置项目的绝对路径后重新启动。

Windows PowerShell:

powershell 复制代码
$env:PI_WORKSPACE_DIR = 'C:\path\to\your\project'
pnpm dev

macOS / Linux:

bash 复制代码
PI_WORKSPACE_DIR=/absolute/path/to/your/project pnpm dev

如果不设置,从仓库根目录执行 pnpm dev 时,Pi 默认使用 backend/ 作为工作目录。

第四步:从范围明确的任务开始

第一次使用时,可以选择 Plan,先要求它解释入口文件或梳理一个模块。确认工作目录、模型和会话行为符合预期后,再切换到 Build 处理小范围修改。

另外,PI_AGENT_DIR 可以指定独立的 Pi 配置与会话目录,适合希望把 Gateway 数据与其他 Pi 使用环境分开的场景。

六、能做哪些拓展?

下面的方向可以基于项目已有机制继续开发,并非全部已经开箱可用。

拓展方向 项目提供的基础 需要自行补充的部分
自定义 Web 工作台 独立后端、WebSocket 协议和共享类型 业务界面、交互流程与客户端状态处理
专用角色与子任务 主代理、子代理配置及工具、技能范围 具体提示词、工具实现和权限策略
面向特定任务的助手 Skills、插件、MCP 与 TypeScript 扩展入口 对应的数据源、服务接入和工作流验证
桌面客户端 可独立运行的本地后端 桌面外壳、打包、进程管理和更新机制
团队内部 Agent 服务 会话与事件处理的参考实现 身份认证、访问控制、数据隔离、审计和部署方案

例子:给自己的产品增加 Agent 面板

可以单独运行后端:

bash 复制代码
pnpm --filter ./backend dev

自己的客户端连接:

text 复制代码
ws://127.0.0.1:3000/ws

先完成 v1 握手:

json 复制代码
{"type":"init","protocolVersion":1,"requestId":"init-1"}

随后按协议创建或加载会话、选择模型与角色、发送任务,并消费带 sessionId 的事件。

完整接入还需要处理权限请求、错误和断线恢复。自定义浏览器客户端必须符合后端的 Origin 限制;换一个前端地址并不一定能直接连接。

协议与类型可参考:

例子:做一个面向项目知识的助手

可以通过自定义工具或 MCP 接入文档服务、搜索服务,再通过 Skills 约定回答结构。

但文档索引、检索质量、数据权限和更新机制,需要根据实际数据源实现。仅有 MCP 或 Skills 入口,并不意味着已经具备完整的知识库系统。

七、选用前还需要了解什么?

项目目前面向可信本地环境,默认监听 127.0.0.1,尚未提供用户身份验证和租户隔离。

此外,有几个会影响使用预期的行为:

  • 会话保存有时机要求:Pi 在首次产生助手消息后才写出会话文件,空对话不会在后端重启后保留。
  • 内存会话池有上限:最多保留 5 个活跃 AgentSession,被淘汰的会话可以从文件恢复;这不等于承诺五个并发任务的吞吐。
  • 子代理暂不支持续跑:目前使用一次性执行的子会话。
  • 构建与部署需要区分 :pnpm build 检查后端类型并生成前端静态文件,不会自动生成前后端合一的生产服务器。
  • 模型与扩展需要自行选择:模型质量、兼容性和工具能力取决于所配置的服务与资源。

如何判断它是否值得尝试?

如果需求是在本地以 Web 界面使用 Pi,查看执行过程,并逐步定制角色和工作流,Pi Agent Gateway 提供了比较集中的操作入口。

如果正在学习或开发 Agent 应用,它的前后端结构、共享协议和会话处理流程,也值得作为参考。

建议先用一个小项目验证安装、模型配置、Plan/Build 切换和任务执行,再判断是否适合日常使用或继续二次开发。

GitHub:Pi Agent Gateway

项目采用 MIT 许可证,是基于 Pi Coding Agent 的独立项目。使用或扩展时,可结合仓库的配置文档和当前代码了解具体行为。如果对工作流有帮助,可以通过 Star 收藏项目,通过 Issue 向维护者反馈问题。

本文依据项目当前代码与文档介绍功能,截图来自项目仓库。文中的任务提示词是使用示例,拓展方向是基于现有机制的开发建议,不代表相关产品能力已经全部实现。

相关推荐
AlfredZhao2 小时前
Vibe Coding 之前,先把这些准备工作做好
ai
效率工作实验室2 小时前
2026智能体平台推荐榜单:国内主流产品能力与选型分析
ai·agent平台·企业级智能体·智能体平台推荐·智能体选型
奇牙coding4 小时前
doubao-seed-2.1-pro 报 HTTP 401 怎么办?Key 正确也要检查请求头和端点
网络·数据库·http·ai
Ai-_Man10 小时前
Meta Muse还是不可以导出左侧所有对话,只能点进去单条内容导出,方法不对吗?
开发语言·人工智能·ai·小程序·c#·1024程序员节
秋饼10 小时前
Spring AI 2.1 Message Parts 深度实战:推理签名回放与跨轮记忆持久化的源码级落地
java·ai·技术分享·后端开发
Solange__10 小时前
影视预演怎么用AI生成3D场景?从分镜、Blockout到镜头交付的完整流程
人工智能·游戏·3d·ai·自然语言处理·aigc·游戏策划
又过二十10 小时前
Qwen-Image2.1游戏素材工坊:一句话,生成一整套游戏美术素材(一)
ai·aigc·comfyui·game·qwen-image·游戏素材
known12 小时前
用 C# + Blazor 开发智能体(Agent)教程
ai·blazor
todoitbo12 小时前
在 Ubuntu ARM64 上运行 Q1 V3.0 MuJoCo 模型:加载、步进和单执行器响应
linux·运维·ubuntu·ai·机器人·仿真教程·启元