Skip to content

Latest commit

 

History

History
596 lines (440 loc) · 47.4 KB

File metadata and controls

596 lines (440 loc) · 47.4 KB

OpenCode logo

Ο πράκτορας τεχνητής νοημοσύνης ανοικτού κώδικα για προγραμματισμό.

Discord npm Build status

English | 简体中文 | 繁體中文 | 한국어 | Deutsch | Español | Français | Italiano | Dansk | 日本語 | Polski | Русский | Bosanski | العربية | Norsk | Português (Brasil) | ไทย | Türkçe | Українська | বাংলা | Ελληνικά | Tiếng Việt

OpenCode Terminal UI

Γιατί αυτό το fork;

Περίληψη — ο μοναδικός 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.

Capability matrix — this fork vs. the 2026 landscape

Legend: ✅ shipped · ❌ absent · partial limited/incomplete · plugin via community add-on · paid behind a subscription tier.

Orchestration, API surface, governance

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)

Intelligence, context, developer UX

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

Platform reach & multimodal

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.

Install

# CLI (macOS / Linux / Windows)
curl -fsSL https://opencode.ai/install | bash

# Desktop app + Android APK
# → https://github.com/Rwanbt/opencode/releases/latest

8 πράγματα που μόνο αυτό το fork συγκεντρώνει

🤖 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

Αυτό είναι ένα fork του anomalyco/opencode που συντηρείται από τον Rwanbt. Διατηρείται συγχρονισμένο με το upstream. Δείτε τον κλάδο dev για τις τελευταίες αλλαγές.

Τοπική AI

Το 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

Κάθε εργασία παρασκηνίου λαμβάνει αυτόματα το δικό της git worktree. Ο χώρος εργασίας συνδέεται με τη συνεδρία στη βάση δεδομένων. Αν μια εργασία δεν παράγει αλλαγές αρχείων, το worktree καθαρίζεται αυτόματα. Αυτό παρέχει απομόνωση σε επίπεδο git χωρίς containers.

API Διαχείρισης Εργασιών

Πλήρες 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 ανά μέλος)

Πίνακας Εργασιών TUI

Πρόσθετο πλαϊνής μπάρας που εμφανίζει ενεργές εργασίες παρασκηνίου με εικονίδια κατάστασης σε πραγματικό χρόνο:

Εικονίδιο Κατάσταση
~ Running / Retrying
? Queued / Awaiting input
! Blocked
x Failed
* Completed
- Cancelled

Διάλογος με ενέργειες: άνοιγμα συνεδρίας εργασίας, ακύρωση, συνέχιση, αποστολή μηνύματος παρακολούθησης, έλεγχος κατάστασης.

Εύρος Πράκτορα MCP

Λίστες επιτρεπόμενων/απορριπτόμενων ανά πράκτορα για διακομιστές MCP. Ρυθμίστε στο opencode.json κάτω από το πεδίο mcp κάθε πράκτορα. Η συνάρτηση toolsForAgent() φιλτράρει τα διαθέσιμα εργαλεία MCP βάσει του εύρους του καλούντος πράκτορα.

{
  "agents": {
    "explore": {
      "mcp": { "deny": ["dangerous-server"] }
    }
  }
}

Κύκλος Ζωής Συνεδρίας 9 Καταστάσεων

Οι συνεδρίες παρακολουθούν μία από 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

Ενσωμάτωση LSP

Πλήρης υποστήριξη Language Server Protocol με ευρετηρίαση συμβόλων, διαγνωστικά και υποστήριξη πολλαπλών γλωσσών (TypeScript, Deno, Vue και επεκτάσιμο). Ο πράκτορας πλοηγείται στον κώδικα μέσω συμβόλων LSP αντί για αναζήτηση κειμένου, επιτρέποντας ακριβές go-to-definition, find-references και ανίχνευση σφαλμάτων τύπου σε πραγματικό χρόνο.

Υποστήριξη MCP

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.

Αναίρεση μέσω Git

Σύστημα 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

Τοπική ΑΙ (Desktop + Mobile)

Δυνατότητα Κατάσταση Σημειώσεις
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

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.

🤝 Collaborative Mode ()

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.

📱 Mobile Version ()

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.

🔗 AnythingLLM Fusion ()

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 πριν από την εγκατάσταση.

Εφαρμογή Desktop (BETA)

Το 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 εγκατάστασης τηρεί την ακόλουθη σειρά προτεραιότητας για τη διαδρομή εγκατάστασης:

  1. $OPENCODE_INSTALL_DIR - Προσαρμοσμένος κατάλογος εγκατάστασης
  2. $XDG_BIN_DIR - Διαδρομή συμβατή με τις προδιαγραφές XDG Base Directory
  3. $HOME/bin - Τυπικός κατάλογος εκτελέσιμων αρχείων χρήστη (εάν υπάρχει ή μπορεί να δημιουργηθεί)
  4. $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" ως μέρος του ονόματός του, για παράδειγμα "opencode-dashboard" ή "opencode-mobile", πρόσθεσε μια σημείωση στο README σας για να διευκρινίσεις ότι δεν είναι κατασκευασμένο από την ομάδα του OpenCode και δεν έχει καμία σχέση με εμάς.

Συχνές Ερωτήσεις

Πώς διαφέρει αυτό από το Claude Code;

Είναι πολύ παρόμοιο με το 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.

Γίνε μέλος της κοινότητάς μας Discord | X.com