provozni zaloha

This commit is contained in:
lachtan
2026-06-24 08:11:12 +02:00
parent 9295dba19f
commit 1db3ec4756
97 changed files with 7698 additions and 817 deletions

View File

@@ -0,0 +1,219 @@
# Srovnání: pi-coding-agent vs oh-my-pi
**Datum:** 2026-06-16
---
## 1. Základní identita a vztah
| | **pi-coding-agent** | **oh-my-pi** |
|---|---|---|
| **Autor** | Mario Zechner (@badlogic) | Can Bölük (@can1357) |
| **Filozofie** | Minimalismus — „harness, ne produkt“ | „Batteries included“ fork pi s agresivními vylepšeními |
| **Vztah** | Upstream originál | Fork pi-mono (~1300 commitů navíc) |
| **GitHub stars** | ~2.1k (pi-mono) | ~7.2k |
| **Balíček npm** | `@earendil-works/pi-coding-agent` | `@oh-my-pi/pi-coding-agent` |
| **Web** | https://pi.dev/ | https://omp.sh/ |
oh-my-pi vzešel z pi jako „hobby harness“, kde autor experimentoval s inkrementálními vylepšeními. Postupem času se vyvinul v plnohodnotnou alternativu s vlastním ekosystémem.
---
## 2. Architektura a technický stack
| | **pi-coding-agent** | **oh-my-pi** |
|---|---|---|
| **Jazyk** | TypeScript (Node.js/Bun) | TypeScript + Rust (N-API) |
| **Monorepo** | Ano — `packages/ai`, `agent`, `coding-agent`, `tui` | Ano, ale Rust komponenty pro výkon |
| **TUI engine** | Vlastní diferenciální renderer (`pi-tui`) | Vlastní, pravděpodobně rozšířený |
| **LSP integrace** | Nepřítomná nativně | **Nativní LSP wiring** — agent „vidí“ IDE |
| **Provider abstrakce** | `@pi-ai` — unified LLM API | Zděděno z pi, rozšířeno |
| **Podporované runtime** | Node.js, Bun | Node.js, Bun |
Klíčový rozdíl: oh-my-pi embeduje Rust přes N-API pro operace, kde spawning externích procesů (např. `rg`) „cítí špatně“. Pi zůstává čistě TypeScript.
---
## 3. Edit tool — největší technický rozdíl
| | **pi-coding-agent** | **oh-my-pi** |
|---|---|---|
| **Formát editace** | `str_replace` — najdi přesný text, nahraď | **Hash-anchored edits (Hashline)** |
| **Princip** | Model musí reprodukovat každý znak včetně whitespace | Každý řádek souboru má 2-3 znakový hash; model referencuje hashe |
| **Fail rate (benchmark)** | Závisí na modelu — typicky 20-50% | Výrazně nižší — viz benchmark níže |
| **Token efektivita** | Standardní | ~20-60% méně output tokenů (podle modelu) |
| **Ochrana integrity** | Žádná — při mismatchi se edit aplikuje chybně nebo selže | Hash mismatch = odmítnutí editu před poškozením souboru |
### Benchmark výsledky (React edit benchmark, 180 úkolů × 3 běhy)
| Model | Patch | Replace | Hashline | Hashline v2 | Zlepšení vs Replace |
|---|---|---|---|---|---|
| Gemini 3 Flash | 73.3% | 70.0% | 78.3% | **81.3%** | +11.3pp |
| Claude Haiku 4.5 | 63.3% | 65.0% | 68.3% | **76.3%** | +11.3pp |
| Claude Sonnet 4.5 | 65.6% | 76.7% | 78.3% | **80.0%** | +3.3pp |
| GPT-5.1 Codex Mini | 57.2% | 73.3% | 60.0% | **77.5%** | +4.2pp |
| Grok Code Fast 1 | 6.7% | 66.7% | 68.3% | **71.3%** | +4.6pp |
| MiniMax M2.1 | 23.3% | 55.0% | 55.0% | **65.0%** | +10.0pp |
| GLM-4.7 | 51.7% | 66.7% | 71.7% | **75.0%** | +8.3pp |
| Kimi K2.5 | 66.7% | 71.7% | **76.7%** | — | +5.0pp |
**Hashline porazil Patch u 14/16 modelů.** Nejslabší modely profitovaly nejvíc — Grok Code Fast 1 z 6.7% na 68.3% (10× zlepšení).
---
## 4. Vestavěné funkce
| Funkce | **pi-coding-agent** | **oh-my-pi** |
|---|---|---|
| **Sub-agents** | ❌ (pouze přes extension) | ✅ Nativní |
| **Plan mode** | ❌ (pouze přes extension) | ✅ Nativní |
| **Permission gates** | ❌ (pouze přes extension) | ✅ Nativní |
| **LSP integrace** | ❌ | ✅ |
| **Browser tools** | ❌ (pouze přes extension) | ✅ |
| **Python REPL** | ❌ | ✅ |
| **Commit tool** | ❌ | ✅ (conventional commits) |
| **Session management** | ✅ Stromová historie | ✅ + rozšířená |
| **Stealth mode** | ❌ | ✅ (impersonuje Claude Code pro rate-limit bypass) |
| **MCP integrace** | ✅ Přes extension | ✅ |
| **Sandboxing** | Přes extension/Gondolin/Docker | Přes extension |
| **SSH execution** | Přes extension | ? |
Pi filozofie: „Nepotřebuješ to? Nevidíš to. Potřebuješ to? Nainstaluj extension nebo si to nech postavit.“
oh-my-pi filozofie: „Všechno důležité je tam hned.“
---
## 5. Provider a model podpora
| | **pi-coding-agent** | **oh-my-pi** |
|---|---|---|
| **Počet providerů** | 15+ | Zděděno z pi, pravděpodobně stejné |
| **Seznam** | Anthropic, OpenAI, Google, Azure, Bedrock, Mistral, Groq, Cerebras, xAI, Hugging Face, Kimi, MiniMax, OpenRouter, Ollama, … | Stejný základ |
| **Mid-session switch** | ✅ `/model` nebo `Ctrl+L` | ✅ |
| **Favorites cycling** | ✅ `Ctrl+P` | ? |
| **Custom providers** | ✅ Via `models.json` nebo extension | ✅ |
---
## 6. Extensibilita a ekosystém
| | **pi-coding-agent** | **oh-my-pi** |
|---|---|---|
| **Extension systém** | TypeScript moduly — plný přístup k tools, commands, TUI, events | Zděděno z pi, rozšířeno |
| **Skills** | ✅ On-demand capability balíčky | Zděděno |
| **Prompt templates** | ✅ Markdown soubory, `/name` pro expanzi | Zděděno |
| **Themes** | ✅ | Zděděno |
| **Package registry** | https://pi.dev/packages — npm i git | ? |
| **Příklady extensions** | 50+ oficiálních (subagent, plan-mode, permission-gate, SSH, sandbox, MCP, …) | Vlastní sada |
| **Self-modifikace** | ✅ „Ask Pi to build it for you“ | ✅ |
Pi má robustnější dokumentovaný ekosystém. oh-my-pi je spíše „one-man show“ s forkem, kde autor přidává co potřebuje.
---
## 7. Context engineering
| | **pi-coding-agent** | **oh-my-pi** |
|---|---|---|
| **System prompt** | Minimální — token efficient | Zděděno, možná rozšířeno |
| **AGENTS.md** | ✅ Načítá z `~/.pi/agent/`, parent dirs, cwd | ✅ |
| **SYSTEM.md** | ✅ Per-project override/append | ✅ |
| **Compaction** | ✅ Auto-summarize, plně customizable via extension | Zděděno |
| **Progressive disclosure** | ✅ Skills se loadují on-demand | Zděděno |
| **Dynamic context** | ✅ Extensions mohou injectovat zprávy, filtrovat historii, RAG | Zděděno |
| **Prompt cache friendly** | ✅ Minimal system prompt + on-demand skills | Zděděno |
---
## 8. UX a interakce
| | **pi-coding-agent** | **oh-my-pi** |
|---|---|---|
| **Steering** | `Enter` — interrupt current tool, `Alt+Enter` — queue follow-up | Zděděno |
| **Módy** | Interactive, Print/JSON, RPC, SDK | Primárně interactive |
| **Historie** | Stromová — `/tree` pro navigaci, branching | Zděděno |
| **Export** | ✅ HTML (`/export`), GitHub gist (`/share`) | ? |
| **Reload** | ✅ `/reload` po self-modifikaci | ? |
| **IDE integrace** | ❌ Pure terminal | ✅ Editor-drivable agent (Zed, …) |
---
## 9. Bezpečnost a izolace
| | **pi-coding-agent** | **oh-my-pi** |
|---|---|---|
| **Built-in permissions** | ❌ Žádné — běží jako uživatel | ❌ Žádné |
| **Containerization docs** | ✅ Gondolin (micro-VM), Docker, OpenShell | ? |
| **Path protection** | Přes extension | ? |
| **Sandboxing** | Přes extension | Přes extension |
Obě nástroje vyžadují externí sandboxing pro bezpečné použití s nedůvěryhodným kódem.
---
## 10. Výkon a benchmarky
| Metrika | **pi-coding-agent** | **oh-my-pi** |
|---|---|---|
| **Edit success rate** | Závisí na modelu a formátu | **+3-41pp vyšší** díky Hashline |
| **Output token usage** | Standardní | **-17-61%** méně (podle modelu) |
| **Retry loops** | Časté při Patch/Replace selhání | Výrazně méně |
| **Speed (harness overhead)** | Čistý TS | TS + Rust N-API pro heavy ops |
Klíčové zjištění z benchmarku: **+8% u Gemini 3 Flash je větší zlepšení než většina model upgrades** — a stálo to nulu tréninkového compute.
---
## 11. Komunita a governance
| | **pi-coding-agent** | **oh-my-pi** |
|---|---|---|
| **License** | MIT | MIT |
| **Contributing** | Auto-close nových issues/PRs — maintainer review denně | Otevřenější? |
| **Discord** | ✅ Aktivní | ? |
| **Session sharing** | ✅ Hugging Face dataset (`pi-share-hf`) | ? |
| **Supply-chain** | Aggressive pinning, audit, shrinkwrap | ? |
| **Auto-updates** | `pi update --self` | ? |
Pi má rigidnější governance model — nové PRs se automaticky zavírají. oh-my-pi je osobní projekt jednoho autora.
---
## 12. Kdy použít co
### pi-coding-agent
- Chceš **minimalistický harness**, který se přizpůsobí tvému workflow
- Potřebuješ **maximální customizaci** — vlastní extensions, skills, prompts
- Pracuješ s **více projekty** a chceš sdílet konfiguraci via AGENTS.md
- Chceš **čistý TypeScript** stack bez nativních závislostí
- Potřebuješ **SDK/RPC** pro embedding do vlastních aplikací
- Ceníš si **dobře dokumentovaného ekosystému** a package registry
### oh-my-pi
- Chceš **„batteries included“** — LSP, subagents, browser, Python hned po instalaci
- Hledáš **nejvyšší edit success rate** — Hashline je měřitelně lepší
- Chceš **nižší token consumption** (levnější API bills)
- Potřebuješ **IDE integraci** — editor-drivable agent
- Preferuješ **agresivní optimalizace** nad minimalistickou čistotou
- Nevadí ti **Rust N-API dependency** a potenciálně rychlejší breaking changes
---
## 13. Filozofický rozdíl
**Pi:** „Model je důležitý, ale harness je most. My ti dáme most, postav si po něm co chceš.“
**oh-my-pi:** „Most je polovina problému. Druhá polovina je, že most musí být tak dobrý, že i slabý model přejde.“
Autor oh-my-pi argumentuje, že vendor-lock harnessů (Claude Code, Codex) je škodlivý — žádný vendor neoptimalizuje pro konkurenční modely. Open-source harness může tunovat pro všechny. Pi poskytuje platformu pro tuto filosofii; oh-my-pi ji realizuje konkrétními technickými inovacemi.
---
## Zdroje
- https://pi.dev/
- https://github.com/earendil-works/pi
- https://github.com/can1357/oh-my-pi
- https://blog.can.ac/2026/02/12/the-harness-problem/
- https://pyshine.com/Oh-My-Pi-AI-Coding-Agent-Terminal/
- https://www.implicator.ai/pi-is-not-a-claude-code-rival-it-is-a-harness-rebellion/

