New:Microsoft Teams Notifications Are Now Available in Socket.Learn more
Get Started

@phuetz/code-buddy

Package Overview
Dependencies
Maintainers
1
Versions
44
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@phuetz/code-buddy

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.

Source
npmnpm
Version
0.1.5
Version published
Weekly downloads
281
6.44%
Maintainers
1
Weekly downloads
 
Created
Source
Code Buddy

Code Buddy

Multi-AI Personal Assistant with OpenClaw-Inspired Architecture

npm version License: MIT Node Version TypeScript

Tests Coverage Build


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

What's New

OpenClaw-Inspired Features

Code Buddy incorporates advanced patterns from the OpenClaw project:

ModuleStatusDescription
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

Phase 3 — Streaming & Security

ModuleStatusDescription
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

Phase 4 — Autonomous Agent

ModuleStatusDescription
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

Phase 5 — OpenClaw-Inspired Platform

ModuleStatusDescription
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)

Phase 6 — Robustness & Developer Experience

ModuleStatusDescription
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)

Installation

Prerequisites

  • Node.js 18.0.0 or higher
  • ripgrep (recommended for faster search)
  • tree-sitter + tree-sitter-bash (optional, for AST-based bash command parsing)
# 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

Install Code Buddy

# npm (recommended)
npm install -g @phuetz/code-buddy

# Or try without installing
npx @phuetz/code-buddy@latest

Quick Start

# 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

Headless Mode (CI / Scripting)

# 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.

Typical Project Workflow

# 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).

Architecture

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

Autonomy Layer (Phase 4)

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

Core Flow

User Input → ChatInterface (Ink/React) → CodeBuddyAgent → AI Provider
                                              │
                                         Tool Calls (max 50/400 rounds)
                                              │
                                      Tool Execution + Confirmation
                                              │
                                        Results back to API (loop)

AI Providers

Code Buddy supports multiple AI providers with automatic failover:

ProviderModelsContextConfiguration
Grok (xAI)grok-4, grok-code-fast-1128KGROK_API_KEY
Claude (Anthropic)claude-sonnet-4, opus200KANTHROPIC_API_KEY
ChatGPT (OpenAI)gpt-4o, gpt-4-turbo128KOPENAI_API_KEY
Gemini (Google)gemini-2.0-flash (+ vision)2MGOOGLE_API_KEY
LM StudioAny local modelVaries--base-url http://localhost:1234/v1
Ollamallama3, codellama, etc.Varies--base-url http://localhost:11434/v1

Connection Profiles

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

Profile Configuration

// ~/.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"
      }
    ]
  }
}

Memory System

Code Buddy features a sophisticated memory system inspired by OpenClaw:

Three Memory Subsystems

SubsystemStoragePurpose
Persistent MemoryMarkdown filesProject/user notes
Enhanced MemorySQLite + embeddingsSemantic search
Prospective MemorySQLiteTasks, goals, reminders

Auto-Capture (OpenClaw Pattern)

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

Memory Lifecycle Hooks

// 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 }

Deduplication

  • Jaccard similarity threshold: 0.95
  • Hash-based recent capture cache
  • Automatic duplicate detection

Multi-Channel Support

Code Buddy supports multiple messaging channels:

ChannelStatusFeatures
Discord🟡 BaseBot integration, slash commands
Telegram🟡 BaseBot API, message handlers
Slack🟡 BaseBolt framework, events
Terminal✅ FullNative CLI interface
HTTP API✅ FullREST + WebSocket

Channel Configuration

// Enable Discord channel
const discord = new DiscordChannel({
  token: process.env.DISCORD_TOKEN,
  allowedGuilds: ['guild-id'],
});
await discord.connect();

Security

Tool Policy System

Fine-grained control over tool execution:

const policy = new ToolPolicy({
  allowlist: ['read_file', 'search', 'web_fetch'],
  denylist: ['bash', 'write_file'],
  requireConfirmation: ['delete_file'],
});

Bash Allowlist

Secure command execution:

const bashPolicy = new BashAllowlist({
  patterns: [
    /^npm (install|test|run)/,
    /^git (status|diff|log)/,
    /^ls -la?/,
  ],
  blocked: [
    /rm -rf/,
    /sudo/,
    /curl.*\|.*sh/,
  ],
});

Security Modes

ModeDescription
suggestConfirm all operations
auto-editAuto-approve safe ops
full-autoFull autonomy (YOLO)
/mode suggest    # Maximum safety
/mode full-auto  # Full autonomy

Sandbox Isolation

Docker-based execution environment:

