Skip to main content

Multi-provider AI coding assistant CLI with 13+ providers

Project description

DevOrch

A multi-provider AI coding assistant CLI, similar to Claude Code and Gemini CLI.

DevOrch Banner Python License

Screenshots

Startup Chat
Startup Chat
Provider Selection Model Selection
Providers Models
Tool Execution Terminal Session
Tools Terminal

Features

  • 13 AI Providers - OpenAI, Anthropic, Gemini, Groq, Mistral, Together AI, OpenRouter, GitHub Copilot, DeepSeek, Kimi, Ollama, LM Studio, and Custom
  • Memory System - Persistent memory across conversations (user preferences, feedback, project context)
  • MCP Support - Connect Model Context Protocol servers for extensible tools
  • Skills System - Built-in and custom skills (/commit, /review, /test, /fix, /explain, /simplify)
  • Terminal Sessions - Background processes with GUI option, persist across restarts
  • Dynamic Model Listing - Fetches latest available models from provider APIs
  • Secure API Key Storage - Uses system keychain (Windows, macOS, Linux)
  • Session Persistence - SQLite-based chat history with resume capability
  • Powerful Tools - Shell, terminal sessions, file operations, search, grep, code editing, web access, memory
  • Interactive UI - Arrow-key navigation, numbered selections, bottom status bar, markdown responses
  • Permission System - Configurable allow/deny rules with interactive prompts
  • In-Chat Auth - Set or update API keys with /auth without restarting
  • Multiple Modes - Plan mode, Auto mode, and Ask mode

Installation

Option 1: Install with pipx (Recommended)

pip install pipx
pipx install devorch

Option 2: Install with pip

pip install devorch

Option 3: Install from source

git clone https://github.com/Amanbig/DevOrch.git
cd DevOrch
pip install -e .

Quick Start

# Start DevOrch (first run shows interactive setup)
devorch

# Specify a provider
devorch -p openai
devorch -p anthropic
devorch -p local  # Ollama

Slash Commands

Navigation & Switching

Command Description
/help Show all commands grouped by category
/models Browse and switch models (interactive, numbered list)
/model <name> Switch model (supports partial match, e.g. /model opus)
/providers Browse and switch providers (interactive, numbered list)
/provider <name> Switch provider directly
/mode Switch between Plan/Auto/Ask modes
/status Show provider, model, mode, memories, skills, MCP
/auth [provider] Set or update API key for current or specified provider

Memory

Command Description
/memory Show all saved memories
/remember <text> Save something to memory
/forget Delete a memory (interactive)

Memories persist across conversations in ~/.devorch/memory/. Types:

  • user - Your role, preferences, expertise
  • feedback - Corrections and guidance for the AI
  • project - Project decisions, context, ongoing work
  • reference - Links to external resources

Skills

Command Description
/skills List all available skills
/skill <name> Run a skill
/commit Create a git commit with a descriptive message
/review Review code changes for bugs and issues
/test Run project tests and analyze results
/fix Fix the last error or failing test
/explain Explain the current project structure
/simplify Simplify recent code changes

Custom skills can be added as YAML files in ~/.devorch/skills/:

# ~/.devorch/skills/deploy.yaml
name: deploy
description: Deploy to production
prompt: |
  Run the deploy script and verify it succeeds.
  Check the deploy logs for any errors.

Session

Command Description
/session Show current session info
/history Show conversation history
/clear Clear conversation history
/compact Summarize and compact history
/save Save conversation to file
/undo Undo last message

MCP

Command Description
/mcp Show connected MCP servers and their tools

MCP (Model Context Protocol)

Connect external tool servers via MCP. Configure in ~/.devorch/config.yaml:

mcp_servers:
  filesystem:
    command: npx
    args: ["-y", "@modelcontextprotocol/server-filesystem", "/home/user"]
  github:
    command: npx
    args: ["-y", "@modelcontextprotocol/server-github"]
    env:
      GITHUB_TOKEN: "ghp_xxx"
  sqlite:
    command: uvx
    args: ["mcp-server-sqlite", "--db-path", "mydb.sqlite"]

MCP tools automatically appear alongside built-in tools and can be used by the AI.

Modes

  • ASK (default) - Asks before each tool execution
  • AUTO - Executes tools automatically (dangerous commands still blocked)
  • PLAN - Shows plan before executing, asks for approval

Terminal Sessions

Unified terminal tool with optional GUI window. The AI can monitor output and send input.

> Start a dev server (headless, AI monitors)
  > terminal_session start command="npm run dev"
    ✓ Session 'swift-fox-a3f2' started (PID 12345)

> Open a visible terminal (user can type, AI reads output)
  > terminal_session start command="bash" gui=true
    ✓ Session 'calm-owl-b7e1' started in visible terminal

> Check output
  > terminal_session read session_id="swift-fox-a3f2"
    ✓ [Session 'swift-fox-a3f2' — running]

