{"queue_id": 83, "relative_path": "Systemstruktur/Agenten-Wissen/Anthropic-Sonnet/ARC-033-Agent-Solutions-VPS-Dienste-Migration-und-Workspace-Portal.md", "title": "ARC-033: Agent Solutions VPS-Dienste-Migration und Workspace-Portal", "import_key": "6b34e498f4291f1723ca36492cab2561e0ae1b80ca116b629badd1084a6f3528", "chunk_count": 17, "created_nodes": 0, "created_relationships": 0, "body": null, "chunks": [{"chunk_key": "3c4df0d34a1e1d34b4985debfd8918cdc784e4c929fee9f7657474321ed14b5c", "chunk_index": 0, "heading": "ARC-033: Agent Solutions VPS-Dienste-Migration und Workspace-Portal", "text": "# ARC-033: Agent Solutions VPS-Dienste-Migration und Workspace-Portal", "text_hash": "cebea6aba7af41143c88a062641060f3fc1b177858968df0858db6eff8f1d1fc"}, {"chunk_key": "8a9ecf3996e66c8d10862c59dab6907753e073ebaed40e6ec0e3ead044d20b7c", "chunk_index": 1, "heading": "Kernaussage", "text": "# ARC-033: Agent Solutions VPS-Dienste-Migration und Workspace-Portal\n## Kernaussage\n\nIm Mai 2026 wurden Social Media Agent v2 und Lead Engine (Streamlit) von lokalen\nWindows-Entwicklungsumgebungen auf den VPS migriert und produktiv deployed. Gleichzeitig\nwurde das Agent-Solutions-Portal (agentsolutions-mallorca.com) unter dem\nLabel \"Workspace\" bzw. \"Workbench\" strukturiert und ein Datenbankpfad-Bug behoben.\nDer Telefon Agent wurde als Konzept dokumentiert, aber bewusst nicht deployed.", "text_hash": "353892f36ae8dc49ec5b48ea33ed5381199b580a6b1fb8d145e7dd04cb76c92a"}, {"chunk_key": "afa7fb1ca99ce8f679de6395037dc80c9f7f9edd7b79d958a1d9dbb1000375dd", "chunk_index": 2, "heading": "Aus Sessions rekonstruiert, nicht live verifiziert", "text": "space\" bzw. \"Workbench\" strukturiert und ein Datenbankpfad-Bug behoben.\nDer Telefon Agent wurde als Konzept dokumentiert, aber bewusst nicht deployed.\n## Aus Sessions rekonstruiert, nicht live verifiziert\n\nAlle Angaben stammen aus Session 903c4fd7 (2026-05-12). Aktueller\nDeployment-Status, Domains und Container-Konfigurationen muessen vor Nutzung\nlive geprueft werden. Namen von Subdomains sind als historische Referenzen zu\nverstehen.", "text_hash": "9c85fcce55eeab68c311e364620770e3fc64e75532f0ca67e9d9b02958fbca74"}, {"chunk_key": "d55dab2f08dfd1b1d0e660c757164544b777f98ef0ed0a215edfc9b80d08fe91", "chunk_index": 3, "heading": "Getroffene Entscheidungen", "text": "us, Domains und Container-Konfigurationen muessen vor Nutzung\nlive geprueft werden. Namen von Subdomains sind als historische Referenzen zu\nverstehen.\n## Getroffene Entscheidungen\n\n- Social Media Agent v1 wurde als veraltet eingestuft, v2 als produktiv deployed.\n- Lead Engine: hardcoded Windows-Pfad (DB_PATH) auf relativen Pfad korrigiert vor Migration.\n- Telefon Agent: Deployment bewusst zurueckgestellt bis Twilio-Account vorhanden.\n Keine erneute Einrichtung ohne explizite Freigabe.\n- Portal-Branding: Kachel-Beschriftung angepasst um Zweck klarer zu kommunizieren.\n- SilverBullet: in dieser Session vollstaendig vom VPS entfernt (Container + Image).\n Dienstbetrieb wurde vor dieser Session beendet.", "text_hash": "5a3f09ee44a88246501e103e08a3cc70cdaa0b175ec8b589dd1527f1835e8f32"}, {"chunk_key": "5c6e48e3d1cd826b14c5f3b7ff9834e2df14eacc0a7d91f418ef83341cb7432c", "chunk_index": 4, "heading": "Funktionierende Loesungen", "text": " kommunizieren.\n- SilverBullet: in dieser Session vollstaendig vom VPS entfernt (Container + Image).\n Dienstbetrieb wurde vor dieser Session beendet.\n## Funktionierende Loesungen", "text_hash": "5284990c387fb44ba1b5902f568d7afa2b4476684200e3cca6281643636d346a"}, {"chunk_key": "e825721bff362975b0c828960681b29ae2f6f4cd5f0031f52c5966f369850797", "chunk_index": 5, "heading": "Social Media Agent v2 Migration", "text": "## Funktionierende Loesungen\n### Social Media Agent v2 Migration\n\nProblem bei Migration: better-sqlite3 mit alter Node.js-Version kompiliert\n(NODE_MODULE_VERSION 108 = Node 18), VPS hatte neuere Node-Version.\nLoesung: Migration ohne lokalen Rebuild — direkt auf VPS als Docker-Image neu gebaut.\n\nDocker-Deployment auf VPS: Image lokal gebaut, Container auf Port 3200 gestartet,\nNginx-Config + SSL (Let's Encrypt) eingerichtet. Health Check bestaetigt.", "text_hash": "170878592f5ba1b82c93848b29ac3a94d497d74e3ffe8838e93dfc30f4ff4d3d"}, {"chunk_key": "6e4a4d679b1873714656476d56f5d12a30aae496ea16e26174aaad6ce654fc96", "chunk_index": 6, "heading": "Lead Engine Migration", "text": "r-Deployment auf VPS: Image lokal gebaut, Container auf Port 3200 gestartet,\nNginx-Config + SSL (Let's Encrypt) eingerichtet. Health Check bestaetigt.\n### Lead Engine Migration\n\nPython/Streamlit-App. Kritischer Bug: DB_PATH war hardcoded auf Windows-Pfad.\nVor Migration auf relativen Pfad korrigiert. Docker-Build ca. 1.41 GB,\nHealth Check HTTP 200 bestaetigt.", "text_hash": "5cc5f7ea189bc75920fa488afe40dfbd1a4df845e95e57d46861dee57edf334e"}, {"chunk_key": "6d90d95b3f54c59716b8b5801a99455f18b9c0a5f57a7b879ccc68524ea051b8", "chunk_index": 7, "heading": "Portal-Umbenennung", "text": " Bug: DB_PATH war hardcoded auf Windows-Pfad.\nVor Migration auf relativen Pfad korrigiert. Docker-Build ca. 1.41 GB,\nHealth Check HTTP 200 bestaetigt.\n### Portal-Umbenennung\n\nDashboard-App (app.py) auf Flask-Basis. Kachel-Namen ueber Python-Strings geaendert\nund Portal-Service (systemd) neu gestartet, damit Flask neue Datei laedt.", "text_hash": "63d2994a2d79c18165405a1549e1365d160a09a484fa804c58300de95afcd225"}, {"chunk_key": "5f1060acb6b92b70c5e6e64bc2aa4d3615799fa4582b55c0c54be777e1f81bd0", "chunk_index": 8, "heading": "Bekannte Probleme / Sackgassen", "text": "rd-App (app.py) auf Flask-Basis. Kachel-Namen ueber Python-Strings geaendert\nund Portal-Service (systemd) neu gestartet, damit Flask neue Datei laedt.\n## Bekannte Probleme / Sackgassen\n\n- better-sqlite3 auf Windows nicht rebuildfaehig ohne Visual Studio C++ Build Tools.\n Workaround: nur auf VPS (Linux/Docker) bauen.\n- Port-Konflikte bei v1 (Port 3000 belegt): v2 auf alternativem Port getestet.\n- OpenAI-Key in settings.json (v1) gefunden — wurde in v2 in SQLite-DB\n gespeichert (verschluesselt). Key-Wert wird hier nicht dokumentiert.", "text_hash": "236584948cef378bb1bcac1a9ebece86eae32c310fa8e2a21bd3c088936b2031"}, {"chunk_key": "f00a236748a93b9fb1214647eb9552818c1f193182f82fbd8b7e88d975895213", "chunk_index": 9, "heading": "Ueberhholte Inhalte", "text": "etestet.\n- OpenAI-Key in settings.json (v1) gefunden — wurde in v2 in SQLite-DB\n gespeichert (verschluesselt). Key-Wert wird hier nicht dokumentiert.\n## Ueberhholte Inhalte\n\n- Social Media Agent v1 (Vorgaenger): als veraltet markiert, nicht mehr primaere Instanz.\n- config/keys.js (v1-Ueberbleibsel): in v2 nicht mehr verwendet.\n- SilverBullet: vollstaendig entfernt. Kein Neustart, keine Wiederherstellung.", "text_hash": "90095cb4e2a7006a6b00c4e7bd12a341c05f6ec76fa7e0a23e61d21b2917bacf"}, {"chunk_key": "5631a8d392c03c5f8cd0644b6fbeee78d406a6aa54ed9d3875e84c2103ac7ab6", "chunk_index": 10, "heading": "Offene Pruefaufgaben", "text": "stanz.\n- config/keys.js (v1-Ueberbleibsel): in v2 nicht mehr verwendet.\n- SilverBullet: vollstaendig entfernt. Kein Neustart, keine Wiederherstellung.\n## Offene Pruefaufgaben\n\n- [ ] Aktueller Status Social Media Agent v2 auf VPS verifizieren (Container, Logs, Nginx).\n- [ ] Aktueller Status Lead Engine auf VPS verifizieren.\n- [ ] Telefon Agent: erst deployen wenn Twilio-Account bereit (kein Deploy ohne Freigabe).\n- [ ] Portal-Kachel-Namen auf aktuellem Stand pruefen (wurden seitdem mehrfach ueberarbeitet).", "text_hash": "ae1f5706956ca160e1c034d86cd467d42b486128229c547fa0f430fbf5ef8428"}, {"chunk_key": "64094e188550eb4f24ccb74f0c41a72aa406534f748686c044c82dfd0f10d0da", "chunk_index": 11, "heading": "Relevante Referenzen ohne operative Zugangsdaten", "text": "wenn Twilio-Account bereit (kein Deploy ohne Freigabe).\n- [ ] Portal-Kachel-Namen auf aktuellem Stand pruefen (wurden seitdem mehrfach ueberarbeitet).\n## Relevante Referenzen ohne operative Zugangsdaten\n\n- Deployment-Muster: Python/Streamlit → Dockerfile → Docker-Build auf VPS →\n Nginx-Reverse-Proxy → SSL via Certbot\n- Migration-Muster: Node.js → kein lokaler Build bei nativen Abhaengigkeiten →\n direkt auf Linux-Server bauen\n- Telefon Agent: Flask + Twilio + Whisper + Claude — Code vorhanden, nie getestet.\n Wartet auf Twilio-Account-Einrichtung.", "text_hash": "6bc43d297c24ae160a1f0beb44ec731c4230d7853b84b10c5328f0cb1a786085"}, {"chunk_key": "08a10385016eb16bfa10cdc23b8cd3c80bb032e97aaa4bca32922d0187cc1808", "chunk_index": 12, "heading": "Regeln fuer kuenftige Agenten", "text": "ekt auf Linux-Server bauen\n- Telefon Agent: Flask + Twilio + Whisper + Claude — Code vorhanden, nie getestet.\n Wartet auf Twilio-Account-Einrichtung.\n## Regeln fuer kuenftige Agenten\n\n- better-sqlite3 und aehnliche native Node-Module nie auf Windows bauen fuer\n Linux-Deployment — immer direkt auf dem Ziel-Server kompilieren.\n- Vor Migration: alle hardcoded Pfade (Windows-Stil C:\\ oder K:\\) suchen und\n auf relative Pfade oder Umgebungsvariablen umstellen.\n- Telefon Agent darf nicht ohne Twilio-Account und explizite Nutzerfreigabe deployed werden.\n- SilverBullet ist vollstaendig entfernt — keine Wiederherstellung, keine Neuinstallation.", "text_hash": "289cec64e86019a346a627c820cbd9b4b323c758593b18247eb7becf682ae96c"}, {"chunk_key": "5ba01febdaffb0e01adc0ca69af7d8c7ae9ca9572b9fb6be53d6a8a18262094e", "chunk_index": 13, "heading": "Quelle / Herkunft", "text": "wilio-Account und explizite Nutzerfreigabe deployed werden.\n- SilverBullet ist vollstaendig entfernt — keine Wiederherstellung, keine Neuinstallation.\n## Quelle / Herkunft\n\nSession: 903c4fd7 (2026-05-12)\nProjekt: C--Users-karlo-OpenClaw\nTyp: direkte Session (kein Subagent)", "text_hash": "ff8e24ed7ffb63e3075d75bd4b2bca1c3d003d66ab984be095de1349f5a56047"}, {"chunk_key": "393c03d3c7cde93d6fe4a80cfdf65ead3dca52e5a9e08d6c8eb346a6cd980ad8", "chunk_index": 14, "heading": "Sicherheitsbereinigung", "text": "## Quelle / Herkunft\n\nSession: 903c4fd7 (2026-05-12)\nProjekt: C--Users-karlo-OpenClaw\nTyp: direkte Session (kein Subagent)\n## Sicherheitsbereinigung\n\n- VPS-IP-Adressen: ENTFERNT\n- DNS-A-Record-Eintraege mit IP: ENTFERNT\n- OpenAI-Key-Wert aus settings.json: ENTFERNT (nur Aufbewahrungsort dokumentiert)\n- Domain-Namen: als historische Referenzen beibehalten (oeffentlich registriert)", "text_hash": "3ce2062fa3520dc1cb71f56c40a3a8cfe03bc11ccf9c119314a36b2b0f96b391"}, {"chunk_key": "fb68b59b4f66d04e06f7a85448564b98ffea4bcffd10acd56dd4ff10c4f5466e", "chunk_index": 15, "heading": "Verifikationsstatus", "text": "-Wert aus settings.json: ENTFERNT (nur Aufbewahrungsort dokumentiert)\n- Domain-Namen: als historische Referenzen beibehalten (oeffentlich registriert)\n## Verifikationsstatus\n\nNicht live verifiziert. Alle Angaben aus Session-Rekonstruktion.\nDeployment-Status, Ports und Domains vor Nutzung durch SSH/Browser pruefen.", "text_hash": "56a17367e1d06275795861dc3ef5a3d3a3966f957aaf22b7d8fad704898369ca"}, {"chunk_key": "1bcbeb449680cea18d453e3edd4dbbb5b55504d9bafc7e5c36a34ae8971c7586", "chunk_index": 16, "heading": "Führender Transferstatus OpenAI-Export 2026-07-16", "text": "nsstatus\n\nNicht live verifiziert. Alle Angaben aus Session-Rekonstruktion.\nDeployment-Status, Ports und Domains vor Nutzung durch SSH/Browser pruefen.\n## Führender Transferstatus OpenAI-Export 2026-07-16\n\nDer führende VPS-Arbeitsbestand liegt unter `/opt/wissensbasis/openai-export/`. Die kontrollierte Pilotmigration erfolgte über Hermes Scout lokal zum VPS. Übertragen wurden `20_INVENTAR`, `50_OBSIDIAN_KANDIDATEN` und `60_BERICHTE`.\n\nNach dem Transfernachweis stimmen 78 Dateien mit 984.541 Bytes vollständig überein: 0 fehlende Dateien, 0 zusätzliche Dateien und 0 SHA256-Abweichungen. Die Transfermanifeste und der Prüfbericht liegen unter `/opt/wissensbasis/openai-export/TRANSFER-NACHWEISE/`. NAS bleibt Quelle beziehungsweise Archiv; es ist kein dauerhafter NAS-Mount auf dem VPS erforderlich. Hermes Scout ist die Transferinstanz, der VPS die führende Arbeitsbasis.\n\n**Quelle:** `/opt/wissensbasis/openai-export/TRANSFER-NACHWEISE/pilotmigration-pruefbericht.md` und `/opt/struktur/hermes-workspace/reports/Incident-und-Konfigurationsregister-Juli-2026-Live-Abgleich.md` \n**Status:** dokumentiert; keine Quelldatei verändert.", "text_hash": "88e2351946f91929c0f544c6572e93731258c3281ed3135609b85c6a13f27d45"}], "elapsed_s": 0.036}