1. 项目概述一个面向开发者的多智能体本地化编排平台如果你和我一样每天的工作流里充斥着各种AI编码助手——Claude Code在终端里帮你重构代码Codex在IDE里补全函数OpenCode在另一个项目里调试——那你肯定也头疼过一个问题这些工具各自为战信息不互通切换起来麻烦得要命。更别提想让他们协同工作或者从手机、平板这些移动设备上发起一个任务了。Paseo这个项目就是冲着解决这个痛点来的。它本质上是一个本地优先、多模型、跨设备的AI智能体编排平台。你可以把它理解为你所有AI编码助手的“中央控制台”和“任务调度中心”。它的核心价值在于让你能在一个统一的界面里同时调度和管理运行在你本地机器上的不同AI智能体比如Claude Code, Codex, OpenCode并且这个控制权可以从你的桌面延伸到手机、平板甚至命令行。这意味着什么意味着你可以在通勤路上用手机语音给家里的开发机发个指令让它用Claude Code规划一个新功能然后用Codex去具体实现或者你在开会时让多个智能体并行处理代码库的不同部分最后再统一审查。所有计算和代码都跑在你自己的机器上数据不出本地隐私和安全有保障。这不仅仅是工具整合更是一种开发范式的转变将AI从被动的辅助工具变成了可被主动编排和协同的生产力单元。2. 核心设计思路与架构拆解Paseo的设计哲学非常清晰去中心化、本地优先、接口统一。它不是另一个云端的SaaS服务而是跑在你机器上的一个“大脑”。我们来拆解一下它是如何实现这一目标的。2.1 核心架构守护进程与多客户端模型Paseo的架构非常经典且有效采用了“守护进程Daemon 多客户端Clients”的模式。这是整个系统稳定和灵活性的基石。守护进程 (Daemon /packages/server)这是Paseo的核心引擎常驻运行在你的开发机或服务器上。它的职责非常重智能体生命周期管理负责启动、停止、监控来自不同提供商Claude Code, Codex等的AI智能体进程。它知道如何调用各自的CLI并管理它们的输入输出流。任务队列与调度接收来自各个客户端的任务请求并将其分配给合适的智能体执行。它支持并行运行多个智能体这是实现高效编排的关键。状态同步与通信枢纽通过WebSocket API在守护进程和所有连接的客户端桌面App、手机App、CLI之间建立实时通信。你在手机App上看到的代码输出就是通过这个通道实时流式传输过来的。工作空间Worktree管理Paseo引入了Git工作树worktree的概念来隔离不同智能体的操作环境。当你在一个特定的工作树上运行任务时守护进程会确保智能体在该工作树的上下文中操作避免不同任务间的文件冲突。这是一个非常工程化的设计体现了对真实开发场景的深刻理解。多客户端 (Clients)这些是用户与守护进程交互的界面它们本身“不干活”只负责发送指令和接收反馈。桌面应用 (packages/desktop)基于Electron开发提供了图形化的操作界面是大多数用户的首选。它启动时会自动运行本地守护进程。移动应用 (packages/app)基于Expo开发覆盖iOS和Android。它通过扫描桌面端或CLI生成的二维码连接到同一个局域网下的守护进程实现了移动端控制。命令行界面 (packages/cli)提供了最直接、最脚本化的控制方式。所有图形界面能做的CLI都能做并且更适合集成到自动化流程中。网页端同样基于Expo提供了轻量级的访问方式。这种架构的优势在于解耦和灵活性。守护进程专注于核心的、资源密集型的编排工作客户端则可以多样化发展满足不同场景下的交互需求。你可以随时关掉桌面应用但守护进程仍在后台运行手机App依然可以连接并控制它。2.2 多模型提供商集成策略Paseo没有尝试去重新发明轮子——即自己训练或托管AI模型。相反它选择做优秀的“胶水层”将市面上成熟的AI编码工具整合进来。目前官方支持Claude Code、Codex和OpenCode。这种集成策略非常务实利用现有工具链它要求用户预先安装并配置好对应提供商的官方CLI。Paseo在运行时本质上是调用这些CLI来启动相应的智能体进程。这样做的好处是Paseo可以完全复用这些工具已有的认证、模型调用和上下文管理逻辑自己只专注于上层的编排和交互。统一的抽象接口尽管底层调用的工具不同但Paseo为上层应用包括它自己的CLI和GUI提供了一套统一的命令接口。例如无论是调用Claude还是Codex你都可以使用paseo run --provider provider/model这样的命令格式。这极大地降低了用户的学习和使用成本。按需选型发挥各自优势不同的AI模型在不同任务上各有千秋。Claude可能更长于规划和理解复杂需求而Codex可能在代码生成和补全上更流畅。Paseo允许你在同一个工作流中为不同阶段的任务指定最合适的模型。比如你可以先用Claude分析需求并拆解任务再“交接”给Codex去具体执行代码生成。注意这种依赖外部CLI的设计也带来一个前置成本用户需要自行解决这些AI服务的API密钥、配额和网络访问问题。Paseo本身不处理这些它只是桥梁。2.3 隐私优先与本地化原则“隐私优先”在Paseo这里不是一句空话而是其架构设计的必然结果。因为所有智能体都运行在你的本地环境所有的代码、项目文件、对话历史都从未离开过你的机器。守护进程与客户端之间的通信在局域网内通常是直接的WebSocket连接。即使是远程连接通过Relay包其设计目标也是点对点的。官方明确声明没有遥测、追踪或强制登录。对于处理敏感代码如公司商业代码、未公开项目的开发者来说这一点至关重要。它消除了将代码上下文发送到不可控的第三方云服务的风险。3. 详细实操指南从零开始部署与使用理解了架构我们来看看如何把它用起来。我会以一个典型的桌面开发者视角带你走完安装、配置到执行第一个编排任务的完整流程。3.1 环境准备与前置依赖安装在安装Paseo本身之前必须确保至少一个AI智能体CLI已在你的系统上就绪。这是Paseo能够工作的前提。我们以目前比较流行的Claude Code和OpenAI的ChatGPT这里代指其编程能力Paseo可能以Codex或类似接口集成为例。步骤一安装并配置AI提供者CLIClaude Code:访问Anthropic官方文档按照指南安装Claude Code CLI。通常这涉及通过包管理器如pip或npm安装以及使用claude auth login命令进行认证获取并配置API密钥。安装后在终端尝试运行claude --help确保命令可用并且认证状态有效。OpenAI Codex / 相关模型:这里通常指的是通过OpenAI API进行代码补全。你需要安装OpenAI的官方CLI或配置好相关的SDK如openaiPython包。关键是在环境变量中正确设置OPENAI_API_KEY。你可以在shell配置文件如~/.bashrc或~/.zshrc中添加export OPENAI_API_KEYyour-api-key-here然后执行source ~/.zshrc使其生效。可以通过一个简单的Python脚本或使用curl调用OpenAI API来验证密钥是否有效。步骤二安装Paseo桌面应用推荐给大多数用户直接访问paseo.sh/download或项目的GitHub Releases页面。根据你的操作系统macOS, Windows, Linux下载对应的安装包.dmg, .exe, .AppImage等。安装并首次运行桌面应用。它会自动在后台启动Paseo守护进程并在系统托盘或菜单栏显示图标。这是最无脑的入门方式。CLI方式适合开发者和无头服务器打开终端通过npm全局安装CLI工具npm install -g getpaseo/cli。确保你的Node.js版本符合要求建议使用LTS版本。安装完成后直接运行paseo命令。这会启动守护进程并在终端打印出一个二维码以及守护进程的访问地址如http://localhost:6767。这个二维码就是其他客户端如手机App连接的凭证。3.2 基础使用启动任务与多端互动假设我们已经通过桌面应用启动了Paseo界面已经打开。场景一在桌面端创建一个简单的代码生成任务在Paseo桌面应用的“New Task”或类似界面中你会看到一个输入框。在输入框中你可以直接描述任务例如“在当前目录下创建一个简单的Express.js服务器文件server.js监听3000端口并有一个返回{status: ok}的根路径路由。”在运行前你需要选择提供商Provider。下拉菜单中会列出你已配置好的所有AI智能体如claude/opus-4.6,codex/gpt-5.4。根据任务性质选择一个比如选择codex/gpt-5.4来执行具体的代码生成。你还可以指定工作树Worktree。如果是新任务可以创建一个新的工作树如express-demo这样所有生成的文件都会隔离在这个空间内不会影响你主仓库的代码。点击“Run”。桌面应用会向本地守护进程发送请求守护进程启动对应的Codex智能体进程并将你的指令和当前工作树上下文传递给它。你会在应用界面看到一个实时输出的窗口就像在终端里一样看到AI在“思考”然后生成代码可能还会执行一些命令如npm init -y,npm install express。最终server.js文件会被创建在你指定的工作树目录中。场景二从手机App连接并控制这是Paseo的亮点功能之一实现了真正的跨端协作。确保你的手机和电脑在同一个局域网下连接同一个Wi-Fi。在Paseo桌面应用的设置Settings页面找到“Mobile Connection”或类似选项里面会显示一个二维码。在你的iPhone或Android手机上下载并安装Paseo App。打开手机App通常会有一个“扫描连接”的按钮。用手机摄像头扫描电脑上显示的二维码。连接成功后手机App的界面会变得和桌面端类似。你现在可以在手机上看到所有正在运行的任务甚至可以发起新的任务。尝试使用语音输入在手机App的任务创建界面点击麦克风图标直接说出你的指令比如“检查一下express-demo工作树里server.js文件的语法如果有错误就修复它”。Paseo会将语音转成文本然后发送给守护进程执行。这在手不方便操作比如在做饭、通勤时特别有用。3.3 进阶CLI操作与脚本化对于喜欢终端或需要自动化的用户CLI才是王牌。我们重温并深化一下项目介绍中的例子。# 1. 启动守护进程并显示连接信息如果还没启动 paseo # 运行后不要关闭这个终端它承载着守护进程。 # 2. 在新的终端标签页中运行一个具体任务 # 使用Claude模型在当前目录默认工作树实现用户认证功能 paseo run --provider claude/opus-4.6 implement user authentication with JWT, including signup and login endpoints # 3. 在另一个工作树上并行任务 # 使用Codex模型在一个名为‘feature-x’的独立工作树上实现功能X paseo run --provider codex/gpt-5.4 --worktree feature-x implement the user profile editing feature with validation # 4. 管理正在运行的智能体 paseo ls # 列出所有运行中的智能体显示它们的ID、提供商、状态和工作树 # 输出可能类似 # ID PROVIDER STATUS WORKTREE # abc123 claude/opus-4.6 RUNNING . # def456 codex/gpt-5.4 RUNNING feature-x # 5. 与特定智能体交互 paseo attach abc123 # 像 tail -f 一样实时流式查看ID为abc123的智能体的输出 paseo send abc123 also add unit tests for the login endpoint # 向该智能体发送后续指令让它继续工作 # 6. 远程操作核心的跨设备能力 # 假设你的家用电脑主机名workstation.local上运行着Paseo守护进程你在公司笔记本上想触发一个任务 paseo --host workstation.local:6767 run run the full test suite on the main branch # 这要求你家中的电脑在局域网内可被访问且防火墙允许6767端口。CLI的威力在于可脚本化。你可以写一个Shell脚本在凌晨自动启动Paseo守护进程运行代码质量检查、依赖更新等例行任务。3.4 实验性编排技能深度解析项目文档中提到的“Orchestration skills”是目前最前沿也最不稳定的部分它展示了Paseo未来作为智能体调度中枢的潜力。我们来深入理解一下这几个技能/paseo-handoff(交接)使用场景当你与一个智能体如擅长规划的Claude讨论完方案设计后需要另一个更擅长执行的智能体如Codex来写代码。底层逻辑这个技能会教当前的智能体使用Paseo CLI去启动另一个指定提供商的新智能体并将当前对话的上下文或摘要作为初始指令传递给新智能体。这实现了跨模型的上下文传递和任务接力。示例命令意图/paseo-handoff hand off the authentication fix to codex 5.4 in a worktree意味着“别干了去告诉Paseo在某个工作树里启动一个Codex 5.4的智能体并把我们刚才讨论的‘修复认证问题’这个任务交给它。”/paseo-loop(循环)使用场景针对有明确验收标准AC的重复性任务比如“修复所有失败的测试用例”。底层逻辑这实现了一个自动化循环。例如启动一个Codex智能体尝试修复测试然后启动一个Claude智能体来验证修复是否满足AC。如果不满足则继续循环。可以设置最大迭代次数以防无限循环。这模仿了“红队-蓝队”或“开发-验证”的协作模式。示例命令意图/paseo-loop loop a codex agent to fix the backend tests, use sonnet to verify, max 10 iterations意味着“创建一个循环主体是Codex智能体去修复后端测试每次修复后由Claude Sonnet模型来验证结果最多重复10次直到所有测试通过或达到上限。”/paseo-orchestrator(协调器)使用场景处理复杂的、需要多角色协作的项目比如数据库重构。底层逻辑这是最复杂的技能。它会教智能体创建一个多智能体团队并可能模拟一个“聊天室”来协调它们。例如创建一个Claude智能体作为“架构师”制定计划多个Codex智能体作为“开发员”并行实现不同模块再有一个智能体作为“评审员”。协调器负责分配任务、汇总进度和解决冲突。示例命令意图/paseo-orchestrator spin up a team to implement the database refactor, use chat to coordinate. use claude to plan and codex to implement and review意味着“组建一个团队来实施数据库重构用聊天室协调。让Claude做计划Codex负责实现和互相评审。”重要警告这些技能被标记为“Unstable”不稳定。作者明确表示会频繁更新可能与其个人工作流强耦合。这意味着你从GitHub拉取的技能定义可能和作者本地正在使用的版本有差异导致命令不工作或行为不符合预期。在生产环境或关键任务中需谨慎使用最好先在小规模实验性项目中测试。4. 开发与贡献指南Paseo本身是一个开源项目AGPL-3.0协议如果你对它的实现感兴趣或者想为其添砖加瓦可以参与到开发中。项目采用Monorepo结构使用npm workspace管理。4.1 本地开发环境搭建# 1. 克隆仓库 git clone https://github.com/getpaseo/paseo.git cd paseo # 2. 安装依赖 npm install # 3. 运行所有开发服务这通常会启动server、app、desktop等的开发模式 npm run dev # 4. 或者单独运行某个服务 npm run dev:server # 启动守护进程开发服务器热重载 npm run dev:app # 启动Expo移动应用开发服务器可在模拟器或真机调试 npm run dev:desktop # 启动Electron桌面应用开发模式 npm run dev:website # 启动文档网站本地服务器 # 5. 类型检查项目使用TypeScript npm run typecheck # 6. 构建守护进程生产环境 npm run build:daemon4.2 核心包职责解析了解每个包的职责有助于你定位代码和进行修改packages/server这是重中之重。包含了守护进程的所有逻辑WebSocket服务器、智能体进程管理子进程生成、通信、生命周期、工作树管理、任务队列、以及MCPModel Context Protocol服务器集成。如果你想修改核心的编排逻辑或添加对新AI提供商的支持主要在这里工作。packages/cli命令行接口的实现。它定义了所有paseo命令的解析、参数处理并通过HTTP或WebSocket与packages/server通信。添加新的CLI命令需要修改此包。packages/desktopElectron应用。包含主进程处理系统集成、窗口管理和渲染进程基于Web技术的UI。UI部分很可能与packages/app共享组件。修改桌面端UI或功能通常涉及此包。packages/app使用Expo构建的跨平台移动应用iOS/Android/Web。这是移动端和网页端的UI代码库。使用React Native技术栈。packages/relay用于中继连接可能涉及STUN/TURN服务器或自定义信令以实现更复杂的远程访问非同一局域网。如果对网络穿透感兴趣可以看这里。packages/website项目官网和文档站点的源代码通常是一些静态页面。5. 常见问题、故障排查与实战心得在实际使用和探索Paseo的过程中你肯定会遇到一些坑。下面是我总结的一些典型问题及解决思路。5.1 连接与网络问题问题手机App扫描二维码后无法连接。排查步骤确认IP与端口首先检查桌面应用或CLIpaseo命令输出的连接地址。通常是http://YOUR_LOCAL_IP:6767。确保手机和电脑连接的是同一个Wi-Fi网络同一子网。防火墙设置电脑的防火墙可能阻止了6767端口的入站连接。你需要添加一条规则允许该端口的TCP连接macOS在“系统设置-网络-防火墙”Windows在“Windows Defender防火墙”。主机名解析如果使用的是.local主机名如workstation.local在某些网络环境下mDNS可能工作不正常。尝试在手机App中直接输入电脑的局域网IP地址如192.168.1.100:6767进行连接。检查守护进程状态在电脑上运行paseo ls或查看桌面应用确认守护进程确实在运行。问题CLI执行命令报错提示无法连接到守护进程。排查步骤运行paseo status或直接检查进程如ps aux | grep paseo确认守护进程是否存活。如果守护进程是通过桌面应用启动的CLI默认可能尝试连接一个不同的实例或端口。尝试通过--host参数显式指定paseo --host localhost:6767 ls。查看守护进程的日志。日志位置通常在~/.paseo/logs/或桌面应用的设置界面里可以找到。错误日志能提供最直接的线索。5.2 智能体执行失败问题问题任务启动失败提示“Provider not configured”或类似错误。原因与解决这几乎总是因为对应的AI提供商CLI没有正确安装或配置。在系统终端不是Paseo内部直接运行claude --version或opencode --help看命令是否存在。检查该CLI所需的认证是否完成。对于需要API Key的确保环境变量如OPENAI_API_KEY,ANTHROPIC_API_KEY已正确设置且在当前shell会话中生效。Paseo守护进程会继承启动它的环境变量。有时需要重启Paseo守护进程以便它获取到新配置的环境变量。问题智能体运行中卡住或输出混乱的非代码内容。原因与解决上下文不清你给的任务描述可能过于模糊。AI模型需要明确的上下文。尽量在指令中包含文件路径、技术栈、具体要求。例如不说“写个函数”而说“在src/utils/helper.js文件中写一个名为formatDate的函数接收ISO字符串返回‘YYYY-MM-DD’格式”。工作树冲突多个智能体同时在同一个工作树操作同一个文件可能导致状态混乱。为不同的、可能冲突的任务创建独立的工-作树。模型自身限制遇到胡言乱语时可以尝试中断任务换一个模型Provider重新运行。不同模型在不同时间点的表现可能有波动。检查资源占用运行多个大型模型智能体可能吃满内存或CPU。用系统监控工具查看资源使用情况。5.3 性能与资源优化心得并发控制虽然Paseo支持并行运行多个智能体但请根据你的机器配置量力而行。同时运行2-3个Claude或Codex智能体对内存尤其是大上下文窗口时和CPU是不小的挑战。建议在~/.paseo/config.json如果支持或启动参数中探索并发数限制。工作树清理实验性的、临时的工作树会占用磁盘空间。定期清理不再需要的~/.paseo/worktrees/路径可能不同下的目录。远程连接延迟如果通过互联网远程连接家里的Paseo需配合内网穿透或Relay网络延迟会影响实时流式输出的体验。对于复杂任务更适合在本地局域网操作。5.4 安全与配置注意事项端口安全6767是Paseo的默认端口。如果你在公网服务器上运行Paseo守护进程务必使用防火墙严格限制该端口的访问源IP或结合SSH隧道进行端口转发切勿直接暴露。API密钥管理Paseo不存储你的AI服务API密钥它依赖底层的CLI配置。确保那些CLI的配置文件或环境变量存储是安全的特别是多人共用的机器。工作树权限Paseo智能体拥有执行你指令的权限包括运行shell命令。切勿在包含敏感信息或重要数据的目录下运行不受信任的、模糊的指令。最好在独立的项目副本或工作树中进行AI辅助编码。Paseo代表了一种非常实用的AI工程化方向不追求单个模型的极致能力而是通过巧妙的编排将多个专业化工具组合起来形成一套稳定、可控、可扩展的本地化工作流。它把AI从聊天窗口和代码补全框里解放出来变成了一个可以通过多种方式调遣的“数字员工”。尽管其编排技能还处于实验阶段但已经展示了巨大的潜力。对于重度依赖AI编程的开发者来说花时间搭建和适应这样一套系统长远来看可能会显著提升问题解决的效率和复杂度上限。当然它的使用门槛相对较高需要对命令行、网络和各个AI工具有一定了解但这份投入带来的自主性和控制力也是云服务无法比拟的。