Skip to content

Latest commit

 

History

History
190 lines (147 loc) · 16.8 KB

README.gr.md

File metadata and controls

190 lines (147 loc) · 16.8 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


Αυτόματη δρομολόγηση μοντέλων

Το OpenCode μπορεί να επιλέγει μοντέλο για κάθε βήμα αντί να κρατά ένα μοντέλο για όλη τη συνεδρία: ένα τοπικό ή φθηνό μοντέλο κάνει τη ρουτίνα και το ισχυρότερο μοντέλο φυλάσσεται για τα μέρη που όντως το χρειάζονται. Η δρομολόγηση μένει κλειστή έως ότου ενεργοποιήσεις το routing.enabled.

Διάλεξε Auto (Routing) στον επιλογέα μοντέλων για αυτόματη δρομολόγηση της συνεδρίας. Αν διαλέξεις συγκεκριμένο μοντέλο, η συνεδρία καρφιτσώνεται σε αυτό και η δρομολόγηση δεν το πειράζει.

Επίπεδο Προεπιλογή Αναλαμβάνει
Local το μοντέλο στη ρύθμιση qwen σου υλοποίηση, δοκιμές, ανασχεδιασμούς και τα βήματα build και κελύφους που τα επαληθεύουν
Routine το φθηνότερο ενεργό μοντέλο DeepSeek Flash σχεδιασμό, ανάλυση, κριτική, εξηγήσεις και συνηθισμένη αποσφαλμάτωση
Pro το ισχυρότερο ενεργό μοντέλο DeepSeek αρχιτεκτονική και μεγάλους ανασχεδιασμούς, δύσκολη αποσφαλμάτωση, εργασία ευαίσθητη στην ασφάλεια
  • Το τελευταίο σου αίτημα ορίζει τη βασική ταξινόμηση και μετά κάθε βήμα μέσα στον γύρο ταξινομείται ξανά από όσα έχει ήδη κάνει ο γύρος: τα βήματα που μόνο διαβάζουν και ψάχνουν μένουν στο επίπεδο Routine. Μόλις ένα βήμα αλλάξει αρχεία ή εκτελέσει εντολή, η υπόλοιπη συνέχεια του γύρου εκτελείται στο επίπεδο Local. Δύο συνεχόμενα βήματα με αποτυχημένες κλήσεις εργαλείων λογίζονται ως δύσκολη αποσφαλμάτωση και πάνε στο επίπεδο Pro. Με routing.step_routing: false ο γύρος κρατά ένα μόνο επίπεδο.
  • Ένα επίπεδο χρησιμοποιείται μόνο αν το μοντέλο του είναι ενεργοποιημένο και αυτή τη στιγμή υγιές, και αν η συζήτηση χωράει ακόμα στο παράθυλο πλαισίου του.
  • Μετά από routing.attempts αποτυχίες η δουλειά κλιμακώνεται στο επόμενο επίπεδο και το μοντέλο που αποτυγχάνει παραλείπεται για ένα μικρό διάστημα ψύξης. Η διακοπή μιας εκτέλεσης δεν λογίζεται ποτέ ως σφάλμα μοντέλου.
  • Το routing.preference ζυγίζει κόστος και ποιότητα: cost-first, balanced (προεπιλογή) ή quality-first. Κάθε φορά που η δρομολόγηση επιλέγει άλλο μοντέλο, η συνεδρία δείχνει μια σύντομη σημείωση με το μοντέλο, το επίπεδο και τον λόγο (routing.diagnostics).
{
  "$schema": "https://opencode.ai/config.json",
  // Οποιοσδήποτε διακομιστής συμβατός με OpenAI: llama.cpp, Ollama, vLLM, LM Studio, ...
  "providers": {
    "local": {
      "package": "aisdk:@ai-sdk/openai-compatible",
      "settings": { "baseURL": "http://127.0.0.1:8080/v1" },
      "models": { "qwen3-coder": { "limit": { "context": 131072, "output": 8192 } } },
    },
  },
  "qwen": { "base_url": "http://127.0.0.1:8080/v1", "model": "qwen3-coder", "provider": "local" },
  "routing": {
    "enabled": true,
    "preference": "balanced",
    // Προαιρετικό. Οι ρόλοι που δεν έχουν οριστεί βρίσκονται από τον κατάλογο.
    "roles": { "local": "local/qwen3-coder", "routine": "deepseek/deepseek-chat", "pro": "deepseek/deepseek-reasoner" },
    "step_routing": true,
  },
}

