mirror of
https://github.com/PawanOsman/ChatGPT.git
synced 2026-07-18 08:05:57 +02:00
7bb5801a8c
Replace the ChatGPT reverse proxy (Docker/proxy server) entirely with OpenCursor: a Cursor-like agentic coding extension for VS Code. - Remove proxy server, Dockerfiles, docker-compose setups, and CI workflows - Add agent loop with tools (files, shell, search, web, MCP), multi-provider LLM support (OpenAI-compatible, Ollama, llama.cpp) with OAuth - Add semantic indexing, workspace context, and @-mentions - Add sidebar chat + settings webview UI (React), inline review, personas, hooks, and approval policies - Switch to pnpm, esbuild bundling, and VS Code extension packaging
85 lines
4.7 KiB
Markdown
85 lines
4.7 KiB
Markdown
<div align="center">
|
|
|
|
<img src="media/readme/hero.png" alt="OpenCursor — the open-source AI coding agent for VS Code" width="900"/>
|
|
|
|
<br/>
|
|
|
|
**The open-source AI coding agent for VS Code — built local-first.**
|
|
|
|
Chat with an agent that reads your workspace, edits files, runs commands, and searches your codebase semantically. Use your Claude / ChatGPT / Gemini subscription, any API key, or run **completely offline** with llama.cpp and Ollama.
|
|
|
|
[Install](#installation) · [Local AI](#-100-local-ai) · [Providers](#-providers) · [Features](#-what-it-does) · [Contributing](#contributing)
|
|
|
|
</div>
|
|
|
|
---
|
|
|
|
## 🔌 100% Local AI
|
|
|
|
<img src="media/readme/local-stack.png" alt="OpenCursor local stack: llama.cpp, Ollama, local embeddings — works offline" width="900"/>
|
|
|
|
OpenCursor is designed to work **without internet** once set up:
|
|
|
|
- **🦙 llama.cpp built in** — search Hugging Face for GGUF models, pick a quantization, download, and OpenCursor spawns and manages `llama-server` for you. Full launch control: context size, GPU layers, flash attention, KV cache types, speculative decoding, vision (`--mmproj`), and more.
|
|
- **🐋 Ollama** — pull, manage, and chat with models from the Ollama library, zero config.
|
|
- **🧠 Local embeddings** — semantic codebase search powered by an on-device ONNX MiniLM model. No embedding API, no key, no code leaving your machine.
|
|
- **✈️ Airplane-mode coding** — local model + local index = a fully working AI agent, offline.
|
|
|
|
## 🔍 Semantic search, no cloud
|
|
|
|
<img src="media/readme/semantic-search.png" alt="Local semantic search pipeline" width="900"/>
|
|
|
|
Ask questions in plain language — *"where do we refresh the auth token?"* — and the agent automatically finds code by *meaning*, not keywords. The index builds automatically, updates incrementally, and is stored locally. Prefer a hosted embedding model? Point it at any OpenAI-compatible `/embeddings` endpoint instead.
|
|
|
|
## 🌐 Providers
|
|
|
|
<img src="media/readme/providers.png" alt="Supported providers: OAuth sign-in and API/local providers" width="900"/>
|
|
|
|
- **OAuth sign-in** — connect your existing **Claude Code**, **OpenAI Codex**, or **Google Antigravity** account and use your subscription's models directly in VS Code.
|
|
- **API keys** — OpenAI, Anthropic, Gemini, OpenRouter presets out of the box.
|
|
- **Custom providers** — add any OpenAI-compatible or Anthropic-style endpoint (base URL + key). Run multiple providers at once; models are fetched live and mixable in the picker.
|
|
- **Auto mode** — a judge model routes each task to the best enabled model. Per-model reasoning effort, thinking mode, and context-size options.
|
|
|
|
## ⚡ What it does
|
|
|
|
| | |
|
|
|---|---|
|
|
| 💬 **Agent chat** | Multi-tab sidebar chat with @-mentions: files, folders, code, `@Docs`, git commits, branch diffs, terminals, rules, past chats |
|
|
| 🛠️ **25 tools** | Read/write/edit, shell, grep/glob, semantic search, web search & fetch, notebooks, todos, subagents, MCP |
|
|
| ✅ **Inline review** | Per-hunk **Keep / Undo** CodeLenses on every agent edit — no git required |
|
|
| 🧭 **Modes** | Agent · Ask · Plan · Debug · Multitask (Ask/Plan are read-only) |
|
|
| 🛡️ **Approval policy** | Per-action allow/ask/review/deny with risk heuristics (`rm -rf`, `sudo`, `.env`, secrets…) and wildcard allow/deny lists |
|
|
| 🔗 **MCP & hooks** | Full MCP client, plus 11 lifecycle hooks (Cursor/Claude-Code compatible) and custom subagents |
|
|
| 🖼️ **Images & PDFs** | Paste screenshots, read images and PDFs directly into context |
|
|
| ⚙️ **Extras** | `Ctrl+L` adds selection to chat, personas, custom system prompt, token usage tracking, completion notifications |
|
|
|
|
## Installation
|
|
|
|
1. Install **OpenCursor** from the VS Code Marketplace (or grab the `.vsix` from [Releases](https://github.com/PawanOsman/OpenCursor/releases)).
|
|
2. Open the OpenCursor sidebar and pick a provider:
|
|
- **Local:** one-click llama.cpp install, or point at a running Ollama.
|
|
- **Account:** sign in with Claude Code / OpenAI Codex / Google Antigravity.
|
|
- **API:** paste a key for OpenAI, Anthropic, Gemini, OpenRouter, or any custom endpoint.
|
|
3. Start chatting. `Ctrl+L` sends your selection to the chat.
|
|
|
|
> Native runtime dependencies (ONNX runtime, image processing) are downloaded once on first activation with integrity checks — they're too heavy to ship in the VSIX.
|
|
|
|
## Building from source
|
|
|
|
```bash
|
|
git clone https://github.com/PawanOsman/OpenCursor.git
|
|
cd OpenCursor
|
|
pnpm install
|
|
pnpm run compile # or: pnpm run watch
|
|
```
|
|
|
|
Press `F5` in VS Code to launch the Extension Development Host. Build a package with `pnpm run vsix`.
|
|
|
|
## Contributing
|
|
|
|
Issues and PRs welcome — see [issues](https://github.com/PawanOsman/OpenCursor/issues).
|
|
|
|
## License
|
|
|
|
[MIT](LICENSE)
|