const sandbox = new DockerSandbox({
  image: 'codebuddy/sandbox:latest',
  memoryLimit: '512m',
  networkMode: 'none',
  timeout: 30000,
});

Context Management

Context Window Guard

Automatic context management with configurable thresholds:

const guard = new ContextWindowGuard({
  maxTokens: 128000,
  warningThreshold: 0.8,  // Warn at 80%
  compactionThreshold: 0.9,  // Compact at 90%
});

Smart Compaction

Multi-stage compression:

  • Stage 1: Remove tool results older than TTL
  • Stage 2: Summarize older messages
  • Stage 3: Aggressive truncation if needed

Combined keyword + semantic search:

const results = await hybridSearch({
  query: "authentication flow",
  keywordWeight: 0.3,
  semanticWeight: 0.7,
});

Tools

Built-in Tools

CategoryTools
File Operationsview_file, create_file, str_replace_editor, edit_file, multi_edit
Searchsearch, codebase_map
Systembash, docker, kubernetes
Webweb_search, web_fetch, browser
Patchingapply_patch (unified diff)
Planningcreate_todo_list, get_todo_list, update_todo_list
Mediascreenshot, audio, video, ocr, clipboard
Documentspdf, document, archive

Web Search (5-Provider Fallback Chain)

Code Buddy automatically cascades through available search providers:

PriorityProviderAPI Key RequiredFeatures
1Brave MCPBRAVE_API_KEY + MCP enabledFull MCP integration, richest results
2Brave APIBRAVE_API_KEYCountry, language, freshness filters
3PerplexityPERPLEXITY_API_KEY or OPENROUTER_API_KEYAI-synthesized answers with citations
4SerperSERPER_API_KEYGoogle Search results
5DuckDuckGoNoneFree 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).

MCP Predefined Servers

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

RAG-Based Tool Selection

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.

API Server

REST API with WebSocket support:

Starting the Server

buddy server --port 3000

Endpoints

EndpointMethodDescription
/api/healthGETHealth check
/api/metricsGETPrometheus metrics
/api/chatPOSTChat completion
/api/chat/completionsPOSTOpenAI-compatible
/api/toolsGETList tools
/api/tools/{name}/executePOSTExecute tool
/api/sessionsGET/POSTSession management
/api/memoryGET/POSTMemory entries
/api/daemon/statusGETDaemon status
/api/daemon/healthGETHealth metrics (CPU, memory)
/api/cron/jobsGETList cron jobs
/api/cron/jobs/{id}/triggerPOSTTrigger a cron job
/api/notifications/preferencesGET/POSTNotification settings

WebSocket Events

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' }] }
}));

Slash Commands

CommandDescription
/helpShow help
/model [name]Change model
/mode [mode]Change security mode
/profile [id]Switch connection profile
/thinkEnable reasoning (4K tokens)
/megathinkDeep reasoning (10K tokens)
/ultrathinkExhaustive reasoning (32K tokens)
/costShow cost dashboard
/memoryMemory management
/hooks listList lifecycle hooks
/plugin listList plugins

Daemon Commands

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

Trigger Commands

buddy trigger list             # List all event triggers
buddy trigger add <pattern> <action>  # Add a trigger
buddy trigger remove <id>      # Remove a trigger

Voice & TTS Commands

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:

CommandDescription
/speak <text>Speak text with current TTS provider
/tts on|offEnable/disable TTS
/tts autoAuto-speak all agent responses
/tts provider audioreaderSwitch to AudioReader (Kokoro-82M, local, free)
/tts voice ff_siwisSet 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.

Plugin System

Plugin Structure

~/.codebuddy/plugins/
  my-plugin/
    manifest.json
    index.js

Plugin Types

  • Tool Plugins: Add custom tools
  • Provider Plugins: Add LLM/embedding/search providers
  • Command Plugins: Add slash commands
  • Hook Plugins: Add lifecycle hooks

Example Plugin

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'; }
    });
  }
};

Bundled Skills (40)

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.

