iPolloWork

4.1kStars784Forks70Issues514Watchers

A local-first visual AI workstation desktop application that generates editable code,

Language
TypeScript
License
NOASSERTION
Branch
main
agent-collaborationagent-skillsai-agentsai-workclaude-codecodexdeepseek-harnessdsh-plugin

Install

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

Run the command above in your terminal to install this plugin via the dsh CLI. You can switch Profile in the top-right corner. New to dsh? Read the beginner tutorial

One-Line Pitch

iPolloWork is a local-first visual AI workspace that directly produces editable code, documents, presentations, websites, designs, and videos from a single goal, while using DeepSeek Harness as an optional sub-agent for collaboration. It can be used as a standalone desktop application or loaded as an extension repository for DSH profiles.

Core Capabilities

  • Centralize a workspace to handle code repositories, local files, browser tasks, documents, presentations, websites, designs, and videos—no need to switch contexts between different tools
  • Enable AI agents to plan tasks, invoke tools, read/write files, run commands, and continue progress from the current state instead of just delivering a chat transcript
  • Output remains editable: after generating documents, websites, presentations, designs, and videos, text, images, layouts, and frames can still be manually refined
  • Extend AI capabilities through Skills, plugins, MCP, local services, and browser automation; plugin清单 is uniformly described via ipollowork.plugin.json
  • Optionally connect to iPolloCloud for account, organization, hosted worker lifecycle, and commercial Apps; pure local mode requires no account
  • Inject DeepSeek Harness as a sidecar runtime, allowing code review, development, and research tasks to be delegated as DSH sub-tasks with progress viewing

