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 |
|
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
- Repository (README): https://github.com/ultanio/cobot/
- Nostr: https://nostr.com — dezentrales Social-Protokoll
- NIP-04 (Encrypted Direct Messages): https://github.com/nostr-protocol/nips/blob/master/04.md
- Lightning Network: https://lightning.network — Bitcoin-Payment-Layer
- npub.cash (Lightning-Wallet für Nostr): https://npub.cash
- PPQ.ai (LLM-Provider): https://ppq.ai
- Ollama (lokale Modelle): https://ollama.com
- OpenRouter (LLM-Gateway): https://openrouter.ai — im README als Multi-LLM-Option genannt
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.