View File

@@ -0,0 +1,204 @@
# Nanobot Use Cases — Analysis for lachtan
**Date:** 2026-06-18
**Model:** kimi-k2.7-code:cloud
**Scope:** Immediately practical + medium-term research ideas
---
## 1. Homelab / Sysadmin Automation
### 1.1 Proxmox / LXC Management
- **Container lifecycle:** Start/stop/restart LXC containers via SSH + `pct` commands wrapped in a skill
- **Snapshot scheduling:** Cron-triggered Proxmox snapshots with Telegram confirmation
- **Resource monitoring:** Query `pct status`, memory, CPU via Zabbix API or direct SSH
- **Auto-scaling (light):** Restart containers that exceed memory thresholds
### 1.2 Backup Orchestration
- **Priority pain point** — user explicitly named this as #1 priority
- **ZFS snapshot coordination:** Trigger `zfs snapshot` on nvidia.hell, wood.hell, pivo.hell
- **Offsite sync:** `rsync` / `rclone` to remote storage with verification
- **Backup verification:** Periodic restore tests of critical containers
- **Alerting:** Telegram notification on backup success/failure
- **Integration:** Hook into existing Zabbix for monitoring backup jobs
### 1.3 Ollama Cloud Management
- **Usage tracking:** Query Ollama Cloud API for session time, token usage
- **Model switching:** Auto-switch to cheaper/faster models based on task type
- **Session watchdog:** Alert when approaching 5h session limit or 7-day window
- **Cost alerts:** Notify when usage spikes unexpectedly
### 1.4 GPU Host Monitoring (nvidia.hell)
- **NVIDIA SMI queries:** GPU utilization, temperature, memory usage
- **Ollama queue monitoring:** Pending requests, model load status
- **Alerting:** GPU overheating, OOM conditions, model crash detection
---
## 2. Personal Knowledge Management
### 2.1 LLM Wiki (Existing — llm-wiki skill)
- **Status:** Already implemented and actively used
- **Use case:** Ingest articles, papers, transcripts → compile to structured markdown wiki
- **Automation:** Cron-driven compilation of `cml/raw/` sources
- **Graph metadata:** Auto-generate relationship graphs between concepts
- **Query interface:** Ask questions against accumulated knowledge base
### 2.2 Note System (Existing — note skill)
- **Status:** SQLite backend, deterministic operations
- **Use case:** Quick capture of ideas, links, observations
- **Integration:** Link notes to wiki entries, reminders, projects
### 2.3 Keep System (Existing — keep skill)
- **Status:** Immediate memory, deduplicated, compacted
- **Use case:** Facts the user explicitly wants remembered (preferences, dimensions, contacts)
### 2.4 Unified Personal Data Layer (Research Idea)
- **Concept:** Integrate remind + keep + note + todo into a single queryable system
- **Approach:** SQLite views or a lightweight graph connecting all four stores
- **Query examples:**
- "What did I note about backups last month?"
- "Show me all reminders related to the chicken coop"
- "What was my last todo about 3D printer?"
---
## 3. Cryptocurrency Portfolio Tracking
### 3.1 Price Monitoring
- **Assets:** SOL, ETH, BNB, ADA, DOT (user's regular investments)
- **Implementation:** CoinGecko / CoinMarketCap API queries via cron
- **Alerts:** Price thresholds, significant moves (>5% in 1h, >10% in 24h)
- **Delivery:** Telegram notifications
### 3.2 Portfolio Summary
- **Weekly digest:** Current holdings value, weekly change, top movers
- **DCA tracking:** Log regular purchases, calculate average buy price
- **Exclusion:** Bitcoin explicitly ignored per user preference
### 3.3 Market Sentiment (Research)
- **Social metrics:** Reddit/Twitter sentiment for tracked coins
- **Fear & Greed Index:** Weekly capture and trend analysis
---
## 4. Personal Organization & Reminders
### 4.1 Reminder System (Existing — remind skill)
- **Status:** SQLite backend, 43 tests passing, cron-driven
- **Use cases:**
- Weekly random-time reminders (skleničky, mapování klíčů, senzor chlívku, zálohy)
- Fixed schedule reminders (kolenoskopie — weekdays 08:00)
- One-off reminders with natural language parsing
### 4.2 Heartbeat Tasks (Existing — HEARTBEAT.md + cron)
- **Daily checks:** Nanobot Docker image updates, wiki compilation, backup status
- **Random delivery:** Within time windows (08:0021:00) to avoid predictability
### 4.3 Todo Integration (Planned)
- **Status:** Mentioned in plans but not yet implemented
- **Use case:** Actionable tasks distinct from reminders (reminders = notify at time, todo = track until done)
---
## 5. Media & Entertainment
### 5.1 Radio 1 Stream Processing
- **Status:** Planned but not implemented
- **Use case:** Remove ads, cut songs from Radio 1 stream
- **Approach:** FFmpeg stream processing, ad detection (silence/sponsor markers), song segmentation
- **Delivery:** Clean stream or segmented MP3s
### 5.2 Movie Tracking
- **Use case:** Track watched movies, ratings, recommendations
- **Integration:** IMDB/Trakt API, personal wiki entries
---
## 6. IoT & Home Projects
### 6.1 Chicken Coop Temperature Sensor
- **Status:** Pending project (reminder #7)
- **Use case:** MQTT temperature display, alerting on extreme temperatures
- **Integration:** nanobot cron queries MQTT broker, sends Telegram alerts
### 6.2 Basement Key Mapping
- **Status:** Pending project (reminder #6)
- **Use case:** Digital inventory of basement keys with locations
- **Implementation:** Simple SQLite or markdown wiki page
---
## 7. Development & Tooling
### 7.1 Custom Command Dispatch (Research)
- **Status:** User wants deterministic `!command` or `:skillname` dispatch without LLM deliberation
- **Use case:** Fast, predictable execution of registered commands
- **Blocker:** Requires nanobot core patch (CommandRouter extension)
### 7.2 Skill Development
- **Use case:** Create custom skills for homelab-specific tasks
- **Examples:**
- `proxmox` skill — container management
- `backup` skill — backup orchestration and verification
- `crypto` skill — portfolio tracking
- `radio` skill — stream processing
### 7.3 Code Generation & Review
- **Use case:** Generate shell/Python scripts for ad-hoc tasks
- **Integration:** Save to `scripts/` directory per user convention
---
## 8. Communication & Notifications
### 8.1 Telegram as Primary Channel
- **Status:** Active, user ID 8826147089 configured
- **Use cases:**
- All reminder deliveries
- Backup status notifications
- Crypto price alerts
- Homelab anomaly alerts
### 8.2 Cross-Channel Session Continuity
- **Status:** Disabled by user choice
- **Note:** User prefers connecting to older sessions over unified mega-session
---
## Priority Matrix
| Priority | Use Case | Status | Effort |
|----------|----------|--------|--------|
| **P0** | Backup orchestration | Planned | Medium |
| **P0** | LLM Wiki maintenance | Active | Low |
| **P1** | Crypto portfolio tracking | Not started | Low |
| **P1** | Proxmox/LXC automation | Not started | Medium |
| **P1** | Ollama usage monitoring | Not started | Low |
| **P2** | Radio 1 stream processing | Planned | High |
| **P2** | Unified personal data layer | Research | High |
| **P2** | Custom command dispatch | Research | High |
| **P3** | Chicken coop sensor | Pending | Medium |
| **P3** | Movie tracking | Not started | Low |
---
## Immediate Next Steps
1. **Backup skill:** Design and implement backup orchestration skill (highest priority pain point)
2. **Crypto skill:** Quick win — CoinGecko API wrapper with price alerts
3. **Ollama monitoring:** Simple cron job querying Ollama Cloud usage endpoint
4. **Proxmox skill:** SSH-based LXC container management commands
---
## Research Directions
1. **Unified query layer:** How to cross-query remind/note/keep/todo without heavy architecture
2. **Deterministic commands:** Evaluate nanobot patch feasibility for `!command` dispatch
3. **Model routing:** Auto-select model based on task type (research vs quick query vs coding)
4. **MCP integration:** Connect nanobot to external tools via Model Context Protocol
---
*Generated by nanobot deep-research skill*