
Company News
Jerod Santo Joins Socket as Head of Media
Allow myself to introduce... myself.
@phuetz/code-buddy
Advanced tools
Open-source multi-provider AI coding agent for the terminal. Supports Grok, Claude, ChatGPT, Gemini, Ollama and LM Studio with 52+ tools, multi-channel messaging, skills system, and OpenClaw-inspired architecture.
A powerful multi-AI terminal agent inspired by OpenClaw architecture. Supports Grok, Claude, ChatGPT, Gemini, LM Studio, and Ollama with advanced memory, multi-channel messaging, and intelligent context management.
Quick Start | Architecture | Memory System | Channels | Security | API
Code Buddy incorporates advanced patterns from the OpenClaw project:
| Module | Status | Description |
|---|---|---|
| Tool Policy System | β 100% | Fine-grained tool permissions with allowlist/denylist |
| Bash Allowlist | β 100% | Secure command execution with pattern matching |
| Context Window Guard | β 100% | Automatic context management with 34 test cases |
| Smart Compaction | β 100% | Multi-stage conversation compression |
| Context Pruning | β 100% | TTL-based message expiration |
| Hybrid Search | β 100% | Combined keyword + semantic search |
| Lifecycle Hooks | β 100% | Pre/post hooks with 52 test cases |
| Connection Profiles | β 100% | Multi-provider switching with 57 tests |
| Desktop Automation | β 100% | Screen capture, OCR, UI control |
| Gemini Vision | β 100% | Native image support via inlineData (base64 data URLs) |
| Auto-Capture Memory | β 100% | Pattern-based memory extraction |
| Memory Lifecycle | β 100% | Auto-recall and auto-capture hooks |
| Module | Status | Description |
|---|---|---|
| Middleware Pipeline | β 100% | Composable before/after turn hooks (cost limit, context warning, turn limit) |
| Reasoning Events | β 100% | Streaming chain-of-thought display with collapsible UI |
| Trust Folders | β 100% | Directory-level tool permissions via .codebuddy-trust.json |
| Agent Profiles | β 100% | Predefined agent configs (secure, minimal, power-user) |
| Tool Streaming | β 100% | Real-time bash output via AsyncGenerator |
| TabbedQuestion UI | β 100% | Multi-option interactive prompts |
| Module | Status | Description |
|---|---|---|
| Daemon Mode | β 100% | Background process with PID management, auto-restart (max 3) |
| Cron-Agent Bridge | β 100% | Scheduled task execution via CodeBuddyAgent instances |
| Task Planner | β 100% | DAG-based decomposition with topological sort and parallel execution |
| Screen Observer | β 100% | Periodic screenshots, perceptual diff, event triggers |
| Proactive Agent | β 100% | Push notifications, question/response, rate limiting, quiet hours |
| Orchestrator | β 100% | Multi-agent supervisor (sequential/parallel/race/all strategies) |
| Self-Healing | β 100% | Error pattern recognition, auto-recovery with exponential backoff |
| Checkpoint Rollback | β 100% | Auto-checkpoint before risky ops, rollback to last good state |
| Shared Context | β 100% | Thread-safe key-value store with optimistic locking |
| Module | Status | Description |
|---|---|---|
| Doctor Command | β 100% | Environment/deps/config diagnostics (buddy doctor) |
| Onboarding Wizard | β 100% | Interactive setup wizard (buddy onboard) |
| Model Failover Chain | β 100% | Cascading provider fallback with health tracking |
| Webhook Triggers | β 100% | HMAC-verified HTTP triggers + CLI + API routes |
| Typing Indicators | β 100% | Presence & typing events for channels |
| Live Canvas | β 100% | WebSocket-driven visual workspace (A2UI) |
| Docker Sandbox | β 100% | Containerized command execution with resource limits |
| Skills Registry | β 100% | Bundled/managed/workspace skills with YAML frontmatter |
| Media Pipeline | β 100% | Ingest, track, transcode with transcription hooks |
| ACP Protocol | β 100% | Inter-agent communication router with request/response |
| Extension System | β 100% | Manifest-based plugin loader with lifecycle hooks |
| Copilot Proxy | β 100% | IDE-compatible completions backend (/v1/completions) |
| Module | Status | Description |
|---|---|---|
| Web Search 5-Provider Chain | β 100% | Brave MCP β Brave API β Perplexity β Serper β DuckDuckGo with country/freshness/lang |
| Apply Patch Tool | β 100% | Unified diff parser and applier with fuzz factor (Codex-inspired) |
| Bash Parser | β 100% | AST-based command parsing via tree-sitter-bash with state-machine fallback |
| Per-Model Tool Config | β 100% | Capabilities, context window, patch format per model family |
| Head/Tail Truncation | β 100% | Smart output truncation keeping start + end of large results |
| Session Locks | β 100% | PID-based file locking with stale detection |
| Skill Scanner | β 100% | Static analysis of SKILL.md files for dangerous patterns (24 rules) |
| History Repair | β 100% | 5-pass self-repair for malformed LLM message sequences |
| Cache Trace | β 100% | Debug prompt construction stages (CACHE_TRACE=true) |
| Turn Diff Tracker | β 100% | Per-turn file change tracking with rollback capability |
| MCP Predefined Servers | β 100% | Brave Search, Playwright, Exa pre-configured in MCP |
| Headless Mode Fixes | β 100% | Clean JSON stdout, process.exit(0), Gemini message sanitization |
| Gemini Conversation Repair | β 100% | 3-pass sanitization after context compression (orphan cleanup, role merge, user-start) |
# macOS
brew install ripgrep
# Ubuntu/Debian
sudo apt-get install ripgrep
# Windows
choco install ripgrep
# Optional: tree-sitter for enhanced bash security parsing
npm install tree-sitter tree-sitter-bash
# npm (recommended)
npm install -g @phuetz/code-buddy
# Or try without installing
npx @phuetz/code-buddy@latest
# Configure API key (Grok/xAI)
export GROK_API_KEY=your_api_key
# Start interactive mode
buddy
# Or with a specific task
buddy --prompt "analyze the codebase structure"
# Use with local LLM (LM Studio)
buddy --base-url http://localhost:1234/v1 --api-key lm-studio
# Full autonomy mode
YOLO_MODE=true buddy
# Single prompt, JSON output to stdout (logs go to stderr)
buddy -p "create a hello world Express app" --output json > result.json
# Pipe into other tools
buddy -p "explain this code" --output json 2>/dev/null | jq '.content'
# Use in CI with full autonomy
buddy -p "run tests and fix failures" \
--dangerously-skip-permissions \
--output json \
--max-tool-rounds 30
Headless mode exits cleanly after completion β safe for timeout, shell scripts, and CI pipelines.
# 1. First-time setup
buddy onboard # Interactive config wizard
buddy doctor # Verify environment & dependencies
# 2. Start coding
buddy # Launch interactive chat
# 3. Describe what you want in natural language
> "Create a Node.js project with Express and Prisma"
> "Add Google OAuth authentication"
> "Write tests for the auth module"
> "Fix the typecheck errors"
> "Commit everything"
# 4. Advanced modes
buddy --model gemini-2.5-flash # Switch AI model
buddy speak # Voice conversation mode
buddy daemon start # Run 24/7 in background
buddy server --port 3000 # Expose REST/WebSocket API
Code Buddy autonomously reads files, writes code, runs commands, and fixes errors β typically 5-15 tool calls per task (up to 50, or 400 in YOLO mode).
Code Buddy uses a facade architecture for clean separation of concerns:
CodeBuddyAgent
β
βββ AgentContextFacade # Context window and memory management
β - Token counting, compression, memory retrieval
β
βββ SessionFacade # Session persistence and checkpoints
β - Save/load, checkpoint creation, rewind
β
βββ ModelRoutingFacade # Model routing and cost tracking
β - Provider selection, cost calculation
β
βββ InfrastructureFacade # MCP, sandbox, hooks, plugins
β - Hook execution, plugin loading
β
βββ MessageHistoryManager # Chat and LLM message history
CodeBuddyAgent
β
βββ TaskPlanner # DAG decomposition of complex requests
β - needsPlanning() heuristic
β - createPlan() β TaskGraph β parallel execution
β
βββ SupervisorAgent # Multi-agent orchestration
β - Sequential, parallel, race, all strategies
β - SharedContext with optimistic locking
β
βββ SelfHealing # Automatic error recovery
β - Pattern recognition (6 built-in patterns)
β - Retry with exponential backoff
β
βββ ScreenObserver # Environment monitoring
β - Periodic screenshots with perceptual diff
β - Event triggers (file_change, screen_change, time, webhook)
β
βββ ProactiveAgent # Agent-initiated communication
β - Push notifications with priority levels
β - Rate limiting and quiet hours
β
βββ DaemonManager # Background process lifecycle
- PID file management, auto-restart
- Service registry, health monitoring
User Input β ChatInterface (Ink/React) β CodeBuddyAgent β AI Provider
β
Tool Calls (max 50/400 rounds)
β
Tool Execution + Confirmation
β
Results back to API (loop)
Code Buddy supports multiple AI providers with automatic failover:
| Provider | Models | Context | Configuration |
|---|---|---|---|
| Grok (xAI) | grok-4, grok-code-fast-1 | 128K | GROK_API_KEY |
| Claude (Anthropic) | claude-sonnet-4, opus | 200K | ANTHROPIC_API_KEY |
| ChatGPT (OpenAI) | gpt-4o, gpt-4-turbo | 128K | OPENAI_API_KEY |
| Gemini (Google) | gemini-2.0-flash (+ vision) | 2M | GOOGLE_API_KEY |
| LM Studio | Any local model | Varies | --base-url http://localhost:1234/v1 |
| Ollama | llama3, codellama, etc. | Varies | --base-url http://localhost:11434/v1 |
Switch between providers using CLI options or configuration:
# Use LM Studio (local)
buddy --base-url http://localhost:1234/v1 --api-key lm-studio
# Use Ollama (local)
buddy --base-url http://localhost:11434/v1 --model llama3
# Use a specific model
buddy --model grok-code-fast-1
// ~/.codebuddy/user-settings.json
{
"connection": {
"activeProfileId": "grok",
"profiles": [
{
"id": "grok",
"name": "Grok API (xAI)",
"provider": "grok",
"baseURL": "https://api.x.ai/v1",
"model": "grok-4-latest"
},
{
"id": "lmstudio",
"name": "LM Studio Local",
"provider": "lmstudio",
"baseURL": "http://localhost:1234/v1",
"apiKey": "lm-studio"
}
]
}
}
Code Buddy features a sophisticated memory system inspired by OpenClaw:
| Subsystem | Storage | Purpose |
|---|---|---|
| Persistent Memory | Markdown files | Project/user notes |
| Enhanced Memory | SQLite + embeddings | Semantic search |
| Prospective Memory | SQLite | Tasks, goals, reminders |
Automatically detects and stores important information:
// Detected patterns (English + French)
"Remember that..." β Stored as instruction
"I prefer..." β Stored as preference
"This project uses..." β Stored as project fact
"My email is..." β Stored as contact info
"We decided to..." β Stored as decision
// Before execution: Inject relevant memories
beforeExecute(context) β { injectedContext, recalledMemories }
// After response: Capture important info
afterResponse(context) β { capturedCount, capturedMemories }
// Session end: Summarize conversation
sessionEnd(sessionId) β { summaryId, memoriesStored }
Code Buddy supports multiple messaging channels:
| Channel | Status | Features |
|---|---|---|
| Discord | π‘ Base | Bot integration, slash commands |
| Telegram | π‘ Base | Bot API, message handlers |
| Slack | π‘ Base | Bolt framework, events |
| Terminal | β Full | Native CLI interface |
| HTTP API | β Full | REST + WebSocket |
// Enable Discord channel
const discord = new DiscordChannel({
token: process.env.DISCORD_TOKEN,
allowedGuilds: ['guild-id'],
});
await discord.connect();
Fine-grained control over tool execution:
const policy = new ToolPolicy({
allowlist: ['read_file', 'search', 'web_fetch'],
denylist: ['bash', 'write_file'],
requireConfirmation: ['delete_file'],
});
Secure command execution:
const bashPolicy = new BashAllowlist({
patterns: [
/^npm (install|test|run)/,
/^git (status|diff|log)/,
/^ls -la?/,
],
blocked: [
/rm -rf/,
/sudo/,
/curl.*\|.*sh/,
],
});
| Mode | Description |
|---|---|
suggest | Confirm all operations |
auto-edit | Auto-approve safe ops |
full-auto | Full autonomy (YOLO) |
/mode suggest # Maximum safety
/mode full-auto # Full autonomy
Docker-based execution environment:
const sandbox = new DockerSandbox({
image: 'codebuddy/sandbox:latest',
memoryLimit: '512m',
networkMode: 'none',
timeout: 30000,
});
Automatic context management with configurable thresholds:
const guard = new ContextWindowGuard({
maxTokens: 128000,
warningThreshold: 0.8, // Warn at 80%
compactionThreshold: 0.9, // Compact at 90%
});
Multi-stage compression:
Combined keyword + semantic search:
const results = await hybridSearch({
query: "authentication flow",
keywordWeight: 0.3,
semanticWeight: 0.7,
});
| Category | Tools |
|---|---|
| File Operations | view_file, create_file, str_replace_editor, edit_file, multi_edit |
| Search | search, codebase_map |
| System | bash, docker, kubernetes |
| Web | web_search, web_fetch, browser |
| Patching | apply_patch (unified diff) |
| Planning | create_todo_list, get_todo_list, update_todo_list |
| Media | screenshot, audio, video, ocr, clipboard |
| Documents | pdf, document, archive |
Code Buddy automatically cascades through available search providers:
| Priority | Provider | API Key Required | Features |
|---|---|---|---|
| 1 | Brave MCP | BRAVE_API_KEY + MCP enabled | Full MCP integration, richest results |
| 2 | Brave API | BRAVE_API_KEY | Country, language, freshness filters |
| 3 | Perplexity | PERPLEXITY_API_KEY or OPENROUTER_API_KEY | AI-synthesized answers with citations |
| 4 | Serper | SERPER_API_KEY | Google Search results |
| 5 | DuckDuckGo | None | Free fallback (no API key needed) |
Search parameters: country (ISO 3166), search_lang, ui_lang, freshness (pd/pw/pm/py or date range), provider (force specific).
Three MCP servers are pre-configured (disabled by default):
buddy mcp add brave-search # Brave Web Search (needs BRAVE_API_KEY)
buddy mcp add playwright # Browser automation (no key needed)
buddy mcp add exa-search # Exa neural search (needs EXA_API_KEY)
buddy mcp list # Show all configured servers
Tools are selected based on query relevance:
// Query: "what's the weather in Paris?"
// Selected tools: web_search, web_fetch
// Not selected: bash, edit_file, etc.
REST API with WebSocket support:
buddy server --port 3000
| Endpoint | Method | Description |
|---|---|---|
/api/health | GET | Health check |
/api/metrics | GET | Prometheus metrics |
/api/chat | POST | Chat completion |
/api/chat/completions | POST | OpenAI-compatible |
/api/tools | GET | List tools |
/api/tools/{name}/execute | POST | Execute tool |
/api/sessions | GET/POST | Session management |
/api/memory | GET/POST | Memory entries |
/api/daemon/status | GET | Daemon status |
/api/daemon/health | GET | Health metrics (CPU, memory) |
/api/cron/jobs | GET | List cron jobs |
/api/cron/jobs/{id}/trigger | POST | Trigger a cron job |
/api/notifications/preferences | GET/POST | Notification settings |
const ws = new WebSocket('ws://localhost:3000/ws');
// Authenticate
ws.send(JSON.stringify({
type: 'authenticate',
payload: { token: 'jwt-token' }
}));
// Stream chat
ws.send(JSON.stringify({
type: 'chat_stream',
payload: { messages: [{ role: 'user', content: 'Hello' }] }
}));
| Command | Description |
|---|---|
/help | Show help |
/model [name] | Change model |
/mode [mode] | Change security mode |
/profile [id] | Switch connection profile |
/think | Enable reasoning (4K tokens) |
/megathink | Deep reasoning (10K tokens) |
/ultrathink | Exhaustive reasoning (32K tokens) |
/cost | Show cost dashboard |
/memory | Memory management |
/hooks list | List lifecycle hooks |
/plugin list | List plugins |
buddy daemon start [--detach] # Start background daemon
buddy daemon stop # Stop daemon
buddy daemon restart # Restart daemon
buddy daemon status # Show daemon status and services
buddy daemon logs [--lines N] # View daemon logs
buddy trigger list # List all event triggers
buddy trigger add <pattern> <action> # Add a trigger
buddy trigger remove <id> # Remove a trigger
buddy speak "Bonjour, je suis Code Buddy" # Synthesize and play speech
buddy speak --voice af_bella "Hello world" # Use a specific voice
buddy speak --list-voices # List available voices
buddy speak --speed 1.5 "Fast speech" # Adjust speed (0.25-4.0)
buddy speak --format mp3 "Hello" # Output format (wav, mp3)
buddy speak --url http://host:8000 "Hello" # Custom AudioReader URL
In-chat voice commands:
| Command | Description |
|---|---|
/speak <text> | Speak text with current TTS provider |
/tts on|off | Enable/disable TTS |
/tts auto | Auto-speak all agent responses |
/tts provider audioreader | Switch to AudioReader (Kokoro-82M, local, free) |
/tts voice ff_siwis | Set voice (e.g., ff_siwis FR, af_bella EN) |
Supported TTS providers: Edge TTS, espeak, macOS say, Piper, OpenAI, ElevenLabs, AudioReader (Kokoro-82M)
Infinite voice conversation: Enable continuousListening + autoSpeak with AudioReader for a hands-free loop: listen β STT β agent β TTS β listen.
~/.codebuddy/plugins/
my-plugin/
manifest.json
index.js
const plugin: Plugin = {
async activate(context: PluginContext) {
context.registerTool({
name: 'my_tool',
description: 'Custom tool',
execute: async (args) => {
return { success: true, output: 'Done!' };
}
});
context.registerProvider({
id: 'my-llm',
type: 'llm',
async chat(messages) { return 'response'; }
});
}
};
Code Buddy includes 40 built-in SKILL.md files that provide domain-specific knowledge, best practices, and MCP server integration for popular software. Skills are loaded contextually when relevant to your project.
| Category | Skill | Description |
|---|---|---|
| PR Workflow | review-pr | Code review checklist, inline comments, approval criteria |
prepare-pr | Branch naming, commit cleanup, PR description template | |
merge-pr | Merge strategies, conflict resolution, post-merge cleanup | |
| Dev Tools | github | Issues, releases, Actions workflows, gh CLI |
gitlab | GitLab API, glab CLI, CI/CD pipelines, merge requests | |
session-logs | Export/search conversation history and session metadata | |
model-usage | Token tracking, cost analysis, provider comparison | |
tmux-sessions | Terminal multiplexing, pane layouts, session management | |
healthcheck | Service monitoring, endpoint checks, alerting | |
| Project | project-best-practices | Project scaffolding, structure, linting, testing conventions |
csharp-avalonia | Cross-platform desktop/mobile with C# and Avalonia UI | |
coding-agent | Autonomous multi-step coding with planning and validation | |
skill-creator | Author new SKILL.md files with YAML frontmatter | |
| Creative & 3D | blender | Python bpy scripting, CLI rendering, Geometry Nodes |
unreal-engine | Remote Control API, Python editor scripting, Movie Render Queue | |
davinci-resolve | DaVinciResolveScript Python API, color grading, render queue | |
ableton-live | OSC protocol, MIDI Remote Scripts, Max for Live | |
| Design | figma | REST API, Plugin API, design tokens extraction |
gimp | Python-Fu / Script-Fu scripting, batch image processing | |
inkscape | Extensions API, CLI export, SVG manipulation | |
| DevOps & Infra | kubernetes | kubectl, Helm, ArgoCD GitOps |
terraform-ansible | Terraform IaC + Ansible configuration management | |
grafana-prometheus | Grafana HTTP API, PromQL, alerting pipelines | |
jenkins-ci | Jenkins API, Groovy pipelines, shared libraries | |
| Workflow & Data | n8n | REST API, webhook triggers, workflow automation |
databases | PostgreSQL, MongoDB, Redis CLI and automation | |
game-engines | Unity C# + Godot GDScript, builds, scene management | |
| Utilities | summarize | Text/file/URL summarization with configurable length |
weather | Weather lookups via wttr.in and OpenWeatherMap | |
| Media | image-gen | Image generation via DALL-E, Stable Diffusion, Midjourney |
whisper-transcribe | Audio/video transcription with OpenAI Whisper | |
pdf-tools | PDF creation, merging, text extraction, conversion | |
screenshot | Screen capture, annotation, OCR text extraction | |
video-tools | FFmpeg video editing, conversion, thumbnails, GIFs | |
gif-search | GIF search via Giphy and Tenor APIs | |
| Communication | email-tools | Email send/read via himalaya CLI and SMTP |
notion | Notion API for pages, databases, search, content blocks | |
blog-watcher | RSS/Atom feed monitoring, web page change detection | |
| Smart Home | spotify | Spotify playback control via spotify_player and Web API |
smart-home | Philips Hue and Home Assistant control |
Each skill includes Direct Control (CLI/API/scripting commands), MCP Server Integration (config for .codebuddy/mcp.json), and Common Workflows (step-by-step recipes). Skills are stored in .codebuddy/skills/bundled/ and can be extended with managed or workspace skills via the Skills Registry.
# Clone and install
git clone https://github.com/phuetz/code-buddy.git
cd code-buddy
npm install
# Development mode
npm run dev
# Run tests
npm test
# Validate before commit
npm run validate
# Build
npm run build
20,000+ tests across 475+ suites covering:
- Core: Tool Policy, Bash Allowlist, Context Window Guard, Compaction
- Agent: Middleware Pipeline, Profiles, Reasoning, Streaming
- Autonomy: Daemon, Cron Bridge, Task Planner, Delegation Engine
- Observation: Screen Observer, Triggers, Proactive Notifications
- Orchestration: Supervisor, Shared Context, Self-Healing, Rollback
- Providers: Gemini (vision + conversation), OpenAI-compat, Failover
- Security: Trust Folders, Skill Scanner, Bash Parser, Session Locks
- Infrastructure: MCP Client, Webhooks, Extensions, ACP Protocol
- Voice: Wake Word, TTS Providers, Voice Control Loop
- UI: ChatHistory, ChatInterface, TabbedQuestion
| Variable | Description | Default |
|---|---|---|
GROK_API_KEY | xAI API key | Required |
ANTHROPIC_API_KEY | Anthropic API key | - |
OPENAI_API_KEY | OpenAI API key | - |
GOOGLE_API_KEY | Google AI API key | - |
SERPER_API_KEY | Web search API key | - |
GROK_BASE_URL | Custom API endpoint | - |
GROK_MODEL | Default model | - |
BRAVE_API_KEY | Brave Search API key | - |
EXA_API_KEY | Exa neural search API key | - |
PERPLEXITY_API_KEY | Perplexity AI search key (pplx-...) | - |
OPENROUTER_API_KEY | OpenRouter key for Perplexity (sk-or-...) | - |
PERPLEXITY_MODEL | Perplexity model | perplexity/sonar-pro |
PICOVOICE_ACCESS_KEY | Porcupine wake word detection | - |
CACHE_TRACE | Debug prompt construction stages | false |
YOLO_MODE | Full autonomy | false |
MAX_COST | Cost limit ($) | 10 |
JWT_SECRET | API server auth | Required in prod |
Create .codebuddy/settings.json:
{
"systemPrompt": "You are working on a TypeScript project.",
"tools": {
"enabled": ["read_file", "search", "bash"],
"disabled": ["web_search"]
},
"security": {
"mode": "auto-edit",
"bashAllowlist": ["npm *", "git *"]
}
}
| Feature | Priority | Status |
|---|---|---|
| Daemon Mode (background agent) | HIGH | β Done |
| Task Planner (DAG decomposition) | HIGH | β Done |
| Screen Observer & Triggers | HIGH | β Done |
| Proactive Agent (push notifications) | HIGH | β Done |
| Multi-Agent Orchestrator | HIGH | β Done |
| Self-Healing & Checkpoint Rollback | HIGH | β Done |
| Gateway WebSocket Control Plane | HIGH | π² Planned |
| Canvas A2UI Visual Workspace | HIGH | β Done |
| ClawHub Skills Registry | MEDIUM | β Done |
| OAuth Authentication | MEDIUM | π² Planned |
| Web Search 5-Provider Chain | HIGH | β Done |
| Apply Patch & Bash Parser | HIGH | β Done |
| Per-Model Tool Config | MEDIUM | β Done |
| Voice Wake Word Detection | MEDIUM | β Done |
| TTS Providers (OpenAI, ElevenLabs, AudioReader) | MEDIUM | β Done |
| Companion Apps (iOS, Android, macOS) | LOW | π² Planned |
| Tailscale Integration | LOW | π² Planned |
API key not working
echo $GROK_API_KEY # Verify key is set
buddy --prompt "test"
Switching providers doesn't work
# Verify connection to local model
buddy --base-url http://localhost:1234/v1 --api-key lm-studio --prompt "test"
# List available models
buddy --list-models
Memory not persisting
# Check memory directory
ls ~/.codebuddy/memory/
# Clear and reinitialize
rm -rf ~/.codebuddy/memory/
buddy
High latency
buddy --model grok-code-fast-1buddy --base-url http://localhost:11434/v1 --model llama3DEBUG=codebuddy:* buddy
MIT License - see LICENSE for details.
Report Bug | Request Feature | Star on GitHub
Inspired by OpenClaw | Multi-AI: Grok | Claude | ChatGPT | Gemini | LM Studio | Ollama
FAQs
Open-source AI coding agent for the terminal, desktop, and HTTP. 64 LLM providers (Claude, GPT, Grok, Gemini, Ollama, LM Studio, NVIDIA NIM, β¦), 30 of them free-tier or local $0, with automatic failover. 220+ tools selected per query, a peer-to-peer fleet
The npm package @phuetz/code-buddy receives a total of 331 weekly downloads. As such, @phuetz/code-buddy popularity was classified as not popular.
We found that @phuetz/code-buddy demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago.Β It has 1 open source maintainer collaborating on the project.

Company News
Allow myself to introduce... myself.

Research
/Security News
A Twitch browser extension on Chrome and Firefox forwards usersβ live OAuth session tokens through proxies controlled by a Russian bot service.

Security News
Anthropic found biased reasoning and recklessness drove Claude Mythos 5 to publish malware on PyPI and compromise a security vendor.