knowledge-base/raw/other/2026-09-24_ultanio-cobot-self-sovereign-agent.md

8 KiB

type source_url retrieved title tags
other https://github.com/ultanio/cobot/ 2026-09-24 Cobot — minimaler selbst-souveräner AI-Agent mit Nostr-Identität und Lightning-Wallet
self-sovereign
ai-agent
nostr
lightning
python
plugin-architecture
minimalism
open-source
github

Cobot — „Minimal self-sovereign AI agent with Nostr identity and Lightning wallet"

Provenienz: Geteilt von: k9ert in OME-Gruppe, Topic 406, 2026-09-24. Quelle: https://github.com/ultanio/cobot/ — README am 2026-09-24 direkt abgerufen, Repo-Metadaten am selben Tag über die GitHub-API abgefragt.

Was es ist

Cobot ist laut README ein „lightweight personal AI agent", der auf eigener Hardware läuft, sich über Nostr identifiziert und über das Lightning-Netzwerk zahlt. Selbstbeschreibung: „Your keys, your identity, your agent."

Angabe (README/Selbstauskunft) Wert
Sprache Python 3.11+
Lizenz MIT
Status Alpha (Badge)
Umfang ~2K Zeilen Code („no bloat")
Repository https://github.com/ultanio/cobot/

Architektur-Stack (README-Diagramm)

Ebene Funktion
Your Hardware physische Kontrolle
Cobot Runtime selbst gehostet (~2K Zeilen)
Nostr-Identität (npub/nsec) selbst-souveräne ID
Lightning-Wallet (npub.cash) selbst-souveränes Geld
LLM (lokal oder Cloud) flexible Inferenz

Features (README-Tabelle)

  • Minimal — ~2K Zeilen Python, ohne Ballast
  • Plugin-Architektur — erweiterbar über Plugins mit Extension Points
  • Lightning-Wallet — Sats autonom senden und empfangen
  • Nostr-Identität — kryptografische Identität via npub/nsec
  • Hot Reload — automatischer Neustart bei Plugin-Änderungen
  • Multi-LLM — PPQ, Ollama, OpenRouter u. a.
  • FileDrop — dateibasierte Kommunikation mit Schnorr-Signaturen
  • Extension Points — Plugins definieren Hooks, die andere Plugins implementieren

Installation und Betrieb (README)

git clone https://github.com/ultanio/cobot
cd cobot
python -m venv .venv
source .venv/bin/activate      # Windows: .venv\Scripts\activate
pip install -e .

Setup-Wizard: cobot wizard init führt über Identity (Name des Agenten), Provider (LLM, z. B. PPQ, Ollama) und Plugins und legt ein cobot.yml im aktuellen Verzeichnis an. Alternativ cp cobot.yml.example cobot.yml und manuell editieren.

Betrieb (CLI-Referenz des README):

cobot run              # Agent starten
cobot run --stdin      # Interaktiver Modus (ohne Nostr)
cobot status           # Status anzeigen
cobot restart          # Laufenden Agenten neu starten
cobot wizard init      # Interaktiver Setup-Wizard
cobot wizard plugins   # Plugins mit Wizard-Abschnitten listen
cobot config show      # Aktuelle Konfiguration anzeigen
cobot config validate  # Konfiguration validieren
cobot config edit      # Konfiguration in $EDITOR editieren

cobot.yml (README-Beispiel): provider: ppq (oder ollama); identity.name; ppq.api_key (${PPQ_API_KEY}), ppq.model; optional nostr.relays (Beispiel wss://relay.damus.io); optional wallet.provider: "npub.cash"; Tool-Ausführung unter exec mit enabled: true und timeout: 30.

Built-in-Plugins (README)

Plugin Capability Beschreibung
config — Konfigurationsverwaltung
ppq llm PPQ.ai als LLM-Provider
ollama llm lokale Ollama-Modelle
nostr communication Nostr-DMs (NIP-04)
filedrop communication dateibasierte Nachrichten
wallet wallet Lightning via npub.cash
tools tools Shell-, Dateioperationen
hotreload — automatischer Neustart bei Änderungen
security — Prompt-Injection-Schutz („Prompt injection shield")

Extension Points (README, „unique feature")

Ein Plugin definiert einen Extension Point, ein anderes implementiert ihn. README-Beispiel: filedrop definiert filedrop.before_write und filedrop.after_read; filedrop-nostr implementiert sie mit sign_message bzw. verify_message.

# filedrop definiert den Extension Point
meta = PluginMeta(
    id="filedrop",
    extension_points=["filedrop.before_write", "filedrop.after_read"],
)

# filedrop-nostr implementiert ihn
meta = PluginMeta(
    id="filedrop-nostr",
    implements={
        "filedrop.before_write": "sign_message",
        "filedrop.after_read": "verify_message",
    },
)

Plugin-Ablage (Priorität laut README): System /opt/cobot/plugins/, User ~/.cobot/plugins/, Projekt ./plugins/. Jedes Plugin braucht eine plugin.py mit Factory-Funktion create_plugin().

Architektur-Begriffe (README)

Begriff Beschreibung
Registry zentrale Plugin-Verwaltung, Dependency-Auflösung
Capability was ein Plugin bereitstellt: llm, communication, wallet
Extension Point Hook, den ein Plugin definiert, damit andere ihn implementieren
Hook Chain Lifecycle-Events, in die Plugins eingreifen können

Hook-Chain laut README-Diagramm: on_message → transform → llm_call → tool_exec → response; darüber die Plugin Registry (Registration, Dependency Resolution, Extension Points) und darunter der Core Agent (Message Loop, Tool Execution).

Roadmap (README, Checkboxen offen)

  • Container-Isolation für Tool-Ausführung
  • Smartes LLM-Routing (Kostenoptimierung)
  • weitere Messaging-Kanäle (Telegram, Discord)
  • Agent-zu-Agent-Protokoll
  • Nostr-Relay für Agent-Discovery

Vergleichstabelle des README

Feature Cobot OpenClaw Others
Lines of code ~2K 430K+ variiert
Self-sovereign ✅ ⚠️ ❌ Cloud
Nostr-Identität ✅ nativ ❌ ❌
Lightning-Wallet ✅ nativ ❌ ❌
Extension Points ✅ „unique" ❌ ❌
Hot Reload ✅ ❌ ❌
Plugin-System ✅ ✅ Skills variiert

Einordnung von HermanButlerBot (selbes OME-Topic, 2026-09-24)

Laut HermanButlerBot ist das Projekt ursprünglich auf Forgejo entwickelt und nach GitHub gespiegelt; beteiligt sind Agent-Kollaborateure (Doxios, Zeus, bmad, k9ert). Genannte Roadmap-/Deployment-Punkte: Container-Isolation für Tool-Ausführung, Smart LLM-Routing, weitere Messaging-Kanäle (Telegram/Discord), Agent-to-Agent-Protokoll und Nostr-Relay für Agent-Discovery; Deployment per SSH-forced-command auf „olymp" (Alpha als user-systemd-Service), Forgejo-Review-Workflow, rund 130 Commits über rund 7 Monate Aktivität. (Angabe des Gruppen-Bots, nicht am Repo selbst geprüft.)

Repo-Metadaten (GitHub-API, abgerufen 2026-09-24)

Feld Wert
Vollname ultanio/cobot
Sprache / Lizenz Python / MIT
Erstellt 2026-02-13
Letzter Push 2026-03-08
Commits 130 (erster: 6ffe740 „feat: initial project setup" 2026-02-13; letzter: 8ca9384 „Plugin Dependency Tree Resolution (#230)" 2026-03-08)
Stars / Forks 2 / 3
Offene Issues 4
Default-Branch main
Beschreibung / Homepage / Topics leer

Quellen

Einschränkungen der Quelle

Alle Funktions-, Umfangs- und Status-Angaben sind README-Selbstauskunft (Alpha). Das README endet mit einer CI-Testzeile (# CI deploy test Fri Feb 27 10:16:35 UTC 2026). Die Aussagen zu Forgejo-Herkunft, Entwicklungshistorie und Deployment stammen von HermanButlerBot (Gruß-Bot, selbes Topic) und sind nicht am Repository verifiziert. Die letzten Repo-Aktivitäten liegen laut API auf 2026-03-08.