Technical Implementation

  • Language: TypeScript + JavaScript (hybrid)
  • Key Dependencies: Electron 35 (desktop host), @opencode-ai/sdk 1.18.16 (model & tool bridge), better-sqlite3 11 (local storage), @lydell/node-pty (local terminal), drizzle-orm (ORM)
  • Architecture Pattern: pnpm monorepo, main body consists of apps/app (React UI), apps/desktop (Electron shell), apps/server (file API), apps/orchestrator (headless orchestration), apps/installer (packaging); the desktop shell loads OpenCode, Orchestrator, and DSH all as sidecars; plugin resources are described via examples/plugin-packages/*/ipollowork.plugin.json; DSH sub-agents are injected into the DSH Cordis container via cordis.patch.yml and dsh.bundle.patch
  • Entry Files: apps/desktop/electron/main.mjs (Electron main process), apps/server/src/cli.ts (server CLI), apps/orchestrator/bin/ (headless orchestrator)

Use Cases

Suitable for non-technical users, designers, content creators, and developers: describe "make a poster / write a report / get a certain repository feature working" in one application, then continue letting AI or yourself edit in the same place instead of just getting a screenshot as the end result. People already using DSH who want to integrate visual design, document, PPT, and video capabilities into their workflow will also benefit, because this repository carries both DSH sub-agent collaboration examples (examples/plugin-packages/deepseek-harness) and production-ready DSH plugins (external-plugins/deepseek-harness/design-studio, etc.).

Prerequisites & Compatibility

DependencyMinimum VersionDescription
Node.js^22.19.0 or >=24.0.0Locked to 24 by .nvmrc, README requires 22+; used for source building, UI development, and server
pnpm11.4.0(<12)Enforced by root package.json#packageManager and engines.pnpm; monorepo uses it for installation
Bun1.3.10+Used as local Orchestrator sidecar and some scripts (required by README)
DSH0.1.0-rc.6Sidecar locked by apps/desktop/dsh-runtime/package.json; production plugins require @deepseek-ai/dsh-client-runtime and other runtimes to be between 0.1.0-rc.x
PlatformmacOS / Windows / LinuxRuns on all three; macOS requires Xcode Command Line Tools, Windows requires VS2022 C++ desktop development and Windows SDK, Linux requires C/C++ toolchain and Python 3
Native Modulesbetter-sqlite3, @lydell/node-pty, @ffmpeg-installer/ffmpeg, @ffprobe-installer/ffprobeDirectly depended on by apps/desktop/package.json, bundled with the app during packaging

Installation

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

Configuration Options

ConfigurationTypeDescriptionDefault
DSH_RUNTIME_BINEnvironment VariablePath to local DSH CLI executable, started when delegating tasksUndefined
DSH_CORDIS_CONFIGEnvironment VariableSub-agent Cordis config file path, injected before sub-process startsUndefined
DEEPSEEK_API_KEYEnvironment VariableDeepSeek model service API Key, only enabled when DSH_PROVIDER=deepseek-officialUndefined
DEEPSEEK_BASE_URLEnvironment Variable (optional)Custom DeepSeek API Base URL, defaults to officialUndefined
IPOLLOWORK_API_KEYEnvironment VariableAPI Key for iPolloWork inference gateway, only enabled when DSH_PROVIDER=ipolloworkUndefined
IPOLLOWORK_INFERENCE_BASE_URLEnvironment VariableiPolloWork inference gateway addressUndefined
IPOLLOWORK_DSH_CLI / _VERSIONEnvironment VariableOverride built-in DSH CLI path and version number, usually not needed manuallyUndefined
UI ModeIn-app SettingDesktop app default launch method, no manual configuration needed, suitable for most usersUndefined

FAQ

Q: Can I double-click to open it after installation?

A: Yes, but you need to install the desktop application to your system using one of the three official installation methods from the README (macOS .dmg, Windows .exe installer, Linux .AppImage). Loading the DSH profile this time only adds the repository code to the plugin list—it won't install the system-level desktop app for you.

Q: How does iPolloWork work with DSH?

A: It packages DSH 0.1.0-rc.6 as a local sidecar via apps/desktop/dsh-runtime, then declares a set of contracts in examples/plugin-packages/deepseek-harness/ipollowork.plugin.json: capabilities, runtime_status, runtime_install, runtime_update, runtime_remove, start, status, cancel—allowing iPolloWork to delegate clearly scoped tasks to DSH sub-agents.

Q: Do I need to pay or log in to use it?

A: Not required. The desktop app's local mode doesn't need any account; iPolloCloud is an optional connection that only participates when you actively connect to remote worker organizations or commercial Apps.

Q: Will it fork OpenCode?

A: No. OpenCode remains as an independently downloaded and upgraded component; iPolloWork does not rewrite or fork its code—the sidecar boundary is clear.

Q: Where is data stored?

A: Working files go into three subdirectories under the current workspace: design/, design/<sessionId>-ippt/, and video/; sessions, settings, and tokens are in local DSH home; iPolloCloud only participates after explicit login.

Q: Does it use an open source license?

A: No, it uses iPolloWork Source Available License 1.0: free for personal use and small-scale internal use by fewer than three people; any use by three or more people, commercial use, SaaS, or white-label distribution requires written authorization; third-party components continue to follow their respective licenses.

Q: Can I get full functionality on Linux?

A: The desktop app body runs on Linux, but building once requires a full C/C++ toolchain; Windows code signing/SmartScreen prompts and macOS signing/notarization experiences need verification on their respective platforms.

Learning Curve

Advanced — using it only requires double-clicking the installer, but running ./ipollowork CLI or building manually requires having Node 22+, pnpm 11, bun 1.3.10+, and system-level C/C++ toolchain all set up, plus understanding the monorepo's dev/build/package three-layer commands.

Known Issues & Limitations

  • The current latest stable version does not yet include DeepSeek Harness sub-agent collaboration capability; the DSH integration source code is already available in the repository, but README.md:39-45 explicitly states it is still under active development
  • Running ./ipollowork.cmd dev on Windows does not automatically register the ipollowork:// protocol handler; when testing Cloud login via an external browser, you need to manually switch, then restore production protocol handling
  • Currently only packages builds for the current OS and CPU architecture; cross-platform matrix requires going through the GitHub Releases process; without Apple/Windows signing credentials, locally produced builds are unsigned and not suitable for official release
  • Local release sequence starts from 0.0.0, official versions follow 0.1.0–0.99.0 then 1.0.0; local packaging doesn't automatically push or git tag; new versions require manually triggering the process
  • There are 4 TODOs in the source code: apps/app/src/react-app/domains/settings/pages/recovery-view.tsx mentions "restore disabled condition state" three times, apps/app/src/components/chat/message-list.tsx mentions "add tone for file messages"
  • The license is iPolloWork Source Available License 1.0, not an OSI open source license; use by more than three people, commercial use, SaaS, and white-label all require written authorization
  • The dsh.bundle.patch scope for DSH sub-plugins like external-plugins/deepseek-harness/design-studio is >=0.0.1-rc.1 <0.2.0-0; DSH 0.2.0+ requires waiting for plugin releases to catch up