Skip to content

ducan-ne/opencoder

Repository files navigation

OpenCoder: the open source version of Claude Code

Try it out:

npx opencoder@latest
bunx opencoder@latest

Or try the beta channel:

npx opencoder@next

Overview

  • Complete Claude Code replacement with similar UI and UX
  • Built on top of the Vercel AI SDK. Fully compatible with the AI SDK model.
  • Supports any LLM providers that the AI SDK supports (OpenAI, Anthropic, Google, etc.)
  • Cross-platform shell: which means supports Windows, Linux, and MacOS.
  • High performance: 60 FPS UI rendering, powered by React concurrent rendering, React Compiler
  • Add custom tools to OpenCoder in 1 step (with custom UI)

Demo

Youtube clone

0410.1.mp4

Features

1. Built on top of the Vercel AI SDK

OpenCoder is built on top of the Vercel AI SDK. It is fully compatible with the AI SDK model, any official or community model supported by the AI SDK will work with OpenCoder:

import { ollama } from 'ollama-ai-provider'; // read more: https://sdk.vercel.ai/providers/community-providers/ollama
import type { Config } from 'opencoder';

export default {
  model: ollama('qwq'),
} satisfies Config

2. MCP makes it easy

Integrate powerful MCP capabilities into your workflow in 1 step. OpenCoder provides ready-to-use MCP tools that can be implemented with just a few lines of code:

import { playwright } from 'opencoder/mcp';

export default {
  mcp: [playwright()],
} satisfies Config

More examples:

3. Cross-platform shell

OpenCoder has a cross-platform shell that supports Windows, Linux, and MacOS. Powered by Deno shell

Available tools

  • Read file
  • Write file
  • Edit file
  • Think
  • Memory edit
  • Memory read
  • Planning
  • Grep: powered by @vscode/ripgrep
  • Check diagnostics (currently only Typescript is supported)

Available MCP tools

  • Playwright
  • Web search

Roadmap

  • More commands (/checkpoint, /revert, /commit, /mcp, /cost)
  • Documentation
  • Add auto-import MCP tools from .vscode/mcp.json or .cursorrules/mcp.json
  • Proper release process (changeset + changelog)
  • Command history
  • Persistent chat history
  • Add more tests
  • Add more examples
  • Tool confirmation dialog
  • Prebuilt MCP tools (import { playwright } from "opencoder/mcp")
  • Add MCP support
  • Support custom tools

Contributions are welcome!