Οδηγός ρύθμισης χώρου εργασίας

Η εφαρμογή μπορεί να στήσει ολόκληρο χώρο εργασίας έργου για εσένα: δημιουργεί τα αρτεφάκτα, τα επαληθεύει, ανοίγει το έργο και ξεκινά την πρώτη εργασία σε μια συνεδρία. Άνοιξε το New project workspace από την αρχική των έργων (το εικονίδιο πλέγματος στην κεφαλίδα) ή από την παλέτα εντολών. Ο οδηγός ρωτά για την περιγραφή του έργου και τον φάκελο προορισμού, τη γλώσσα εξόδου, την επιλογή μοντέλου (αυτόματη δρομολόγηση τριών μοντέλων ή καρφιτσωμένο μοντέλο με προτίμηση cost-first, balanced, quality-first), προαιρετικά ένα τοπικό μοντέλο (βάση URL, αναγνωριστικό μοντέλου, αναγνωριστικό παρόχου, προαιρετικό κλειδί API, χρονικό όριο και μέγιστα token εξόδου) με έλεγχο σύνδεσης, και αν θα ενεργοποιηθεί η πρώιμη συμπίεση με επίγνωση του κόστους. Έπειτα περνά από ορατά στάδια και αφήνει ανοιχτή τη συνεδρία της αρχικής εργασίας· ένα αποτυχημένο στάδιο μπορεί να συνεχιστεί, και μια ακυρωμένη εκτέλεση κρατά τα αρχεία που ήδη δημιούργησε.

Τίποτα μυστικό δεν γράφεται στον δίσκο: το προαιρετικό τοπικό κλειδί API πάει στο φυλάκιο διαπιστευτηρίων και στο αρχείο opencode.json του έργου μπορεί να εμφανιστεί μόνο το όνομα της μεταβλητής περιβάλλοντός του. Αυτό το αρχείο εφαρμόζει τις ίδιες αποφάσεις δρομολόγησης και συμπίεσης στη μετέπειτα δουλειά πάνω στο ίδιο έργο.

Αυτόματη συμπίεση

Οι μεγάλες συνεδρίες συνοψίζονται σε ένα μόνιμο σημείο ελέγχου ώστε η συζήτηση να χωράει ακόμα στο παράθυρο του μοντέλου. Δύο ανεξάρτητοι πυροδότες μοιράζονται αυτή τη μηχανή.

Η συμπίεση ορίου πλαισίου είναι ενεργή από προεπιλογή (compaction.auto): τρέχει όταν το εκτιμώμενο αίτημα ξεπεράσει το ανώτατο όριο του μοντέλου, διατηρεί λέξη προς λέξη τα τελευταία compaction.keep.tokens (15.000 προεπιλογή) και συνοψίζει τα υπόλοιπα. Αυτή είναι ο διχτυοφύλακας: τρέχει πάντα ακόμα κι αν ο παρακάτω πρώιμος πυροδότης την παραλείσει.

Η πρώιμη συμπίεση με επίγνωση κόστους είναι opt-in (compaction.early.enabled, κλειστή από προεπιλογή) και δρα πριν το όριο είναι σε ορίζοντα, ώστε η συνεδρία να κόβει παλιό πλαίσιο όσο ακόμα είναι φθηνό. Τρέχει μόνο αν όλο το πλαίσιο είναι τουλάχιστον min_tokens (24.000) και το κομμάτι που αφαιρείται από μόνο του αξίζει τουλάχιστον min_benefit_tokens (8.000) token, το πολύ μία φορά κάθε cooldown_seconds (300) ανά συνεδρία. Με το require_task_boundary περιμένει ένα φυσικό διάλειμμα· η προεπιλογή είναι true, αλλά ένας γύρος κλήσεων εργαλείων δεν φτάνει ποτέ σε τέτοιο διάλειμμα, οπότε το false είναι αυτό που κάνει τους μεγάλους γύρους πρακτόρων να συμπιέζονται έστω. Το local_summarize στέλνει την περίληψη στο ρυθμισμένο τοπικό μοντέλο και καταγράφει τη χρήση και το κόστος του.

