2.8 KiB
2.8 KiB
| id | status | phase | priority | labels | branch | assignee | started | pr | merged | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DIS-152 | in-progress | 1.5 | p2 |
|
refinement/mapped-project-paths | developer-agent | 2026-04-13 | null | null |
DIS-152: Gemappte Projektpfade für Agents (host:virtual)
Ziel
Beim Erstellen eines Agents kann ein zusätzlicher Host-Pfad angegeben werden, auf den der Agent zugreifen kann. Im Discord-Output erscheint immer nur der konfigurierte virtuelle Pfad — nie der echte Host-Pfad.
Kontext
Agents sollen auf bestehende Projektverzeichnisse zugreifen können (z.B. ein laufendes Codeprojekt) ohne dass der absolute Host-Pfad in Discord-Nachrichten durchsickert.
Wichtiger Hinweis: Es handelt sich um keine echte Isolation/Containerisierung. Claude Code sieht den echten Pfad intern. Die Sanitisierung ersetzt den Host-Pfad in allen Discord-Ausgaben durch den konfigurierten virtuellen Pfad.
Scope
agent.yaml Erweiterung
name: my-agent
channel_id: "123456789"
role: Developer
model: claude-sonnet-4-6
path_mappings:
- host: "C:/Code/side/testProject"
virtual: "~/testProject"
/new-agent-Command Erweiterung
- Neuer optionaler Parameter
pathim Formathost:virtual(z.B.C:\Code\side\testProject:~/testProject) - Wird in
agent.yamlunterpath_mappingsgespeichert - Validierung: Host-Pfad muss existieren
CLAUDE.md-Template Erweiterung
Beim Erstellen des Agents wird in die CLAUDE.md geschrieben:
## Verfügbare Pfade
- ~/testProject → dein Projekt-Workspace (verwende immer diesen Pfad in Antworten)
Nenne niemals absolute Host-Pfade. Verwende ausschließlich die oben gelisteten virtuellen Pfade.
sanitizeForDiscord Erweiterung (src/runtime/sanitize.ts)
path_mappingsausagent.yamlwerden beim Routing geladen- Host-Pfad (beide Slash-Varianten) → virtueller Pfad ersetzen
- Reihenfolge: spezifischste Pfade zuerst (längste zuerst sortieren)
src/router.ts
sanitizeOptsbekommt zusätzlichpathMappings: Array<{host: string, virtual: string}>
Definition of Done
agent.yamlunterstütztpath_mappings-Feld (Zod-Schema aktualisiert)/new-agentakzeptiert optionalenpath-Parameter- Host-Pfade erscheinen nicht in Discord-Ausgaben
- Agent-CLAUDE.md enthält Hinweis auf virtuelle Pfade
- Unit-Test: Sanitisierung ersetzt Host- durch virtuellen Pfad (beide Slash-Stile)
npm run build && npm testgrün
Dateien (erwartet)
src/agent/schema.ts(path_mappings Feld)src/agent/identity.ts(CLAUDE.md-Template)src/commands/new-agent.ts(path-Parameter)src/runtime/sanitize.ts(pathMappings Support)src/router.ts(sanitizeOpts erweitern)tests/unit/sanitize-for-discord.test.ts(neue Cases)
Abhängigkeiten
DIS-151 empfohlen (aber kein harter Blocker).