<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[OpenPilot]]></title><description><![CDATA[Notes and tutorials from building OpenPilot, an open-source desktop AI agent that runs on your own model.]]></description><link>https://ibmshaikh.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Tue, 20 Oct 2026 12:57:59 GMT</lastBuildDate><atom:link href="https://ibmshaikh.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[OpenPilot vs Cursor, Cline and Continue: an honest comparison (from the person who built OpenPilot)]]></title><description><![CDATA[I'm the solo dev behind OpenPilot, an open-source desktop agent that runs on whatever model you give it. People keep asking how it compares to Cursor…]]></description><link>https://ibmshaikh.hashnode.dev/openpilot-vs-cursor-cline-and-continue-an-honest-comparison-from-the-person-who-built-openpilot</link><guid isPermaLink="true">https://ibmshaikh.hashnode.dev/openpilot-vs-cursor-cline-and-continue-an-honest-comparison-from-the-person-who-built-openpilot</guid><category><![CDATA[llm]]></category><category><![CDATA[Artificial Intelligence]]></category><category><![CDATA[Open Source]]></category><category><![CDATA[Developer Tools]]></category><category><![CDATA[AI]]></category><dc:creator><![CDATA[Ibrahim Shaikh]]></dc:creator><pubDate>Mon, 19 Oct 2026 05:53:11 GMT</pubDate><content:encoded><![CDATA[<p>I'm the solo dev behind <a href="https://github.com/ibmshaikh/OpenPilot">OpenPilot</a>, an open-source desktop agent that runs on whatever model you give it. People keep asking how it compares to Cursor, Cline and Continue, so here's my best attempt at a fair answer. I'm obviously biased, so I've stuck to things you can check in each project's own docs or code, and I've linked them. Where another tool is better, I say so.</p>
<p>Everything below was checked on <strong>October 17, 2026</strong>. These tools change fast, so if something is out of date, tell me in the comments and I'll fix it.</p>
<h2>The short version</h2>
<ul>
<li><p><strong>Cursor</strong> is the most polished experience: a full editor with Tab completion, cloud agents and its own models. It's proprietary, and on the Free and Plus plans you can't use your own API keys or third-party models.</p>
</li>
<li><p><strong>Cline</strong> is the most capable open-source option. It's Apache-2.0 and ships as a VS Code extension, a JetBrains plugin, a CLI and an early desktop app. It works with basically any provider, including Ollama and LM Studio. If you want open source and maximum features, start there.</p>
</li>
<li><p><strong>Continue</strong> was a pioneering open-source assistant, but its repo is now <strong>read-only and no longer actively maintained</strong>, after a final 2.0.0 release.</p>
</li>
<li><p><strong>OpenPilot</strong> is a small, chat-first desktop app (MIT, Electron). You point it at a folder, bring any OpenAI-compatible model, and approve what it runs. It's simpler and much younger than the others, and it's a one-person project.</p>
</li>
</ul>
<h2>Side by side</h2>
<table>
<thead>
<tr>
<th></th>
<th>Cursor</th>
<th>Cline</th>
<th>Continue</th>
<th>OpenPilot</th>
</tr>
</thead>
<tbody><tr>
<td>License</td>
<td>Proprietary</td>
<td>Apache-2.0 (JetBrains plugin not open-sourced)</td>
<td>Apache-2.0</td>
<td>MIT</td>
</tr>
<tr>
<td>Form factor</td>
<td>Full editor</td>
<td>VS Code ext, JetBrains plugin, CLI, desktop app (v0.0.x), SDK</td>
<td>VS Code ext, JetBrains plugin, CLI</td>
<td>Standalone desktop app (Electron)</td>
</tr>
<tr>
<td>Bring your own key</td>
<td>Yes, on Premium and above (OpenAI, Anthropic, Google, Azure, Bedrock); not on Free/Plus</td>
<td>Yes</td>
<td>Yes</td>
<td>Yes, it's the only way it works</td>
</tr>
<tr>
<td>Local models (Ollama / LM Studio)</td>
<td>Not among the documented BYOK providers</td>
<td>Yes</td>
<td>Yes</td>
<td>Yes (Ollama preset; LM Studio via custom base URL)</td>
</tr>
<tr>
<td>Any OpenAI-compatible endpoint</td>
<td>Not documented for BYOK</td>
<td>Yes</td>
<td>Yes</td>
<td>Yes</td>
</tr>
<tr>
<td>Approval before commands/edits</td>
<td>Has agent review and security settings (see their docs)</td>
<td>Yes, every edit and command by default, with auto-approve available</td>
<td>â€”</td>
<td>Yes for shell commands, file writes and edits: Deny / Allow / Allow all for this session</td>
</tr>
<tr>
<td>Undo / checkpoints</td>
<td>â€”</td>
<td>Yes (checkpoints)</td>
<td>â€”</td>
<td><strong>No</strong>. Use git</td>
</tr>
<tr>
<td>Tab autocomplete</td>
<td>Yes (Cursor's own models, even with BYOK)</td>
<td>â€”</td>
<td>Yes</td>
<td>No</td>
</tr>
<tr>
<td>MCP</td>
<td>Yes</td>
<td>Yes</td>
<td>Yes</td>
<td>Yes</td>
</tr>
<tr>
<td>Maintained</td>
<td>Yes</td>
<td>Yes, very active</td>
<td><strong>No, read-only repo</strong></td>
<td>Yes (solo)</td>
</tr>
<tr>
<td>Price</td>
<td>Free tier, paid from $8/mo</td>
<td>Free (you pay your model provider)</td>
<td>Free</td>
<td>Free (you pay your model provider, or nothing with local models)</td>
</tr>
</tbody></table>
<p>Sources: <a href="https://cursor.com/docs/settings/api-keys">Cursor BYOK docs</a>, <a href="https://cursor.com/docs/models">Cursor plans</a>, <a href="https://github.com/cline/cline">Cline README</a>, <a href="https://github.com/continuedev/continue">Continue README</a> and <a href="https://docs.continue.dev">docs</a>, <a href="https://github.com/ibmshaikh/OpenPilot">OpenPilot source</a>.</p>
<p>A "â€”" means I couldn't confirm it from official docs. Please don't read it as "no".</p>
<h2>Cursor</h2>
<p>Cursor is a full editor, and it's genuinely good at being one: Tab completion, Plan Mode, cloud agents, code review and a long list of integrations. Its BYOK docs are clear about the trade-offs.</p>
<ul>
<li><p>Supported key providers are <strong>OpenAI, Anthropic, Google, Azure OpenAI and AWS Bedrock</strong>.</p>
</li>
<li><p>Custom keys <strong>only work for chat models</strong>. Tab keeps using Cursor's built-in models.</p>
</li>
<li><p>Requests are <strong>routed through Cursor's servers</strong> for final prompt building, even with your own key. Cursor says the key isn't stored.</p>
</li>
<li><p>On the current plans table, <strong>Free and Plus don't include third-party models or your own API keys</strong>. Premium ($30/mo) and up do.</p>
</li>
</ul>
<p>If you're happy inside Cursor and paying for a plan that fits, I honestly don't think you need OpenPilot. Where it's a poor fit is if you want to run a model on your own machine, use a provider that isn't on that list, or keep requests from passing through a third-party backend.</p>
<h2>Cline</h2>
<p>Cline is what I'd recommend to most people asking for "open-source Cursor". It runs in VS Code and JetBrains, as a CLI (<code>npm i -g cline</code>), and now as a desktop app. Its features include:</p>
<ul>
<li><p>Plan and Act modes</p>
</li>
<li><p>Checkpoints, so you can undo the agent's work</p>
</li>
<li><p>Diffs you can review</p>
</li>
<li><p>Linter and compiler awareness</p>
</li>
<li><p>Rules and skills, MCP and plugins</p>
</li>
<li><p>Multi-agent teams and scheduled agents</p>
</li>
<li><p>A huge provider list: Anthropic, OpenAI, Gemini, OpenRouter, Bedrock, Vertex, Groq, Ollama, LM Studio and any OpenAI-compatible API</p>
</li>
</ul>
<p>By default it asks before every file edit and terminal command, and you can switch on auto-approve.</p>
<p>Compared with that, OpenPilot is a much smaller tool. Cline's desktop app is newer (v0.0.x at the time of writing), but the project overall is far more mature than mine.</p>
<h2>Continue</h2>
<p>Continue deserves credit for pushing open-source, any-model coding assistants early. As of now, its README says the <code>continuedev/continue</code> repository is <strong>no longer actively maintained and is read-only</strong>. The team shipped a final 2.0.0 of the VS Code extension, CLI and JetBrains plugin, and that release also removed anonymous telemetry. You can still install it, but don't expect fixes.</p>
<h2>OpenPilot: what it actually is</h2>
<p>I built OpenPilot because I wanted a Cursor-style agent where I pick the model, including local ones, without living inside a particular editor. In practice:</p>
<ul>
<li><p>It's a desktop chat app. You add one or more models with a name, a base URL and a key. There are presets for OpenAI, Anthropic, OpenRouter, DeepSeek, Groq, Together, Mistral, xAI, MiniMax and Ollama, or you can use any custom OpenAI-compatible URL. You can switch models per chat.</p>
</li>
<li><p>You pick a workspace folder. The agent can list, read, write and edit files there, and edits show a diff preview. It can also run shell commands (output streams into the chat), plan with a todo list, and hand side tasks to short-lived subagents.</p>
</li>
<li><p>Shell commands, file writes and file edits pause on an Allow / Deny card unless you turn on "Enable all permissions" in Settings â†’ Agent, which is off by default. I wrote up how that loop works, and where it doesn't protect you, in a separate post.</p>
</li>
<li><p>MCP servers can be turned on per chat. It also has skills (type <code>/</code>), persistent memory, token usage by model, and optional web search through TinyFish.</p>
</li>
<li><p>Keys stay on your machine. There's no account.</p>
</li>
</ul>
<p><strong>Honest limits:</strong></p>
<ul>
<li><p>It's a solo project at v1.0.5.</p>
</li>
<li><p>The Windows installer is unsigned, so SmartScreen will warn you. macOS is an unsigned beta, and on Linux you build from source.</p>
</li>
<li><p>There's no checkpoint or undo. Work in a git repo.</p>
</li>
<li><p>There's no Tab autocomplete, and it isn't an editor. I use it next to one.</p>
</li>
<li><p>Small local models (I've tested Qwen 3 8B and 27B) do fine on focused edits but get lost on long multi-step tasks. There's no loop guard yet.</p>
</li>
<li><p>Anonymous usage telemetry (app opens, feature and model use, token counts; no chats, files, paths or keys) is <strong>on by default</strong>. You can turn it off in onboarding or Settings â†’ About.</p>
</li>
</ul>
<h2>So which one?</h2>
<ul>
<li><p><strong>You want the best editor experience and you're fine paying:</strong> Cursor.</p>
</li>
<li><p><strong>You want open source with the most features, inside your editor or CLI:</strong> Cline.</p>
</li>
<li><p><strong>You want a small, standalone open-source app where any OpenAI-compatible or local model drives an agent in a folder, and you approve each command:</strong> try OpenPilot, and tell me what breaks.</p>
</li>
</ul>
<p>Links: <a href="https://github.com/ibmshaikh/OpenPilot">GitHub</a> Â· <a href="https://openpilot.in">openpilot.in</a> Â· <a href="https://dev.to/openpilot/run-a-local-coding-agent-with-ollama-qwen-3-using-openpilot-3j8n">Run it with Ollama + Qwen 3</a> Â· <a href="https://dev.to/openpilot/run-a-local-coding-agent-with-lm-studio-openpilot-2b1j">Run it with LM Studio</a></p>
<p><em>Disclosure: I drafted this post with help from an AI assistant and checked the claims against each project's docs and source on Oct 17, 2026. If I got something wrong about any of these tools, please correct me in the comments and I'll update it.</em></p>
<p><em>Originally published on</em> <a href="https://dev.to/openpilot/openpilot-vs-cursor-cline-and-continue-an-honest-comparison-from-the-person-who-built-openpilot-114a"><em>DEV</em></a><em>.</em></p>
]]></content:encoded></item><item><title><![CDATA[Run a local coding agent with Ollama + Qwen 3 using OpenPilot]]></title><description><![CDATA[I wanted something like Cursor that was open source and let me use whatever model I wanted, including ones running on my own machine. I couldn't find one…]]></description><link>https://ibmshaikh.hashnode.dev/run-a-local-coding-agent-with-ollama-qwen-3-using-openpilot</link><guid isPermaLink="true">https://ibmshaikh.hashnode.dev/run-a-local-coding-agent-with-ollama-qwen-3-using-openpilot</guid><category><![CDATA[AI]]></category><category><![CDATA[Open Source]]></category><category><![CDATA[ollama]]></category><category><![CDATA[llm]]></category><dc:creator><![CDATA[Ibrahim Shaikh]]></dc:creator><pubDate>Mon, 12 Oct 2026 20:52:27 GMT</pubDate><content:encoded><![CDATA[<hr />
<p>I wanted something like Cursor that was open source and let me use whatever model I wanted, including ones running on my own machine. I couldn't find one, so I built OpenPilot. It's a desktop app (Electron) where an AI agent works inside a project folder you pick: it reads and edits files and runs shell commands, and you approve or deny the sensitive stuff.</p>
<p>This post walks through running it fully locally with Ollama and Qwen 3. I've tested Qwen 3 8B and Qwen 3 27B this way (through Ollama and LM Studio) and both worked well for me.</p>
<h3>What you need</h3>
<ul>
<li><p>Windows (works today) or macOS (unsigned beta). No Linux installer yet, but building from source works on Linux.</p>
</li>
<li><p><a href="https://ollama.com">Ollama</a> installed</p>
</li>
<li><p>Enough RAM/VRAM for the model you pick (8B is the easy starting point)</p>
</li>
</ul>
<h3>Step 1: Pull a Qwen 3 model</h3>
<pre><code class="language-bash">ollama pull qwen3:8b
# or, if your hardware can take it:
ollama pull qwen3:27b
</code></pre>
<p>Make sure Ollama is running (<code>ollama serve</code>, or just open the Ollama app). It serves an OpenAI-compatible API at <code>http://localhost:11434/v1</code>.</p>
<h3>Step 2: Install OpenPilot</h3>
<ul>
<li><p>Windows: <a href="https://github.com/ibmshaikh/OpenPilot/releases/latest/download/OpenPilot-Setup.exe">OpenPilot-Setup.exe</a> (a portable .exe is also on the releases page)</p>
</li>
<li><p>macOS: <code>.dmg</code> for Apple Silicon or Intel from <a href="https://github.com/ibmshaikh/OpenPilot/releases/latest">Releases</a></p>
</li>
</ul>
<p><strong>SmartScreen tip:</strong> the Windows installer isn't code-signed yet (I'm a solo dev), so Windows will show "Windows protected your PC". Click <strong>More info → Run anyway</strong>. If you'd rather not, read the code and build it yourself (below).</p>
<p><strong>macOS tip:</strong> the build is unsigned, so if macOS blocks it, right-click the app → Open.</p>
<p><strong>From source (any OS, incl. Linux)</strong> — needs Node.js 20+ and roughly 1 GB free disk for <code>npm install</code>:</p>
<pre><code class="language-bash">git clone https://github.com/ibmshaikh/OpenPilot.git
cd OpenPilot
npm install
npm start
</code></pre>
<p>If native modules complain after updating, run <code>npm run rebuild</code>.</p>
<h3>Step 3: Connect the model</h3>
<p>On first launch, onboarding asks you to connect a model. Enter:</p>
<ul>
<li><p>Name: <code>qwen3:8b</code> (use the exact model name from <code>ollama list</code>)</p>
</li>
<li><p>Base URL: <code>http://localhost:11434/v1</code></p>
</li>
<li><p>API key: Ollama doesn't check it, so any placeholder like <code>ollama</code> works</p>
</li>
</ul>
<p>Using LM Studio instead? Start its local server and use its base URL (by default <code>http://localhost:1234/v1</code>) with the model name it shows.</p>
<p>You can add multiple models in Settings and switch per chat, e.g. a small local one for quick stuff and a bigger one for harder tasks.</p>
<h3>Step 4: Pick a workspace</h3>
<p>Choose the folder the agent should work in. Start with a throwaway or git-tracked project so you can diff/revert anything it does.</p>
<h3>Step 5: (Optional) web search</h3>
<p>OpenPilot can use TinyFish for web search and page fetch so the agent can look up current docs. It's optional; skip it for a fully offline setup.</p>
<h3>Step 6: Give it a task</h3>
<p>Start small and concrete, e.g.:</p>
<blockquote>
<p>Read README.md and add a "Running tests" section based on package.json scripts.</p>
</blockquote>
<p>You'll see streaming replies, thinking blocks, file edits and shell output as tool cards, and approve/deny prompts for sensitive actions. Token usage per model is in the usage view.</p>
<p>Other things worth knowing about: MCP servers can be connected and enabled per chat, skills (reusable playbooks, type <code>/</code> in the composer), and persistent memory.</p>
<h3>Honest limits</h3>
<ul>
<li><p><strong>Small models struggle with long multi-step tasks.</strong> 8B is great for focused edits; for longer chains it can lose the plot. Break tasks up or use a bigger model.</p>
</li>
<li><p><strong>No loop/retry guard yet.</strong> A model can get stuck repeating itself. Stop it and rephrase. A guard is planned.</p>
</li>
<li><p><strong>Unsigned builds</strong> on Windows and macOS (see tips above). macOS is a beta.</p>
</li>
<li><p><strong>No Linux installer yet</strong>, source build only.</p>
</li>
<li><p><strong>Telemetry:</strong> anonymous usage data (app opens, model/feature use, token counts; no chats, files, paths or keys) is on by default. Turn it off during Getting Started or in Settings → About.</p>
</li>
</ul>
<h3>Links</h3>
<ul>
<li><p>GitHub: <a href="https://github.com/ibmshaikh/OpenPilot">https://github.com/ibmshaikh/OpenPilot</a> (MIT)</p>
</li>
<li><p>Site: <a href="https://openpilot.in">https://openpilot.in</a></p>
</li>
<li><p>Bugs and model-compatibility reports welcome in Issues. If a particular local model works (or doesn't) for you, I'd love to know.</p>
</li>
</ul>
<p><em>Disclosure: this post was drafted with help from an AI assistant. Field names and default ports can differ between versions, so if a step doesn't match what you see, please open an issue.</em></p>
]]></content:encoded></item></channel></rss>