BOB
Dein eigener KI-Coding-Assistent in VS Code — mit voller Kontrolle über Modelle, Terminal, Dateisystem, Memory, Backlog, Code-Reviews und mehr.

Was ist BOB?
BOB ist eine VS Code Extension (bob-ai auf dem Marketplace), die dir einen vollwertigen KI-Agenten direkt in der Sidebar bereitstellt — unabhängig von GitHub Copilot, vollständig unter deiner Kontrolle.
Du schreibst deine Frage oder Aufgabe im Chat, und der Assistent handelt selbstständig: Er liest und schreibt Dateien, führt Terminal-Befehle aus, sucht im Web, verwaltet Aufgaben, lässt Änderungen von Review-Agenten prüfen und arbeitet iterativ bis die Aufgabe erledigt ist.
Highlights
- Multi-Provider: Azure AI Foundry, Azure OpenAI, OpenAI, jeder OpenAI-kompatible Server (LM Studio, Ollama, vLLM, llama.cpp, Groq, Mistral, DeepSeek, …)
- GLM/Zhipu-Kompatibilität: Spezielle Unterstützung für ChatGLM-Modelle mit automatischem Tool-Calling-Fallback
- Agentic Tool Calling: Vollautomatischer Agent-Loop mit bis zu 200 Tool-Runden pro Prompt
- Sub-Agents: Parallele Sub-Agent-Ausführung für komplexe, mehrstufige Aufgaben
- Built-in System Prompts: Vorgefertigte System-Prompts für Default, SQL/PostgreSQL, Python, TypeScript/JavaScript und Terraform/IaC — editierbar und zurücksetzbar
- Workspace Memory: Persistentes Projektgedächtnis mit täglichen Logs
- Product Planning: Strukturierte Pläne mit automatischer Backlog-Erstellung (GitHub, GitLab, Azure DevOps, Gitea)
- Web Search: Integrierte Websuche (DuckDuckGo, Brave, Jina, SearXNG)
- Context Window Management: Automatisches Summarizing, Pruning und Compaction
- MCP Server: Integrierter Model Context Protocol Server für VS Code Agent-Mode
- Controlled Agent Mode: Bis zu 6 unabhängige Review-Agenten prüfen alle Code-Änderungen — 3 Built-in-Agenten (Code Quality, Security, Architecture) sind vorkonfiguriert
- Workspace Review: Gesamten Workspace oder nur Git-Änderungen durch alle aktiven Review-Agenten prüfen lassen — Findings landen in der Todo-/Taskliste
- Sicherheit: API Keys verschlüsselt in VS Code SecretStorage, Bestätigungsdialoge vor Aktionen
Inhaltsverzeichnis
Unterstützte Provider
BOB ist modell-agnostisch. Du kannst beliebig viele Modell-Profile konfigurieren und zwischen ihnen wechseln:
| Provider |
Modelle |
Auth |
| Azure AI Foundry |
Alle verfügbaren Modelle — GPT-5+, o-Serie, Phi, Llama, Mistral, DeepSeek, Cohere, Claude u.v.m. |
API Key oder Azure Entra ID |
| Azure AI Foundry (Anthropic) |
Claude Opus, Sonnet, Haiku — via /anthropic/v1/messages Endpoint |
API Key (auto-erkannt oder apiType: anthropic) |
| Azure OpenAI |
GPT-4o, GPT-5.x, GPT-5.x-codex, o1, o3, o4-mini, etc. |
API Key oder Azure Entra ID |
| OpenAI |
Alle OpenAI-Modelle |
API Key (Bearer Token) |
| GLM / Zhipu AI |
ChatGLM-4, GLM-4-Plus etc. |
API Key, mit speziellem Compatibility Mode |
| LM Studio |
Alle lokal geladenen Modelle |
Keins (localhost) |
| Ollama |
Alle verfügbaren Modelle |
Keins (localhost) |
| vLLM / llama.cpp |
Alle OpenAI-kompatiblen Server |
Optional API Key |
| Groq / Mistral / DeepSeek |
Cloud-hosted Modelle |
API Key |
| Jeder OpenAI-kompatible Endpoint |
Beliebige Modelle |
Optional API Key |
API Type
Pro Modell-Profil kann der API-Typ gewählt werden:
| Typ |
Beschreibung |
auto |
Erkennt automatisch: Anthropic (bei /anthropic/ im Pfad), Chat Completions, Responses API (Default) |
chatCompletions |
Erzwingt /chat/completions Endpoint |
responses |
Erzwingt /openai/responses Endpoint (für o-Serie, Codex, etc.) |
anthropic |
Erzwingt Anthropic Messages API (/anthropic/v1/messages) — für Claude-Modelle auf Azure AI Foundry oder nativ |
Compatibility Mode
Für lokale oder nicht-standardkonforme Modelle:
| Modus |
Beschreibung |
standard |
Vollständige OpenAI-Kompatibilität (Default) |
loose |
Toleriert fehlende Felder, leere Chunks, unvollständiges JSON |
glm |
Wie loose, plus GLM-spezifische Token-Formate, kein tool_choice, automatischer Retry ohne Tools |
Features im Detail
Chat-Oberfläche
Eigene Chat-Oberfläche direkt in der VS Code Activity Bar mit:
- Echtzeit-Streaming — Token werden live angezeigt
- Markdown-Rendering mit Code-Highlighting
- Inline Tool-Call-Anzeige — zeigt welches Tool gerade aufgerufen wird
- Sub-Agent-Anzeige — parallele Sub-Agents mit eigenem Fortschritt
- Modell-Dropdown — schnelles Wechseln zwischen Profilen
- System-Prompt-Dropdown — wählbare System-Prompts
- Theme-Unterstützung — passt sich an Dark, Light und High Contrast an
- Kontextanzeige — zeigt aktuelle Token-Nutzung und Context-Window-Auslastung
Modell-Profile
Konfiguriere beliebig viele Modelle mit jeweils eigenen Einstellungen:
- Name — Anzeigename im Dropdown
- Endpoint — URL des API-Endpoints
- API Key — sicher verschlüsselt in VS Code SecretStorage
- Auth-Methode —
apiKey, azureIdentity oder none
- Model — Deployment-/Modellname
- System Prompt — individueller System-Prompt pro Profil
- Tool-Calling — aktivieren/deaktivieren pro Modell
- Max Tool-Runden — Limit pro Prompt (1–200)
- API Type —
auto, chatCompletions, responses oder anthropic
System-Prompt-Profile
Wechselbare System-Prompts — direkt im Chat-Footer per Dropdown auswählbar:
- 5 Built-in-Profile — Default, SQL / PostgreSQL, Python, TypeScript / JavaScript, Terraform / IaC
- Editierbar — Built-in-Profile können angepasst werden, ein Reset-Button stellt den Originaltext wieder her
- Eigene Profile — beliebig viele zusätzliche System-Prompts anlegen
- Mid-Conversation Switch — Prompt kann jederzeit mitten im Chat gewechselt werden
- Compatibility Mode —
standard, loose oder glm
Der Agent arbeitet in einer Schleife: Er ruft Tools auf, liest die Ergebnisse und entscheidet selbstständig über die nächsten Schritte. Unterstützt werden:
- Native Tool Calling — über die OpenAI Function Calling API
- Text-basierte Tool Calls — automatische Erkennung von 10+ Formaten:
- Standard OpenAI
tool_calls JSON
- Llama 3.1
<function=name>{...}</function>
- Functionary
<function_call>{...}</function_call>
- Hermes
<tool_call>{...}</tool_call>
- Qwen-Agent
✿FUNCTION✿: name ✿ARGS✿: {...}
- JSON-Array/Object mit
name/arguments
- Fenced code blocks mit Tool-Call-JSON
- Markdown code blocks
- GLM
<|function_call|>...<|observation|>
- GLM inline
function_call: {...}
Sub-Agents
Für komplexe Aufgaben kann der Agent Sub-Agents spawnen:
- Parallele Ausführung — mehrere Sub-Agents gleichzeitig (konfigurierbar, max. 5)
- Eigener Kontext — jeder Sub-Agent hat seinen eigenen Message-Verlauf
- Tool-Zugriff — konfigurierbar welche Tools der Sub-Agent nutzen darf (Default: read-only)
- Max Depth — verschachtelte Sub-Agents (Default: max 2 Ebenen)
- Timeout — individuelles Timeout pro Sub-Agent
- Live-Events — Sub-Agent-Fortschritt wird in der Chat-UI angezeigt
Datei-Operationen
| Tool |
Beschreibung |
read_file |
Dateien lesen (ganz oder Zeilen-Bereich) |
write_file |
Neue Datei erstellen oder überschreiben |
edit_file |
Gezieltes Suchen-und-Ersetzen in bestehender Datei |
delete_file |
Datei löschen |
list_directory |
Verzeichnisinhalt auflisten |
search_files |
Regex-Suche über den Workspace |
open_file |
Datei in VS Code öffnen (optional mit Zeile) |
Alle Schreiboperationen unterstützen optionale Bestätigungsdialoge (per Setting).
Terminal-Steuerung
| Tool |
Beschreibung |
open_terminal |
Neues Terminal öffnen (optional mit Name und Arbeitsverzeichnis) |
run_command |
Shell-Befehl ausführen und Output zurücklesen |
list_terminals |
Alle offenen Terminals anzeigen |
close_terminal |
Terminal schließen |
Der Agent kann beliebige Shell-Befehle ausführen — git, npm, docker, ssh, curl, python, und alles was auf dem System installiert ist. Mit optionaler Bestätigung vor jedem Befehl.
🔍 Web Search
Eingebaute Websuche und Webpage-Fetching:
| Provider |
Details |
| DuckDuckGo |
Kostenlos, kein API Key nötig (Default) |
| Brave Search |
API Key erforderlich, 2000 Gratis-Queries/Monat |
| Jina AI |
Optional API Key, gibt vollen Seiteninhalt zurück |
| SearXNG |
Self-hosted, eigene URL konfigurierbar |
Tools:
| Tool |
Beschreibung |
web_search |
Websuche mit konfigurierbarem Provider |
fetch_webpage |
URL abrufen und Inhalt extrahieren (max. Zeichenlimit konfigurierbar) |
Workspace Memory
Persistentes Projektgedächtnis im .bob/ Ordner:
| Datei |
Zweck |
MEMORY.md |
Allgemeines Projektwissen, Entscheidungen, wichtige Fakten |
CONVENTIONS.md |
Projekt-Konventionen, Coding-Standards |
ARCHITECTURE.md |
Architektur-Dokumentation (automatisch aktualisiert) |
TOOLS.md |
Tool-Hinweise und Konfiguration |
SOUL.md |
Agent-Persönlichkeit und Verhalten |
IDENTITY.md |
Identitäts-Informationen |
memory/YYYY-MM-DD.md |
Tägliche Arbeitslogs |
Tools:
| Tool |
Beschreibung |
memory_read |
Memory-Datei lesen |
memory_write |
Memory-Datei erstellen/überschreiben |
memory_append |
An Memory-Datei anhängen (ideal für Daily Logs) |
memory_list |
Alle Memory-Dateien auflisten |
Konfiguration:
- Memory-Dateien werden automatisch zu Beginn jeder Session injiziert
- Tägliche Logs mit konfigurierbarer Retention (Default: 30 Tage)
- Automatische
.gitignore-Verwaltung
- Max. Zeichen pro Datei und gesamt konfigurierbar
Todo-/Task-Tracking
Strukturiertes Task-Management für komplexe, mehrstufige Aufgaben:
| Tool |
Beschreibung |
manage_todo_list |
Todo-Liste erstellen, aktualisieren und verfolgen |
- Statusverwaltung:
not-started, in-progress, completed
- Prioritäten:
high, medium, low
- Kontext-Notizen: Optional pro Task (max 500 Zeichen)
- Persistenz: Tasks werden in
.bob/TASKS.md gespeichert
- Fortsetzung:
bob.continueTasks Befehl zum Fortsetzen unvollständiger Tasks nach Restart
- UI-Integration: Todo-Status wird live im Chat angezeigt
Product Planning & Backlog
Erstelle strukturierte Produktpläne und lege sie als Backlog-Items in externen Systemen an:
Unterstützte Plattformen:
| Plattform |
Features |
| GitHub |
Issues mit Labels, Comments, State-Updates |
| GitLab |
Issues mit Labels, Comments, State-Updates |
| Azure DevOps |
Work Items mit Tags, Comments, State-Updates |
| Gitea |
Issues mit Labels, Comments, State-Updates |
Tools:
| Tool |
Beschreibung |
preview_plan |
Produkt-Plan als strukturiertes JSON erstellen und vorschauen |
update_plan |
Bestehenden Plan aktualisieren |
plan_submit |
Plan als Markdown-Dokument einreichen |
create_backlog_items |
Items aus dem Plan als Issues/Work Items anlegen |
fetch_backlog_items |
Bestehende Items aus dem Backlog abrufen (mit Filtern) |
add_comment |
Kommentar zu einem Backlog-Item hinzufügen |
update_backlog_item |
Item aktualisieren (Titel, Beschreibung, Status, Labels) |
Konfiguration: Mehrere Connections parallel möglich, jeweils mit eigenem Provider, Token, Owner, Repo und URL.
Change Tracker
Alle AI-generierten Dateiänderungen werden getrackt:
- Diff-Vorschau — Zeigt Änderungen im VS Code Diff-Editor
- Einzelbestätigung — Jede Änderung individuell akzeptieren oder ablehnen
- Statistiken — Zeigt Zeilen hinzugefügt/entfernt pro Datei
- Original-Content — Originalinhalt wird für Vergleich gespeichert
- Memory-Dateien ausgenommen —
.bob/ Dateien werden nicht getrackt
🛡️ Controlled Agent Mode
Optionaler Review-Modus: Control Agents prüfen alle Code-Änderungen des Hauptagenten, bevor sie angewendet werden.
- Bis zu 6 unabhängige Review-Agenten — jeder mit eigenem System-Prompt und Modell-Profil
- 3 Built-in-Agenten — Code Quality, Security und Architecture sind vorkonfiguriert und sofort einsetzbar
- Editierbar — Built-in-Agenten können angepasst werden, ein Reset-Button stellt den Originaltext wieder her
- Individuelle Perspektiven — z.B. Security, Code Quality, Architecture oder eigene
- Auto-Fix — bei Ablehnung versucht der Hauptagent automatisch nachzubessern (konfigurierbare Retries)
- Manueller Modus — alternativ entscheidet der User bei Ablehnung
- Strukturierte JSON-Reviews — jeder Control Agent liefert
approved, reasoning und suggestions
- Live-UI-Updates — Review-Status wird im Chat angezeigt
Konfiguration im Chat-Settings-Panel oder in settings.json:
"bob.controlAgents.enabled": true,
"bob.controlAgents.maxRetries": 3,
"bob.controlAgents.autoFix": true,
"bob.controlAgents.profiles": [
{
"name": "Security",
"systemPrompt": "Du prüfst alle Änderungen auf Sicherheitslücken...",
"modelProfileName": "GPT-5 (Azure AI Foundry)",
"enabled": true,
"isBuiltIn": true
},
{
"name": "Code Quality",
"systemPrompt": "Du prüfst Code-Qualität, Best Practices und Wartbarkeit...",
"modelProfileName": "GPT-5 (Azure AI Foundry)",
"enabled": true,
"isBuiltIn": true
},
{
"name": "Architecture",
"systemPrompt": "Du prüfst architektonische Konsistenz...",
"modelProfileName": "GPT-5 (Azure AI Foundry)",
"enabled": true,
"isBuiltIn": true
}
]
🔎 Workspace Review
Den gesamten Workspace oder nur Git-Änderungen manuell durch alle aktiven Review-Agenten prüfen lassen:
- Review-Button im Chat-Footer — erscheint automatisch, wenn mindestens ein Review-Agent aktiviert ist
- Command Palette —
BOB: Review Workspace
- Zwei Modi — Git Changes (nur geänderte Dateien per
git diff) oder All Files (alle Quellcode-Dateien)
- Intelligente Dateifilterung — respektiert
.gitignore, schließt Credentials (.env, .pem, .key etc.) und interne Dateien (.bob/) aus
- Findings als Cards — Ergebnisse werden pro Agent als Karten mit Severity-Farben (Error/Warning/Info) angezeigt
- Todo- & Task-Integration — alle Findings werden automatisch in die Todo-Liste und in
.bob/TASKS.md übernommen
Session Management
- Automatische Persistenz — Konversationen werden automatisch gespeichert
- Sessions-Panel — Wiederherstellung, Umbenennung und Löschung in der Sidebar
- Auto-Cleanup — Sessions werden nach konfigurierbarer Zeit gelöscht (Default: 30 Tage)
- Neue Session — Per Button oder Command
Commands:
| Command |
Beschreibung |
bob.newChat |
Neuen Chat starten |
bob.clearChat |
Chat leeren |
bob.newSession |
Neue Session starten |
bob.deleteSession |
Session löschen |
bob.renameSession |
Session umbenennen |
bob.showSessions |
Session-Übersicht anzeigen |
bob.continueTasks |
Unvollständige Tasks fortsetzen |
bob.reviewWorkspace |
Workspace durch Review-Agenten prüfen lassen |
Kontext-Management
Intelligentes Context-Window-Management für lange Konversationen:
| Feature |
Beschreibung |
| Auto-Summarize |
Ältere Messages werden automatisch zusammengefasst, wenn der Kontext voll wird (konfigurierbarer Threshold, Default: 70%) |
| Tool-Result-Pruning |
Alte/große Tool-Ergebnisse werden gekürzt, um Platz zu schaffen |
| Compaction |
Aggressive Verdichtung bei Kontext-Überlauf |
| Keep-Recent |
Die letzten N Tool-Paare werden geschützt (Default: 3) |
| Max Chars per Result |
Einzelne Tool-Ergebnisse werden auf ein Maximum gekürzt (Default: 4000) |
| Context-Anzeige |
Token-Nutzung wird live in der Chat-UI angezeigt |
MCP Server
BOB enthält einen integrierten MCP-Server (Model Context Protocol):
Verfügbare MCP-Tools:
| Tool |
Beschreibung |
mc_read_file |
Datei lesen |
mc_write_file |
Datei schreiben |
mc_list_directory |
Verzeichnis auflisten |
mc_run_command |
Shell-Befehl ausführen |
mc_run_command_async |
Shell-Befehl asynchron ausführen |
mc_get_cwd |
Aktuelles Arbeitsverzeichnis abrufen |
mc_get_env |
Umgebungsvariablen abrufen |
Sicherheit des MCP-Servers:
- Standardmäßig nur Workspace-Verzeichnis zugänglich
- Befehls-Allowlist (erweiterbar per Setting)
- Optionale Entsperrung aller Pfade und Befehle
Einbindung:
// .vscode/mcp.json
{
"servers": {
"bob": {
"type": "stdio",
"command": "node",
"args": ["<pfad>/mcp-server/dist/index.js"]
}
}
}
Proxy Auto-Fallback
Für Enterprise-Umgebungen mit VPN/Proxy:
- Erkennt automatisch, ob der konfigurierte Proxy erreichbar ist
- Ohne VPN wird der Proxy umgangen und direkt verbunden
- Raw-Socket-Bypass für VS Code's Proxy-Patching
- Konfigurierbares Recheck-Intervall und Timeout
Sicherheit & Bestätigungen
- API Keys werden in VS Code SecretStorage verschlüsselt gespeichert — nicht im Klartext in den Settings
- Terminal-Bestätigung standardmäßig aktiviert — jeder Befehl muss bestätigt werden
- Dateiänderungs-Bestätigung standardmäßig aktiviert — jede Schreiboperation muss bestätigt werden
- Content Security Policy — keine externen Scripts oder Styles in der Webview
- MCP-Server isoliert — kein Zugriff auf VS Code APIs
- Tool-Deaktivierung — einzelne Tools über Settings deaktivierbar
- Sub-Agent-Limits — konfigurierbare Concurrency, Depth und Timeout
Installation
Voraussetzungen
- VS Code Version 1.108.0 oder höher
- Node.js Version 18 oder höher (nur für Entwicklung)
Aus VSIX installieren
- Die
.vsix-Datei herunterladen oder selbst bauen
- In VS Code: Extensions →
... Menü → "Install from VSIX..."
- Oder per Terminal:
code --install-extension bob-ai-0.5.5.vsix
Konfiguration
1. Modell-Profil konfigurieren
Öffne die BOB Chat-Sidebar → klicke auf das Zahnrad-Icon (Settings). Dort kannst du direkt im UI:
- Ein neues Modell-Profil anlegen (Name, Endpoint, API Key, Auth-Methode)
- Den System-Prompt anpassen
- Tool-Calling aktivieren/deaktivieren
- Max Tool-Runden pro Prompt einstellen
- Compatibility Mode wählen
- API Type festlegen
Oder direkt in settings.json:
"bob.models": [
{
"name": "GPT-5 (Azure AI Foundry)",
"endpoint": "https://mein-modell.models.ai.azure.com",
"authMethod": "apiKey",
"model": "gpt-5",
"supportsToolCalling": true,
"maxToolRounds": 100,
"apiType": "auto",
"compatibilityMode": "standard"
},
{
"name": "Lokales Modell (LM Studio)",
"endpoint": "http://localhost:1234/v1",
"authMethod": "none",
"model": "local-model",
"supportsToolCalling": true,
"maxToolRounds": 50,
"compatibilityMode": "loose"
},
{
"name": "GLM-4 (Zhipu AI)",
"endpoint": "https://open.bigmodel.cn/api/paas/v4",
"authMethod": "apiKey",
"model": "glm-4-plus",
"supportsToolCalling": true,
"maxToolRounds": 30,
"compatibilityMode": "glm"
},
{
"name": "Claude Opus (Azure AI Foundry)",
"endpoint": "https://mein-projekt.services.ai.azure.com/anthropic/v1/messages",
"authMethod": "apiKey",
"model": "claude-opus-4-6",
"supportsToolCalling": true,
"maxToolRounds": 100,
"apiType": "auto",
"contextWindow": 200000
}
]
Hinweis: API Keys werden über das Settings-UI sicher in VS Code SecretStorage gespeichert.
Hinweis: Anthropic-Endpoints auf Azure AI Foundry werden automatisch erkannt, wenn /anthropic/ im Pfad enthalten ist. Alternativ kann apiType: "anthropic" explizit gesetzt werden.
2. Backlog-Connection konfigurieren (optional)
"bob.planning.connections": [
{
"name": "GitHub — mein-projekt",
"providerType": "github",
"owner": "mein-username",
"repo": "mein-repo"
// Token wird in SecretStorage gespeichert
},
{
"name": "Gitea — intern",
"providerType": "gitea",
"baseUrl": "https://gitea.example.com",
"owner": "team",
"repo": "projekt"
},
{
"name": "GitLab — team",
"providerType": "gitlab",
"baseUrl": "https://gitlab.example.com",
"projectId": "42"
},
{
"name": "Azure DevOps",
"providerType": "azureDevOps",
"baseUrl": "https://dev.azure.com",
"owner": "organisation",
"repo": "projekt"
}
]
3. Web Search aktivieren (optional)
"bob.webSearch.enabled": true,
"bob.webSearch.provider": "duckduckgo" // oder "brave", "jina", "searxng"
4. Workspace Memory aktivieren (optional)
"bob.memory.enabled": true,
"bob.memory.autoInject": true,
"bob.memory.dailyLogs": true
5. Ersten Chat starten
- In der VS Code Activity Bar auf das BOB Icon klicken
- Die Chat-Sidebar öffnet sich
- Oben das gewünschte Modell-Profil auswählen
- Prompt eingeben und Enter drücken
Alle Settings
Modell & Profil
| Setting |
Typ |
Default |
Beschreibung |
bob.models |
array |
[] |
Liste der Modell-Profile |
bob.activeModel |
string |
"" |
Aktives Modell-Profil |
bob.systemPrompts |
array |
[] |
Zusätzliche System-Prompt-Profile |
bob.activeSystemPrompt |
string |
"" |
Aktiver System-Prompt |
Legacy-Einstellungen (Rückwärtskompatibilität)
| Setting |
Typ |
Beschreibung |
bob.azure.endpoint |
string |
Einzelner Endpoint (veraltet — Modell-Profile verwenden) |
bob.azure.apiKey |
string |
API Key (veraltet — SecretStorage verwenden) |
bob.azure.authMethod |
string |
Auth-Methode (veraltet) |
bob.azure.model |
string |
Model-Name (veraltet) |
bob.azure.systemPrompt |
string |
System-Prompt (veraltet) |
Terminal
| Setting |
Typ |
Default |
Beschreibung |
bob.terminal.confirmCommands |
boolean |
true |
Bestätigung vor Terminal-Befehlen |
bob.terminal.shell |
string |
"" |
Shell-Pfad (leer = System-Default) |
Datei-Operationen
| Setting |
Typ |
Default |
Beschreibung |
bob.workspace.confirmFileChanges |
boolean |
true |
Bestätigung vor Dateiänderungen |
bob.tools.disabledTools |
array |
[] |
Liste deaktivierter Tool-Namen |
Web Search
| Setting |
Typ |
Default |
Beschreibung |
bob.webSearch.enabled |
boolean |
false |
Web Search aktivieren |
bob.webSearch.provider |
string |
"duckduckgo" |
Search Provider (duckduckgo, brave, jina, searxng) |
bob.webSearch.apiKey |
string |
"" |
API Key für Brave/Jina |
bob.webSearch.searxngUrl |
string |
"" |
SearXNG-Instanz-URL |
bob.webSearch.fetchMaxChars |
number |
16000 |
Max. Zeichen bei Webpage-Fetch |
Kontext-Management
| Setting |
Typ |
Default |
Beschreibung |
bob.contextWindow.autoSummarizeThreshold |
number |
0.7 |
Auto-Summarize-Threshold (0 = deaktiviert, 0.1–1.0) |
bob.contextWindow.pruneToolResults |
boolean |
true |
Alte Tool-Ergebnisse automatisch kürzen |
bob.contextWindow.pruneKeepRecentPairs |
number |
3 |
Anzahl geschützter Tool-Paare |
bob.contextWindow.pruneMaxCharsPerResult |
number |
4000 |
Max. Zeichen pro Tool-Ergebnis |
Agent
| Setting |
Typ |
Default |
Beschreibung |
bob.agent.timeoutSeconds |
number |
300 |
Timeout für den Agent-Loop (Sekunden) |
bob.agent.maxTodoContinuations |
number |
3 |
Max. automatische Fortsetzungen bei offenen Tasks |
Sub-Agents
| Setting |
Typ |
Default |
Beschreibung |
bob.subAgent.enabled |
boolean |
true |
Sub-Agents aktivieren |
bob.subAgent.maxConcurrent |
number |
3 |
Max. parallele Sub-Agents |
bob.subAgent.maxDepth |
number |
2 |
Max. Verschachtelungstiefe |
bob.subAgent.timeoutSeconds |
number |
120 |
Timeout pro Sub-Agent |
Sessions
| Setting |
Typ |
Default |
Beschreibung |
bob.sessions.enabled |
boolean |
true |
Session-Persistenz aktivieren |
bob.sessions.maxAgeDays |
number |
30 |
Sessions nach X Tagen löschen |
Workspace Memory
| Setting |
Typ |
Default |
Beschreibung |
bob.memory.enabled |
boolean |
true |
Memory aktivieren |
bob.memory.folderName |
string |
".bob" |
Ordnername für Memory-Dateien |
bob.memory.autoInject |
boolean |
true |
Memory automatisch in System-Prompt injizieren |
bob.memory.maxCharsPerFile |
number |
8000 |
Max. Zeichen pro Memory-Datei bei Injection |
bob.memory.maxTotalChars |
number |
24000 |
Max. Gesamtzeichen für Memory-Injection |
bob.memory.dailyLogs |
boolean |
true |
Tägliche Logs aktivieren |
bob.memory.dailyLogRetentionDays |
number |
30 |
Aufbewahrung täglicher Logs (Tage) |
bob.memory.gitignore |
boolean |
true |
.bob/ automatisch zu .gitignore hinzufügen |
Product Planning
| Setting |
Typ |
Default |
Beschreibung |
bob.planning.connections |
array |
[] |
Backlog-Connections (GitHub, GitLab, Azure DevOps, Gitea) |
bob.planning.activeConnection |
string |
"" |
Aktive Connection |
Proxy
| Setting |
Typ |
Default |
Beschreibung |
bob.proxy.autoFallback |
boolean |
false |
Proxy-Erreichbarkeit automatisch prüfen |
bob.proxy.recheckIntervalMinutes |
number |
5 |
Recheck-Intervall in Minuten |
bob.proxy.checkTimeoutMs |
number |
3000 |
Timeout für TCP-Prüfung |
Controlled Agent Mode & Workspace Review
| Setting |
Typ |
Default |
Beschreibung |
bob.controlAgents.enabled |
boolean |
false |
Controlled Agent Mode aktivieren — Control Agents reviewen alle Änderungen |
bob.controlAgents.maxRetries |
number |
3 |
Max. Auto-Fix-Retries bei Ablehnung (0–10) |
bob.controlAgents.autoFix |
boolean |
true |
Automatisch nachbessern bei Ablehnung (false = User entscheidet) |
bob.controlAgents.profiles |
array |
Built-in |
Control Agent Profile (max. 6) — 3 Built-in (Code Quality, Security, Architecture) + bis zu 3 eigene |
MCP Server
| Setting |
Typ |
Default |
Beschreibung |
bob.mcp.allowedCommands |
array |
[] |
Zusätzlich erlaubte Shell-Befehle |
bob.mcp.allowAllPaths |
boolean |
false |
Dateizugriff außerhalb des Workspace erlauben |
bob.mcp.allowAllCommands |
boolean |
false |
Alle Befehle ohne Allowlist erlauben |
Azure Entra ID (RBAC)
Statt API Keys kann Azure Entra ID (ehemals Azure AD) verwendet werden:
- Setting
authMethod im Modell-Profil auf azureIdentity setzen
- API Key leer lassen
- Sicherstellen, dass eine der folgenden Authentifizierungen verfügbar ist:
- Azure CLI (
az login)
- VS Code Azure-Extension (angemeldet)
- Managed Identity (in Azure-gehosteter Umgebung)
- Umgebungsvariablen (
AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET)
Die Extension nutzt DefaultAzureCredential aus @azure/identity, die automatisch die verfügbare Methode erkennt.
Troubleshooting
Terminal-Output wird nicht zurückgegeben
→ Shell-Integration muss aktiv sein. In manchen Terminals ist sie nicht verfügbar. Befehle werden trotzdem ausgeführt, aber der Output kann nicht zurückgelesen werden.
Fehler: "401 Unauthorized"
→ API Key ungültig oder abgelaufen. Neuen Key in der Provider-Konsole generieren und im Settings-UI aktualisieren.
Fehler: "429 Too Many Requests"
→ Rate Limit erreicht. Kurz warten und erneut versuchen, oder das Rate Limit im Provider-Portal erhöhen.
→ compatibilityMode auf "glm" setzen. GLM-Modelle verwenden ein anderes Token-Format für Tool-Calls. Der glm-Modus erkennt diese automatisch und führt bei Bedarf einen Retry ohne Tools durch.
Kontext zu voll / langsame Antworten
→ contextWindow.autoSummarizeThreshold anpassen (z.B. auf 0.5 für früheres Summarizing) oder pruneToolResults aktivieren.
Sub-Agent schlägt fehl
→ subAgent.timeoutSeconds erhöhen. Prüfen ob das gewählte Modell Tool-Calling unterstützt (supportsToolCalling: true).
Control Agent lehnt immer ab (Endloser Loop)
→ Sicherstellen, dass das Modell des Control Agents den Code tatsächlich lesen kann. In älteren Versionen gab es einen Bug, bei dem stale On-Disk-Content statt der tatsächlichen Änderungen geprüft wurde — seit v0.5.5 behoben. Falls das Problem bestehen bleibt: maxRetries reduzieren oder autoFix auf false setzen.
Memory-Dateien erscheinen im Git
→ memory.gitignore auf true setzen (Default). Die Extension fügt .bob/ automatisch zur .gitignore hinzu.