ingest(other): ultanio cobot self-sovereign agent

This commit is contained in:
Hector 2026-09-24 18:35:53 +02:00
parent 492d8579f3
commit b7ef28182c

View file

@ -0,0 +1,173 @@
---
type: other
source_url: https://github.com/ultanio/cobot/
retrieved: 2026-09-24
title: "Cobot — minimaler selbst-souveräner AI-Agent mit Nostr-Identität und Lightning-Wallet"
tags: [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)
```bash
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):
```bash
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`.
```python
# 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.