Agentic Ventures Workplace — Standard-Stack-Vision

Status

Brainstorm 2026-05-18. Phase 1 ist als eigenes Projekt im Bau (_index). Phasen 2-4 leben hier als Vision bis der Pilot Adoption beweist.

Kern-Idee

KMU-Standard-Stack als modulares Paket auf Hetzner pro Kunde, mit zentralem Cockpit als Steuerungs-Layer. Open-Source-Tools verbunden mit Sonnet/Haiku ueber MCP-Schicht, statt einem ERP-Brocken. Self-Host wo DSGVO + Architektur-Souveraenitaet wichtig, SaaS wo Kompatibilitaet vorgeht (Buchhaltung, Mail).

Marvin’s Pitch wird konkret: „Wir verbinden bestehende Tools intelligent — und geben Andre + Christoph endlich einen Blick auf wo das Unternehmen steht.”

Zwei-Saeulen-Sicht

Der Stack hat zwei Kern-Saeulen, nicht eine:

Saeule A — Operative Tools (wo Mitarbeiter taeglich arbeiten)

  • Twenty (CRM, Open Source, modern UI)
  • Plane (PM, Linear-Klon, Open Source)
  • Nextcloud (Dateispeicher + Doku-Preview)
  • Baserow (Daten-Tabellen, Airtable-Style, statt Excel-Ersatz)
  • Cal.com (Booking)
  • OWUI (Chat als Cross-Tool-Hub)
  • Optional: Jitsi (Video), InvenTree (Pro-Tier Lager)

Saeule B — Steuerungs-Cockpit (wo Geschaeftsfuehrer Lage sieht)

  • Cockpit (Multi-Tenant-Variante von av-cockpit, Next.js + Tailwind + Recharts)
  • Datenquellen: Saeule-A-Tools via MCP + externe SaaS (lexoffice, mailbox.org, TicketPay/Zettle je nach Branche) + Bank ueber Buchhaltungs-Tool
  • Cron-Snapshot-Pipeline: aggregierte Daten in zentraler Postgres-Tabelle
  • Sichten: Liquiditaet, Pipeline, Heute-Tun, Agent-Activity-Log

Saeule B ist die wichtigere fuer Geschaeftsfuehrer-Adoption. VF-Phase-1 baut zuerst Saeule B (sichtbarer Wert in 2 Wochen). Saeule A kommt erst wenn Saeule B Vertrauen aufgebaut hat.