CategorySkillDescription
PR Workflowreview-prCode review checklist, inline comments, approval criteria
prepare-prBranch naming, commit cleanup, PR description template
merge-prMerge strategies, conflict resolution, post-merge cleanup
Dev ToolsgithubIssues, releases, Actions workflows, gh CLI
gitlabGitLab API, glab CLI, CI/CD pipelines, merge requests
session-logsExport/search conversation history and session metadata
model-usageToken tracking, cost analysis, provider comparison
tmux-sessionsTerminal multiplexing, pane layouts, session management
healthcheckService monitoring, endpoint checks, alerting
Projectproject-best-practicesProject scaffolding, structure, linting, testing conventions
csharp-avaloniaCross-platform desktop/mobile with C# and Avalonia UI
coding-agentAutonomous multi-step coding with planning and validation
skill-creatorAuthor new SKILL.md files with YAML frontmatter
Creative & 3DblenderPython bpy scripting, CLI rendering, Geometry Nodes
unreal-engineRemote Control API, Python editor scripting, Movie Render Queue
davinci-resolveDaVinciResolveScript Python API, color grading, render queue
ableton-liveOSC protocol, MIDI Remote Scripts, Max for Live
DesignfigmaREST API, Plugin API, design tokens extraction
gimpPython-Fu / Script-Fu scripting, batch image processing
inkscapeExtensions API, CLI export, SVG manipulation
DevOps & Infrakuberneteskubectl, Helm, ArgoCD GitOps
terraform-ansibleTerraform IaC + Ansible configuration management
grafana-prometheusGrafana HTTP API, PromQL, alerting pipelines
jenkins-ciJenkins API, Groovy pipelines, shared libraries
Workflow & Datan8nREST API, webhook triggers, workflow automation
databasesPostgreSQL, MongoDB, Redis CLI and automation
game-enginesUnity C# + Godot GDScript, builds, scene management
UtilitiessummarizeText/file/URL summarization with configurable length
weatherWeather lookups via wttr.in and OpenWeatherMap
Mediaimage-genImage generation via DALL-E, Stable Diffusion, Midjourney
whisper-transcribeAudio/video transcription with OpenAI Whisper
pdf-toolsPDF creation, merging, text extraction, conversion
screenshotScreen capture, annotation, OCR text extraction
video-toolsFFmpeg video editing, conversion, thumbnails, GIFs
gif-searchGIF search via Giphy and Tenor APIs
Communicationemail-toolsEmail send/read via himalaya CLI and SMTP
notionNotion API for pages, databases, search, content blocks
blog-watcherRSS/Atom feed monitoring, web page change detection
Smart HomespotifySpotify playback control via spotify_player and Web API
smart-homePhilips 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.

Development

# 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

Test Coverage

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

Configuration

Environment Variables

VariableDescriptionDefault
GROK_API_KEYxAI API keyRequired
ANTHROPIC_API_KEYAnthropic API key-
OPENAI_API_KEYOpenAI API key-
GOOGLE_API_KEYGoogle AI API key-
SERPER_API_KEYWeb search API key-
GROK_BASE_URLCustom API endpoint-
GROK_MODELDefault model-
BRAVE_API_KEYBrave Search API key-
EXA_API_KEYExa neural search API key-
PERPLEXITY_API_KEYPerplexity AI search key (pplx-...)-
OPENROUTER_API_KEYOpenRouter key for Perplexity (sk-or-...)-
PERPLEXITY_MODELPerplexity modelperplexity/sonar-pro
PICOVOICE_ACCESS_KEYPorcupine wake word detection-
CACHE_TRACEDebug prompt construction stagesfalse
YOLO_MODEFull autonomyfalse
MAX_COSTCost limit ($)10
JWT_SECRETAPI server authRequired in prod

Project Settings

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 *"]
  }
}

Roadmap

Planned Features

FeaturePriorityStatus
Daemon Mode (background agent)HIGH✅ Done
Task Planner (DAG decomposition)HIGH✅ Done
Screen Observer & TriggersHIGH✅ Done
Proactive Agent (push notifications)HIGH✅ Done
Multi-Agent OrchestratorHIGH✅ Done
Self-Healing & Checkpoint RollbackHIGH✅ Done
Gateway WebSocket Control PlaneHIGH🔲 Planned
Canvas A2UI Visual WorkspaceHIGH✅ Done
ClawHub Skills RegistryMEDIUM✅ Done
OAuth AuthenticationMEDIUM🔲 Planned
Web Search 5-Provider ChainHIGH✅ Done
Apply Patch & Bash ParserHIGH✅ Done
Per-Model Tool ConfigMEDIUM✅ Done
Voice Wake Word DetectionMEDIUM✅ Done
TTS Providers (OpenAI, ElevenLabs, AudioReader)MEDIUM✅ Done
Companion Apps (iOS, Android, macOS)LOW🔲 Planned
Tailscale IntegrationLOW🔲 Planned

Troubleshooting

Common Issues

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

  • Use a faster model: buddy --model grok-code-fast-1
  • Use local LLM: buddy --base-url http://localhost:11434/v1 --model llama3

Debug Mode

DEBUG=codebuddy:* buddy

License

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

Keywords

cli

FAQs

Package last updated on 11 Feb 2026

Related posts