# iPolloWork

> 一个本地优先的可视化 AI 工作台桌面应用,把一个目标一次性产出可继续编辑的代码、文档、演示稿、网站、设计和视频,并把 DeepSeek Harness 接为可选子代理。

## 元数据

- 作者: [@Devin-AXIS](https://github.com/Devin-AXIS)
- 仓库: <https://github.com/Devin-AXIS/iPolloWork.git>
- GitHub: [Devin-AXIS/iPolloWork](https://github.com/Devin-AXIS/iPolloWork)
- Star: 4,100
- 主语言: TypeScript
- License: [NOASSERTION](https://spdx.org/licenses/NOASSERTION.html)
- 主页: <https://www.ipollo.ai/>
- Topics: `agent-collaboration`, `agent-skills`, `ai-agents`, `ai-work`, `claude-code`, `codex`, `deepseek-harness`, `dsh-plugin`, `enterprise-agent-workspace`, `hermes-agent`, `openclaw`, `opencode`, `opencode-plugin`, `self-evolving-ai`, `visual-editor`
- Fork: 784
- Open Issues: 70
- 最后推送: 2026-08-17T10:27:16.000Z
- 加入目录: 2026-08-17T00:00:00.000Z

## 安装

```bash
dsh plugin --profile web add github:Devin-AXIS/iPolloWork
```

## 百科

## 一句话定位
iPolloWork 是一个本地优先的可视化 AI 工作台,它把一个目标直接产出可以继续编辑的代码、文档、演示稿、网站、设计和视频,同时把 DeepSeek Harness 作为可选子代理协作,它既可以作为单独的桌面应用使用,也可以作为 DSH profile 的扩展仓库加载。

## 核心能力
- 集中一个工作区处理代码仓库、本地文件、浏览器任务、文档、演示稿、网站、设计和视频,不必在不同工具之间切换上下文
- 让 AI 智能体规划任务、调用工具、读写文件、运行命令,并从当前状态继续推进,而不是只交付一段聊天记录
- 输出保持可编辑:生成文档、网站、演示稿、设计和视频之后,文字、图片、布局和画面仍然能继续手动精调
- 通过 Skills、plugins、MCP、本地服务与浏览器自动化扩展 AI 能力,插件清单统一以 `ipollowork.plugin.json` 描述
- 可选接入 iPolloCloud 完成账户、组织、托管 worker 生命周期与商业 Apps;纯本地模式下不要求任何账号
- 将 DeepSeek Harness 作为 sidecar 运行时注入,允许把代码审查、开发和研究任务委派为 DSH 子任务并查看进度

## 技术实现
- **语言**: TypeScript + JavaScript(混合)
- **关键依赖**: Electron 35(桌面宿主)、@opencode-ai/sdk 1.18.16(模型与工具桥)、better-sqlite3 11(本地存储)、@lydell/node-pty(本地终端)、drizzle-orm(关系映射)
- **架构模式**: pnpm monorepo,主体由 apps/app(React UI)、apps/desktop(Electron 壳)、apps/server(文件 API)、apps/orchestrator(无头编排)、apps/installer(打包)构成;桌面壳对 OpenCode、Orchestrator、DSH 都以 sidecar 形式加载,通过 `examples/plugin-packages/*/ipollowork.plugin.json` 描述插件资源,DSH 子代理以 `cordis.patch.yml` 与 `dsh.bundle.patch` 注入 DSH Cordis 容器
- **入口文件**: `apps/desktop/electron/main.mjs`(Electron 主进程)、`apps/server/src/cli.ts`(服务器 CLI)、`apps/orchestrator/bin/`(headless orchestrator)

## 适用场景
适合非技术用户、设计师、内容创作者与开发者:在一个应用里描述"做一个海报 / 写一份报告 / 跑通某个仓库的功能",然后在同一个地方继续让 AI 或自己修改,而不是拿到一张截图就结束。已经在用 DSH、希望把可视化设计、文档、PPT、视频能力并入工作流的人也会受益,因为这个仓库同时携带 DSH 的子代理协作示例(`examples/plugin-packages/deepseek-harness`)和发布级 DSH 插件(`external-plugins/deepseek-harness/design-studio` 等)。

## 前置依赖与兼容性
| 依赖 | 最低版本 | 说明 |
|---|---|---|
| Node.js | ^22.19.0 或 >=24.0.0 | 由 `.nvmrc` 锁定 24,README 要求 22+;用于源码构建、UI 开发与服务器 |
| pnpm | 11.4.0(<12) | 由根 `package.json#packageManager` 与 `engines.pnpm` 强制;monorepo 用它来安装 |
| Bun | 1.3.10+ | 用作本地 Orchestrator sidecar 与部分脚本(README 强制) |
| DSH | 0.1.0-rc.6 | 由 `apps/desktop/dsh-runtime/package.json` 锁定的 sidecar;发布级插件要求 `@deepseek-ai/dsh-client-runtime` 等运行时在 `0.1.0-rc.x` 之间 |
| 平台 | macOS / Windows / Linux | 三端可跑,macOS 需要 Xcode Command Line Tools,Windows 需要 VS2022 C++ 桌面开发与 Windows SDK,Linux 需要 C/C++ 工具链与 Python 3 |
| 原生模块 | better-sqlite3、@lydell/node-pty、@ffmpeg-installer/ffmpeg、@ffprobe-installer/ffprobe | 由 `apps/desktop/package.json` 直接依赖,在打包时跟随应用产出 |

## 安装方式
```bash
dsh plugin --profile web add github:Devin-AXIS/iPolloWork
```

## 配置项
| 配置 | 类型 | 说明 | 默认值 |
|---|---|---|---|
| DSH_RUNTIME_BIN | 环境变量 | 指向本地 DSH CLI 可执行文件路径,委派任务时启动 | 未声明 |
| DSH_CORDIS_CONFIG | 环境变量 | 子代理 Cordis 配置文件路径,在子进程启动前注入 | 未声明 |
| DEEPSEEK_API_KEY | 环境变量 | DeepSeek 模型服务的 API Key,仅当 `DSH_PROVIDER=deepseek-official` 时启用 | 未声明 |
| DEEPSEEK_BASE_URL | 环境变量(可选) | 自定义 DeepSeek API Base URL,缺省指向官方 | 未声明 |
| IPOLLOWORK_API_KEY | 环境变量 | iPolloWork 推理网关使用的 API Key,仅当 `DSH_PROVIDER=ipollowork` 时启用 | 未声明 |
| IPOLLOWORK_INFERENCE_BASE_URL | 环境变量 | iPolloWork 推理网关地址 | 未声明 |
| IPOLLOWORK_DSH_CLI / _VERSION | 环境变量 | 覆盖内置 DSH CLI 路径与版本号,通常无需手动设置 | 未声明 |
| 界面模式 | 应用内设置 | 桌面应用默认启动方式,不需要手动配置,适合大多数用户 | 未声明 |

## 常见问题

**Q: 装上以后能直接双击打开吗?**

A: 能,但要先按 README 三种官方安装方式之一(macOS 的 `.dmg`、Windows 的 `.exe` 安装器、Linux 的 `.AppImage`)把桌面应用装到系统上。DSH profile 这次加载只是把仓库代码纳入插件列表,不会替你安装系统级桌面应用。

**Q: iPolloWork 是怎么与 DSH 配合的?**

A: 它通过 `apps/desktop/dsh-runtime` 把 DSH 0.1.0-rc.6 打包成本地 sidecar,然后在 `examples/plugin-packages/deepseek-harness/ipollowork.plugin.json` 中声明一组合约:capabilities、runtime_status、runtime_install、runtime_update、runtime_remove、start、status、cancel,允许 iPolloWork 把边界清晰的任务交给 DSH 子代理。

**Q: 我需要付费或者登录才能用吗?**

A: 不必须。桌面应用的本地模式不需要任何账号,iPolloCloud 是可选的连接,只有当你主动连上远程 worker 组织或商业 Apps 时才参与。

**Q: 它会 fork 掉 OpenCode 吗?**

A: 不会。OpenCode 仍作为独立组件下载和升级,iPolloWork 不重写或分叉它的代码,sidecar 边界清楚。

**Q: 数据存在哪里?**

A: 工作文件落在当前工作区的 `design/`、`design/<sessionId>-ippt/`、`video/` 三个子目录下;会话、设置和 token 在本地 DSH home;`iPolloCloud` 只在显式登录后参与。

**Q: 它用的是开源协议吗?**

A: 不是,它使用 iPolloWork Source Available License 1.0:仅少于三人的个人自用和小规模内部使用免费,任何三人及以上的使用、商用、SaaS、白标分发都需要书面授权;第三方组件继续遵循各自许可。

**Q: 我能在 Linux 上拿到完整功能吗?**

A: 桌面应用本体可在 Linux 上跑,但构建一次需要完整的 C/C++ 工具链;Windows 的代码签名/SmartScreen 提示、macOS 的签名/公证体验需要分别在对应平台验证。

## 上手难度
进阶 — 单看使用只需双击安装包,但运行 `./ipollowork` CLI 或自行打包要同时配齐 Node 22+、pnpm 11、bun 1.3.10+ 和系统级 C/C++ 工具链,还要理解 monorepo 的 dev/build/package 三层命令。

## 已知问题与限制
- 当前最新稳定版尚未包含 DeepSeek Harness 子代理协作能力,DSH 集成的源代码已在仓库中可用,但 `README.md:39-45` 明确指出仍在积极开发中
- 在 Windows 上执行 `./ipollowork.cmd dev` 不会自动注册 `ipollowork://` 协议处理器,通过外部浏览器测试 Cloud 登录时需要手动切换,然后恢复生产协议处理
- 当前只打包当前操作系统与 CPU 架构的产物,跨平台矩阵需要走 GitHub Releases 流程;无 Apple/Windows 签名凭据时本地产物未签名,不适合作为正式发布
- 本地发布序列从 `0.0.0` 起,正式版按 0.1.0–0.99.0 然后 1.0.0 走,本地 packaging 不会自动 push 或 git tag,新版本需要手动触发流程
- 源码中存在 4 处 TODO:`apps/app/src/react-app/domains/settings/pages/recovery-view.tsx` 三次提及"恢复禁用的条件状态",`apps/app/src/components/chat/message-list.tsx` 提及"为文件消息加入语气"
- 协议为 iPolloWork Source Available License 1.0,不是 OSI 开源许可;三人以上使用、商用、SaaS、白标都需要书面授权
- `external-plugins/deepseek-harness/design-studio` 等 DSH 子插件的 `dsh.bundle.patch` 范围是 `>=0.0.1-rc.1 <0.2.0-0`,DSH 0.2.0+ 之前需要等待插件发版跟进

---

本文档由 [deepseek-plugin.org](https://deepseek-plugin.org) 自动生成，对应 HTML 页面: [iPolloWork](https://deepseek-plugin.org/plugins/Devin-AXIS/iPolloWork)
百度百科由 AI 生成 (模型: `MiniMax-M3`)