Vier-Schichten-Architektur

  1. Auth-Layer (SSO): Cloudflare-Access als Vor-Gate + Authentik (Open-Source-OIDC-Provider) auf der VM. Alle Tools sprechen OIDC mit Authentik. EIN Login fuer User, alle Tools offen.

  2. Direkte APIs: Twenty (REST + GraphQL), Plane (REST), Baserow (REST), Cal.com (REST), Nextcloud (WebDAV + OCS), OWUI (REST), lexoffice (REST), Papierkram (REST), TicketPay (REST), Zettle (REST).

  3. Workflow-Layer (Cron, nicht n8n): Code-Workflows im Repo unter workflows/*.ts, Cron-Runner-Container auf der Tenant-VM. Nutzt Marvin’s agents-platform-Pattern. n8n bewusst weggelassen — eine Sorge weniger pro Tenant.

  4. Chat-Layer (OWUI + MCP-Mono): Universal-Interface fuer Cross-Tool-Queries und ad-hoc Workflows.

Stack-Komponenten pro Profile

core (immer aktiv):
  ├── postgres, redis, traefik, authentik
  ├── backup-sidecar (nightly S3-Sync)
  ├── cron-runner (Code-Workflows fuer Tool-Sync)
  └── cockpit (Multi-Tenant-Modus)

Feature-Profiles (pro tenant.yaml waehlbar):
  ├── crm        → twenty
  ├── pm         → plane
  ├── files      → nextcloud + collabora-im-Hintergrund
  ├── data       → baserow
  ├── booking    → cal.com
  ├── chat       → owui + litellm + mcp-mono
  ├── pos        → zettle-mcp (Zettle selbst extern bei PayPal)
  ├── inventory  → inventree (Pro-Tier, optional)
  └── video      → jitsi (optional)

SaaS extern (per MCP angebunden, kein Container):
  ├── lexoffice  oder Papierkram (Buchhaltung — Pflicht-SaaS wegen GoBD)
  └── mailbox.org (Mail)

Repo-Struktur (skizziert)

agentic-ventures-workplace/
├── docs/architecture.md, feature-matrix.md, integration-map.md
├── infra/
│   ├── pulumi/             (Hetzner VM, Cloudflare Tunnel, DNS, S3-Backup)
│   └── docker/
│       ├── compose.base.yml
│       └── compose.<profile>.yml pro Feature
├── workflows/              (Cron-Code: twenty-won-to-plane.ts, calcom-to-twenty.ts, ...)
├── prompts/                (OWUI-System-Prompt-Template)
├── scripts/                (onboard-tenant.sh, enable-feature.sh, update-tenant.sh)
└── tenants/
    └── kunde-xy.yaml

Plus separates Repo agentic-ventures-cockpit (= refactored av-cockpit, Multi-Tenant-Mode + Marvin-Mode).

Phasen-Plan

Phase 1 — VF-Liquiditaets-Cockpit (laeuft). Saeule B als Single-Tenant-Erweiterung im av-cockpit. Datenquellen: Papierkram + TicketPay. Ziel: 2-3 Wochen live, Adoption-Beweis. Siehe _index.

Phase 2 — VF-Pipeline (wenn Phase 1 adoptiert). Twenty als Stammdaten + Cockpit-Erweiterung um Pipeline-Sicht. „Du hast 3 Kunden mit ueberfaelligen Followups”. Erst jetzt CRM.

Phase 3 — VF-Operationen. Plane fuer Projekt-Tracking, Nextcloud + Baserow + Cal.com als Stack-Komponenten. Komplette Saeule A live.

Phase 4 — Multi-Tenant-Refactor. Wenn zweiter Kunde wirklich kommt: av-cockpit auf Tenant-Mode + Pulumi-Provisionierung + Standard-Stack-Repo. Vorher nicht.

Onboarding-Pattern (Phase 4)

Pro Kunde eine tenant.yaml:

tenant: kunde-xy
domain: kunde-xy.agenticventures.de
features:
  crm: true
  pm: true
  files: true
  data: true
  booking: true
  chat: true
  pos: false
  inventory: false
  video: false
admins:
  - andre@kunde-xy.de
  - christoph@kunde-xy.de
branding:
  primary: "#2D4A3E"
  logo: "https://..."

Wrapper-Script onboard-tenant.sh kunde-xy.yaml macht:

  1. Pulumi up → Hetzner VM, Cloudflare-Tunnel, DNS-Records, Object-Storage-Bucket
  2. SSH zu VM → docker-compose mit richtigen Profilen, Authentik konfigurieren, OIDC-Apps registrieren
  3. Cron-Runner-Container mit den Workflow-Code-Files starten
  4. Branding aus tenant.yaml in alle Tools injizieren
  5. Cockpit-Build mit TENANT_ID=kunde-xy npm run build, statischer Export auf S3-pro-Tenant
  6. Smoke-Test

Zielzeit pro Onboarding: 30-60 Min nach Phase-4-Build.

MS365-Tier-Frage

Zwei Sub-Tiers im Standard-Stack je nach Kunden-IT-Stand:

  • „MS365 behalten” — Kunde nutzt schon MS365, m365-MCP drueber, Marvin reduziert Lizenz-Plan auf nur-Excel-Outlook-Sharepoint (~6 EUR/User/Mo statt 12-15). Kein Nextcloud, kein eigener Mailserver.
  • „MS365 raus / nicht da” — Kunde hat nichts oder will weg. Nextcloud + mailbox.org + Baserow als Stack-Komponenten. Falls Excel-Power-User existiert: 1 einzelne MS365-E1-Lizenz fuer den.

Realistisch: Marvin kommuniziert ehrlich „Wir bauen euch eine Suite die 95% von MS365 ersetzt — die 5% Excel-Power-User behalten ihre eine Lizenz.”

Vertikal-Saeulen pro Branche

Branchen-spezifische Komponenten fliegen rein wenn der Kunde es braucht:

  • Event-Veranstalter (z.B. VF): TicketPay-MCP, Event-Forecast im Cockpit
  • Retail/Gastro: Zettle-MCP (POS), Baserow als Stock-Cockpit (Light-Tier), InvenTree (Pro-Tier)
  • Berater/Agentur: Papierkram als Buchhaltung (mit Zeit-Tracking)
  • Telefon-getrieben: receptionist-Pattern (WhatsApp-/Telefon-Hub)

Agent-Activity-Log (querschnittlich)

Alle drei Agent-Typen (Chat-Agent in OWUI, Cron-Agents im agents-platform, Event-Agents in n8n falls vorhanden) schreiben in EINE agent_activity-Tabelle in der zentralen Postgres. Schema:

agent_activity (
  id uuid PRIMARY KEY,
  timestamp timestamptz,
  agent_type enum (chat | cron | n8n),
  agent_name text,
  user_id text nullable,
  trigger text,
  action text,
  tool_calls jsonb,
  status enum (success | error | pending_review),
  duration_ms int,
  cost_usd numeric,
  classifier text,         -- VFClassifyRouter-Output
  model text,              -- claude-haiku-4-5 etc
  error text nullable,
  raw_log_url text nullable
)

Cockpit hat eine /activity-Page mit Filter, plus „letzte 5 Aktionen”-Tile auf Homepage. Sichtbarkeit + Trust-Layer fuer Geschaeftsfuehrer.

Retention 90 Tage default, per Tenant erweiterbar.

Offene Fragen / TBD

  • Jitsi ja/nein — Self-Host-Vibe vs „Google Meet via Cal.com reicht eh”
  • Namingagentic-ventures-workplace vs cockpit vs anderer Name (Marvin’s Entscheidung)
  • Lager-Default-Tier — Light-Tier (Baserow + Zettle-Stock) als Default, Pro-Tier (InvenTree) on-demand?
  • Cockpit-Modes-Aufteilung — eigene Subroutes /marvin/* und /tenant/<id>/*, oder ENV-basierte Build-Modes
  • n8n-Add-On — wenn ein Kunde unbedingt Klick-Workflow-Builder will, koennen wir nachschieben — aber Default raus
  • VF-Cockpit-Wireframe — vor Phase 2 mit Andre/Christoph durchgehen statt selbst-spekulieren

Pflegerealitaet (ehrlich)

Self-Host pro Kunde = du hostest 6-9 Apps. Twenty in Version 2.0 = pro Kunde Migration. Plane in Major-Version = pro Kunde Migration. Bei 5 Kunden = 5x dieselbe Update-Arbeit.

Mitigation:

  • Pre-Prod-Tenant (Marvin selbst nutzt es) → Updates dort zuerst, dann Kunden
  • CI-Pipeline fuer Tool-Updates: Container-Versionen gepinnt, Update via PR → Test im Pre-Prod → Rollout
  • Monatlicher Patch-Slot in Marvin’s active-work
  • Skalierungs-Limit ehrlich: max 10-15 Tenants Solo. Daruber: Hire oder hoeher-Preis-Tier mit weniger Pflege-Aufwand.

Wann diese Vision wieder hochkommt

  • Wenn VF-Phase-1 live ist und Adoption > 3x/Woche erreicht
  • ODER wenn ein neuer Kunde explizit das volle Paket nachfragt
  • Bis dahin: Vision-Doku, nicht Bauplan