iPolloWork

4.1kStar784Fork70Issue514Watching

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

语言
TypeScript
License
NOASSERTION
分支
main
agent-collaborationagent-skillsai-agentsai-workclaude-codecodexdeepseek-harnessdsh-plugin

安装

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

在终端中运行以上命令,通过 dsh CLI 安装此插件。可在右上角切换 Profile。 第一次用 dsh?看这篇新手教程

一句话定位

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.ymldsh.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 开发与服务器
pnpm11.4.0(<12)由根 package.json#packageManagerengines.pnpm 强制;monorepo 用它来安装
Bun1.3.10+用作本地 Orchestrator sidecar 与部分脚本(README 强制)
DSH0.1.0-rc.6apps/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/ffprobeapps/desktop/package.json 直接依赖,在打包时跟随应用产出

安装方式

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+ 之前需要等待插件发版跟进