{
  "compaction": {
    "auto": true,
    "keep": { "tokens": 15000 },
    "early": { "enabled": true, "min_tokens": 24000, "min_benefit_tokens": 8000, "cooldown_seconds": 300, "require_task_boundary": false, "local_summarize": false },
  },
}

Μια εκτέλεση συμπίεσης χρειάζεται χώρο εξόδου για την ίδια την περίληψή της· ένα τοπικό μοντέλο με μικρό limit.output (8.192 για παράδειγμα) μπορεί να εξαντλήσει αυτόν τον χώρο και το βήμα αποτυγχάνει με Compaction summary reached the output token limit — ανέβασε αυτό το όριο ή άσε το local_summarize κλειστό όταν το δεις αυτό.

Εγκατάσταση

# YOLO
curl -fsSL https://opencode.ai/v2/install | bash

# Διαχειριστές πακέτων
npm i -g @opencode/cli@latest      # ή bun/pnpm/yarn
brew install anomalyco/tap/opencode-v2 # macOS και Linux (προτείνεται, πάντα ενημερωμένο)
brew install opencode              # macOS και Linux (επίσημος τύπος brew, λιγότερο συχνές ενημερώσεις)
sudo pacman -S opencode            # Arch Linux (Σταθερό)
paru -S opencode-beta              # Arch Linux (Τελευταία έκδοση από AUR)
mise use -g opencode               # Οποιοδήποτε λειτουργικό σύστημα
nix run github:anomalyco/opencode  # Nix

Tip

Αφαίρεσε παλαιότερες εκδόσεις από τη 0.1.x πριν από την εγκατάσταση.

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

Το OpenCode είναι επίσης διαθέσιμο ως εφαρμογή. Κατέβασε το από το opencode.ai/download.

Πλατφόρμα Λήψη
macOS (Apple Silicon) opencode-desktop-mac-arm64.dmg
macOS (Intel) opencode-desktop-mac-x64.dmg
Windows opencode-desktop-win-x64.exe
Linux .deb, .rpm, ή AppImage
# macOS (Homebrew)
brew install --cask 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/v2/install | bash
XDG_BIN_DIR=$HOME/.local/bin curl -fsSL https://opencode.ai/v2/install | bash

Πράκτορες

Το OpenCode περιλαμβάνει δύο ενσωματωμένους πράκτορες μεταξύ των οποίων μπορείτε να εναλλάσσεστε με το πλήκτρο Tab.

  • build - Προεπιλεγμένος πράκτορας με πλήρη πρόσβαση για εργασία πάνω σε κώδικα
  • plan - Πράκτορας μόνο ανάγνωσης για ανάλυση και εξερεύνηση κώδικα
    • Αρνείται την επεξεργασία αρχείων από προεπιλογή
    • Ζητά άδεια πριν εκτελέσει εντολές bash
    • Ιδανικός για εξερεύνηση άγνωστων αρχείων πηγαίου κώδικα ή σχεδιασμό αλλαγών

Περιλαμβάνεται επίσης ένας general υποπράκτορας για σύνθετες αναζητήσεις και πολυβηματικές διεργασίες. Χρησιμοποιείται εσωτερικά και μπορεί να κληθεί χρησιμοποιώντας @general στα μηνύματα.

Μάθετε περισσότερα για τους πράκτορες.

Οδηγός Χρήσης

Για περισσότερες πληροφορίες σχετικά με τη ρύθμιση του OpenCode, πλοηγήσου στον οδηγό χρήσης μας.

Συνεισφορά

Εάν ενδιαφέρεσαι να συνεισφέρεις στο OpenCode, διαβάστε τα οδηγό χρήσης συνεισφοράς πριν υποβάλεις ένα pull request.

Δημιουργία πάνω στο OpenCode

Εάν εργάζεσαι σε ένα έργο σχετικό με το OpenCode και χρησιμοποιείτε το "opencode" ως μέρος του ονόματός του, για παράδειγμα "opencode-dashboard" ή "opencode-mobile", πρόσθεσε μια σημείωση στο README σας για να διευκρινίσεις ότι δεν είναι κατασκευασμένο από την ομάδα του OpenCode και δεν έχει καμία σχέση με εμάς.


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