Skip to content

ciroautuori/openbay

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

OpenBay

OpenBay is an open-source coding-agent CLI focused on free-first and powerful AI models.

Use Codex, Zen, and Groq while keeping the same terminal-first workflow: prompts, tools, agents, MCP, slash commands, and streaming output.

Why OpenBay

  • Free-first setup - Zen by default, plus Groq and Codex profiles
  • Low-friction setup - Zen works without an API key, while Groq and Codex stay available
  • Multi-Provider Support - Switch between Zen, Groq, and Codex easily
  • Save provider profiles with /provider command
  • Keep all Claude Code workflows - bash, file tools, grep, glob, agents, tasks, MCP

Quick Start

Install

npm install -g @ciroautuori/openbay

If the npm install path later reports ripgrep not found, install ripgrep system-wide and confirm rg --version works in the same terminal before starting OpenBay.

Quick Start

openbay

Inside OpenBay, run /provider to select a provider:

  • Zen (Free) - Recommended, no API key needed
  • Groq - Fast, requires free API key
  • Codex - Uses your existing ChatGPT/Codex login

Fastest Free Setup (Zen - No API Key)

export CLAUDE_CODE_USE_OPENAI=1
export OPENAI_BASE_URL="https://opencode.ai/zen/v1"
export OPENAI_MODEL="qwen3.6-plus-free"

openbay

Fastest local Ollama setup

macOS / Linux:

export CLAUDE_CODE_USE_OPENAI=1
export OPENAI_BASE_URL=http://localhost:11434/v1
export OPENAI_MODEL=qwen2.5-coder:7b

openbay

Windows PowerShell:

$env:CLAUDE_CODE_USE_OPENAI="1"
$env:OPENAI_BASE_URL="http://localhost:11434/v1"
$env:OPENAI_MODEL="qwen2.5-coder:7b"

openbay

Setup Guides

Beginner-friendly guides:

Advanced and source-build guides:


Supported Free Providers

Provider API Key Notes
Zen None Recommended, no registration
Groq Required (free) Fast inference
Codex Browser auth Requires ChatGPT login

For detailed setup instructions, see Free Providers Guide.


What Works

  • Tool-driven coding workflows Bash, file read/write/edit, grep, glob, agents, tasks, MCP, and slash commands
  • Streaming responses Real-time token output and tool progress
  • Tool calling Multi-step tool loops with model calls, tool execution, and follow-up responses
  • Images URL and base64 image inputs for providers that support vision
  • Provider profiles Guided setup plus saved .openbay-profile.json support
  • Local and remote model backends Cloud APIs, local servers, and Apple Silicon local inference

Provider Notes

OpenBay supports multiple providers, but behavior is not identical across all of them.

  • Anthropic-specific features may not exist on other providers
  • Tool quality depends heavily on the selected model
  • Smaller local models can struggle with long multi-step tool flows
  • Some providers impose lower output caps than the CLI defaults, and OpenBay adapts where possible

For best results, use models with strong tool/function calling support.


Agent Routing

Route different agents to different AI providers within the same session. Useful for cost optimization (cheap model for code review, powerful model for complex coding) or leveraging model strengths.

Configuration

Add to ~/.claude/settings.json:

{
  "agentModels": {
    "deepseek-chat": {
      "base_url": "https://api.deepseek.com/v1",
      "api_key": "sk-your-key"
    },
    "gpt-4o": {
      "base_url": "https://api.openai.com/v1",
      "api_key": "sk-your-key"
    }
  },
  "agentRouting": {
    "Explore": "deepseek-chat",
    "Plan": "gpt-4o",
    "general-purpose": "gpt-4o",
    "frontend-dev": "deepseek-chat",
    "default": "gpt-4o"
  }
}

How It Works

  • agentModels: Maps model names to OpenAI-compatible API endpoints
  • agentRouting: Maps agent types or team member names to model names
  • Priority: name > subagent_type > "default" > global provider
  • Matching: Case-insensitive, hyphen/underscore equivalent (general-purpose = general_purpose)
  • Teams: Team members are routed by their name — no extra config needed

When no routing match is found, the global provider (env vars) is used as fallback.

Note: api_key values in settings.json are stored in plaintext. Keep this file private and do not commit it to version control.


Web Search and Fetch

WebFetch works out of the box.

WebSearch and richer JS-aware fetching work best with a Firecrawl API key:

export FIRECRAWL_API_KEY=your-key-here

With Firecrawl enabled:

  • WebSearch is available across more provider setups
  • WebFetch can handle JavaScript-rendered pages more reliably

Firecrawl is optional. Without it, OpenBay falls back to the built-in behavior.


Source Build

bun install
bun run build
node dist/cli.mjs

Helpful commands:

  • bun run dev
  • bun run smoke
  • bun run doctor:runtime

VS Code Extension

The repo includes a VS Code extension in vscode-extension/openbay-vscode for OpenBay launch integration and theme support.


Security

If you believe you found a security issue, see SECURITY.md.


Contributing

Contributions are welcome.

For larger changes, open an issue first so the scope is clear before implementation. Helpful validation commands include:

  • bun run build
  • bun run smoke
  • focused bun test ... runs for touched areas

Disclaimer

OpenBay is an independent community project and is not affiliated with, endorsed by, or sponsored by Anthropic.

"Claude" and "Claude Code" are trademarks of Anthropic.


License

MIT

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages