本地开发
在 macOS、Linux 或 Windows 上启动真实的 iPolloWork 开发工作流。
仓库启动器是本地开发的唯一准则。它会准备工作区依赖,并将开发状态与普通 OpenCode Profile 隔离。
Launcher 让 UI、Electron Shell、Server 包和受支持 Sidecar 处于同一个检出版本。它比单独启动某一层、再猜测其余状态更可靠。
仓库级依赖与命令边界
Apps 和共享 Packages 的锁定依赖。
`ipollowork` 命令定义受支持的本地工作流。
你看到并操作的部分
桌面、浏览器和无头工作流复用的 React 工作界面。
原生客户端使用的隔离数据和运行时 Profile。
真正完成工作的一层
由 Launcher 为开发准备的受支持 Sidecar。
基于文件系统的工作区 API 与运行时适配器边界。
环境要求
- Git
- Node.js 22 或更高版本
- 通过 Corepack 启用的 pnpm 11
- Bun 1.3.10 或更高版本,用于本地 Orchestrator sidecar
- 目标系统对应的 Electron 构建依赖
macOS 请使用 xcode-select --install 安装 Xcode Command Line Tools。Windows 请安装 Visual Studio 2022 Build Tools,并勾选 Desktop development with C++ 和 Windows SDK。
启动桌面端
macOS 和 Linux:
git clone https://github.com/Devin-AXIS/iPolloWork.git
cd iPolloWork
corepack enable
./ipollowork setup
./ipollowork dev
Windows PowerShell:
git clone https://github.com/Devin-AXIS/iPolloWork.git
Set-Location iPolloWork
corepack enable
.\ipollowork.cmd setup
.\ipollowork.cmd dev
选择开发界面
| 目标 | 命令 |
|---|---|
| 桌面客户端 | ./ipollowork dev |
| 仅浏览器 UI | ./ipollowork dev:ui |
| 无头 Web 工作流 | pnpm dev:headless-web |
| 连接本地 Cloud | ./ipollowork dev:cloud http://localhost:3100 |
| 类型检查与桌面端测试 | ./ipollowork check |
Windows 将 ./ipollowork 替换为 .\ipollowork.cmd。
各个 Launcher 命令的作用
| 命令 | 目标 | 说明 |
|---|---|---|
setup | 安装锁定的工作区依赖 | 克隆后或依赖发生变化后执行。 |
dev | 启动完整桌面开发流 | 准备受支持 Sidecar,启动 UI,并以隔离开发 Profile 打开 Electron。 |
dev:ui | 启动浏览器 UI 界面 | 适用于只涉及 React App 且无需原生 Shell 验证的窄范围改动。 |
dev:cloud [url] | 使用指定 Cloud Base URL 启动桌面开发 | 默认 http://localhost:3100,规范化 URL 并在 .ipollowork-dev/cloud/ 写入独立启动记录。 |
build | 构建工作区产物 | 打包前使用,或重现接近生产的构建问题时使用。 |
package:dir | 生成未打包的桌面产物 | 不会推进发布版本,适合验证原生行为。 |
package | 生成原生安装包产物 | 除非明确跳过,否则先运行严格发布审查与检查。它不会提交、打 Tag 或发布远程版本。 |
Cloud 开发隔离
dev:cloud 是一个刻意设计的开发模式。它将指定 Base URL 提供给 App,并使用隔离的 Electron User Data 与 Runtime 路径。因此测试 Cloud Session 不会覆盖正常桌面状态。生成的 Bootstrap 文件是环境状态,不是 Secret 共享方式,也不是生产配置文件。
稳定的日常开发闭环
视觉改动应在真实工作界面中检查。Server 或运行时改动则应经由真正消费它的客户端路径检查。
- 01定位
修改不熟悉的层前,阅读最近的 `AGENTS.md`、Package Scripts 和源码归属。
- 02运行一个界面
使用 `dev`、`dev:ui` 或能覆盖目标运行时的相关 Package 命令。
- 03窄范围验证
检查被改动的精确 UI、Server 响应、Package 测试或桌面行为。
- 04运行广泛门控
在交给其他人或进入发布流程前,运行仓库检查与 Diff 校验。
验证改动
先运行最窄范围的相关测试。在更大范围交付前,运行:
./ipollowork check
git diff --check
./ipollowork check 会验证繁体中文 README 同步、应用类型检查、Electron 类型检查和桌面测试。它是仓库级门控,不替代对交互或变更 HTTP 路由的人工检查。
按归属排查问题
| 症状 | 优先检查的边界 | 不要假设 |
|---|---|---|
| 桌面已启动,但本地任务无法执行 | 本地 Server、审批状态和受支持 Sidecar Health | Cloud Session 可以修复本地 Sidecar 或工作区问题 |
| 浏览器 UI 正确,但原生行为错误 | Electron Shell 与 Desktop Bridge | dev:ui 能证明原生生命周期行为 |
| Cloud 登录指向错误环境 | .ipollowork-dev/cloud/ Bootstrap 状态与配置 Base URL | 可以手工编辑正常桌面 Profile |
| 打包构建失败 | Package Script 输出、原生构建前置条件和目标 OS | package 会自动发布远程版本 |