随着 Claude Code、OpenAI Codex、GitHub Copilot CLI 等编码代理工具的快速涌现,开发者面临一个日益突出的问题:每个代理都有独立的交互界面、配置体系和会话管理机制。Paseo 作为一个开源的编码代理统一界面层,通过 daemon 架构将多代理管理、跨端同步和可视化编排整合为一体化解决方案。
核心架构:Daemon 与多客户端模型
Paseo 采用经典的客户端 - 服务器架构,核心是一个本地运行的 daemon 进程,负责代理进程的启动、监控和通信编排。daemon 通过 WebSocket API 暴露服务,支持桌面应用(Electron)、移动端(Expo/React Native)、Web 界面和 CLI 四种客户端形态同时连接。
这种架构的关键优势在于状态集中化。所有代理会话的生命周期、输出流和工具调用记录都由 daemon 统一管理,客户端仅负责渲染和交互。当用户从桌面切换到手机时,只需扫描二维码即可无缝接管当前会话,无需重新建立代理连接或丢失上下文。
daemon 默认监听 127.0.0.1:6767,配置存储于 ~/.paseo/config.json,支持通过环境变量和 CLI 参数覆盖。对于远程访问场景,Paseo 提供 relay 模式,可通过 WebSocket 代理实现跨网络连接,并支持 TLS 加密和基于 bcrypt 的密码认证。
会话流管理:进程编排与状态同步
Paseo 的会话管理围绕 "代理进程" 这一核心抽象展开。每个编码代理(如 Claude Code、Codex)在 Paseo 中被视为一个 provider,daemon 负责将其封装为可管理的子进程。
会话流的编排涉及三个关键机制:
进程生命周期管理:daemon 以子进程方式启动底层代理 CLI,捕获其 stdout/stderr 流,并通过伪终端(PTY)实现双向交互。这种设计允许 Paseo 在保留代理原生交互能力的同时,实现会话的暂停、恢复和迁移。
流式输出同步:代理生成的输出通过 WebSocket 实时推送到所有连接的客户端。Paseo 实现了输出流的序列化保证,即使在网络波动或客户端切换时,用户也能看到完整的执行历史。
多会话并行:daemon 支持同时运行多个代理实例,每个实例拥有独立的 worktree 和上下文。用户可以通过 paseo ls 查看活跃会话,使用 paseo attach <id> 切换到指定会话的实时输出流。
工具调用可视化:Skills 系统与代理协作
Paseo 最具特色的设计是其 Skills 系统,它将代理间的协作模式抽象为可复用的编排原语。通过 npx skills add getpaseo/paseo 安装后,用户可以在任何代理对话中调用以下命令:
/paseo-handoff:实现代理间的任务移交,例如在 Claude 完成架构设计后将实现工作转交给 Codex/paseo-loop:针对明确验收标准循环执行代理任务,支持自动验证机制/paseo-advisor:启动独立代理作为顾问提供第二意见,但不转移工作控制权/paseo-committee:组建多代理委员会进行根因分析和方案评审
这些 Skills 的可视化体现在会话流的树状展示上。Paseo 界面会清晰标注当前任务由哪个代理执行、处于什么阶段、以及与其他任务的依赖关系。这种设计将原本黑盒的代理协作过程转化为可追溯、可干预的显式工作流。
实时代码渲染:Worktree 与 Diff 管理
编码代理的核心产出是代码变更,Paseo 通过 worktree 机制实现代码隔离和版本追踪。每个代理会话默认在 $PASEO_HOME/worktrees 下创建独立的 Git worktree,避免不同代理任务之间的代码冲突。
代码变更的实时渲染涉及以下工程细节:
PR-aware 工作流:Paseo 集成 GitHub CLI(gh),能够识别当前分支关联的 Pull Request,将代理的代码变更与 PR 上下文关联。这使得代理可以在现有 PR 的基础上继续工作,而非每次都创建新的代码分支。
增量 Diff 推送:代理执行代码修改时,daemon 通过文件系统监控或代理输出的结构化日志捕获变更,计算增量 diff 并通过 WebSocket 推送到客户端。前端使用 Monaco Editor 或类似组件实现 side-by-side diff 视图,支持语法高亮和行级标注。
变更审核机制:对于关键操作,Paseo 支持在应用代码变更前进行人工确认。这通过拦截代理的文件系统调用或解析其输出中的 "建议变更" 区块实现,在安全性与自动化之间取得平衡。
工程实践:配置、安全与扩展性
Paseo 的配置系统采用分层设计,优先级从高到低依次为:CLI 参数、环境变量、config.json 默认值。这种设计便于在不同部署场景(本地开发、远程服务器、CI/CD)间灵活切换。
安全方面,Paseo 遵循 "隐私优先" 原则:
- 无遥测、无强制登录、无云端数据存储
- 所有代理凭据保留在用户本地环境
- 远程访问支持密码认证和 TLS 加密
- 仅
/api/health端点豁免认证,便于进程监控
扩展性方面,Paseo 通过 MCP(Model Context Protocol)服务器集成外部工具,并通过 ACP(Agent Client Protocol)支持自定义代理接入。目前已支持 25+ 种编码代理,包括 Cursor、Gemini、Kimi、Qwen Code 等。
局限与适用场景
Paseo 的设计也带来一些使用约束。首先,用户必须自行安装和配置底层代理 CLI(如 Claude Code、Codex),Paseo 本身不提供代理能力。其次,同时运行多个代理进程会显著增加本地资源占用,在配置较低的机器上可能遇到性能瓶颈。
最适合采用 Paseo 的场景包括:需要在手机和桌面间无缝切换编码任务的开发者、同时使用多个编码代理进行 A/B 测试的团队、以及希望在统一界面中编排复杂多代理工作流的高级用户。
资料来源
内容声明:本文无广告投放、无付费植入。
如有事实性问题,欢迎发送勘误至 i@hotdrydog.com。