Deine Eingabe enthält eine sehr detaillierte Architektur- und Funktionsbeschreibung für ein Projekt namens Open Design (oft als od bezeichnet), das lokale KI-Agenten (Claude, Copilot, Devin, etc.) mit einem Frontend, einem Daemon, SQLite-Datenbanken und Design-Skills verbindet.
Da deine Nachricht mit einem Wort (The next project picks it from a "your templates" row in the picker — same surface as the shipped 31, but yours. Tab persistence. Every project remembers its open files and active tab in the tabs table. Reopen the project tomorrow and the workspace looks exactly) mitten im Satz abgebrochen ist, kann ich den letzten Gedanken nicht abschließen.
Basierend auf dem Kontext würde sich der Satz wahrscheinlich wie folgt fortsetzen:
"...exactly as when you closed it." (wörtlich: "genau so, wie es, als du es schlossst").
Hier ist eine Zusammenfassung des vorliegenden Systemzustands auf Basis deiner Daten, falls du diese Anwendung starten oder verstehen möchtest:
- Runtime: Node.js 24 + pnpm 10.33.x (empfohlen via
corepack enable). - Server: Express Daemon (
apps/daemon), SQLite (app.sqlite) als lokale DB. - Frontend: Next.js 16 App Router + React 18 + TypeScript (Vercel-fähig).
- Orchestration:
tools-dev: CLI für Start/Stop/Status.- Child Process: Agenten werden via
child_process.spawngestartet. - Transport: Parsers für spezifische Streams (z.B.
claude-stream-json,copilot-stream-json,acp-json-rpc).
Der Daemon erkennt automatisch verfügbare CLI-Tools und passt das Stream-Format an: * Anthropic: Claude Code (via Stream JSON) * Microsoft: Copilot (via Stream JSON) * Other: Devin/Hermes (via ACP JSON-RPC), Pi (via JSON-RPC), Qwen (plain), Gemini/Codex (via Custom parsers). * Safety: Blockiert SSRF-Angriffe (keine Loopback/RFC1918 Hosts am Daemon-Edge).
- 31 Skills: Geladen aus
skills/(z.B.web-prototype,saas-landing,critique). - 72 Design-Systeme: Geladen aus
design-systems/(z.B. Linear, Vercel, Apple, Stripe).- Fallback-Mechanismus: Wenn kein Brand-Spec vorhanden ist, emittiert das System 5 visuelle Richtungen (Moods) basierend auf Farbpaletten (OKLch).
- Prompt-Templates: 93 vordefinierte Prompts für Bild- und Video-Generierung.
Das System generiert nicht nur Code, sondern auch native Medien:
* Bilder: gpt-image-2 (Azure/OpenAI), Stable Diffusion variants.
* Video:
* seedance-2.0 (ByteDance Volcengine) für Kinematografie.
* hyperframes-html (HeyGen OSS) für Motion Graphics aus HTML/CSS.
* Unterstützt auch Kling, Veo, Sora (via Fal API).
* Audio: Suno, Udio, ElevenLabs (TTS).
* Export: Renderter Artefakte landen als .png, .mp4 im Projektordner.
- SQLite (
app.sqlite): Speichert Projekte, Konversationen, Nachrichten und Tabs. - Dateisystem:
.od/projects/<id>/: Working Directory des Agents (gitignored)..od/artifacts/: Einmalige Renders ("Save to disk")..od/app.sqlite: Datenbank.
- Features:
- Import von
Claude DesignZIPs (POST /api/import/claude-design). - Persistenz offener Tabs und Arbeitsverzeichnisse.
- Template-Speicherung in SQLite (
templatestable).
- Import von
NODE_VERSION=24
PNPM_VERSION=10.33.2
pnpm install
pnpm tools-dev run web
export OD_DAEMON_URL=http://localhost:3000
export OD_BIN=./apps/daemon/dist/cli.js
open-design/
├── apps/
│ ├── web/ # Next.js Client
│ └── daemon/ # Express Server + Agent Logic
├── skills/ # 31 Skill-Packs
├── design-systems/ # 72 System-Packs
├── prompts/ # Image/Video/Audio Templates
└── .od/ # (Auto-created, gitignored)
├── app.sqlite
├── artifacts/
└── projects/
Wenn du das Projekt starten möchtest, führt dies aus:
git clone https://github.com/nexu-io/open-design.git
cd open-design
corepack enable
pnpm install
nvm install 24 && nvm use 24
pnpm tools-dev run web
Wenn du das Projekt analysieren oder eine bestimmte Funktion implementieren möchtest (z.B. den Video-Pipeline für hyperframes), sag es mir gerne, und ich helfe dir beim Coden oder Debuggen der entsprechenden Teile (z.B. apps/daemon/src/media-models.ts oder die Prompt-Parses).
Möchtest du den letzten Satz vervollständigen ("...exactly as when you closed it") oder hast du eine konkrete Frage zu einem der Module (z.B. wie man einen neuen Agenten-Adapter hinzufügt)?