OpenPilot is an open-source AI agent runtime platform (agent harness), aimed at laptop users, running as a local desktop application, with a chat-first interaction approach. Its core goal is to let users have the agent perform read, edit, and tool invocation operations on real project folders without being locked into a single vendor.
Purpose and Positioning OpenPilot is positioned as a local AI agent runtime environment. Users choose their own model provider, workspace, and tools, and API keys remain on the user's own machine. According to the materials, OpenPilot is an open-source project under the MIT license, and the code can be viewed, forked, and contributed to.
Main Capabilities Bring your own model: Any OpenAI-compatible endpoint can be used, including OpenAI, local servers, custom gateways, etc. Users hold their own keys and are not locked into a single vendor. Local AI runtime platform: The agent runs on the user's machine, against a user-selected folder, so it can handle real files on disk. TinyFish search (optional): Provides web search and page scraping capabilities, enabling the agent to look up current documentation, versions, and facts outside the workspace. Open source: The code can be inspected, forked, and contributed to, under the MIT license.
How to Use Installation: Prebuilt installers are published on the GitHub Releases page; installed applications can update automatically from GitHub Releases. Automatic updates are not supported when running from source with npm start. Quick start from source: Requires Node.js 20+. On first launch, follow onboarding: connect a model (enter an OpenAI-compatible base URL and API key, or skip and add it later in settings); choose a workspace (the folder where the agent works); optionally configure TinyFish (get a key at agent.tinyfish.ai/api-keys for web search). If native modules break after dependency changes, run npm run rebuild to rebuild better-sqlite3. Build installers: Output goes to the dist/ directory, and artifact names do not include the version number (for example, OpenPilot-arm64.dmg, OpenPilot-Setup.exe); the version number is shown in the set→About. macOS builds are unsigned by default (identity: null). Building the Windows version from macOS requires Wine (brew install --cask wine-stable); it is recommended to use CI or a Windows machine to generate Windows artifacts. User data (using macOS as an example): application data is located at ~/Library/Application Support/OpenPilot/ (including onecode.sqlite, secrets.key, mcp.json); skills/memory are located at ~/.onecode/.
Use cases Use an AI agent with your own API Key on a local laptop to work on real project folders; need to read, edit, and make tool calls on project files; for users who want the flexibility to switch models without vendor lock-in; TinyFish search can be used when web retrieval of the latest documentation or version information is needed.
Limitations and notes TinyFish is optional; using it requires applying for your own API Key. macOS builds are unsigned by default; building Windows artifacts from macOS requires Wine, and it is recommended to use CI or a Windows machine. Automatic updates are not supported when running from source with npm start; installed release versions can receive automatic update prompts. Automatic updates use zip (macOS) and NSIS (Windows) artifacts; the client can only see Releases that are published (not drafts); macOS automatic updates are more reliable when paired with Apple code signing and notarization. OpenPilot sends anonymous usage data by default (app opens, model/feature usage, token counts), and does not include chats, files, paths, or API keys; it can be disabled during Getting Started or in Settings→About. Contribution guidelines: create a branch from the main branch (git checkout -b feat/your-change), install and run locally (npm install → npm start), keep changes focused and PRs small and easy to review, submit a Pull Request to main with a brief explanation; when submitting a bug, include reproduction steps; follow the existing code style in src/, avoid large-scale refactors of unrelated files; do not commit secrets, API keys, or local user data. When reporting issues, provide the operating system and OpenPilot version (Settings→About), whether you are using a release version or npm start, reproduction steps, and relevant logs/screenshots. Maintainer release process: update the package.json version, commit and push to main, tag and push (git tag v1.0.4; git push origin v1.0.4), GitHub Actions will build macOS + Windows and publish the artifacts, and installed users will receive update prompts. Local publishing requires a GH_TOKEN with repo permissions.
License and links MIT license (see package.json). Releases:https://github.com/ibmshaikh/OpenPilot/releases;Issues:https://github.com/ibmshaikh/OpenPilot/issues;TinyFish API Keys:https://agent.tinyfish.ai/api-keys;TinyFish Documentation:https://docs.tinyfish.ai。