> Stop it
  > terminal_session stop session_id="swift-fox-a3f2"
    ✓ Session stopped.

Sessions are tracked in ~/.devorch/sessions/ and can be reconnected after restarting DevOrch.

Tool Permissions

Interactive permission system with arrow-key navigation:

? Choose an action:
  » Allow once
    Allow for this session
    Always allow (save to config)
    Deny
devorch permissions list                    # Show permissions
devorch permissions set shell allow         # Always allow shell
devorch permissions allow shell "git *"     # Allow git commands
devorch permissions deny shell "rm -rf *"   # Block dangerous commands

Supported Providers

Cloud Providers

Provider Models API Key
OpenAI GPT-4o, GPT-4, o1 OPENAI_API_KEY
Anthropic Claude 4, Claude 3.5 ANTHROPIC_API_KEY
Google Gemini Gemini 2.0, 1.5 Pro/Flash GOOGLE_API_KEY
Groq Llama 3.3, Mixtral GROQ_API_KEY
Mistral Large, Codestral MISTRAL_API_KEY
Together AI Llama 3, Mixtral, Qwen TOGETHER_API_KEY
OpenRouter 100+ models OPENROUTER_API_KEY
GitHub Copilot GPT-4o, Claude 3.5 GITHUB_TOKEN
DeepSeek Chat, Coder, Reasoner DEEPSEEK_API_KEY
Kimi (Moonshot) 8K, 32K, 128K context MOONSHOT_API_KEY

Local & Self-Hosted

Provider Setup
Ollama Install Ollama, run models locally
LM Studio Install LM Studio, GUI for local models
Custom Any OpenAI-compatible API (vLLM, TGI, llama.cpp)

Tools

Tool Description
shell Execute shell commands
terminal_session Managed sessions with optional GUI (start, read, send, stop)
filesystem Read, write, and list files
search Find files by name patterns (glob)
grep Search for text patterns in files
edit Make targeted edits to existing files
task Track progress on multi-step work
memory Save/search persistent memories across conversations
websearch Search the web (DuckDuckGo)
webfetch Fetch content from a URL

Configuration

API Keys

# From CLI
devorch set-key openai
devorch set-key anthropic

# From within chat
/auth openai
/auth anthropic

# Or use environment variables
export OPENAI_API_KEY=sk-...
export ANTHROPIC_API_KEY=sk-ant-...
export GOOGLE_API_KEY=...
export GROQ_API_KEY=gsk_...

Config File

~/.devorch/config.yaml:

default_provider: openai

providers:
  openai:
    default_model: gpt-4o
  anthropic:
    default_model: claude-sonnet-4-20250514

# MCP servers
mcp_servers:
  github:
    command: npx
    args: ["-y", "@modelcontextprotocol/server-github"]
    env:
      GITHUB_TOKEN: "ghp_xxx"

Directory Structure

~/.devorch/
├── config.yaml          # Provider settings, MCP servers
├── permissions.yaml     # Tool permission rules
├── sessions.db          # Chat history (SQLite)
├── memory/              # Persistent memories
│   ├── MEMORY.md        # Memory index
│   ├── user_*.md        # User profile memories
│   ├── feedback_*.md    # Feedback memories
│   └── project_*.md     # Project context memories
├── skills/              # Custom skill definitions
│   └── *.yaml           # User-defined skills
└── sessions/            # Terminal session logs
    ├── registry.json    # Session registry
    └── *.log            # Session output logs

Requirements

  • Python 3.10+
  • Dependencies: typer, rich, pydantic, openai, anthropic, google-genai, httpx, keyring, prompt_toolkit, questionary, pyyaml, duckduckgo-search

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

devorch-0.2.1.tar.gz (392.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

devorch-0.2.1-py3-none-any.whl (101.6 kB view details)

Uploaded Python 3

File details

Details for the file devorch-0.2.1.tar.gz.

File metadata

  • Download URL: devorch-0.2.1.tar.gz
  • Upload date:
  • Size: 392.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for devorch-0.2.1.tar.gz
Algorithm Hash digest
SHA256 fafe85e9b2df44de4b2732b398078a916436f2118e8709aad3d006b0f33546bd
MD5 fb7664426b6a57c8bc58f5412a4cf83c
BLAKE2b-256 10ad04a1b15b6d3be4edc1a8ea43528e755ea0358c3bebff32c0813611266b32

See more details on using hashes here.

File details

Details for the file devorch-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: devorch-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 101.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for devorch-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c13dabfbb05d69d103c8bdbd74b253e84989cb85780d1b8111ca9a3bdd904032
MD5 9cc71d23824200a94c13c325e9dfde00
BLAKE2b-256 8c737c5e45e380d3b0c32ff7f06588382380cbf78a6b688f2afb84426cc56099

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page