Ο πράκτορας τεχνητής νοημοσύνης ανοικτού κώδικα για προγραμματισμό.
English | 简体中文 | 繁體中文 | 한국어 | Deutsch | Español | Français | Italiano | Dansk | 日本語 | Polski | Русский | Bosanski | العربية | Norsk | Português (Brasil) | ไทย | Türkçe | Українська | বাংলা | Ελληνικά | Tiếng Việt
Περίληψη — ο μοναδικός open source coding agent που παρέχει DAG orchestrator, REST task API, MCP scoping ανά agent, session FSM 9 καταστάσεων, ενσωματωμένο vulnerability scanner και εφαρμογή Android πρώτης κατηγορίας με on-device LLM inference. Κανένα άλλο CLI — ιδιοταγές ή ανοιχτό — δεν συνδυάζει όλα αυτά.
See the English README.md for the full positioning prose (vs. vendor-locked CLIs, vs. BYOM peers, vs. specialized CLIs) and architecture diagram.
Legend: ✅ shipped · ❌ absent · partial limited/incomplete · plugin via community add-on · paid behind a subscription tier.
| Capability | This fork | Claude Code | Codex CLI | Gemini CLI | opencode (upstream) | Aider | Goose | Cline | Roo Code | Cursor | Continue | Crush | Qwen Code |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Open source | ✅ | ❌ | partial | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ |
| BYOM (bring your own model) | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | partial | ✅ | ✅ | partial |
| Local models (llama.cpp / Ollama) | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ |
| Parallel agents in isolated worktrees | ✅ native | ✅ (Teams) | partial | ❌ | via plugin | ❌ | partial | ✅ (v3.58) | partial | ❌ | ❌ | ❌ | ❌ |
| Explicit DAG orchestration | ✅ unique | ad-hoc | ❌ | ❌ | ❌ | ❌ | recipes (linear) | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| REST task API (programmable) | ✅ unique | partial (SDK) | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| TUI task dashboard | ✅ | ❌ | ❌ | ❌ | partial | ❌ | ❌ | ❌ | ❌ | n/a | n/a | ❌ | partial |
| MCP support | ✅ + per-agent scoping | ✅ | ✅ | ✅ | ✅ | via plugins | ✅ | ✅ | ✅ | partial | ✅ | ❌ | ✅ |
| 9-state session FSM | ✅ unique (6/9 persisted) | ❌ | ❌ | ❌ | basic | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Built-in vulnerability scanner | ✅ unique | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| DLP / secret redaction before LLM call | ✅ | partial | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Per-agent tool allow/deny | ✅ | partial | ❌ | ❌ | basic | ❌ | ❌ | ❌ | partial | ❌ | ❌ | ❌ | ❌ |
| Docker sandboxing (bash only) | ✅ bash-only | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Git auto-commits / rollback | ✅ | ✅ | ✅ | ✅ | ✅ (signed) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Capability | This fork | Claude Code | Codex CLI | Gemini CLI | opencode (upstream) | Aider | Goose | Cline | Roo Code | Cursor | Continue | Crush | Qwen Code |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| LSP integration (go-to-def, diagnostics) | ✅ | partial | partial | partial | ✅ | partial | partial | ✅ | ✅ | ✅ | ✅ | partial | partial |
Plugin SDK (@opencode/plugin) |
✅ | partial | ❌ | ❌ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
| Prompt caching (cloud + local KV) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| RAG: BM25 or vector (selectable) + exponential decay | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | vector only | ❌ | vector only | vector only | ❌ | ❌ |
Auto-learn (requires learner agent configured) |
opt-in | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Auto-compact (AI summarization) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | partial | ✅ |
| Unified-diff edit engine | ✅ | ✅ | ✅ | partial | ✅ | ✅ | partial | partial | ✅ | partial | partial | partial | partial |
| ACP (Agent Client Protocol) layer | ✅ | ❌ | ❌ | ❌ | basic | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Capability | This fork | Claude Code | Codex CLI | Gemini CLI | opencode (upstream) | Aider | Goose | Cline | Roo Code | Cursor | Continue | Crush | Qwen Code |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| First-class Android app | ✅ unique | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| iOS (remote mode) | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Adaptive runtime (VRAM/CPU, thermal Android-only) | ✅ partial | ❌ | ❌ | ❌ | hardcoded | hardcoded | hardcoded | hardcoded | hardcoded | n/a | hardcoded | hardcoded | hardcoded |
| STT (voice-to-text, Parakeet) | ✅ desktop + mobile | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | partial | ❌ | ❌ | ❌ | ❌ | ❌ |
| TTS (Kokoro desktop + mobile; Pocket desktop only + voice clone) | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| OAuth deep-link callback (Tauri) | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
mDNS service discovery (CLI flag --mdns) |
opt-in | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Upstream branch watcher (vcs.branch.behind) |
✅ unique | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Collaborative mode (JWT + presence + file-lock) | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | partial | ❌ | ❌ | ❌ |
| AnythingLLM bridge | ✅ unique | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| GDPR export/erasure route | ✅ unique | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Price | free + BYOM | $20/mo sub | $20/mo sub | 1000/day free | free + BYOM | free + BYOM | free + BYOM | free + BYOM | free + BYOM | $20/mo sub | free + BYOM | free + BYOM | free + BYOM |
⚡ Με μια ματιά
OpenCode (fork) — ένας ενορχηστρωμένος AI coding agent που τρέχει σε desktop, server και κινητό, με τοπικά μοντέλα από άκρη σε άκρη, μηδενική εξάρτηση από το cloud και ενσωματωμένα enterprise-grade governance primitives. Fork του anomalyco/opencode που συντηρείται από τον Rwanbt.
# CLI (macOS / Linux / Windows)
curl -fsSL https://opencode.ai/install | bash
# Desktop app + Android APK
# → https://github.com/Rwanbt/opencode/releases/latest| 🤖 DAG orchestration | Wave-based parallel agents, up to 5 concurrent |
| 🧠 Local LLM end-to-end | llama.cpp + runtime that auto-tunes to your VRAM / CPU |
| 📱 Android app | On-device inference, terminal, PTY — single APK |
| 🎙️ Voice STT / TTS | Parakeet (25 languages) + Kokoro desktop+mobile / Pocket TTS desktop |
| 🔒 9-state session FSM | 6 of 9 states persist to SQLite, audit log survives restart |
| 🔌 REST task API | 8 endpoints — drive the agent from cron, Temporal, Airflow |
| 🛡️ Vulnerability scanner | Auto-scans every edit / write for secrets & injection sinks |
| 🔍 RAG: BM25 or vector | Selectable at index time + exponential confidence decay |
opencode # TUI
opencode run "fix the failing test in src/" # one-shot💡 Χρειάζεσαι λεπτομέρειες; Κάθε ενότητα παρακάτω είναι μαζεμένη — κάνε κλικ για να ανοίξεις μόνο αυτό που σε ενδιαφέρει.
Χαρακτηριστικά Fork
Αυτό είναι ένα fork του anomalyco/opencode που συντηρείται από τον Rwanbt. Διατηρείται συγχρονισμένο με το upstream. Δείτε τον κλάδο dev για τις τελευταίες αλλαγές.
Το OpenCode εκτελεί μοντέλα AI τοπικά σε υλικό καταναλωτή (8 GB VRAM / 16 GB RAM), με μηδενική εξάρτηση από το cloud για μοντέλα 4B-7B.
Βελτιστοποίηση Prompt (μείωση 94%)
- ~1K token system prompt για τοπικά μοντέλα (έναντι ~16K για cloud)
- Σκελετικά tool schemas (υπογραφές 1 γραμμής έναντι πολλών KB πρόζας)
- 7-tool whitelist (bash, read, edit, write, glob, grep, question)
- Χωρίς ενότητα skills, ελάχιστες πληροφορίες περιβάλλοντος
Μηχανή Συμπερασμού (llama.cpp b8731)
- Vulkan GPU backend, αυτόματη λήψη κατά το πρώτο φόρτωμα μοντέλου
- Προσαρμοστική διαμόρφωση runtime (
packages/opencode/src/local-llm-server/auto-config.ts):n_gpu_layers, threads, μέγεθος batch/ubatch, κβαντοποίηση KV cache και μέγεθος πλαισίου προέρχονται από την ανιχνευμένη VRAM, ελεύθερη RAM, διάσπαση CPU big.LITTLE, GPU backend (CUDA/ROCm/Vulkan/Metal/OpenCL) και θερμική κατάσταση. Αντικαθιστά το παλιό hardcoded--n-gpu-layers 99— ένα Android 4 GB τρέχει πλέον σε CPU fallback αντί να σκοτώνεται από OOM, flagship desktops παίρνουν ρυθμισμένο batch αντί για το προεπιλεγμένο 512. --flash-attn on— Flash Attention για αποδοτικότητα μνήμης--cache-type-k/v— KV cache με rotation· προσαρμοστικό επίπεδο (f16 / q8_0 / q4_0) βάσει περιθωρίου VRAM--fit on— δευτερεύουσα ρύθμιση VRAM αποκλειστικά στο fork (opt-in μέσωOPENCODE_LLAMA_ENABLE_FIT=1)- Speculative decoding (
--model-draft) με VRAM Guard (αυτόματη απενεργοποίηση αν < 1,5 GB ελεύθερα) - Μονό slot (
-np 1) για ελαχιστοποίηση αποτυπώματος μνήμης - Benchmark harness (
bun run bench:llm): αναπαραγώγιμη μέτρηση FTL / TPS / κορυφαίου RSS / συνολικού χρόνου ανά μοντέλο και εκτέλεση, έξοδος JSONL για αρχειοθέτηση CI
Ομιλία-σε-Κείμενο (Parakeet TDT 0.6B v3 INT8)
- NVIDIA Parakeet μέσω ONNX Runtime — ~300ms για 5s ήχου (18x πραγματικό χρόνο)
- 25 ευρωπαϊκές γλώσσες (αγγλικά, γαλλικά, γερμανικά, ισπανικά κ.λπ.)
- Μηδέν VRAM: μόνο CPU (~700 MB RAM)
- Αυτόματη λήψη μοντέλου (~460 MB) στο πρώτο πάτημα μικροφώνου
- Κυματομορφή animation κατά την εγγραφή
Κείμενο-σε-Ομιλία (Kyutai Pocket TTS)
- Γαλλόφωνο TTS δημιουργημένο από Kyutai (Παρίσι), 100M παράμετροι
- 8 ενσωματωμένες φωνές: Alba, Fantine, Cosette, Eponine, Azelma, Marius, Javert, Jean
- Zero-shot κλωνοποίηση φωνής: ανεβάστε WAV ή εγγράψτε από μικρόφωνο
- Μόνο CPU, ~6x πραγματικό χρόνο, HTTP server στη θύρα 14100
- Εναλλακτικό: Kokoro TTS ONNX engine (54 φωνές, 9 γλώσσες, CMUDict G2P)
Διαχείριση Μοντέλων
- Αναζήτηση HuggingFace με σήματα συμβατότητας VRAM/RAM ανά μοντέλο
- Λήψη, φόρτωση, αποφόρτωση, διαγραφή μοντέλων GGUF από το UI
- Προεπιλεγμένος κατάλογος: Gemma 3 4B, Qwen3 4B/1.7B/0.6B
- Δυναμικά output tokens βάσει μεγέθους μοντέλου
- Αυτόματη ανίχνευση draft μοντέλου (0.5B-0.8B) για speculative decoding
Ρυθμίσεις
- Προεπιλογές: Fast / Quality / Eco / Long Context (βελτιστοποίηση με ένα κλικ)
- Widget παρακολούθησης VRAM με χρωματικά κωδικοποιημένη μπάρα χρήσης (πράσινο / κίτρινο / κόκκινο)
- KV cache type: auto / q8_0 / q4_0 / f16
- GPU offloading: auto / gpu-max / balanced
- Memory mapping: auto / on / off
- Εναλλαγή αναζήτησης web (εικονίδιο σφαίρας στη γραμμή εργαλείων prompt)
Αξιοπιστία Πράκτορα (τοπικά μοντέλα)
- Pre-flight guards (επίπεδο κώδικα, 0 tokens): έλεγχος ύπαρξης αρχείου πριν την επεξεργασία, επαλήθευση περιεχομένου old_string, επιβολή ανάγνωσης-πριν-επεξεργασία, αποτροπή εγγραφής-σε-υπάρχον
- Doom loop auto-break: 2x πανομοιότυπες κλήσεις εργαλείων → ένεση σφάλματος (guard επιπέδου κώδικα, όχι μόνο prompt)
- Τηλεμετρία εργαλείων: ποσοστό επιτυχίας/σφάλματος ανά συνεδρία με ανάλυση ανά εργαλείο, αυτόματη καταγραφή
Πολυπλατφορμικό: Windows (Vulkan), Linux, macOS, Android
Αναθέστε εργασίες σε υποπράκτορες που εκτελούνται ασύγχρονα. Ορίστε mode: "background" στο εργαλείο task και επιστρέφει αμέσως ένα task_id ενώ ο πράκτορας εργάζεται στο παρασκήνιο. Δημοσιεύονται bus events (TaskCreated, TaskCompleted, TaskFailed) για παρακολούθηση κύκλου ζωής.
Ενορχηστρώστε πολλαπλούς πράκτορες παράλληλα χρησιμοποιώντας το εργαλείο team. Ορίστε υπο-εργασίες με ακμές εξαρτήσεων· η computeWaves() κατασκευάζει ένα DAG και εκτελεί ανεξάρτητες εργασίες ταυτόχρονα (έως 5 παράλληλοι πράκτορες). Έλεγχος προϋπολογισμού μέσω max_cost (δολάρια) και max_agents. Το πλαίσιο από ολοκληρωμένες εργασίες μεταφέρεται αυτόματα στις εξαρτημένες.
Κάθε εργασία παρασκηνίου λαμβάνει αυτόματα το δικό της git worktree. Ο χώρος εργασίας συνδέεται με τη συνεδρία στη βάση δεδομένων. Αν μια εργασία δεν παράγει αλλαγές αρχείων, το worktree καθαρίζεται αυτόματα. Αυτό παρέχει απομόνωση σε επίπεδο git χωρίς containers.
Πλήρες REST API για διαχείριση κύκλου ζωής εργασιών:
| Method | Path | Περιγραφή |
|---|---|---|
| GET | /task/ |
Λίστα εργασιών (φιλτράρισμα κατά parent, status) |
| GET | /task/:id |
Λεπτομέρειες εργασίας + status + πληροφορίες worktree |
| GET | /task/:id/messages |
Ανάκτηση μηνυμάτων συνεδρίας εργασίας |
| POST | /task/:id/cancel |
Ακύρωση εργασίας σε εκτέλεση ή σε ουρά |
| POST | /task/:id/resume |
Συνέχιση ολοκληρωμένης/αποτυχημένης/μπλοκαρισμένης εργασίας |
| POST | /task/:id/followup |
Αποστολή μηνύματος παρακολούθησης σε αδρανή εργασία |
| POST | /task/:id/promote |
Προαγωγή εργασίας παρασκηνίου σε πρώτο πλάνο |
| GET | /task/:id/team |
Συγκεντρωτική προβολή ομάδας (κόστη, diffs ανά μέλος) |
Πρόσθετο πλαϊνής μπάρας που εμφανίζει ενεργές εργασίες παρασκηνίου με εικονίδια κατάστασης σε πραγματικό χρόνο:
| Εικονίδιο | Κατάσταση |
|---|---|
~ |
Running / Retrying |
? |
Queued / Awaiting input |
! |
Blocked |
x |
Failed |
* |
Completed |
- |
Cancelled |
Διάλογος με ενέργειες: άνοιγμα συνεδρίας εργασίας, ακύρωση, συνέχιση, αποστολή μηνύματος παρακολούθησης, έλεγχος κατάστασης.
Λίστες επιτρεπόμενων/απορριπτόμενων ανά πράκτορα για διακομιστές MCP. Ρυθμίστε στο opencode.json κάτω από το πεδίο mcp κάθε πράκτορα. Η συνάρτηση toolsForAgent() φιλτράρει τα διαθέσιμα εργαλεία MCP βάσει του εύρους του καλούντος πράκτορα.
{
"agents": {
"explore": {
"mcp": { "deny": ["dangerous-server"] }
}
}
}Οι συνεδρίες παρακολουθούν μία από 9 καταστάσεις, αποθηκευμένες στη βάση δεδομένων:
idle · busy · retry · queued · blocked · awaiting_input · completed · failed · cancelled
Οι μόνιμες καταστάσεις (queued, blocked, awaiting_input, completed, failed, cancelled) επιβιώνουν από επανεκκινήσεις της βάσης δεδομένων. Οι καταστάσεις μνήμης (idle, busy, retry) επαναφέρονται κατά την επανεκκίνηση.
Πράκτορας συντονισμού μόνο για ανάγνωση (μέγιστο 50 βήματα). Έχει πρόσβαση στα εργαλεία task και team αλλά όλα τα εργαλεία επεξεργασίας είναι απορριπτόμενα. Αναθέτει την υλοποίηση σε πράκτορες build/general και συνθέτει τα αποτελέσματα.
Τεχνική Αρχιτεκτονική
21+ πάροχοι έτοιμοι προς χρήση: Anthropic, OpenAI, Google Gemini, Azure, AWS Bedrock, Vertex AI, OpenRouter, GitHub Copilot, XAI, Mistral, Groq, DeepInfra, Cerebras, Cohere, TogetherAI, Perplexity, Vercel, Venice, GitLab, Gateway, καθώς και οποιοδήποτε OpenAI-συμβατό endpoint. Τιμολόγηση από models.dev.
| Agent | Mode | Access | Description |
|---|---|---|---|
| build | primary | full | Default development agent |
| plan | primary | read-only | Analysis and code exploration |
| general | subagent | full (no todowrite) | Complex multi-step tasks |
| explore | subagent | read-only | Fast codebase search |
| orchestrator | subagent | read-only + task/team | Multi-agent coordinator (50 steps) |
| critic | subagent | read-only + bash + LSP | Code review: bugs, security, performance |
| tester | subagent | full (no todowrite) | Write and run tests, verify coverage |
| documenter | subagent | full (no todowrite) | JSDoc, README, inline documentation |
| compaction | hidden | none | AI-driven context summarization |
| title | hidden | none | Session title generation |
| summary | hidden | none | Session summarization |
Πλήρης υποστήριξη Language Server Protocol με ευρετηρίαση συμβόλων, διαγνωστικά και υποστήριξη πολλαπλών γλωσσών (TypeScript, Deno, Vue και επεκτάσιμο). Ο πράκτορας πλοηγείται στον κώδικα μέσω συμβόλων LSP αντί για αναζήτηση κειμένου, επιτρέποντας ακριβές go-to-definition, find-references και ανίχνευση σφαλμάτων τύπου σε πραγματικό χρόνο.
Model Context Protocol πελάτης και διακομιστής. Υποστηρίζει stdio, HTTP/SSE και StreamableHTTP μεταφορές. Ροή ελέγχου ταυτότητας OAuth για απομακρυσμένους διακομιστές. Δυνατότητες tool, prompt και resource. Ανά πράκτορα εμβέλεια μέσω allow/deny λιστών.
REST API βασισμένο σε Hono με typed routes και δημιουργία OpenAPI spec. Υποστήριξη WebSocket για PTY (pseudo-terminal). SSE για streaming συμβάντων σε πραγματικό χρόνο. Basic auth, CORS, gzip συμπίεση. Το TUI είναι ένα frontend· ο διακομιστής μπορεί να ελεγχθεί από οποιονδήποτε HTTP πελάτη, το web UI ή μια εφαρμογή κινητού.
Auto-compact με AI-καθοδηγούμενη σύνοψη όταν η χρήση token πλησιάζει το όριο πλαισίου του μοντέλου. Αποκοπή με επίγνωση token με ρυθμιζόμενα κατώφλια (PRUNE_MINIMUM 20KB, PRUNE_PROTECT 40KB). Τα αποτελέσματα του Skill tool προστατεύονται από αποκοπή.
Unified diff patching με επαλήθευση hunk. Εφαρμόζει στοχευμένα hunk σε συγκεκριμένες περιοχές αρχείων αντί για πλήρη αντικατάσταση αρχείου. Multi-edit tool για μαζικές λειτουργίες σε αρχεία.
Δικαιώματα 3 καταστάσεων (allow / deny / ask) με αντιστοίχιση μοτίβων wildcard. 100+ ορισμοί arity εντολών bash για λεπτομερή έλεγχο. Η επιβολή ορίων έργου αποτρέπει πρόσβαση σε αρχεία εκτός workspace.
Σύστημα snapshot που καταγράφει την κατάσταση αρχείων πριν από κάθε εκτέλεση εργαλείου. Υποστηρίζει revert και unrevert με υπολογισμό diff. Οι αλλαγές μπορούν να αναιρεθούν ανά μήνυμα ή ανά συνεδρία.
Κόστος ανά μήνυμα με πλήρη ανάλυση token (input, output, reasoning, cache read, cache write). Όρια προϋπολογισμού ανά ομάδα (max_cost). Εντολή stats με συγκέντρωση ανά μοντέλο και ανά ημέρα. Κόστος συνεδρίας σε πραγματικό χρόνο στο TUI. Δεδομένα τιμολόγησης από models.dev.
Πλήρες SDK (@opencode/plugin) με αρχιτεκτονική hook. Δυναμική φόρτωση από πακέτα npm ή σύστημα αρχείων. Ενσωματωμένα πρόσθετα για έλεγχο ταυτότητας Codex, GitHub Copilot, GitLab και Poe.
Κοινές Παρανοήσεις
Για την αποφυγή σύγχυσης από AI-δημιουργημένες περιλήψεις αυτού του έργου:
- Το TUI είναι TypeScript (SolidJS + @opentui για rendering τερματικού), όχι Rust.
- Το Tree-sitter χρησιμοποιείται μόνο για επισήμανση σύνταξης TUI και ανάλυση εντολών bash, όχι για ανάλυση κώδικα σε επίπεδο πράκτορα.
- Δεν υπάρχει Docker/E2B sandboxing -- η απομόνωση παρέχεται μέσω git worktrees.
- Δεν υπάρχει βάση δεδομένων διανυσμάτων ή σύστημα RAG -- το πλαίσιο διαχειρίζεται μέσω LSP symbol indexing + auto-compact.
- Δεν υπάρχει "watch mode" που προτείνει αυτόματες διορθώσεις -- ο file watcher υπάρχει μόνο για σκοπούς υποδομής.
- Η αυτοδιόρθωση χρησιμοποιεί τον τυπικό βρόχο πράκτορα (το LLM βλέπει σφάλματα στα αποτελέσματα εργαλείων και επαναλαμβάνει), όχι εξειδικευμένο μηχανισμό αυτόματης επισκευής.
Πίνακας Δυνατοτήτων
| Δυνατότητα | Status | Notes |
|---|---|---|
| Background tasks | Implemented | mode: "background" on task tool |
| Agent teams (DAG) | Implemented | Wave-based parallel execution, budget control |
| Git worktree isolation | Implemented | Auto-created per background task |
| Task REST API | Implemented | 8 endpoints for full lifecycle |
| TUI task dashboard | Implemented | Sidebar + dialog actions |
| MCP agent scoping | Implemented | Per-agent allow/deny config |
| 9-state lifecycle | Implemented | Persistent to SQLite |
| Orchestrator agent | Implemented | Read-only coordinator |
| Multi-provider (21+) | Implemented | Including local models |
| LSP integration | Implemented | Symbols, diagnostics, multi-language |
| MCP protocol | Implemented | Client + server, 3 transports |
| Plugin system | Implemented | SDK + hook architecture |
| Cost tracking | Implemented | Per-message, per-team, per-model |
| Context auto-compact | Implemented | AI summarization + pruning |
| Git rollback/snapshots | Implemented | Revert/unrevert per message |
| Docker sandboxing | Implemented | Optional via experimental.sandbox.type: "docker" |
| Vector DB / RAG | Implemented | experimental.rag.enabled: true, SQLite + cosine similarity |
| Dry run / command preview | Implemented | dry_run param on bash/edit/write tools |
| Specialized agents | Implemented | critic, tester, documenter subagents |
| Auto-learn | Implemented | Post-session lesson extraction to .opencode/learnings/ |
| Vulnerability scanner | Implemented | Auto-scan on edit/write for secrets, injections, unsafe patterns |
| DLP / AgentShield | Implemented | experimental.dlp.enabled: true, redacts secrets before LLM calls |
| Policy engine | Implemented | experimental.policy.enabled: true, conditional rules + custom policies |
| Confidence/decay | Implemented | Time-based scoring for RAG embeddings, exponential decay |
| Memory conflict resolution | Dead code | rag/conflict.ts is unit-tested but not invoked in production; treat as unimplemented |
| Per-message token display | Partial | Stored in DB, shown as session aggregate |
| Δυνατότητα | Κατάσταση | Σημειώσεις |
|---|---|---|
| Local LLM (llama.cpp b8731) | Implemented | Vulkan GPU, auto-download runtime, --fit auto-VRAM |
| Προσαρμοστική διαμόρφωση runtime | Implemented | auto-config.ts: n_gpu_layers / threads / batch / κβαντοποίηση KV βάσει ανιχνευμένης VRAM, RAM, big.LITTLE, GPU backend, θερμικής κατάστασης |
| Benchmark harness | Implemented | bun run bench:llm μετρά FTL, TPS, κορυφαίο RSS, συνολικό χρόνο ανά μοντέλο· έξοδος JSONL |
| Flash Attention | Implemented | --flash-attn on on desktop and mobile |
| KV cache quantization | Implemented | q4_0 / q8_0 / f16 adaptive with standard llama.cpp quantization (~50% KV memory savings at q4_0) |
| Exact tokenizer (OpenAI) | Implemented | js-tiktoken για gpt-*/o1/o3/o4· εμπειρικά 3,5 χαρακτήρες/token για Llama/Qwen/Gemma |
| Speculative decoding | Implemented | VRAM Guard (desktop) / RAM Guard (mobile), draft model auto-detection |
| HuggingFace model search | Implemented | Απόκριση επικυρωμένη με Zod, σήματα VRAM, διαχειριστής λήψεων, 9 προ-επιλεγμένα μοντέλα |
| Επαναλήψιμες λήψεις GGUF | Implemented | Επικεφαλίδα HTTP Range — διακοπή 4G δεν ξεκινά από την αρχή μεταφορά 4 GB |
| Tool telemetry | Implemented | Per-session success/error rate logging with per-tool breakdown |
| Επανεκκίνηση circuit breaker | Implemented | ensureCorrectModel σταματά μετά από 3 επανεκκινήσεις σε 120 s για αποφυγή βρόχων burn-cycle |
| Δυνατότητα | Κατάσταση | Σημειώσεις |
|---|---|---|
| Αυστηρή CSP (desktop + mobile) | Implemented | connect-src περιορισμένο σε loopback + HuggingFace + παρόχους HTTPS· χωρίς unsafe-eval, object-src 'none', frame-ancestors 'none' |
| Σκλήρυνση έκδοσης Android | Implemented | isDebuggable=false, allowBackup=false, isShrinkResources=true, FOREGROUND_SERVICE_TYPE_SPECIAL_USE |
| Σκλήρυνση έκδοσης desktop | Implemented | Τα Devtools δεν επιβάλλονται πλέον ως ενεργοποιημένα — αποκαταστάθηκε η προεπιλογή του Tauri 2 (μόνο σε debug), ώστε ένα σημείο στήριξης XSS να μην μπορεί να συνδεθεί στο __TAURI__ σε παραγωγή |
| Επικύρωση εισόδου εντολών Tauri | Implemented | Φύλακες download_model / load_llm_model / delete_model: charset ονόματος αρχείου, λίστα επιτρεπόμενων HTTPS για huggingface.co / hf.co |
| Αλυσίδα καταγραφής Rust | Implemented | log + android_logger σε mobile· χωρίς eprintln! σε release → χωρίς διαρροές path/URL στο logcat |
| Ιχνηλάτης ελέγχου ασφαλείας | Implemented | SECURITY_AUDIT.md — όλα τα ευρήματα ταξινομημένα ως S1/S2/S3 με path:line, κατάσταση και αιτιολόγηση αναβαλλόμενης διόρθωσης |
Future Roadmap
Three major initiatives are planned on dedicated feature branches. Each is designed to be modular — they can be developed independently and merged when ready.
Goal: Multiple developers interacting with agents simultaneously in real-time.
| Component | Description |
|---|---|
| Multi-user auth | JWT-based authentication on the Hono server, user sessions, role-based access |
| WebSocket broadcast | Real-time event streaming to all connected clients (agent activity, file changes, task status) |
| File concurrency | Lock-based or CRDT-based conflict resolution when multiple agents/users edit the same file |
| Presence UI | See who is connected, what they're working on, which agents are assigned to whom |
| Shared context | Cross-user session history, shared learnings, team-wide RAG index |
Scale: ~3000+ LOC, major architectural change. Requires refactoring the server for multi-tenant support.
Goal: Run OpenCode as a native mobile app on Android and iOS, with full agent capabilities.
| Component | Description |
|---|---|
| Tauri 2.0 migration | Leverage Tauri's mobile targets (Android/iOS) to package the existing SolidJS frontend as a native app |
| Runtime adaptation | Bundle the TypeScript agent core with Vite for WebView execution; delegate performance-critical tasks to Tauri's Rust layer |
| isomorphic-git | Replace system calls with isomorphic-git for pure-JS git operations within the mobile sandbox |
| File system access | Use for sandboxed file access + Document Picker integration |
| Remote mode | Connect to a desktop OpenCode instance over a secure tunnel (Tailscale/Cloudflare) for full capability without local execution |
| Mobile-optimized UI | Conversational interface that hides terminal complexity; swipe-based diff review; virtual keyboard optimizations |
Platform comparison:
- Android (via Termux or Tauri): Full Node.js support, broad file access, excellent performance
- iOS (via Tauri/a-Shell): Sandbox restrictions, limited native packages, but strong Apple Silicon performance for local models
Scale: ~2000+ LOC for the Tauri mobile shell, ~500 LOC for isomorphic-git adapter, ~300 LOC for remote mode.
Goal: Merge OpenCode's agentic coding capabilities with AnythingLLM's document RAG and multi-user chat platform.
| Component | Description |
|---|---|
| Context bridge | Pipe AnythingLLM's indexed documents (PDFs, wikis, Confluence, etc.) into OpenCode's system prompt as additional context |
| Agent skill plugin | Expose OpenCode's core commands (, , edit, bash) as an AnythingLLM Agent Skill via HTTP API |
| Unified vector store | Merge OpenCode's SQLite RAG with AnythingLLM's vector DB backends (LanceDB, Pinecone, Chroma) for a single knowledge layer |
| Multi-user workspace | Leverage AnythingLLM's existing multi-user and workspace management for team environments |
| Containerized deployment | Docker Compose setup running both backends, with shared auth and a unified API gateway |
Synergy: AnythingLLM excels at document ingestion and RAG over non-code content. OpenCode excels at code manipulation, agentic tool use, and multi-provider LLM orchestration. Combined, they create a full-stack AI development platform that can reason over documentation AND write/execute code.
Scale: ~1500+ LOC for the bridge layer, ~500 LOC for the Agent Skill adapter, ~300 LOC for vector store unification.
# YOLO
curl -fsSL https://opencode.ai/install | bash
# Διαχειριστές πακέτων
npm i -g opencode-ai@latest # ή bun/pnpm/yarn
scoop install opencode # Windows
choco install opencode # Windows
brew install anomalyco/tap/opencode # macOS και Linux (προτείνεται, πάντα ενημερωμένο)
brew install opencode # macOS και Linux (επίσημος τύπος brew, λιγότερο συχνές ενημερώσεις)
sudo pacman -S opencode # Arch Linux (Σταθερό)
paru -S opencode-bin # Arch Linux (Τελευταία έκδοση από AUR)
mise use -g opencode # Οποιοδήποτε λειτουργικό σύστημα
nix run nixpkgs#opencode # ή github:anomalyco/opencode με βάση την πιο πρόσφατη αλλαγή από το dev branch[!TIP] Αφαίρεσε παλαιότερες εκδόσεις από τη 0.1.x πριν από την εγκατάσταση.
Το OpenCode είναι επίσης διαθέσιμο ως εφαρμογή. Κατέβασε το απευθείας από τη σελίδα εκδόσεων ή το opencode.ai/download.
| Πλατφόρμα | Λήψη |
|---|---|
| macOS (Apple Silicon) | opencode-desktop-darwin-aarch64.dmg |
| macOS (Intel) | opencode-desktop-darwin-x64.dmg |
| Windows | opencode-desktop-windows-x64.exe |
| Linux | .deb, .rpm, ή AppImage |
# macOS (Homebrew)
brew install --cask opencode-desktop
# Windows (Scoop)
scoop bucket add extras; scoop install extras/opencode-desktopΤο script εγκατάστασης τηρεί την ακόλουθη σειρά προτεραιότητας για τη διαδρομή εγκατάστασης:
$OPENCODE_INSTALL_DIR- Προσαρμοσμένος κατάλογος εγκατάστασης$XDG_BIN_DIR- Διαδρομή συμβατή με τις προδιαγραφές XDG Base Directory$HOME/bin- Τυπικός κατάλογος εκτελέσιμων αρχείων χρήστη (εάν υπάρχει ή μπορεί να δημιουργηθεί)$HOME/.opencode/bin- Προεπιλεγμένη εφεδρική διαδρομή
# Παραδείγματα
OPENCODE_INSTALL_DIR=/usr/local/bin curl -fsSL https://opencode.ai/install | bash
XDG_BIN_DIR=$HOME/.local/bin curl -fsSL https://opencode.ai/install | bashΤο OpenCode περιλαμβάνει δύο ενσωματωμένους πράκτορες μεταξύ των οποίων μπορείτε να εναλλάσσεστε με το πλήκτρο Tab.
- build - Προεπιλεγμένος πράκτορας με πλήρη πρόσβαση για εργασία πάνω σε κώδικα
- plan - Πράκτορας μόνο ανάγνωσης για ανάλυση και εξερεύνηση κώδικα
- Αρνείται την επεξεργασία αρχείων από προεπιλογή
- Ζητά άδεια πριν εκτελέσει εντολές bash
- Ιδανικός για εξερεύνηση άγνωστων αρχείων πηγαίου κώδικα ή σχεδιασμό αλλαγών
Περιλαμβάνεται επίσης ένας general υποπράκτορας για σύνθετες αναζητήσεις και πολυβηματικές διεργασίες.
Χρησιμοποιείται εσωτερικά και μπορεί να κληθεί χρησιμοποιώντας @general στα μηνύματα.
Μάθετε περισσότερα για τους πράκτορες.
Για περισσότερες πληροφορίες σχετικά με τη ρύθμιση του OpenCode, πλοηγήσου στον οδηγό χρήσης μας.
Εάν ενδιαφέρεσαι να συνεισφέρεις στο OpenCode, διαβάστε τα οδηγό χρήσης συνεισφοράς πριν υποβάλεις ένα pull request.
Εάν εργάζεσαι σε ένα έργο σχετικό με το OpenCode και χρησιμοποιείτε το "opencode" ως μέρος του ονόματός του, για παράδειγμα "opencode-dashboard" ή "opencode-mobile", πρόσθεσε μια σημείωση στο README σας για να διευκρινίσεις ότι δεν είναι κατασκευασμένο από την ομάδα του OpenCode και δεν έχει καμία σχέση με εμάς.
Είναι πολύ παρόμοιο με το Claude Code ως προς τις δυνατότητες. Ακολουθούν οι βασικές διαφορές:
- 100% ανοιχτού κώδικα
- Δεν είναι συνδεδεμένο με κανέναν πάροχο. Αν και συνιστούμε τα μοντέλα που παρέχουμε μέσω του OpenCode Zen, το OpenCode μπορεί να χρησιμοποιηθεί με Claude, OpenAI, Google, ή ακόμα και τοπικά μοντέλα. Καθώς τα μοντέλα εξελίσσονται, τα κενά μεταξύ τους θα κλείσουν και οι τιμές θα μειωθούν, οπότε είναι σημαντικό να είσαι ανεξάρτητος από τον πάροχο.
- Out-of-the-box υποστήριξη LSP
- Εστίαση στο TUI. Το OpenCode είναι κατασκευασμένο από χρήστες που χρησιμοποιούν neovim και τους δημιουργούς του terminal.shop· θα εξαντλήσουμε τα όρια του τι είναι δυνατό στο terminal.
- Αρχιτεκτονική client/server. Αυτό, για παράδειγμα, μπορεί να επιτρέψει στο OpenCode να τρέχει στον υπολογιστή σου ενώ το χειρίζεσαι εξ αποστάσεως από μια εφαρμογή κινητού, που σημαίνει ότι το TUI frontend είναι μόνο ένας από τους πιθανούς clients.
