Paseo 是一个 AGPL-3.0 开源的 AI 编程 Agent 统一控制台,本地 daemon 管理 Claude Code、Codex、OpenCode 等官方代理,让开发者用桌面(Electron)、iOS / Android、Web、CLI 任一终端并行启动多个本地 Agent、在手机上看进度、BYOK 不付任何转售费用。
来源:README 首段、docs/PRODUCT.md '核心理念' 节、docs/ARCHITECTURE.md 查看 GitHub 仓库 → 📘 使用教程 →2025-2026 年 Claude Code、OpenAI Codex(CLI 形态)、OpenCode 这类「驻机器跑」的官方编码 Agent 各自都把 IDE 内交互推到了命令行/SDK 层,但它们彼此独立、无法互看进度、也没有统一的远程查看入口。Paseo 把这一层做成了 daemon + 多端客户端的统一编排层:客户端通过 WebSocket 连本地 daemon,daemon 把 agent 子进程的 timeline 实时广播给所有连入的端。卖点同时命中三个真实痛点——多 Agent 并行(一台机器跑多个 worktree)、跨设备(在手机上看 Agent 跑测试)、多 Provider 自由切换(同 workspace 内 Opus 规划 + Codex 实施 + Sonnet 复核)。配合主仓库带的 paseo-handoff / paseo-loop / paseo-orchestrate 等 skill,把'多 Agent 协同'从手工调度变成可被 Agent 自身调用的工作流,是当前 'agent-of-agents' 工程化方向上比较少见的完整实现。
来源:README、docs/PRODUCT.md '战略下注'、skills/ 目录下 5 个 SKILL.mdpackages/server 是一个 Node.js daemon,默认监听 127.0.0.1:6767,所有客户端(Expo 移动端 / Electron 桌面 / Commander CLI / Web)都通过同一套 WebSocket 协议连入。握手用 WSHelloMessage / WSWelcomeMessage 交换 clientId、daemonVersion、capabilities;之后 agent_update / agent_stream / agent_permission_request 等消息类型驱动 timeline 实时同步到所有订阅客户端。终端 I/O 与 agent 流共用同一连接,靠 BinaryMuxFrame 做二进制多路复用(channel 0 控制、channel 1 终端)。
来源:docs/ARCHITECTURE.md 'WebSocket protocol' 节、packages/server/src/server/websocket-server.ts对接每个 agent 后端时实现统一的 AgentClient 接口。当前 Direct 直写实现:Claude(Anthropic Agent SDK)、Codex(CodexAppServer)、OpenCode(CLI);ACP(Agent Client Protocol)模式:claude-acp、copilot。docs/PROVIDERS.md 明确推荐新接入走 ACP——只需继承 ACPAgentClient 基类、声明 capabilities/modes/defaultCommand,进程拉起、stdio 流、session 持久化、权限请求、模型发现都由基类托管;想自己掌握全流程才走 Direct。
来源:docs/PROVIDERS.md '两种集成模式' 节、packages/server/src/server/agent/providers/项目自动从文件系统识别(按 git remote 打标签),每个项目对应一个 workspace;用户可在同一项目下创建多个 workspace,背后是 git worktree 隔离副本,让多个 Agent 同时改不同分支不冲突。一个 workspace 是 'flexible canvas':可以并排开多个 agent panel、并存 terminal、混用不同 provider。CLI 直接体现这种粒度:paseo run --provider claude/opus-4.6 --worktree feature-x "..."。
来源:docs/PRODUCT.md 'Projects and workspaces' 节、README CLI 示例daemon 内置一个 MCP(Model Context Protocol)server(packages/server/src/server/agent/mcp-server.ts),把'创建子 agent、申请权限、设置超时'等动作暴露为 MCP 工具,让一个 agent 可以从对话里直接 spawn 另一个 agent。配合仓库 skills/ 下 5 个 orchestration skill(paseo-chat、paseo-committee、paseo-handoff、paseo-loop、paseo-orchestrate),把多 Agent 协作从外部脚本上升到 Agent 内部工具调用。作者标注 skills 仍处 Unstable 阶段,会与他个人 setup 耦合。
来源:docs/ARCHITECTURE.md 'Daemon Components' 段、skills/paseo-orchestrate/SKILL.md 等packages/relay 实现 ECDH 密钥交换 + AES-256-GCM 加密通道,让 daemon 即使藏在防火墙后也能被手机端连上。relay 服务器零知识——只转发密文、看不到内容;公钥通过桌面端展示的 QR 码扫码配对到客户端。relay 部署在 Cloudflare Workers(packages/relay/src/cloudflare-adapter.ts),基础设施成本可控。完整威胁模型在 SECURITY.md。
来源:docs/ARCHITECTURE.md 'packages/relay' 段、packages/relay/src/encrypted-channel.tspackages/server/src/server/dictation 是 STT 离线听写,packages/server/src/server/voice 是 realtime voice agent,packages/server/src/server/speech 维护 Sherpa 模型矩阵(scripts/generate-sherpa-tts-matrix.ts),还有专门的 packages/expo-two-way-audio 自定义 Expo native module。在手机上口述需求、AGENT 边跑边听讲,是其差异化卖点之一。
来源:tree(packages/server/src/server/{dictation,voice,speech}/、packages/expo-two-way-audio/)packages/cli 用 Commander 构建,命令体系刻意贴 docker:paseo agent ls/run/stop/logs/inspect/wait/send/attach、paseo daemon start/stop/restart/status/pair、paseo permit allow/deny/ls、paseo provider ls/models、paseo worktree ls/archive。CI / 远程机器 / 服务器场景下可以无 GUI 完整使用 Paseo;--host workstation.local:6767 直接连远程 daemon。
来源:docs/ARCHITECTURE.md 'packages/cli' 节、packages/cli/src/commands/整体是 'daemon-centric 单进程 + 多端瘦客户' 的 client-server 架构。packages/server(Node.js daemon)是唯一持有真实 agent 子进程与 timeline 状态的进程,packages/app(Expo 跨端 React Native)/ packages/desktop(Electron 套壳并管理 daemon 子进程)/ packages/cli(Commander)/ packages/relay(Cloudflare Workers 上的零知识中继)/ packages/website(TanStack Router 营销站)都通过同一套 WebSocket 协议接入。Daemon 内部按职责切包:bootstrap 拉起 HTTP+WS+AgentManager+Storage+Relay;websocket-server 处理握手与多路复用;session 维护每客户端订阅;agent/agent-manager 是状态机核心(initializing→idle→running→idle,每 turn 起新 epoch、单 agent 限 200 timeline 项),agent/agent-storage 把状态文件持久化到 \$PASEO_HOME/agents/{cwd-with-dashes}/{agent-id}.json,agent/mcp-server 暴露子 agent 创建工具。Provider 体系处于双轨过渡:ACPAgentClient 基类托管所有 stdio/session/streaming/permissions(推荐新接入走这条),AgentClient 直写接口仍服务于现有 claude/codex/opencode;这是个明显但尚在演进的决策。Monorepo 共 8 个 workspace,1700+ 文件,工具链选择激进且统一:oxfmt+oxlint(Rust 实现的 lint/format)、@typescript/native-preview、Vitest、Playwright e2e、Nix flake、lefthook git hooks、13 个 GitHub Actions workflow(含 desktop-release、android-apk-release、deploy-relay、nix-build 等)。设计判断:daemon 集中状态 + 二进制 mux WS + git worktree 隔离 + MCP 可被 agent 自调用,这套组合很贴'多 agent 编排'本质,没看到明显冗余;唯一可能略超前的是 ACP+Direct 双轨同存——长期看应该收敛到 ACP,目前的代价是新人理解成本翻倍。
来源:tree.txt + package.json workspaces + docs/ARCHITECTURE.md + docs/PROVIDERS.md中心为项目本体,内环 = 核心功能模块,外环 = 关键技术依赖;按 deep.json 中的 core_features 与 tech_stack.key_deps 自动生成
wsAnthropic Agent SDK / OpenAI CodexAp…MCP server 实现Sherpa-onnx + 本地 WhisperExpo + 自研 expo-two-way-audio native …Playwright(移动端与桌面端 e2e)+ Vitest(单测)oxfmt + oxlint(Rust 工具链)+ @typescrip…1. 个人开发者一台机器同时跑多个 worktree 的 Agent(一个 Agent 重构 backend、另一个补单测、第三个改文档),在 desktop 应用里用 split pane 并行观察;2. 把笔记本/工作站作为 daemon 主机,出门用手机端通过 relay 接入,看 Agent 跑长时间任务(构建、迁移、批量重构)的进度,必要时口述追加指令;3. 团队/个人多 Provider 混编:同 workspace 里 Opus 规划 + Codex 实施 + Sonnet/Haiku 复核,借助 paseo-handoff / paseo-orchestrate skill 让 Agent 自己调度子 Agent;4. CI / 服务器无 GUI 场景,用 npm i -g @getpaseo/cli + paseo --host 远程接入,把 'agent run + attach + wait' 写进发布脚本。
来源:README、docs/PRODUCT.md 'Inside a workspace' / 'Target user'、skills/paseo-* SKILL.mdv0.1.63-beta.4(2026-04-27)。最近 5 个 release 全部集中在 4 天内(v0.1.62 2026-04-23 → v0.1.63-beta.1 04-24 → beta.2/3 04-26 → beta.4 04-27),符合 docs/PRODUCT.md 中提到的 'Daily releases' 节奏;release notes 同步通过 .github/workflows/release-notes-sync.yml 自动维护到仓库 CHANGELOG.md。
来源:GitHub Releases API 返回的 5 个 tag 与时间戳如果你正同时用 Claude Code、Codex 中两个以上 agent,并且想把'手机看进度、桌面并行、CLI 脚本化、远程接入'这套体验做成生产力闭环,Paseo 是当前 GitHub 上少数把这件事一次做完整的开源方案,AGPL+本地 daemon+BYOK 的组合也让长期信任成本很低。务实建议:1) 优先用桌面应用上手——它会自动管 daemon 子进程,比 CLI 模式少一半坑;2) 0.1.x beta 不要锁主分支跑生产,固定到某个稳定 tag(当前 v0.1.62 是非 beta),等接近 0.2.0 再尝试自动化脚本;3) 想自接入 provider 直接走 ACP,不要再写 Direct 实现——双轨明显在收敛;4) 如果你是企业用户、对 AGPL 敏感或需要多人多端共享 daemon、版本化 changelog 与 SLA,目前不合适——产品形态明显面向个人开发者与小团队,企业级多租户、审计、SSO 都还没有;5) skills/orchestrate 目前只当玩具用,作者自己也说 Unstable,落到自己环境前要改 references/ 模板。
来源:综合分析:docs 全部 + tree + release 节奏