ingest(other): ultanio cobot self-sovereign agent
This commit is contained in:
parent
492d8579f3
commit
b7ef28182c
1 changed files with 173 additions and 0 deletions
173
raw/other/2026-09-24_ultanio-cobot-self-sovereign-agent.md
Normal file
173
raw/other/2026-09-24_ultanio-cobot-self-sovereign-agent.md
Normal 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.
|
||||
Loading…
Add table
Reference in a new issue