@phuetz/code-buddy 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +160 -165
- package/dist/agent/autonomous/agentic-coding-contract.d.ts +6 -6
- package/dist/agent/codebuddy-agent.d.ts +1 -1
- package/dist/agent/codebuddy-agent.js +69 -14
- package/dist/agent/execution/agent-executor.js +122 -12
- package/dist/agent/execution/tool-dependency-graph.js +7 -0
- package/dist/agent/execution/tool-hooks.d.ts +6 -0
- package/dist/agent/execution/tool-hooks.js +13 -5
- package/dist/agent/execution/tool-selection-strategy.d.ts +11 -2
- package/dist/agent/execution/tool-selection-strategy.js +67 -10
- package/dist/agent/extended-thinking.d.ts +8 -0
- package/dist/agent/extended-thinking.js +27 -0
- package/dist/agent/hermes-browser-backends.js +151 -11
- package/dist/agent/hermes-claw-migrate.d.ts +59 -0
- package/dist/agent/hermes-claw-migrate.js +427 -26
- package/dist/agent/hermes-parity-manifest.js +78 -71
- package/dist/agent/hermes-runtime-lifecycle.d.ts +67 -0
- package/dist/agent/hermes-runtime-lifecycle.js +468 -0
- package/dist/agent/middleware/index.d.ts +1 -0
- package/dist/agent/middleware/index.js +1 -0
- package/dist/agent/middleware/visual-validation-middleware.d.ts +17 -0
- package/dist/agent/middleware/visual-validation-middleware.js +67 -0
- package/dist/agent/model-benchmark.d.ts +77 -0
- package/dist/agent/model-benchmark.js +309 -0
- package/dist/agent/model-tier.d.ts +14 -0
- package/dist/agent/model-tier.js +71 -0
- package/dist/agent/multi-agent/agents/orchestrator-agent.js +17 -6
- package/dist/agent/multi-agent/multi-agent-system.js +3 -1
- package/dist/agent/multi-agent/session-fleet-bridge.d.ts +2 -0
- package/dist/agent/multi-agent/session-fleet-bridge.js +9 -1
- package/dist/agent/multi-agent/session-tools.js +22 -5
- package/dist/agent/reasoning/mcts.js +20 -6
- package/dist/agent/session-end-flush.d.ts +6 -1
- package/dist/agent/session-end-flush.js +20 -4
- package/dist/agent/streaming/streaming-handler.d.ts +7 -0
- package/dist/agent/streaming/streaming-handler.js +8 -1
- package/dist/agent/tool-executor.js +1 -0
- package/dist/agent/tool-handler.d.ts +5 -0
- package/dist/agent/tool-handler.js +130 -4
- package/dist/browser-automation/browser-operator-executor.js +15 -0
- package/dist/browser-automation/browser-use-runner.d.ts +96 -0
- package/dist/browser-automation/browser-use-runner.js +492 -0
- package/dist/browser-automation/camofox-runner.d.ts +107 -0
- package/dist/browser-automation/camofox-runner.js +287 -0
- package/dist/channels/dingtalk/index.js +3 -0
- package/dist/channels/discord/client.d.ts +9 -0
- package/dist/channels/discord/client.js +12 -0
- package/dist/channels/feishu/index.d.ts +167 -1
- package/dist/channels/feishu/index.js +432 -7
- package/dist/channels/gateway-lifecycle.d.ts +132 -0
- package/dist/channels/gateway-lifecycle.js +219 -0
- package/dist/channels/google-chat/index.d.ts +5 -1
- package/dist/channels/google-chat/index.js +5 -1
- package/dist/channels/imessage/index.d.ts +14 -0
- package/dist/channels/imessage/index.js +64 -17
- package/dist/channels/index.d.ts +4 -0
- package/dist/channels/index.js +4 -0
- package/dist/channels/irc/index.d.ts +73 -3
- package/dist/channels/irc/index.js +446 -11
- package/dist/channels/line/index.js +3 -0
- package/dist/channels/mattermost/index.d.ts +51 -4
- package/dist/channels/mattermost/index.js +303 -20
- package/dist/channels/nextcloud-talk/index.d.ts +89 -8
- package/dist/channels/nextcloud-talk/index.js +367 -16
- package/dist/channels/nostr/index.d.ts +121 -1
- package/dist/channels/nostr/index.js +396 -8
- package/dist/channels/ntfy/index.js +3 -0
- package/dist/channels/qq/index.js +3 -0
- package/dist/channels/slash-parity.d.ts +117 -0
- package/dist/channels/slash-parity.js +185 -0
- package/dist/channels/synology-chat/index.js +3 -0
- package/dist/channels/teams/index.d.ts +3 -0
- package/dist/channels/teams/index.js +3 -0
- package/dist/channels/telegram/client.d.ts +9 -0
- package/dist/channels/telegram/client.js +12 -0
- package/dist/channels/twilio-voice/index.js +3 -0
- package/dist/channels/webchat/index.d.ts +7 -1
- package/dist/channels/webchat/index.js +7 -1
- package/dist/channels/wecom/index.js +3 -0
- package/dist/channels/weixin/index.js +3 -0
- package/dist/channels/zalo/index.js +3 -0
- package/dist/cli/config-loader.js +1 -1
- package/dist/codebuddy/client.d.ts +30 -1
- package/dist/codebuddy/client.js +167 -20
- package/dist/codebuddy/providers/provider-chatgpt-responses.d.ts +5 -0
- package/dist/codebuddy/providers/provider-chatgpt-responses.js +1 -0
- package/dist/codebuddy/providers/provider-gemini-native.js +1 -1
- package/dist/codebuddy/providers/provider-openai-compat.d.ts +5 -0
- package/dist/codebuddy/providers/provider-openai-compat.js +82 -2
- package/dist/codebuddy/tool-definitions/computer-control-tools.js +32 -2
- package/dist/codebuddy/tool-definitions/core-tools.js +3 -3
- package/dist/codebuddy/tool-definitions/index.d.ts +2 -1
- package/dist/codebuddy/tool-definitions/index.js +2 -1
- package/dist/codebuddy/tool-definitions/multimodal-tools.d.ts +1 -0
- package/dist/codebuddy/tool-definitions/multimodal-tools.js +44 -1
- package/dist/codebuddy/tool-definitions/windows-tools.d.ts +2 -0
- package/dist/codebuddy/tool-definitions/windows-tools.js +34 -0
- package/dist/codebuddy/tools.d.ts +1 -1
- package/dist/codebuddy/tools.js +27 -24
- package/dist/commands/cli/hermes-commands.js +108 -0
- package/dist/commands/cli/native-engine-commands.js +102 -3
- package/dist/commands/cli/utility-commands.js +45 -0
- package/dist/commands/enhanced-command-handler.js +1 -1
- package/dist/commands/goal-cli.d.ts +30 -0
- package/dist/commands/goal-cli.js +210 -27
- package/dist/commands/handlers/goal-handler.d.ts +9 -2
- package/dist/commands/handlers/goal-handler.js +36 -9
- package/dist/commands/handlers/infra-handlers.js +36 -0
- package/dist/commands/handlers/memory-handlers.js +96 -1
- package/dist/commands/headless-slash.d.ts +2 -0
- package/dist/commands/headless-slash.js +12 -0
- package/dist/commands/llm-provider-resolution.d.ts +5 -3
- package/dist/commands/llm-provider-resolution.js +87 -33
- package/dist/commands/ollama.d.ts +25 -0
- package/dist/commands/ollama.js +100 -0
- package/dist/commands/provider.d.ts +5 -0
- package/dist/commands/provider.js +106 -55
- package/dist/commands/spec-next.js +2 -1
- package/dist/commands/spec-plan.js +5 -16
- package/dist/commands/tunnel.d.ts +2 -0
- package/dist/commands/tunnel.js +48 -0
- package/dist/config/config-resolver.d.ts +2 -1
- package/dist/config/config-resolver.js +54 -41
- package/dist/config/constants.d.ts +28 -0
- package/dist/config/constants.js +7 -0
- package/dist/config/env-schema.js +756 -0
- package/dist/config/model-tools.js +4 -4
- package/dist/config/toml-config.d.ts +16 -0
- package/dist/config/toml-config.js +3 -0
- package/dist/context/context-manager-v2.js +1 -0
- package/dist/daemon/autonomous-daemon.d.ts +1 -1
- package/dist/daemon/autonomous-daemon.js +3 -3
- package/dist/daemon/autonomous-loop.js +11 -2
- package/dist/daemon/colab-goal.js +9 -1
- package/dist/daemon/cron-agent-bridge.d.ts +12 -3
- package/dist/daemon/cron-agent-bridge.js +25 -9
- package/dist/desktop/codebuddy-engine-adapter.d.ts +32 -0
- package/dist/desktop/codebuddy-engine-adapter.js +257 -80
- package/dist/desktop/engine-adapter.d.ts +14 -0
- package/dist/desktop-automation/automation-manager.js +16 -0
- package/dist/desktop-automation/omniparser-runner.d.ts +63 -0
- package/dist/desktop-automation/omniparser-runner.js +115 -0
- package/dist/desktop-automation/smart-snapshot.d.ts +11 -0
- package/dist/desktop-automation/smart-snapshot.js +72 -5
- package/dist/doctor/index.js +40 -23
- package/dist/events/types.d.ts +11 -0
- package/dist/fleet/colab-store.js +14 -2
- package/dist/fleet/peer-session-bridge.js +50 -12
- package/dist/fleet/peer-tool-bridge.js +14 -0
- package/dist/goals/goal-decomposer.d.ts +27 -0
- package/dist/goals/goal-decomposer.js +293 -0
- package/dist/goals/goal-judge-client.d.ts +15 -0
- package/dist/goals/goal-judge-client.js +45 -0
- package/dist/goals/goal-judge.d.ts +2 -0
- package/dist/goals/goal-judge.js +35 -6
- package/dist/goals/goal-loop.d.ts +14 -0
- package/dist/goals/goal-loop.js +47 -2
- package/dist/goals/goal-manager.d.ts +6 -0
- package/dist/goals/goal-manager.js +67 -14
- package/dist/goals/goal-state.d.ts +13 -0
- package/dist/goals/goal-state.js +83 -13
- package/dist/goals/goal-store.d.ts +3 -0
- package/dist/goals/goal-store.js +31 -15
- package/dist/hooks/user-hooks.js +17 -3
- package/dist/index.js +464 -25
- package/dist/input/text-to-speech.d.ts +2 -6
- package/dist/input/text-to-speech.js +2 -27
- package/dist/integrations/screenpipe/screenpipe-client.d.ts +10 -0
- package/dist/integrations/screenpipe/screenpipe-client.js +12 -2
- package/dist/integrations/tailscale.d.ts +13 -0
- package/dist/integrations/tailscale.js +87 -34
- package/dist/knowledge/workspace-indexer.js +53 -9
- package/dist/mcp/client.js +1 -0
- package/dist/mcp/mcp-desktop-tools.d.ts +23 -0
- package/dist/mcp/mcp-desktop-tools.js +158 -0
- package/dist/mcp/mcp-server.js +2 -0
- package/dist/memory/enhanced-memory.d.ts +10 -0
- package/dist/memory/enhanced-memory.js +33 -2
- package/dist/memory/index.d.ts +3 -1
- package/dist/memory/index.js +4 -1
- package/dist/memory/memory-auto-proposer.d.ts +23 -0
- package/dist/memory/memory-auto-proposer.js +308 -0
- package/dist/memory/memory-candidate-queue.d.ts +92 -0
- package/dist/memory/memory-candidate-queue.js +261 -0
- package/dist/memory/persistent-memory.d.ts +45 -2
- package/dist/memory/persistent-memory.js +236 -40
- package/dist/ml/bayesian-qualifier.d.ts +1 -1
- package/dist/ml/bayesian-qualifier.js +35 -2
- package/dist/openclaw/gateway-bridge.js +5 -0
- package/dist/plugins/marketplace.d.ts +1 -0
- package/dist/plugins/marketplace.js +7 -0
- package/dist/prompts/execution-discipline.d.ts +14 -0
- package/dist/prompts/execution-discipline.js +29 -0
- package/dist/prompts/variation-injector.js +9 -2
- package/dist/protocols/acp/acp-agentic-runner.d.ts +7 -6
- package/dist/protocols/acp/acp-agentic-runner.js +115 -18
- package/dist/protocols/acp/acp-session-store.d.ts +23 -0
- package/dist/protocols/acp/acp-session-store.js +77 -0
- package/dist/protocols/acp/acp-stdio-server.d.ts +7 -0
- package/dist/protocols/acp/acp-stdio-server.js +71 -16
- package/dist/providers/active-llm-registry.d.ts +37 -0
- package/dist/providers/active-llm-registry.js +186 -0
- package/dist/providers/auxiliary-provider.d.ts +25 -0
- package/dist/providers/auxiliary-provider.js +192 -0
- package/dist/providers/codex-oauth.d.ts +1 -1
- package/dist/providers/codex-oauth.js +27 -4
- package/dist/providers/index.d.ts +3 -0
- package/dist/providers/index.js +4 -0
- package/dist/providers/provider-catalog.d.ts +70 -0
- package/dist/providers/provider-catalog.js +738 -0
- package/dist/providers/provider-fallback.d.ts +35 -0
- package/dist/providers/provider-fallback.js +171 -0
- package/dist/providers/xai-oauth.d.ts +128 -0
- package/dist/providers/xai-oauth.js +735 -0
- package/dist/scheduler/cron-scheduler.d.ts +15 -3
- package/dist/scheduler/cron-scheduler.js +53 -7
- package/dist/scheduler/script-runner.d.ts +2 -0
- package/dist/scheduler/script-runner.js +19 -4
- package/dist/scheduler/watchdog-handlers.js +7 -20
- package/dist/search/usearch-index.js +7 -2
- package/dist/security/tool-policy/tool-groups.js +2 -0
- package/dist/server/index.js +17 -2
- package/dist/server/routes/mobile.d.ts +12 -4
- package/dist/server/routes/mobile.js +116 -1
- package/dist/server/tls-config.d.ts +35 -0
- package/dist/server/tls-config.js +142 -0
- package/dist/server/tunnel-manager.d.ts +20 -0
- package/dist/server/tunnel-manager.js +58 -0
- package/dist/server/websocket/fleet-bridge.js +5 -0
- package/dist/services/prompt-builder.d.ts +1 -0
- package/dist/services/prompt-builder.js +49 -8
- package/dist/shared/engine-types.d.ts +15 -1
- package/dist/sidecar/sidecar-bridge.d.ts +1 -0
- package/dist/sidecar/sidecar-bridge.js +21 -10
- package/dist/spec/spec-store.js +8 -1
- package/dist/talk-mode/providers/audioreader-tts.d.ts +1 -1
- package/dist/talk-mode/providers/audioreader-tts.js +8 -8
- package/dist/templates/project-scaffolding.js +3 -2
- package/dist/themes/theme-schema.d.ts +10 -10
- package/dist/tools/application-profiles.js +38 -0
- package/dist/tools/bash/bash-tool.d.ts +1 -0
- package/dist/tools/bash/bash-tool.js +16 -2
- package/dist/tools/bash/command-validator.js +3 -0
- package/dist/tools/bash/rtk-rewrite.d.ts +16 -0
- package/dist/tools/bash/rtk-rewrite.js +100 -0
- package/dist/tools/bash/streaming-executor.js +14 -1
- package/dist/tools/computer-control-tool.d.ts +16 -1
- package/dist/tools/computer-control-tool.js +317 -5
- package/dist/tools/document-generator.d.ts +14 -0
- package/dist/tools/document-generator.js +79 -0
- package/dist/tools/execute-code-rpc-invoker.d.ts +26 -2
- package/dist/tools/execute-code-rpc-invoker.js +46 -5
- package/dist/tools/metadata.js +28 -0
- package/dist/tools/office-macro-tool.d.ts +10 -0
- package/dist/tools/office-macro-tool.js +93 -0
- package/dist/tools/registry/index.d.ts +2 -1
- package/dist/tools/registry/index.js +2 -1
- package/dist/tools/registry/memory-tools.d.ts +20 -0
- package/dist/tools/registry/memory-tools.js +225 -3
- package/dist/tools/registry/multimodal-tools.js +2 -2
- package/dist/tools/registry/vision-tools.d.ts +33 -0
- package/dist/tools/registry/vision-tools.js +308 -6
- package/dist/tools/registry/windows-tools.d.ts +2 -0
- package/dist/tools/registry/windows-tools.js +47 -0
- package/dist/tools/route-peer-tool.js +14 -0
- package/dist/tools/screenshot-tool.js +14 -2
- package/dist/tools/text-to-speech-tool.d.ts +1 -1
- package/dist/tools/text-to-speech-tool.js +2 -12
- package/dist/tools/tool-selector.js +3 -59
- package/dist/utils/config-validation/schema.d.ts +40 -7
- package/dist/utils/config-validation/schema.js +130 -1
- package/dist/utils/cost-tracker.js +21 -1
- package/dist/utils/disk-guard.d.ts +180 -0
- package/dist/utils/disk-guard.js +404 -0
- package/dist/utils/interactive-setup.js +35 -2
- package/dist/utils/model-utils.js +11 -2
- package/dist/utils/output-sanitizer.js +11 -0
- package/dist/utils/provider-detector.d.ts +8 -7
- package/dist/utils/provider-detector.js +19 -77
- package/dist/utils/settings-manager.d.ts +7 -0
- package/dist/utils/token-display.d.ts +3 -3
- package/dist/utils/token-display.js +22 -4
- package/dist/wizard/onboarding.d.ts +39 -0
- package/dist/wizard/onboarding.js +433 -21
- package/dist/wizard/provider-onboarding.d.ts +8 -23
- package/dist/wizard/provider-onboarding.js +39 -158
- package/package.json +4 -2
- package/dist/plugins/provider-onboarding.d.ts +0 -23
- package/dist/plugins/provider-onboarding.js +0 -116
- package/dist/utils/kokoro-tts.d.ts +0 -8
- package/dist/utils/kokoro-tts.js +0 -67
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
# Code Buddy
|
|
6
6
|
|
|
7
|
-
###
|
|
7
|
+
### The open-source AI coding agent that runs **free, on your own machine**
|
|
8
8
|
|
|
9
9
|
<p align="center">
|
|
10
10
|
<a href="https://www.npmjs.com/package/@phuetz/code-buddy"><img src="https://img.shields.io/npm/v/@phuetz/code-buddy.svg?style=flat-square&color=ff6b6b&label=version" alt="npm version"/></a>
|
|
@@ -15,15 +15,14 @@
|
|
|
15
15
|
</p>
|
|
16
16
|
|
|
17
17
|
<p align="center">
|
|
18
|
-
<img src="https://img.shields.io/
|
|
19
|
-
<img src="https://img.shields.io/badge/
|
|
18
|
+
<a href="https://github.com/phuetz/code-buddy/stargazers"><img src="https://img.shields.io/github/stars/phuetz/code-buddy?style=flat-square&logo=github&color=feca57&label=Star" alt="GitHub stars"/></a>
|
|
19
|
+
<img src="https://img.shields.io/badge/Tests-27K%2B-00d26a?style=flat-square&logo=jest" alt="Tests"/>
|
|
20
|
+
<img src="https://img.shields.io/badge/v1.2.0-GA-blueviolet?style=flat-square" alt="Version 1.2.0 GA"/>
|
|
20
21
|
</p>
|
|
21
22
|
|
|
22
23
|
<br/>
|
|
23
24
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
Code, commands, web, voice, and vision — from your terminal, a desktop app, your phone, or a 24/7 autonomous service. Use **local Ollama models at `$0`**, or bring any of **15 providers**. No lock-in.
|
|
25
|
+
Watch a **local model reason on screen, then use real tools to do the work** — no cloud, no API bill, `~$0`. Or bring any of **15 providers** (Claude, GPT, Grok, Gemini, …) with automatic failover. From your terminal, a desktop app, your phone, or a 24/7 service. No lock-in.
|
|
27
26
|
|
|
28
27
|
<p align="center">
|
|
29
28
|
<a href="docs/qa/code-buddy-studio/cowork-demo-moneyshot.mp4"><img src="docs/qa/code-buddy-studio/cowork-demo-moneyshot.gif" alt="A local model reasons, then creates a file — for ~$0.0001" width="760"/></a>
|
|
@@ -31,21 +30,24 @@ Code, commands, web, voice, and vision — from your terminal, a desktop app, yo
|
|
|
31
30
|
<sub>A <b>local</b> model reasons, then uses a tool to create a real file — <code>~$0.0001</code>, no cloud. <a href="cowork/readme.md#demo">More demos →</a></sub>
|
|
32
31
|
</p>
|
|
33
32
|
|
|
34
|
-
- 🆓 **Free & local-first** — runs entirely on
|
|
35
|
-
- 🧠 **Reasoning you can watch** — local models think step-by-step on screen, then act
|
|
36
|
-
-
|
|
37
|
-
-
|
|
38
|
-
-
|
|
39
|
-
-
|
|
40
|
-
|
|
33
|
+
- 🆓 **Free & local-first** — runs entirely on local **Ollama (`$0`)**, any of **15 providers** with auto-failover, or a flat-fee **ChatGPT Plus/Pro** login (no API metering).
|
|
34
|
+
- 🧠 **Reasoning you can watch** — local models think step-by-step on screen, then call tools to act. See the [live captures](cowork/readme.md#demo).
|
|
35
|
+
- 🛠️ **~110 tools** — edit, shell, web search, browser, PDFs/Office, a skills marketplace, and MCP connectors to extend it.
|
|
36
|
+
- 🖥️ **Runs everywhere** — terminal TUI, the **Cowork** desktop app, an HTTP/WebSocket server, your phone, or a 24/7 background service — one core engine.
|
|
37
|
+
- 🤝 **Multi-AI Fleet** — peers observe each other live and call each other's models & read-only tools (`peer.chat` / `peer.tool.invoke`) across your network.
|
|
38
|
+
- 👁️ **Personal companion** *(optional)* — bidirectional voice, opt-in camera/presence, persistent memory, and 20+ messaging channels.
|
|
39
|
+
|
|
40
|
+
> **Don't take our word for it — [see it work, reproduce it yourself ✅](docs/proof.md).** Every headline claim above, with the exact command and the real `$0` output (local model writes code + a passing test, goal mode, the desktop app, the autonomous fleet loop).
|
|
41
41
|
|
|
42
42
|
<br/>
|
|
43
43
|
|
|
44
|
-
[
|
|
45
|
-
[
|
|
46
|
-
[
|
|
47
|
-
[
|
|
48
|
-
[
|
|
44
|
+
[Live site ↗](https://phuetz.github.io/code-buddy/) ·
|
|
45
|
+
[Proof ✅](docs/proof.md) ·
|
|
46
|
+
[Quick Start](#quick-start) ·
|
|
47
|
+
[In action](#in-action) ·
|
|
48
|
+
[Features](#features) ·
|
|
49
|
+
[FAQ](docs/faq.md) ·
|
|
50
|
+
[Docs](#documentation) ·
|
|
49
51
|
[Contributing](#contributing)
|
|
50
52
|
|
|
51
53
|
</div>
|
|
@@ -54,7 +56,7 @@ Code, commands, web, voice, and vision — from your terminal, a desktop app, yo
|
|
|
54
56
|
|
|
55
57
|
## What is Code Buddy?
|
|
56
58
|
|
|
57
|
-
|
|
59
|
+
An open-source, multi-provider AI coding agent with a terminal UI, an HTTP/WebSocket server, and the **Cowork** desktop app — all on one core engine. It reads files, writes code, runs commands, opens PRs, and plans complex tasks across **15 LLM providers** with automatic failover and per-provider circuit breakers. With `buddy login`, a ChatGPT Plus / Pro subscription becomes the flat-fee brain of the whole system — no API keys, no per-token metering. An optional companion layer adds voice, durable memory, opt-in camera perception, and 24/7 background operation.
|
|
58
60
|
|
|
59
61
|
---
|
|
60
62
|
|
|
@@ -75,115 +77,152 @@ Code Buddy is an open-source multi-provider AI coding agent with a terminal UI,
|
|
|
75
77
|
</tr>
|
|
76
78
|
</table>
|
|
77
79
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
---
|
|
81
|
-
|
|
82
|
-
**ChatGPT Pro / Plus subscription login** — `buddy login`, sign in once with your ChatGPT account, then chat with `gpt-5.5` directly from the terminal. No API key, cost reported as `$0.0000` (flat-fee plan).
|
|
80
|
+
**ChatGPT Pro / Plus login** — `buddy login`, sign in once, then chat with `gpt-5.5` from the terminal. No API key; cost reported as `$0.0000` (flat-fee plan).
|
|
83
81
|
|
|
84
82
|
<p align="center">
|
|
85
|
-
<img src="docs/screenshots/chatgpt-oauth-login.png" alt="ChatGPT OAuth login flow" width="
|
|
83
|
+
<img src="docs/screenshots/chatgpt-oauth-login.png" alt="ChatGPT OAuth login flow" width="820"/>
|
|
86
84
|
</p>
|
|
87
85
|
|
|
88
|
-
**
|
|
86
|
+
**Self-audit.** Asked to find a bug in its own integration code, `gpt-5.5` reads `provider-chatgpt-responses.ts`, spots a stale-variable issue (mutated `body.model` not propagated), and proposes the exact fix:
|
|
89
87
|
|
|
90
88
|
<p align="center">
|
|
91
|
-
<img src="docs/screenshots/
|
|
89
|
+
<img src="docs/screenshots/self-audit-bug-1.png" alt="Self-audit bug found" width="820"/>
|
|
92
90
|
</p>
|
|
93
91
|
|
|
94
|
-
|
|
92
|
+
More desktop demos (Fleet, Autonomy, Companion, …) and captures: [`cowork/readme.md`](cowork/readme.md#demo) · [`docs/screenshots/`](docs/screenshots/README.md).
|
|
95
93
|
|
|
96
|
-
|
|
97
|
-
<img src="docs/screenshots/self-audit-bug-1.png" alt="Self-audit bug found" width="900"/>
|
|
98
|
-
</p>
|
|
94
|
+
---
|
|
99
95
|
|
|
100
|
-
|
|
96
|
+
## What's shipped
|
|
97
|
+
|
|
98
|
+
**1.2.0 GA — these aren't roadmap items.** The captures above are unedited, and the core runs today:
|
|
99
|
+
|
|
100
|
+
- ✅ **`$0` local coding agent** — a local Ollama model reasons on screen, then calls tools to do real work. *(the demos above)*
|
|
101
|
+
- ✅ **ChatGPT Plus/Pro → `gpt-5.5` at `$0`** — `buddy login`, flat-fee, no API key, no per-token metering.
|
|
102
|
+
- ✅ **Goal loops (Ralph loop)** — a judge model re-checks completion every turn and auto-continues until done; proven multi-turn on a free local model, with a real in-loop length-truncation recovery ([test](tests/agent/in-loop-recovery.real.test.ts), no mocks).
|
|
103
|
+
- ✅ **Multi-AI Fleet** — peers observe each other live and call each other's models & read-only tools (`peer.chat` / `peer.tool.invoke`).
|
|
104
|
+
- ✅ **15 providers** with automatic failover and per-provider circuit breakers; **~110 tools**, MCP connectors, and a skills marketplace.
|
|
105
|
+
- ✅ **~27K Vitest tests** — run locally and on a real-environment runner (the suite is no-mocks / real-integration, so it needs live Ollama/Hermes/browser rather than a vanilla CI box).
|
|
106
|
+
|
|
107
|
+
**Honest about scope:** [Hermes / OpenClaw parity](docs/hermes-openclaw-parity.md) lays out exactly what's shipped, what's externally-gated, and where the edges are — including which messaging channels are full integrations vs. in-process stubs.
|
|
101
108
|
|
|
102
109
|
---
|
|
103
110
|
|
|
104
111
|
## Quick Start
|
|
105
112
|
|
|
106
113
|
```bash
|
|
107
|
-
# Install
|
|
114
|
+
# Install from npm
|
|
115
|
+
npm install -g @phuetz/code-buddy
|
|
116
|
+
|
|
117
|
+
# …or from source (newest features)
|
|
108
118
|
git clone https://github.com/phuetz/code-buddy.git
|
|
109
119
|
cd code-buddy && npm install && npm run build && npm link # exposes `buddy` globally
|
|
120
|
+
```
|
|
110
121
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
122
|
+
> **Requirements:** Node.js **≥ 18** for the CLI. The **Cowork desktop app needs Node ≥ 22** plus a C++ build toolchain for native modules (`better-sqlite3`). Run **`buddy doctor`** anytime to check your environment (`--fix` to auto-remediate).
|
|
123
|
+
|
|
124
|
+
Then pick a brain:
|
|
114
125
|
|
|
115
|
-
|
|
116
|
-
|
|
126
|
+
```bash
|
|
127
|
+
# Option A — free & local: point at a local Ollama, $0
|
|
128
|
+
export CODEBUDDY_PROVIDER=ollama
|
|
129
|
+
buddy
|
|
130
|
+
|
|
131
|
+
# Option B — log in with your ChatGPT Plus / Pro subscription (no API key)
|
|
132
|
+
buddy login # opens browser for OAuth → tokens persisted
|
|
133
|
+
buddy whoami # ✅ connected · you@example.com · Plan: pro
|
|
134
|
+
buddy # auto-routes to gpt-5.5 via the Codex backend, cost $0.0000
|
|
135
|
+
|
|
136
|
+
# Option C — bring your own API key
|
|
137
|
+
export GROK_API_KEY=... # or GEMINI_API_KEY / OPENAI_API_KEY / ANTHROPIC_API_KEY
|
|
117
138
|
buddy
|
|
118
139
|
|
|
119
|
-
# Option
|
|
120
|
-
buddy login
|
|
121
|
-
|
|
122
|
-
|
|
140
|
+
# Option D — log in with your xAI / SuperGrok subscription (no API key)
|
|
141
|
+
buddy login xai # browser OAuth → routes to Grok (grok-4-latest), cost $0
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
buddy --prompt "analyze the codebase structure" # one-shot task
|
|
146
|
+
buddy --yolo # full autonomy
|
|
147
|
+
```
|
|
123
148
|
|
|
124
|
-
|
|
125
|
-
buddy --prompt "analyze the codebase structure"
|
|
149
|
+
**Use several logins at once, or fail over automatically across them:**
|
|
126
150
|
|
|
127
|
-
|
|
128
|
-
buddy
|
|
151
|
+
```bash
|
|
152
|
+
buddy llm # list the LLMs you're logged into + the failover order
|
|
153
|
+
buddy llm ensemble "is this approach sound?" # ask ChatGPT + Grok + Ollama together, then synthesize
|
|
154
|
+
CODEBUDDY_LLM_FAILOVER=1 buddy -p "…" # if the primary errors, auto-continue on the next active LLM
|
|
129
155
|
```
|
|
130
156
|
|
|
131
|
-
See [Getting Started](docs/getting-started.md) for
|
|
157
|
+
See [Getting Started](docs/getting-started.md) for install options, headless mode, sessions, and typical workflows.
|
|
132
158
|
|
|
133
159
|
---
|
|
134
160
|
|
|
135
|
-
## Cowork Desktop
|
|
161
|
+
## Cowork Desktop
|
|
136
162
|
|
|
137
|
-
Cowork is the desktop cockpit for Code Buddy: chat, tools, traces, workflows, settings, permissions, models, MCP connectors, skills, artifacts, and companion controls all
|
|
163
|
+
Cowork is the desktop cockpit for Code Buddy: chat, tools, traces, workflows, settings, permissions, models, MCP connectors, skills, artifacts, and companion controls — all against the same core agent as the CLI. The Code Buddy settings panel can probe the local backend, start it, discover models, and route turns through the embedded engine or a configured server.
|
|
138
164
|
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
buddy
|
|
143
|
-
|
|
144
|
-
# Local backend for Cowork, Fleet, and OpenAI-compatible clients
|
|
145
|
-
buddy server --port 3000
|
|
146
|
-
|
|
147
|
-
# Launch the desktop app from an installed build
|
|
148
|
-
buddy gui
|
|
149
|
-
# or
|
|
150
|
-
buddy desktop
|
|
151
|
-
|
|
152
|
-
# Source checkout dev loop
|
|
153
|
-
npm install
|
|
154
|
-
npm run build
|
|
155
|
-
npm run dev:gui
|
|
156
|
-
```
|
|
165
|
+
<p align="center">
|
|
166
|
+
<a href="docs/qa/code-buddy-studio/showcase-2026-06-16/cowork-chat-stream.mp4"><img src="docs/qa/code-buddy-studio/showcase-2026-06-16/cowork-chat-stream.gif" alt="Real gpt-5.5 chat streaming in the Cowork desktop app for $0" width="760"/></a>
|
|
167
|
+
<br/>
|
|
168
|
+
<sub>Real <code>gpt-5.5</code> in the Cowork desktop app — the answer streams in, cost <code>$0.0000</code>. <a href="docs/qa/code-buddy-studio/showcase-2026-06-16/cowork-chat-stream.mp4">MP4 →</a></sub>
|
|
169
|
+
</p>
|
|
157
170
|
|
|
158
|
-
|
|
171
|
+
<table>
|
|
172
|
+
<tr>
|
|
173
|
+
<td width="50%" align="center"><img src="docs/qa/code-buddy-studio/showcase-2026-06-16/00-welcome.png" alt="Cowork desktop cockpit" width="430"/><br/><sub>Desktop cockpit — menus, sessions, composer</sub></td>
|
|
174
|
+
<td width="50%" align="center"><img src="docs/qa/code-buddy-studio/showcase-2026-06-16/05-onboarding-provider.png" alt="Onboarding — pick a provider" width="430"/><br/><sub>Onboarding — 15 providers, ChatGPT <code>$0</code> or local Ollama</sub></td>
|
|
175
|
+
</tr>
|
|
176
|
+
<tr>
|
|
177
|
+
<td width="50%" align="center"><img src="docs/qa/code-buddy-studio/showcase-2026-06-16/03-fleet-autonomy.png" alt="Fleet and autonomy dashboard" width="430"/><br/><sub>Fleet dispatch · tool-permission posture · Hermes toolsets</sub></td>
|
|
178
|
+
<td width="50%" align="center"><img src="docs/qa/code-buddy-studio/showcase-2026-06-16/02-chat-dark-theme.png" alt="Cowork dark theme" width="430"/><br/><sub>Light & dark themes</sub></td>
|
|
179
|
+
</tr>
|
|
180
|
+
</table>
|
|
159
181
|
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
buddy
|
|
164
|
-
|
|
165
|
-
buddy
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
182
|
+
**📄 It also builds real Office documents — via multi-step skills.** Ask in plain language → the agent triggers an open-source document **skill** that drives `openpyxl` / `python-pptx` / `python-docx` in **visible steps** (check the lib → write the script → run it → verify) → a real, professionally-styled **Excel, PowerPoint, Word, or PDF**. Below, `gpt-5.5` builds an Excel budget in the desktop app — the activity shows each step, cost `$0.0000`:
|
|
183
|
+
|
|
184
|
+
<p align="center">
|
|
185
|
+
<a href="docs/qa/code-buddy-studio/showcase-2026-06-16/cowork-office-skill.mp4"><img src="docs/qa/code-buddy-studio/showcase-2026-06-16/office-skill-steps.png" alt="The Cowork agent builds a styled Excel file via a multi-step skill at $0" width="820"/></a>
|
|
186
|
+
<br/>
|
|
187
|
+
<sub>Prompt → the <code>xlsx</code> skill runs <code>openpyxl</code> in visible steps → a verified <code>budget.xlsx</code> with a live <code>=SUM</code> formula and styling, <code>$0.0000</code>. <a href="docs/qa/code-buddy-studio/showcase-2026-06-16/cowork-office-skill.mp4">▶ Watch the run (MP4) →</a></sub>
|
|
188
|
+
</p>
|
|
189
|
+
|
|
190
|
+
**🐍 The same engine reads, charts, researches, and automates — via clean-room Python skills.** Open-source (MIT) skills extend the document story, each running real Python in the same visible steps (preflight the libs → write the script → run it → verify):
|
|
191
|
+
|
|
192
|
+
- **`doc-ingest`** — turn existing **PDF / Word / PowerPoint / Excel** files into clean Markdown the agent can reason over: the *read* counterpart to the create skills, using the already-bundled libraries (**zero extra install**).
|
|
193
|
+
- **`data-charts`** — analyze tabular data and render **bar / line / scatter / pie / histogram** charts with `pandas` + `matplotlib`.
|
|
194
|
+
- **`web-automate`** — drive a real **headless browser** with `playwright` (optional `camoufox` stealth) to navigate, screenshot, scrape rendered content, and fill forms.
|
|
195
|
+
- **`web-research`** — autonomous multi-source research: fetch pages, extract their main content, and synthesize a **cited** Markdown brief (lean — bundled `beautifulsoup4`, falls back to `web-automate` for JS pages).
|
|
173
196
|
|
|
174
|
-
The
|
|
197
|
+
The heavier skills are **opt-in** (`npm run prepare:python:extras`) so the base download stays lean; each preflights its dependencies and tells you exactly how to enable them — no proprietary content.
|
|
175
198
|
|
|
176
|
-
|
|
199
|
+
**🤖 It coordinates a team of agents.** `/swarm <task>` decomposes a goal, delegates to specialist sub-agents (coder → tester → reviewer), then synthesizes — each agent's live activity (`round N`, tool calls) and output visible in the panel. Below, `gpt-5.5` writes **and tests** a Python function end-to-end — cost `$0.0000`:
|
|
200
|
+
|
|
201
|
+
<p align="center">
|
|
202
|
+
<img src="docs/qa/code-buddy-studio/showcase-2026-06-16/swarm-real-team.png" alt="A swarm of coder/tester/reviewer agents completes a task at $0" width="760"/>
|
|
203
|
+
<br/>
|
|
204
|
+
<sub>Orchestrator plans → <code>coder</code> / <code>tester</code> / <code>reviewer</code> run in turn (live activity) → tester reports <code>4 tests · OK</code> → synthesized result, all on <code>gpt-5.5</code> for <code>$0.0000</code>.</sub>
|
|
205
|
+
</p>
|
|
206
|
+
|
|
207
|
+
**🎯 It works toward a standing goal.** Goal mode runs an autonomous loop: the agent acts, an LLM judge checks whether the goal is satisfied after each turn, and it keeps going (within a turn budget) until done — self-correcting on the judge's feedback:
|
|
208
|
+
|
|
209
|
+
<p align="center">
|
|
210
|
+
<img src="docs/qa/code-buddy-studio/showcase-2026-06-16/goal-mode-real-loop.png" alt="Goal mode autonomous loop with LLM judge verification at $0" width="760"/>
|
|
211
|
+
<br/>
|
|
212
|
+
<sub>Act → judge rejects turn 1/20 (<em>"not exactly one line"</em>) → agent self-corrects → <code>✓ Goal achieved</code>. Real <code>gpt-5.5</code> loop, <code>$0.0000</code>.</sub>
|
|
213
|
+
</p>
|
|
177
214
|
|
|
178
215
|
```bash
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
216
|
+
# Node >= 22 required for the desktop app (the CLI runs on >= 18)
|
|
217
|
+
buddy install-gui # one-time: install Electron + build the desktop bundle
|
|
218
|
+
buddy gui # launch the desktop app (or: buddy desktop)
|
|
219
|
+
buddy server --port 3000 # optional: shared backend for Cowork, Fleet, OpenAI-compatible clients
|
|
183
220
|
|
|
184
|
-
|
|
221
|
+
# Source dev loop
|
|
222
|
+
npm install && npm run build && npm run dev:gui
|
|
223
|
+
```
|
|
185
224
|
|
|
186
|
-
|
|
225
|
+
The CLI guards this: on Node < 22, `buddy gui` prints a clear upgrade message instead of crashing. Linux source builds need a manual Electron rebuild — see [`cowork/DEV-LINUX.md`](cowork/DEV-LINUX.md). Camera/voice are opt-in and local: snapshots are explicit, percepts are append-only under `.codebuddy/companion/`, and Cowork uses MediaPipe Tasks Vision for face/hand/pose signals. Details: [Cowork Desktop](docs/cowork.md) · [Cowork Architecture](cowork/ARCHITECTURE.md).
|
|
187
226
|
|
|
188
227
|
---
|
|
189
228
|
|
|
@@ -192,34 +231,21 @@ From source, Cowork requires Node.js `>=22` in `cowork/`; the root CLI still sup
|
|
|
192
231
|
| Category | Highlights | Docs |
|
|
193
232
|
|:---------|:-----------|:-----|
|
|
194
233
|
| **AI Providers** | 15 providers (Grok, Claude, GPT, Gemini, Ollama, LM Studio, AWS Bedrock, Azure, Groq, Together, Fireworks, OpenRouter, vLLM, Copilot, Mistral), circuit breaker, model pairs | [providers.md](docs/providers.md) |
|
|
195
|
-
| **Tools** | ~110 tools with RAG selection, multi-strategy edit matching, Codex-style apply_patch
|
|
196
|
-
| **Commands** | 190+ slash commands
|
|
197
|
-
| **Cowork Desktop** | Electron cockpit, embedded
|
|
198
|
-
| **Buddy Companion** | ChatGPT-backed identity, voice/TTS, proactive check-ins, self-evaluation, competitive radar, mission board, learned routines, safety ledger, local percept journal | [commands.md](docs/commands.md) |
|
|
199
|
-
| **Vision & Presence** | Opt-in webcam snapshots, MediaPipe face/hand/pose/finger-tip analysis, local face enrollment, presence state for the agent | [cowork/ARCHITECTURE.md](cowork/ARCHITECTURE.md) |
|
|
234
|
+
| **Tools** | ~110 tools with RAG selection, multi-strategy edit matching, Codex-style `apply_patch`, streaming, BM25 tool search, code-exec sandbox | [tools-reference.md](docs/tools-reference.md) |
|
|
235
|
+
| **Commands** | 190+ slash commands & CLI subcommands (`/goal`, `/dev`, `/pr`, `/lint`, `/switch`, `/think`, `/batch`, …) | [commands.md](docs/commands.md) |
|
|
236
|
+
| **Cowork Desktop** | Electron cockpit, embedded engine, backend health/start controls, model settings, permission rules, visual workflows, traces, artifacts, MCP/skills/plugins | [cowork.md](docs/cowork.md), [ARCHITECTURE.md](cowork/ARCHITECTURE.md) |
|
|
200
237
|
| **Agents** | Multi-agent orchestration (5-tool API), 8 specialized agents, SWE agent, planning flow, A2A protocol, batch decomposition, agent teams | [agents.md](docs/agents.md) |
|
|
201
|
-
| **
|
|
202
|
-
| **
|
|
203
|
-
| **
|
|
204
|
-
| **
|
|
205
|
-
| **
|
|
206
|
-
| **
|
|
238
|
+
| **Goal loops** | `/goal` + `/subgoal` Ralph loop — a judge model re-checks completion every turn and auto-continues until done (turn budget, pause/resume, fail-open); headless `buddy goal`, board goal-mode, peer-session goals | [fleet-guide.md](docs/fleet-guide.md) |
|
|
239
|
+
| **Reasoning** | Tree-of-Thought + MCTS (4 depth levels), extended thinking, auto-escalation, `/think` | [reasoning.md](docs/reasoning.md) |
|
|
240
|
+
| **Fleet & Autonomy** | Peer-to-peer hub (`peer.chat` / `peer.tool.invoke` / `peer_delegate`), A2A + ACP + MCP interop, 24/7 autonomous service (`buddy autonomy install`), event-driven daemon, free-first local→Tailscale→paid tiering | [fleet-guide.md](docs/fleet-guide.md) |
|
|
241
|
+
| **Security** | Guardian Agent (AI risk scoring), OS/Docker/OpenShell sandbox, SSRF guard, secrets vault, write/exec policy, loop & omission detection, output sanitizer | [security.md](docs/security.md) |
|
|
242
|
+
| **Context Engine** | Smart compression, tool-output masking, image pruning, transcript repair, pre-compaction flush, JIT context, importance-weighted window | [context-engine.md](docs/context-engine.md) |
|
|
243
|
+
| **Channels** | 20+ messaging channels (Telegram, Discord, Slack, WhatsApp, Signal, Teams, Matrix, …), DM pairing, send policy | [channels.md](docs/channels.md) |
|
|
244
|
+
| **Companion & Vision** | ChatGPT-backed identity, voice/TTS, proactive check-ins, self-evaluation, mission board; opt-in webcam + MediaPipe face/hand/pose percepts, local face enrollment | [commands.md](docs/commands.md) |
|
|
245
|
+
| **Memory & Knowledge** | Persistent + semantic + decision + coding-style memory, cross-session ICM, knowledge-base injection, 40 bundled skills, runtime self-authored skills | [context-engine.md](docs/context-engine.md) |
|
|
246
|
+
| **Infrastructure** | HTTP server (OpenAI-compatible), WebSocket gateway, daemon, cron, device nodes, canvas/A2UI, cloud deploy configs, MCP, plugins | [infrastructure.md](docs/infrastructure.md) |
|
|
207
247
|
| **Configuration** | Env vars, TOML config with profiles, model-aware limits, per-agent params, i18n (6 locales), personas | [configuration.md](docs/configuration.md) |
|
|
208
|
-
| **
|
|
209
|
-
|
|
210
|
-
### Additional Capabilities
|
|
211
|
-
|
|
212
|
-
- **Voice**: 7 TTS providers, wake word detection, voice-to-code pipeline, hands-free companion conversation
|
|
213
|
-
- **Companion Loop**: readiness checks, self-state snapshots, self-evaluation, competitive radar, impulses, missions, routines, and safety review
|
|
214
|
-
- **Vision**: local camera snapshots, MediaPipe face/hand/pose/finger-tip percepts, face enrollment, and presence state for context-aware collaboration
|
|
215
|
-
- **Memory**: Persistent + semantic + prospective + decision + coding style memory, ICM cross-session memory
|
|
216
|
-
- **Knowledge**: Knowledge base injection, 40 bundled skills, self-authoring skills at runtime
|
|
217
|
-
- **Goal Loops (Ralph loop)**: `/goal <text>` + `/subgoal` — a judge model re-checks completion after every turn and auto-continues until done (turn budget, pause/resume, fail-open judge); also headless (`buddy goal`), on fleet board tasks (`--goal-mode`, blocks for human review when the budget is spent), and on peer sessions (`peer.chat-session.goal`)
|
|
218
|
-
- **Git Workflow**: Auto-commit (Aider-style), `/pr` creation, merge conflict resolver, ghost snapshots
|
|
219
|
-
- **Code Intelligence**: LSP rename/refactor, auto-import, bug finder (25+ patterns, 6 langs), OpenAPI generator, log analyzer
|
|
220
|
-
- **IDE Integration**: VS Code extension (diff view, inline edit, model switch), JetBrains plugin, LSP server
|
|
221
|
-
- **Inline Context**: `@web`, `@git`, `@terminal` mentions for contextual references
|
|
222
|
-
- **Workflows**: Lobster typed DAG engine with approval gates, pause/resume tokens
|
|
248
|
+
| **Git & Code Intel** | Auto-commit (Aider-style), `/pr`, merge-conflict resolver, LSP rename/refactor, bug finder (25+ patterns, 6 langs), OpenAPI generator, IDE extensions | [development.md](docs/development.md) |
|
|
223
249
|
|
|
224
250
|
---
|
|
225
251
|
|
|
@@ -227,47 +253,18 @@ From source, Cowork requires Node.js `>=22` in `cowork/`; the root CLI still sup
|
|
|
227
253
|
|
|
228
254
|
| Document | Description |
|
|
229
255
|
|:---------|:------------|
|
|
230
|
-
| [Getting Started](docs/getting-started.md) | Prerequisites, install, first run, headless mode,
|
|
231
|
-
| [Application Validation Guide](docs/application-validation-guide.md) | Full-app validation matrix with safe commands, evidence, and screenshot rules |
|
|
256
|
+
| [Getting Started](docs/getting-started.md) | Prerequisites, install, first run, headless mode, sessions |
|
|
232
257
|
| [Providers](docs/providers.md) | All 15 providers, connection profiles, model pairs, circuit breaker |
|
|
233
|
-
| [Tools Reference](docs/tools-reference.md) | Tool categories, RAG selection, edit matching, apply_patch
|
|
258
|
+
| [Tools Reference](docs/tools-reference.md) | Tool categories, RAG selection, edit matching, `apply_patch`, streaming |
|
|
234
259
|
| [Commands](docs/commands.md) | All slash commands, CLI subcommands, companion commands, global flags |
|
|
235
|
-
| [Cowork Desktop](docs/cowork.md) |
|
|
236
|
-
| [
|
|
237
|
-
| [
|
|
238
|
-
| [
|
|
239
|
-
| [
|
|
240
|
-
| [
|
|
241
|
-
| [
|
|
242
|
-
| [
|
|
243
|
-
| [Context Engine](docs/context-engine.md) | Compression, tool output masking, JIT context, pre-compaction flush |
|
|
244
|
-
| [Infrastructure](docs/infrastructure.md) | HTTP server, WebSocket gateway, daemon, cron, deploy, plugins |
|
|
245
|
-
| [Deployment](docs/deployment.md) | Production deployment — systemd, Docker, Kubernetes, reverse proxy, env vars, upgrades |
|
|
246
|
-
| [PdfCommander MCP Integration](docs/mcp-pdfcommander-integration.md) | Register the PdfCommander headless MCP server in `mcp.json`, verify with `buddy mcp test`, drive PDF ops from the agent |
|
|
247
|
-
| [Fleet Guide](docs/fleet-guide.md) | **Multi-AI hub** — `/fleet listen` + `/fleet send peer.chat`, env-driven multi-provider auto-detect, Tailscale lab examples, autonomous fleet protocol |
|
|
248
|
-
| [Hermes / OpenClaw Parity](docs/hermes-openclaw-parity.md) | Where Code Buddy stands vs Hermes Agent & OpenClaw — shipped capabilities, externally-gated features, and the one open code gap |
|
|
249
|
-
| [Configuration](docs/configuration.md) | Environment variables, TOML config, project settings, model limits |
|
|
250
|
-
| [Development](docs/development.md) | Build, test, architecture, coding conventions, adding tools |
|
|
251
|
-
|
|
252
|
-
---
|
|
253
|
-
|
|
254
|
-
## Validation Snapshot
|
|
255
|
-
|
|
256
|
-
Latest local verification for the Cowork + Buddy companion loop (2026-05-24):
|
|
257
|
-
|
|
258
|
-
```bash
|
|
259
|
-
npm run typecheck
|
|
260
|
-
cd cowork && npm run typecheck
|
|
261
|
-
cd cowork && npm run build:e2e
|
|
262
|
-
cd cowork && npx vitest run tests/kyutai-bridge.test.ts tests/voice-bridge.test.ts tests/tts-bridge.test.ts
|
|
263
|
-
cd cowork && npx playwright test e2e/cowork-smoke.spec.ts --reporter=line --workers=1
|
|
264
|
-
cd cowork && npx playwright test e2e/companion-panel.spec.ts --reporter=line --workers=1
|
|
265
|
-
cd cowork && npx playwright test e2e/recent-features-smoke.spec.ts e2e/companion-panel.spec.ts --workers=1
|
|
266
|
-
cd cowork && npx playwright test e2e/codebuddy-settings.spec.ts e2e/recent-features-smoke.spec.ts e2e/companion-panel.spec.ts e2e/companion-live.spec.ts --reporter=line --workers=1
|
|
267
|
-
cd cowork && npx vitest run
|
|
268
|
-
```
|
|
269
|
-
|
|
270
|
-
Result: root and Cowork typechecks passed, Vite E2E build passed with existing chunk/dynamic-import warnings, Kyutai/voice bridge unit tests passed (`31` tests), focused companion panel Playwright passed (`1` test), recent-features IPC smoke passed (`9` tests), Cowork smoke passed (`29` tests), focused companion/settings/recent-feature Playwright suite passed (`11` passed, `1` live hardware test skipped unless `COWORK_LIVE_COMPANION=1`), and Cowork Vitest passed (`205` files, `1318` tests).
|
|
260
|
+
| [Cowork Desktop](docs/cowork.md) · [Architecture](cowork/ARCHITECTURE.md) · [README](cowork/readme.md) | Desktop overview, install, source build, sandbox modes, internals |
|
|
261
|
+
| [Agents](docs/agents.md) · [Reasoning](docs/reasoning.md) | Orchestration, SWE agent, planning flow, A2A; thinking, ToT, MCTS |
|
|
262
|
+
| [Fleet Guide](docs/fleet-guide.md) | Multi-AI hub, peer-rpc methods, env-driven auto-detect, Tailscale labs |
|
|
263
|
+
| [Security](docs/security.md) · [Context Engine](docs/context-engine.md) | Permission modes, Guardian, sandboxing, secrets; compression, JIT context |
|
|
264
|
+
| [Channels](docs/channels.md) · [Configuration](docs/configuration.md) | 20+ channels, DM pairing; env vars, TOML, model limits |
|
|
265
|
+
| [Infrastructure](docs/infrastructure.md) · [Deployment](docs/deployment.md) | Server, gateway, daemon, cron; systemd, Docker, Kubernetes, upgrades |
|
|
266
|
+
| [Development](docs/development.md) | Build, test, architecture, conventions, adding tools |
|
|
267
|
+
| [Hermes / OpenClaw Parity](docs/hermes-openclaw-parity.md) | Where Code Buddy stands vs Hermes Agent & OpenClaw |
|
|
271
268
|
|
|
272
269
|
---
|
|
273
270
|
|
|
@@ -275,29 +272,27 @@ Result: root and Cowork typechecks passed, Vite E2E build passed with existing c
|
|
|
275
272
|
|
|
276
273
|
```bash
|
|
277
274
|
git clone https://github.com/phuetz/code-buddy.git
|
|
278
|
-
cd code-buddy
|
|
279
|
-
npm
|
|
280
|
-
npm run
|
|
281
|
-
npm test # Run all tests
|
|
282
|
-
npm run validate # Lint + typecheck + test (run before committing)
|
|
275
|
+
cd code-buddy && npm install
|
|
276
|
+
npm run dev # development mode
|
|
277
|
+
npm run validate # lint + typecheck + test (run before committing) — 27K+ Vitest tests
|
|
283
278
|
```
|
|
284
279
|
|
|
285
|
-
See [Development](docs/development.md) for architecture
|
|
280
|
+
See [Development](docs/development.md) for architecture and coding conventions, and [CONTRIBUTING.md](CONTRIBUTING.md) for the workflow.
|
|
286
281
|
|
|
287
282
|
---
|
|
288
283
|
|
|
289
284
|
## License
|
|
290
285
|
|
|
291
|
-
MIT
|
|
286
|
+
MIT — see [LICENSE](LICENSE).
|
|
292
287
|
|
|
293
288
|
---
|
|
294
289
|
|
|
295
290
|
<div align="center">
|
|
296
291
|
|
|
297
|
-
**[Report Bug](https://github.com/phuetz/code-buddy/issues)**
|
|
298
|
-
**[Request Feature](https://github.com/phuetz/code-buddy/discussions)**
|
|
299
|
-
**[Star on GitHub](https://github.com/phuetz/code-buddy)**
|
|
292
|
+
**[Report Bug](https://github.com/phuetz/code-buddy/issues)** ·
|
|
293
|
+
**[Request Feature](https://github.com/phuetz/code-buddy/discussions)** ·
|
|
294
|
+
**[Star on GitHub ⭐](https://github.com/phuetz/code-buddy)**
|
|
300
295
|
|
|
301
|
-
<sub>Multi-AI: Grok
|
|
296
|
+
<sub>Multi-AI: Grok · Claude · ChatGPT · Gemini · LM Studio · Ollama · AWS Bedrock · Azure · Groq · Together · Fireworks · OpenRouter · vLLM · Copilot · Mistral</sub>
|
|
302
297
|
|
|
303
298
|
</div>
|
|
@@ -83,14 +83,14 @@ export declare const agenticCodingWorkflowBuilderProposalSchema: z.ZodEffects<z.
|
|
|
83
83
|
}, "strict", z.ZodTypeAny, {
|
|
84
84
|
type: "action" | "trigger" | "logic";
|
|
85
85
|
id: string;
|
|
86
|
-
description: string;
|
|
87
86
|
label: string;
|
|
87
|
+
description: string;
|
|
88
88
|
agenticType: "edit" | "analysis" | "handoff" | "approval" | "verification" | "gate";
|
|
89
89
|
}, {
|
|
90
90
|
type: "action" | "trigger" | "logic";
|
|
91
91
|
id: string;
|
|
92
|
-
description: string;
|
|
93
92
|
label: string;
|
|
93
|
+
description: string;
|
|
94
94
|
agenticType: "edit" | "analysis" | "handoff" | "approval" | "verification" | "gate";
|
|
95
95
|
}>, "many">;
|
|
96
96
|
edges: z.ZodArray<z.ZodObject<{
|
|
@@ -112,8 +112,8 @@ export declare const agenticCodingWorkflowBuilderProposalSchema: z.ZodEffects<z.
|
|
|
112
112
|
nodes: {
|
|
113
113
|
type: "action" | "trigger" | "logic";
|
|
114
114
|
id: string;
|
|
115
|
-
description: string;
|
|
116
115
|
label: string;
|
|
116
|
+
description: string;
|
|
117
117
|
agenticType: "edit" | "analysis" | "handoff" | "approval" | "verification" | "gate";
|
|
118
118
|
}[];
|
|
119
119
|
schemaVersion: 1;
|
|
@@ -130,8 +130,8 @@ export declare const agenticCodingWorkflowBuilderProposalSchema: z.ZodEffects<z.
|
|
|
130
130
|
nodes: {
|
|
131
131
|
type: "action" | "trigger" | "logic";
|
|
132
132
|
id: string;
|
|
133
|
-
description: string;
|
|
134
133
|
label: string;
|
|
134
|
+
description: string;
|
|
135
135
|
agenticType: "edit" | "analysis" | "handoff" | "approval" | "verification" | "gate";
|
|
136
136
|
}[];
|
|
137
137
|
schemaVersion: 1;
|
|
@@ -148,8 +148,8 @@ export declare const agenticCodingWorkflowBuilderProposalSchema: z.ZodEffects<z.
|
|
|
148
148
|
nodes: {
|
|
149
149
|
type: "action" | "trigger" | "logic";
|
|
150
150
|
id: string;
|
|
151
|
-
description: string;
|
|
152
151
|
label: string;
|
|
152
|
+
description: string;
|
|
153
153
|
agenticType: "edit" | "analysis" | "handoff" | "approval" | "verification" | "gate";
|
|
154
154
|
}[];
|
|
155
155
|
schemaVersion: 1;
|
|
@@ -166,8 +166,8 @@ export declare const agenticCodingWorkflowBuilderProposalSchema: z.ZodEffects<z.
|
|
|
166
166
|
nodes: {
|
|
167
167
|
type: "action" | "trigger" | "logic";
|
|
168
168
|
id: string;
|
|
169
|
-
description: string;
|
|
170
169
|
label: string;
|
|
170
|
+
description: string;
|
|
171
171
|
agenticType: "edit" | "analysis" | "handoff" | "approval" | "verification" | "gate";
|
|
172
172
|
}[];
|
|
173
173
|
schemaVersion: 1;
|
|
@@ -58,7 +58,7 @@ export declare class CodeBuddyAgent extends BaseAgent {
|
|
|
58
58
|
* @param useRAGToolSelection - Enable RAG-based tool selection (default: true)
|
|
59
59
|
*/
|
|
60
60
|
constructor(apiKey: string, baseURL?: string, model?: string, maxToolRounds?: number, useRAGToolSelection?: boolean, systemPromptId?: string, // New: external prompt ID (default, minimal, secure, etc.)
|
|
61
|
-
workingDirectory?: string, systemPromptAppend?: string);
|
|
61
|
+
workingDirectory?: string, systemPromptAppend?: string, initialSystemPromptOverride?: string);
|
|
62
62
|
/** Resolves when the system prompt has been loaded (or failed gracefully). */
|
|
63
63
|
systemPromptReady: Promise<void>;
|
|
64
64
|
/**
|