CodeHero PRO — Οδηγός χρήσης

Πλήρης οδηγός για τη χρήση της πλατφόρμας CodeHero στην ανάπτυξη λογισμικού με AI.

1. Σύνδεση & Dashboard

Σύνδεση

Ανοίξτε τον browser και πηγαίνετε στο https://YOUR_IP:9453. Θα δείτε τη σελίδα σύνδεσης.

Σελίδα σύνδεσης
Σελίδα σύνδεσης

Προεπιλεγμένα στοιχεία σύνδεσης:

Σημαντικό: Αλλάξτε τους προεπιλεγμένους κωδικούς μετά την πρώτη σύνδεση με: sudo /opt/codehero/scripts/change-passwords.sh

Έλεγχος ταυτότητας δύο παραγόντων (2FA): Αν είναι ενεργός στις ρυθμίσεις, θα σας ζητηθεί ένας 6ψήφιος κωδικός από το Google Authenticator. Με το "Remember this device" παρακάμπτετε το 2FA σε αξιόπιστες συσκευές μέχρι το τέλος του μήνα.

Κλείδωμα λογαριασμού: Μετά από 5 αποτυχημένες προσπάθειες σύνδεσης, ο λογαριασμός κλειδώνει για 15 λεπτά.

Dashboard

Το Dashboard είναι το κεντρικό σας σημείο ελέγχου και δείχνει την κατάσταση του συστήματος σε πραγματικό χρόνο.

Dashboard
Dashboard

Στοιχεία του Dashboard:

Η σελίδα Logs

Το Logs (πάνω μενού) ανοίγει τα logs του server το ένα δίπλα στο άλλο — του CodeHero, του web stack, του συστήματος, των containers. Από την v4.55.0 τέσσερις κάρτες στην κορυφή δείχνουν αυτόν τον server τώρα: CPU (πόσο απασχολημένη είναι τώρα, το load average, οι πυρήνες), Memory (χρησιμοποιημένη από τη συνολική, swap), Disk used και Free space (κάθε δίσκος που φιλοξενεί το CodeHero). Ανανεώνονται κάθε 5 δευτερόλεπτα όσο η σελίδα είναι ανοιχτή· σε κινητό μπαίνουν σε διάταξη 2 × 2.

2. Δημιουργία projects

Η σελίδα Projects

Η σελίδα Projects δείχνει όλα τα projects ανάπτυξης σε πλέγμα από κάρτες.

Λίστα projects
Λίστα projects

Κάθε κάρτα project δείχνει: όνομα project, τύπο, περιγραφή, διαδρομή του φακέλου εργασίας, πλήθος ανοιχτών tickets, provider/μοντέλο και κουμπιά γρήγορων ενεργειών.

Δημιουργία νέου project

Πατήστε "+ New Project" για να ανοίξει το παράθυρο δημιουργίας.

Δημιουργία project
Παράθυρο δημιουργίας project
ΠεδίοΥποχρεωτικόΠεριγραφή
NameΝαιΠεριγραφικό όνομα project
CodeΝαιΓράμματα και ψηφία, έως 15 (v4.55.0+· 10 πριν) — δίνει όνομα στα tickets (CODE-0001), στους φακέλους, στα backups. Δεν χρησιμοποιείται ποτέ δύο φορές: ούτε κωδικός που έχει άλλο project, ούτε κωδικός που κρατά ακόμη τα backups ενός διαγραμμένου project
Project TypeΝαιweb, app, api, cli, library
Tech StackΝαιphp, node, react, python, java, κ.λπ.
DescriptionΝαιΣύντομη περιγραφή του project
Web/App PathΌχιΦάκελος εργασίας (δημιουργείται αυτόματα)
ProviderΌχιAI provider (anthropic, openai, grok, qwencloud, κ.λπ.)
AI ModelΌχιΡόλος developer (master/senior/junior)
Think ModeΌχιΕπίπεδο εκτεταμένης σκέψης
Execution ModeΌχιΠροεπιλογή για τα νέα tickets
Τύπος projectΠροεπιλεγμένη διαδρομή
web (PHP, HTML)/var/www/projects/{name}
app, api, cli, library/opt/apps/{name}

3. Εισαγωγή projects

Εισαγάγετε υπάρχοντα projects από ZIP, Git ή τοπική διαδρομή.

Εισαγωγή project
Παράθυρο εισαγωγής project
ΛειτουργίαΠεριγραφήΠότε τη χρησιμοποιείτε
extendΑντιγράφει τα αρχεία στη διαδρομή του projectΓια να συνεχίσετε την ανάπτυξη του project
referenceΑποθηκεύεται χωριστά ως πρότυποΓια να φτιάξετε κάτι παρόμοιο
ΠηγήΠαραδείγματα
ZIPURL ή τοπική διαδρομή αρχείου ZIP
GitURL αποθετηρίου (δημόσιου ή ιδιωτικού)
PathΔιαδρομή τοπικού φακέλου (το πιο γρήγορο για μεγάλα projects)

Ιδιωτικά αποθετήρια Git

ΠλατφόρμαΌνομα χρήστηΤύπος token
GitHubΠροαιρετικόPersonal Access Token (PAT)
GitLabΔεν χρειάζεταιPersonal Access Token
BitbucketΥποχρεωτικόApp Password

Η βάση δεδομένων της εφαρμογής (v4.55.1+) — η εισαγωγή ενός backup που φτιάχτηκε με την 4.55.1 ή νεότερη κρατά το όνομα, τον χρήστη και τον κωδικό της βάσης του project, ώστε οι ρυθμίσεις της ίδιας της εφαρμογής (.env …) να λειτουργούν χωρίς αλλαγή: ένα project σε container τα παίρνει μέσα στο νέο του container (τη δική του MySQL)· ένα project στον host τα παίρνει όταν αυτός ο server δεν έχει ούτε εκείνη τη βάση ούτε εκείνον τον χρήστη — αλλιώς παίρνει νέα, και το αποτέλεσμα το αναφέρει (ενημερώστε τις ρυθμίσεις της εφαρμογής ή ζητήστε από ένα ticket να το κάνει). Τα παλαιότερα backups επαναφέρονται ακόμη με νέα ονόματα.

Ο κωδικός του project (v4.55.0+) — μια εισαγωγή δεν παίρνει ποτέ κωδικό που έχει άλλο project, ή κωδικό που κρατά ακόμη τα backups ενός διαγραμμένου project (το νέο project θα τα αναλάμβανε): σε κωδικό που φτιάχνει το CodeHero προστίθεται 2, 3, … στο τέλος· ένας κωδικός που πληκτρολογείτε και είναι ήδη σε χρήση σταματά την εισαγωγή με μήνυμα, πριν ξεκινήσει οτιδήποτε, ώστε να διαλέξετε άλλον.

4. Η σελίδα του project

Πατήστε σε οποιοδήποτε project για να δείτε τη σελίδα του. Η σελίδα είναι οργανωμένη σε ενότητες που ανοιγοκλείνουν.

Επισκόπηση

Επισκόπηση project
Επισκόπηση project

Η πάνω ενότητα δείχνει τα στοιχεία του project (όνομα, τύπο, tech stack, περιγραφή), τα στοιχεία σύνδεσης με τη βάση δεδομένων με κουμπιά αντιγραφής, το preview URL, κουμπιά γρήγορων ενεργειών (Code Editor, Git Manager, Progress Dashboard, phpMyAdmin, Export, Context Settings, Archive) και στατιστικά χρήσης (tokens, χρόνος, ολοκληρωμένα tickets).

Ανάπτυξη σε παραγωγή

Βγάλτε το project σε ρύθμιση nginx έτοιμη για παραγωγή, με δικό του domain ή subdomain. Περιλαμβάνει διαχείριση πιστοποιητικών SSL.

Απομόνωση σε container (LXC)

Τρέξτε το project στο δικό του απομονωμένο LXC container με αποκλειστικές υπηρεσίες. Δείτε την Ενότητα 31 για όλες τις λεπτομέρειες.

Ρυθμίσεις PHP

Ρυθμίστε την έκδοση PHP του host και το .user.ini για projects που τρέχουν απευθείας στον host μέσω nginx:

Σημείωση: Για projects σε container, τα runtimes διαχειρίζονται από την καρτέλα Services.

Ρυθμίσεις context

Προσαρμόστε το AI context αυτού του project: επιλέξτε tech stack για να φορτωθούν οι προεπιλογές, επεξεργαστείτε το global context (καθολικοί κανόνες) και το project context (μοτίβα ανά γλώσσα). Το Global Context v6.2 είναι ένας πυρήνας συν οδηγοί κατ' απαίτηση (planning, verify-fix, asking, update, helper, debugging, frontend, database, build, testing, native, release) που ο agent ανοίγει με το εργαλείο codehero_get_guide· βρίσκονται στο /opt/codehero/config/guides/ και φορτώνονται αυτόματα στα tickets [PLAN], [REPLAN], [VERIFY], [FIX], [HELPER], [PEER] και [WORKER].

Αρχεία project

Αρχεία project
Ανέβασμα αρχείων & αρχεία project

Ανεβάστε αρχεία με drag & drop, περιηγηθείτε στο δέντρο φακέλων, διαγράψτε αρχεία και χρησιμοποιήστε το φίλτρο υποφακέλων. Περιλαμβάνει τα κουμπιά Refresh και Pop Out (άνοιγμα σε νέο παράθυρο).

Database Editor

Database Editor
Database Editor

Κάθε project παίρνει τη δική του βάση MySQL. Τέσσερις καρτέλες: Tables (κάρτες που πατιούνται, με πλήθος γραμμών), Structure (ορισμοί στηλών), Data (περιήγηση με σελιδοποίηση), SQL Query (εκτέλεση ερωτημάτων απευθείας).

Backup & επαναφορά

Backup & επαναφορά
Backup & επαναφορά
ΕπίπεδοΠεριεχόμενοΧρήση
Quick (files+DB)Τα αρχεία και η βάση του project — σε project με container και κάθε βάση του container (v4.54.0+)Γρήγορα ημερήσια backups
Full (+ services)Quick + οι ρυθμίσεις των υπηρεσιών του container και οι προωθήσεις θυρώνΠλήρης κατάσταση του project
Complete (+ tickets)Όλα τα παραπάνω συν τα tickets, τις συνομιλίες και το knowledge graphΜεταφορά μεταξύ servers

Επιπλέον δυνατότητες: εξαγωγή/εισαγωγή image του container (από την v4.55.0 διαβάζονται μόνο τα δεδομένα του image — ένας δίσκος 50 GB με 3 GB δεδομένα διαβάζει 3 GB — και μια εισαγωγή επιστρέφει αραιό (sparse) image), ιστορικό backups με λήψη/επαναφορά/διαγραφή, και ανέβασμα & επαναφορά από άλλον server.

Πιο γρήγορα (v4.55.0+) — ελαφρύτερη συμπίεση (2–3× πιο γρήγορα για λίγο % μεγαλύτερο μέγεθος)· σε project με container, η δική του βάση, που ζει μέσα στο container, αποθηκεύεται μία φορά (παλιότερα αποθηκευόταν δύο)· το panel μένει γρήγορο όσο τρέχει ένα backup· το backup στο κλείσιμο ενός ticket δεν καθυστερεί πια τα tickets των άλλων projects (μόνο το επόμενο ticket εκείνου του project το περιμένει). Κάθε backup σημειώνει πόσα δευτερόλεπτα πήρε κάθε βήμα.

Automatic / Kept / Safety — το Backup History έχει τρεις καρτέλες. Automatic: όσα φτιάχνει η πλατφόρμα (κλείσιμο ticket, αυτόματα) — κρατιούνται τα 20 νεότερα (οποιοσδήποτε αριθμός· 0 = όλα). Kept: Quick / Full / Complete, εξαγωγές image και κάθε 📌 backup που κρατήσατε — δεν διαγράφονται ποτέ αυτόματα. Safety: όσα παίρνονται ακριβώς πριν από μια επαναφορά — τα 5 νεότερα.

Τίποτα δεν λείπει χωρίς ενημέρωση (v4.54.0+) — κάθε ZIP backup φτιάχνεται με ένα πέρασμα (χωρίς προσωρινό αντίγραφο· φωτογραφίες, βίντεο και αρχεία συμπίεσης αποθηκεύονται όπως είναι), κρατά symlinks, άδειους φακέλους και δικαιώματα αρχείων, και αποθηκεύει τη βάση του project με τις procedures, functions, triggers, events και views της. Ό,τι δεν μπόρεσε να αποθηκευτεί — ένα αρχείο που δεν διαβάζεται, μια βάση που δεν έγινε dump, ένα σταματημένο container — αναφέρεται: ⚠ δίπλα στο backup στη λίστα (περάστε το ποντίκι από πάνω για λεπτομέρειες), στο αποτέλεσμα του κουμπιού και του codehero_unified_backup. Μια βάση με χαλασμένο view αποθηκεύεται κανονικά (παραλείπεται μόνο το view, και κατονομάζεται). Ένα backup εμφανίζεται στη λίστα μόνο όταν ολοκληρωθεί.

Αντίγραφο ασφαλείας πριν από κάθε επαναφορά (v4.54.0+) — μια επαναφορά μέσα στο project παίρνει πρώτα ένα Safety snapshot ολόκληρου του container (projects σε container) και ένα πλήρες ZIP backup των αρχείων και κάθε βάσης· αν αυτό το αντίγραφο δεν μπορεί να γίνει, δεν επαναφέρεται τίποτα. Η εισαγωγή image container στο project παίρνει πρώτα το αντίγραφο ZIP (το image αντικαθιστά και τα snapshots του container). Ένα backup που επαναφέρεται ως νέο project φέρνει μαζί και τα αντικείμενα της βάσης του — ιδιοκτήτης τους γίνεται ο χρήστης βάσης του νέου project.

Τι αφήνουν έξω τα ZIP backups — μια λίστα που επεξεργάζεστε, ένα μοτίβο ανά γραμμή: από προεπιλογή το .secrets και οι φάκελοι εξαρτήσεων / build / cache (node_modules, vendor, .git, dist, …). Ένα όνομα ταιριάζει με φάκελο ή αρχείο με αυτό το όνομα οπουδήποτε· μια διαδρομή (public/uploads) με εκείνον τον φάκελο από τη ρίζα του project· τα * και ? είναι globs (*.mp4, uploads/tmp/*). Τα Quick / Full / Complete χρησιμοποιούν κάθε γραμμή· το Export και τα αυτόματα backups χρησιμοποιούν μόνο τη γραμμή .secrets. Η λίστα αποθηκεύεται μόνη της καθώς πληκτρολογείτε (η αφαίρεση της γραμμής .secrets ζητά πρώτα επιβεβαίωση)· το Defaults την επαναφέρει.

Secrets

Οι κωδικοί, τα κλειδιά και τα tokens που δίνετε σε ένα ticket φυλάσσονται ως αρχεία στο .secrets/ στη ρίζα του project:

Πού.secrets/
GitΜένει έξω — μια γραμμή .secrets/ προστίθεται στο .gitignore μία φορά. Διαγράψτε την στον Code Editor για να τα κάνετε commit· δεν προστίθεται ξανά.
ZIP backups, ExportΜένει έξω — αφαιρέστε τη γραμμή .secrets από τη λίστα στο Backup & Restore για να συμπεριληφθούν.
Επαναφορά ZIP backupΤο τρέχον .secrets/ διατηρείται· ένα backup που περιέχει secrets επαναφέρει τα αρχεία του.
Τοπικά snapshotsΠεριλαμβάνεται (τα snapshots δεν φεύγουν ποτέ από το μηχάνημα).
Εξαγωγή image containerΠεριλαμβάνεται — το image είναι ολόκληρος ο δίσκος του container.

Περισσότερη προστασία — ένας φάκελος στον host. Το κουμπί Create στο panel 🔐 Secrets φτιάχνει το /var/lib/codehero/secrets/<CODE>/, έξω από το project: ποτέ σε git, σε backup, σε export, στο image του container ή σε snapshot. Μόνο τα tickets αυτού του project μπορούν να το χρησιμοποιήσουν· σε project με container είναι ορατό μέσα στο container στην ίδια διαδρομή (το κουμπί επανεκκινεί ένα container που τρέχει μία φορά, ποτέ όσο τρέχει ticket του project). Διαγράφεται μαζί με το project.

Το μενού Secrets (v4.52.1+) δείχνει κάθε αρχείο και των δύο θέσεων, πιο κάτω στο ίδιο panel:

Το φίλτρο secrets (v4.53.0+) — οι τιμές που κρατάτε στο .secrets/ και στον φάκελο του host δεν φτάνουν ποτέ στον AI provider:

Danger Zone

Διαγράψτε το project και όλα τα δεδομένα του. Από την v4.55.0 το παράθυρο ρωτά: Take a Complete backup first (η προεπιλογή — αρχεία, κάθε βάση, tickets· αν το backup αποτύχει ή του λείψει μια βάση, π.χ. ενός σταματημένου container, δεν διαγράφεται τίποτα) ή Delete without a backup.

Τα backups που αφήνει ένα διαγραμμένο project — το τελευταίο και τα προηγούμενα — βρίσκονται στο Dashboard → Import Project → Existing backups → Deleted projects: το Import φέρνει πίσω το project (με νέο κωδικό), Download, Delete για ένα, ή Delete all — μαζί και τα dumps των βάσεών του (v4.55.1+). (Πριν από την v4.55.0 το παράθυρο υποσχόταν ένα backup που δεν γινόταν ποτέ.) Μια διαγραφή δεν σβήνει ποτέ βάση ή χρήστη βάσης που χρησιμοποιεί ακόμη άλλο project (v4.55.1+).

5. Ρυθμίσεις project & context

Project context

Κάθε project έχει ένα AI context που βοηθά το AI να καταλάβει τον κώδικα:

Ρυθμίσεις project

Επεξεργαστείτε τις ρυθμίσεις από τη σελίδα του project: αλλάξτε provider, AI model, think mode, ενημερώστε περιγραφή και context, ορίστε τον προεπιλεγμένο τρόπο εκτέλεσης, ρυθμίστε auto-commit και auto-push για το git.

6. Δημιουργία tickets

Τα tickets είναι η βασική μονάδα εργασίας. Κάθε ticket αντιστοιχεί σε μια εργασία που θα ολοκληρώσει το AI.

Δημιουργία ticket
Δημιουργία ticket
ΠεδίοΥποχρεωτικόΠεριγραφή
TitleΝαιΣύντομη περιγραφή της εργασίας
DescriptionΝαιΑναλυτικές οδηγίες για το AI
TypeΌχιΚατηγορία (feature, bug, task, κ.λπ.)
PriorityΌχιlow, medium, high, critical
ProviderΌχιΑντικαθιστά τον provider του project
AI ModelΌχιΑντικαθιστά τον ρόλο developer του project
Think ModeΌχιΑντικαθιστά το think mode του project
Execution ModeΌχιΑντικαθιστά τον τρόπο εκτέλεσης του project
Sequence OrderΌχιΑριθμός σειράς εκτέλεσης
DependenciesΌχιTickets που πρέπει να ολοκληρωθούν πρώτα
Parent TicketΌχιΔημιουργία ως sub-ticket
Max RetriesΌχιΠλήθος αυτόματων επαναλήψεων (προεπιλογή: 3)

Η σελίδα Tickets

Λίστα tickets
Tickets του project

Δυνατότητες: αλλαγή σειράς με drag-and-drop, φιλτράρισμα κατά κατάσταση/τύπο/προτεραιότητα, μαζικές ενέργειες και οπτική απεικόνιση της σειράς.

7. Τύποι tickets & προτεραιότητα

Τύποι tickets

ΤύποςΧρώμαΧρήση
featureΜωβΝέα λειτουργικότητα
bugΚόκκινοΔιόρθωση λανθασμένης συμπεριφοράς
debugΠορτοκαλίΔιερεύνηση, αντιμετώπιση προβλημάτων
rndΒιολετίΈρευνα & ανάπτυξη
taskΓκριΓενική εργασία (προεπιλογή)
improvementΚυανόRefactoring, βελτιστοποίηση
docsΠράσινοΤεκμηρίωση

Προτεραιότητα

ΠροτεραιότηταΠότε τη χρησιμοποιείτε
criticalΕπείγον, μπλοκάρει άλλη εργασία
highΣημαντικό, να γίνει σύντομα
mediumΚανονική προτεραιότητα (προεπιλογή)
lowΚαλό να υπάρχει

8. Τρόποι εκτέλεσης

Ελέγξτε πόση ελευθερία έχει το AI όταν δουλεύει σε tickets.

ΤρόποςΠεριγραφή
AutonomousΠλήρης πρόσβαση, χωρίς ερωτήσεις άδειας. Το AI δουλεύει χωρίς διακοπές. Προεπιλογή
Semi-AutonomousΈξυπνο sandbox. Εγκρίνει αυτόματα τις ασφαλείς ενέργειες, ρωτά για τις ριψοκίνδυνες, μπλοκάρει τις επικίνδυνες.
SupervisedΤο AI ζητά άδεια πριν από κάθε ενέργεια write/edit/bash.

Λεπτομέρειες του Semi-Autonomous

Εγκρίνονται αυτόματα (χωρίς ερώτηση)

Χρειάζονται έγκριση

Μπλοκάρονται

Η δυνατότητα "Approve Similar": Όταν εμφανιστεί ερώτηση άδειας, πατήστε "Approve All Similar" για να εγκρίνονται αυτόματα παρόμοιες ενέργειες στο ίδιο ticket στο εξής.

9. Σειρά εκτέλεσης & εξαρτήσεις

Αριθμοί σειράς

Ελέγξτε τη σειρά εκτέλεσης: δώστε έναν αριθμό (1, 2, 3...) σε κάθε ticket. Οι μικρότεροι αριθμοί τρέχουν πρώτοι. Ίδιος αριθμός = εκτέλεση παράλληλα (όσα ταυτόχρονα επιτρέπουν οι θέσεις MAX_PARALLEL_TICKETS_PER_PROJECT της εγκατάστασης). Ένας μεγαλύτερος αριθμός ξεκινά μόνο όταν κάθε ticket με μικρότερο αριθμό είναι done ή skipped· ένα ticket που μένει σε awaiting_input κρατά πίσω όλα όσα ακολουθούν. Μια εξάρτηση ικανοποιείται μόνο από done/skipped, και στο relaxed και στο strict.

sequence_order=1: [Setup DB, Install deps]     → Run in PARALLEL
sequence_order=2: [Build auth]                  → Waits for seq=1
sequence_order=3: [Users API, Products API]     → Run in PARALLEL

Παράλληλη εργασία και lead mode

Ένα πλάνο τρέχει σειριακά από προεπιλογή: το ένα ticket μετά το άλλο. Tickets μοιράζονται αριθμό σειράς (και τρέχουν παράλληλα) μόνο όταν ζητήσετε παράλληλη εργασία και το planning ticket έχει αποδείξει ότι κανένα δύο από αυτά δεν γράφουν το ίδιο αρχείο.

Μία περίπτωση δεν χρειάζεται έγκριση, γιατί τίποτα δεν μπορεί να συγκρουστεί: το lead mode. Αφού το planning ticket και ο peer του συμφωνήσουν στο πλάνο και έχουν δοθεί οι απαντήσεις σας, ο planner μπορεί να φτιάξει 2–5 στενά συνδεδεμένα μέρη ταυτόχρονα ως tickets [WORKER] που του αναφέρουν:

Το lead mode είναι για λίγα μικρά, στενά συνδεδεμένα μέρη· μια μεγάλη φάση μένει κανονικά tickets με [VERIFY] και [REPLAN].

Relaxed και strict (deps_include_awaiting)

Η ροή αποφασίζει ποιος κλείνει ένα ticket όταν ο agent τελειώνει τη σειρά του (κάθε εκτέλεση τελειώνει σε awaiting_input). Η αναφορά του agent ξεκινά με δύο γραμμές που διαβάζει ο reviewer: NEEDS THE USER: yes/no και OPEN ISSUES AND DOUBTS: …. Πριν τις γράψει, ο agent ελέγχει τη δική του αναφορά: η εργασία που τελείωσε ή καταγράφηκε αναφέρεται ως ολοκληρωμένη, όχι ως ανοιχτό θέμα· μια τεχνική αμφιβολία που δεν μπορεί να λύσει τη δοκιμάζει με άλλο τρόπο και μετά την πηγαίνει σε ένα helper ticket· μόνο ό,τι πραγματικά χρειάζεται εσάς γίνεται yes. Το yes κρατά πάντα το ticket ανοιχτό για εσάς. Ένα chain ticket ([VERIFY], [FIX], [PLAN], [REPLAN]) κλείνει με το δικό του no· οι αμφιβολίες που αναφέρει μένουν καταγεγραμμένες. Ένα ticket [PEER], [HELPER] ή [WORKER] δεν κλείνει ποτέ αυτόματα: το κλείνει το ticket που το άνοιξε. Ένα build ticket του οποίου οι γραμμές λένε no + none κλείνει με αυτές τις γραμμές (ο έλεγχος είναι το επόμενο [VERIFY]). Μια αναφορά που αντιφάσκει (no και μετά λίστα ανοιχτών θεμάτων) ή που δεν έχει τις δύο γραμμές επιστρέφεται μία φορά: ο reviewer γράφει στο ticket (📨 SYSTEM (auto-reviewer): …), ο agent διορθώνει τις γραμμές του και το ticket κλείνει χωρίς να σας περιμένει· αν και η δεύτερη αναφορά αντιφάσκει, το ticket σας περιμένει (ποτέ βρόχος). Ένα ticket σταθμευμένο με ⏸ WAITING-FOR-TICKET #id (number · title) — ή ⏸ WAITING-FOR-ALL-TICKETS #a, #b (…) — περιμένει εκείνα τα tickets (δείτε Tickets που ανοίγουν άλλα tickets). Ένα planning ticket δεν μπορεί να δημιουργήσει tickets όσο ένας peer, helper ή worker του project είναι ακόμη ανοιχτός (η πλατφόρμα αρνείται), και ένα όριο παραθύρου συνδρομής που αναφέρει το CLI σταματά προσωρινά το ticket και ξαναδοκιμάζει κάθε λίγα λεπτά μέχρι να επανέλθει το παράθυρο.

Ο auto-reviewer, ο watchdog (κάθε 30 λεπτά ελέγχει ότι ένα ticket που τρέχει δεν έχει κολλήσει) και οι περιλήψεις των tickets σκέφτονται σε balanced από προεπιλογή, στον provider του ticket. Αλλάξτε το ανά ρόλο στο heroagent.conf → role_think_modes (close_ticket_reviewer, kill_switch: off, basic, balanced ή ultra).

ΤρόποςΣυμπεριφορά
Relaxed (προεπιλογή)Ο auto-reviewer διαβάζει την τελική αναφορά και κλείνει το ticket (done) όταν η εργασία είναι πλήρης και καθαρή, ώστε τα επόμενα tickets να ξεκινούν μόνα τους
StrictΤίποτα δεν κλείνει αυτόματα· εσείς ελέγχετε και κλείνετε κάθε ticket, και η εκτέλεση περιμένει σε καθένα

10. Sub-tickets & parent tickets

Σπάστε σύνθετες εργασίες σε μικρότερα κομμάτια:

  1. Δημιουργήστε ένα κύριο (parent) ticket
  2. Δημιουργήστε sub-tickets με το Parent Ticket ορισμένο στο κύριο ticket
  3. Τα sub-tickets κληρονομούν το project context + λαμβάνουν την περίληψη της συνομιλίας του parent

Τα sub-tickets περιμένουν πρώτα να ολοκληρωθεί ο parent και μετά λαμβάνουν context από τον τίτλο, την περιγραφή και τα τελευταία 50 μηνύματα του parent.

Tickets που ανοίγουν άλλα tickets

Τα tickets ανοίγουν άλλα tickets ενώ δουλεύουν: ένα planning ticket ανοίγει έναν [PEER] που ελέγχει το πλάνο του (και [WORKER]s στο lead mode), ένας verifier ανοίγει ένα [FIX] για τον builder, και κάθε ticket μπορεί να ανοίξει ένα [HELPER] για μια αμφιβολία που δεν μπορεί να λύσει. Η πλατφόρμα καταγράφει ποιος άνοιξε κάθε ticket (created_by_ticket_id). Επικοινωνούν με μηνύματα (codehero_update_ticket(reply=…), με υπογραφή 📨 FROM TICKET #id): ένα ticket που δουλεύει διαβάζει ένα μήνυμα στο επόμενο βήμα του, ένα σταθμευμένο ticket ξυπνά από αυτό. Η πλατφόρμα φροντίζει να μην περιμένει κανείς για πάντα:

ΚατάστασηΤι κάνει η πλατφόρμα
Ένα ticket που άνοιξε άλλο ticket (peer, helper, worker, fix) τελειώνει τη σειρά του χωρίς να απαντήσει σε αυτό που το άνοιξεΣτέλνει σε αυτό που το άνοιξε την τελική αναφορά εκείνου του ticket — "This ticket, which YOU opened, ended its turn without replying to you. If it has not given you an answer, ask it again" — και το ξυπνά
Ένα ticket τελειώνει τη σειρά του περιμένοντας, ενώ άλλο ticket είναι σταθμευμένο και περιμένει αυτόΛέει στο σταθμευμένο ticket να ρωτήσει ξανά (📨 SYSTEM (waiting-check): …) και το ξυπνά — το πολύ δύο φορές ανά ticket από το τελευταίο σας μήνυμα· μετά το αφήνει σε εσάς
Ένας planner περιμένει πολλούς workers (⏸ WAITING-FOR-ALL-TICKETS)Τον ξυπνά μία φορά, όταν όλοι έχουν απαντήσει ή τελειώσει
Ένα μήνυμα είναι μόνο ενημερωτικό (για παράδειγμα μια αλλαγή στην προδιαγραφή)Το παραδίδει χωρίς να ξυπνήσει σταθμευμένο ticket (wake=false, εμφανίζεται ως "ℹ️ FOR YOUR INFORMATION")· ένα ticket που το διαβάζει ενώ περιμένει επιστρέφει στην αναμονή

Ένα κλειστό ticket (done ή skipped) δεν ξυπνά ποτέ από κανένα από αυτά.

Όταν η απάντησή σας αλλάζει το προϊόν. Απαντάτε στην ερώτηση ενός ticket και η απάντηση αλλάζει μια απαίτηση (για παράδειγμα η προθεσμία πληρωμής γίνεται 45 ημέρες αντί για 30). Το ticket καταγράφει την αλλαγή μία φορά, ως γραμμή στο αρχείο αλλαγών .specs/000-changes.md (οδηγός update.md), ενημερώνει τα specs και τα tests της εργασίας που είναι ακόμη ανοιχτή και στέλνει μια ενημέρωση μόνο για πληροφόρηση στα ημιτελή tickets που αφορά. Κάθε ticket διαβάζει πρώτα το αρχείο αλλαγών, ώστε τα επόμενα tickets, ο verifier και το replan να γνωρίζουν την αλλαγή χωρίς να την επαναλαμβάνετε· ολοκληρωμένη εργασία που αναφέρει ακόμη την παλιά τιμή γίνεται ανοιχτό θέμα που διορθώνει το επόμενο [REPLAN].

11. Κύκλος ζωής tickets & ενέργειες

Καταστάσεις ticket

ΚατάστασηΠεριγραφή
openΠεριμένει να επεξεργαστεί
in_progressΤο AI δουλεύει αυτή τη στιγμή
awaiting_inputΤο AI χρειάζεται την απάντησή σας
doneΟλοκληρώθηκε επιτυχώς
failedΚάτι πήγε στραβά
skippedΠαραλείφθηκε χειροκίνητα
timeoutΞεπέρασε τη μέγιστη διάρκεια

Λεπτομέρειες ticket

Λεπτομέρειες ticket
Σελίδα λεπτομερειών ticket

Συνομιλία ticket

Συνομιλία ticket
Συνομιλία ticket

Σε κινητό, tablet ή αναδιπλούμενη συσκευή η συνομιλία παίρνει την οθόνη. Μέχρι πλάτος 1100 px (tablets, ένα ανοιχτό Galaxy Fold) το μενού βρίσκεται πίσω από το ☰ και οι λεπτομέρειες του ticket ανοίγουν από το Details. Με κύλιση της συνομιλίας προς τα κάτω κρύβεται η μπάρα μενού, και με κύλιση προς τα πάνω εμφανίζεται ξανά. Όσο πληκτρολογείτε, τα 📎 και 🎤 παραμερίζουν ώστε το πλαίσιο κειμένου να πάρει το πλάτος. Ένας μεγάλος τίτλος ticket μένει σε μία γραμμή. Όταν επιστρέφετε στην εφαρμογή αφού η οθόνη ήταν σβηστή, εμφανίζονται τα μηνύματα που έφτασαν στο μεταξύ, χωρίς ανανέωση.

Ενέργειες

ΚουμπίΤι κάνει
Start Now / Force NextΕξαναγκασμένη εκκίνηση: τρέχει αμέσως, παράλληλα με ό,τι τρέχει, αγνοώντας τον αριθμό σειράς, τις εξαρτήσεις και το όριο θέσεων (για ticket παρατηρητή ή μια μικρή αλλαγή· η σήμανση μένει στο ticket)
RetryΕπανάληψη ενός αποτυχημένου ticket
SkipΠαράλειψη αυτού του ticket
DeleteΟριστική διαγραφή του ticket
StopKill switch — σταματά το AI αμέσως
Send MessageΠροσθήκη οδηγιών — ένα ticket που δουλεύει τις διαβάζει στο επόμενο βήμα του· ένα ticket σε αναμονή ξανανοίγει

12. Αυτόματη επανάληψη

Τα αποτυχημένα tickets μπορούν να ξαναδοκιμάσουν αυτόματα. Κάθε ticket έχει retry_count (ξεκινά από 0) και max_retries (προεπιλογή 3). Όταν ένα ticket αποτύχει, το retry_count αυξάνεται. Αν retry_count < max_retries, το ticket επανέρχεται σε open και δοκιμάζει ξανά.

13. Υποστήριξη πολλών providers

Το CodeHero δρομολογεί μέσω 7 cloud providers — οι πέντε από αυτούς και με συνδρομή σταθερής τιμής — και ενός επιλεγμένου καταλόγου του OpenRouter (24 μοντέλα παρακάτω). Αλλάζετε ανά εργασία — ποτέ δεσμευμένοι. Τοπικά μοντέλα και μοντέλα στον δικό σας server: τα Ollama, vLLM και γενικά OpenAI-compatible endpoints (LM Studio, llama.cpp …) είναι υποστηριζόμενοι adapters — χρειάζονται ρύθμιση και δεν είναι ενεργά από προεπιλογή.

ProviderΜοντέλα ρόλων (master · senior · junior)Τιμή provider (in/out ανά 1M)Συνδρομή
AnthropicClaude Fable 5.1 · Opus 5.5 · Sonnet 5.5 (vision)$10/$50 → $2/$10✅ Claude Pro / Max — μέσω του Claude Code CLI
OpenAIGPT-6 Astra · GPT-6.1 Sol · GPT-6 Luna (vision)$10/$50 → $0.10/$0.50✅ ChatGPT Plus / Pro — μέσω του Codex CLI
xAI GrokGrok 4.7 · Grok 4.7 · Grok Build 0.1 (vision· context 500K / 256K)$2/$6 → $1/$2✅ SuperGrok — μέσω του Grok Build CLI (5.0.1)
z.ai GLMGLM 5.3 · GLM 5.2 · GLM 5.3 FlashX (vision) — συν GLM 5.1, 5V Turbo, 4.7, 4.6V και τα Flash μοντέλα τουςGLM 5.3: $1.40/$4.40✅ GLM Coding plan
QwenCloudGLM 5.3 · Qwen 3.8 Max · Qwen 3.8 Flash (vision, context 1M) — συν Kimi K2.7 Code$2/$6 → $0.15/$0.47✅ Token Plan (ή πληρωμή με τη χρήση)
OpenRouterQwen 3.8 Flash · Qwen 3.8 27B · Qwen 3.6 35B-A3B (vision) από προεπιλογή — ο παρακάτω κατάλογος σε οποιοδήποτε ticketανά μοντέλο (κατάλογος παρακάτω)—

Οι providers μπορεί να προσφέρουν περισσότερα μοντέλα από τα τρία προεπιλεγμένα των ρόλων τους· το εργαλείο codehero_get_model_table δείχνει τα αποδεκτά, με τους ρόλους τους, το vision, το κόστος, τη βαθμολογία και τον ρόλο που κερδίζει η βαθμολογία, και το planning ticket μπορεί να δώσει σε ένα ticket οποιοδήποτε από αυτά (το model του ticket). Με κληρονομημένες ρυθμίσεις και το προεπιλεγμένο μοντέλο του ρόλου, όταν ένα μοντέλο καλύπτει δύο ρόλους, ο ανώτερος ρόλος σκέφτεται ένα βήμα περισσότερο (με ανώτατο το pro)· το δικό του think mode ή μοντέλο ενός ticket υπερισχύει.

Κατάλογος OpenRouter με τιμές & δυνατά σημεία

Τιμές ανά 1M tokens όπως είναι στον πίνακα τιμών αυτής της έκδοσης (εκτιμήσεις· η σελίδα του ίδιου του OpenRouter είναι η έγκυρη). Το Sub σημειώνει μοντέλο του οποίου την οικογένεια μπορείτε να τρέξετε και με συνδρομή σταθερής τιμής μέσω του δικού της provider. Το βάρος Smart είναι 1–10 (10 = η αιχμή του arena).

#ΜοντέλοOpenRouter in / out (ανά 1M)SubSmartΚατάλληλο για
1anthropic/claude-fable-5.1$10 / $50✅10συλλογισμό, debug, mobile, web design, refactor (vision)
2anthropic/claude-opus-5.5$4 / $20✅10web design, PHP backend, backend API, code review, βάσεις δεδομένων, debug (vision)
3anthropic/claude-sonnet-5$2 / $10✅9boilerplate, τεκμηρίωση, PHP frontend, testing, web design (vision)
4openai/gpt-6-astra$10 / $50✅10συλλογισμό, debug, mobile, web design, code review (vision)
5openai/gpt-6-sol$2 / $10✅9βάσεις δεδομένων, PHP backend, backend API, frontend frameworks (vision)
6openai/gpt-6-luna$0.10 / $0.50✅7boilerplate, τεκμηρίωση, PHP frontend, testing, backend API (vision)
7x-ai/grok-4.3$1.25 / $2.50✅8συλλογισμό, debug, backend API, code review (μόνιμα ενεργός συλλογισμός, context 1M) (vision)
10z-ai/glm-5.1δωρεάν (όπως αναγράφεται)✅8frontend frameworks, PHP, τεκμηρίωση (μόνο κείμενο)
11moonshotai/kimi-k2.6$0.73 / $3.49—8συλλογισμό σε μεγάλο context, δίγλωσσο κινεζικά/αγγλικά, κώδικα (vision)
12xiaomi/mimo-v2.5-pro$1 / $3—7συλλογισμό σε κώδικα, εργασίες agent (συμπαγές MoE) (μόνο κείμενο)
13minimax/minimax-m2.7$0.279 / $1.20—7παραγωγή μεγάλων κειμένων, ροές agent (μόνο κείμενο)
14qwen/qwen3.6-plus$0.325 / $1.95—7boilerplate, PHP backend, backend API, testing, τεκμηρίωση (vision)
15qwen/qwen3.7-max$1.25 / $3.75—9συλλογισμό, debug, refactor, code review, agentic coding (μόνο κείμενο)
16qwen/qwen3.8-max-0902$2 / $6✅—συλλογισμό, agentic coding, code review (vision)
17qwen/qwen3.8-flash$0.15 / $0.47✅7OpenRouter master · φθηνό agentic coding, context 1M (vision)
18qwen/qwen3.8-omni-flash$0.15 / $0.47——φθηνό agentic coding· είσοδος κειμένου, εικόνας, ήχου, βίντεο (vision)
19qwen/qwen3.8-27b$0.24 / $2.20—7OpenRouter senior · μικρό ανοιχτό μοντέλο — τρέχει και στο δικό σας μηχάνημα (vision)
20qwen/qwen3.6-35b-a3b$0.15 / $1—6OpenRouter junior · μικρό ανοιχτό μοντέλο MoE — τρέχει και στο δικό σας μηχάνημα (vision)
21google/gemma-4-26b-a4b-it$0.08 / $0.26——μικρό ανοιχτό μοντέλο MoE — τρέχει και στο δικό σας μηχάνημα (vision)
22google/gemma-4-31b-it$0.09 / $0.34——μικρό ανοιχτό μοντέλο — τρέχει και στο δικό σας μηχάνημα (vision)
23openai/gpt-oss-20b$0.02 / $0.09——μικρό ανοιχτό μοντέλο — τρέχει και στο δικό σας μηχάνημα (μόνο κείμενο)
24openai/gpt-oss-120b$0.15 / $0.60——ανοιχτό μοντέλο — τρέχει και στο δικό σας μηχάνημα (μόνο κείμενο)
Συνδρομές. Τα Claude Pro / Max (Claude Code CLI), ChatGPT Plus / Pro (Codex CLI), SuperGrok (Grok Build CLI), το z.ai GLM Coding plan και το QwenCloud Token Plan χρεώνονται με σταθερή μηνιαία τιμή. Ο planner του CodeHero μετρά μια συνδρομή με effective_cost_weight = cost × 0.10 και προτιμά αυτές τις διαδρομές αυτόματα. Μια εκτέλεση με συνδρομή δεν περνά ποτέ σε χρέωση API: οι συνδρομές μέσω CLI τρέχουν χωρίς το πληρωμένο κλειδί στο περιβάλλον τους, και τα plans του GLM και του QwenCloud χρησιμοποιούν το δικό τους endpoint.

Βάρη κόστους (προεπιλογές της έκδοσης, 1-10 — μικρότερο = φθηνότερο)

ProviderMasterSeniorJunior
Anthropic1074
OpenAI1041
Grok442
GLM431
QwenCloud451
OpenRouter (qwen3.8-flash / qwen3.8-27b / qwen3.6-35b-a3b)111

Βάρη ικανότητας (Smart, προεπιλογές της έκδοσης, 1-10 — μεγαλύτερο = ισχυρότερο)

ProviderMasterSeniorJunior
Anthropic10109
OpenAI1097
Grok997
GLM987
QwenCloud997
OpenRouter776

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

Καμία σύνδεση με τα πρόσθετα του λογαριασμού σας Claude / ChatGPT (v4.55.0+) — κάθε Claude CLI που ξεκινά το CodeHero (tickets, ο reviewer, ο assistant) τρέχει χωρίς τους connectors του claude.ai (Gmail, Google Drive, Calendar, Claude Docs), τα skills και τα plugins που συγχρονίζονται από το claude.ai, το εργαλείο Artifact και το Remote Control· το Codex τρέχει χωρίς τις εφαρμογές και τα plugins του ChatGPT. Μόνο για αυτές τις εκτελέσεις — τίποτα στον δίσκο δεν μετακινείται, και οι δικές σας sessions δεν επηρεάζονται. Τα εργαλεία codehero παραμένουν.

Η σύνθεση αλλάζει από έκδοση σε έκδοση: η σελίδα Providers (και το εργαλείο codehero_get_providers_info) δείχνει τα μοντέλα, τα βάρη και τα δυνατά σημεία της δικής σας εγκατάστασης.

Στρατηγική για τα rate limits: Όταν τρέχετε tickets παράλληλα, μοιράστε τα σε διαφορετικούς providers ώστε να μη φτάνετε τα όρια ανά provider. Ο planner το κάνει αυτόματα όταν έχουν ρυθμιστεί περισσότεροι από ένας.
Όταν εξαντληθεί το όριο μιας συνδρομής (από την v4.50.17): το ticket σταματά αμέσως, γράφει μία ειδοποίηση ("⏳ Usage limit reached …") και περιμένει με κατάσταση open. Ξαναδοκιμάζει μόνο του όταν μηδενιστεί το παράθυρο, και το πολύ κάθε 30 λεπτά όσο διαρκεί το όριο. Συνεχίζει από εκεί που σταμάτησε· η αναμονή δεν μετρά ως αποτυχημένη προσπάθεια, και ο reviewer και ο watchdog δεν το αγγίζουν. Ένα μήνυμά σας το κάνει να δοκιμάσει αμέσως.

14. Ρόλοι developer

Κάθε ticket αποθηκεύει έναν ρόλο developer· το συγκεκριμένο μοντέλο προκύπτει από τα model_aliases του provider στο heroagent.conf, οπότε ένα νέο μοντέλο δεν χρειάζεται καμία αλλαγή στα tickets.

ΡόλοςAnthropicOpenAIΧρήση
master_developerClaude Fable 5.1GPT-6 AstraΜόνο όταν το επιλέξετε (κοστίζει πολλά tokens)
senior_developerClaude Opus 5.5GPT-6.1 SolPlanning και replan tickets και οι peers τους, verifiers, helpers, δύσκολη εργασία build
junior_developerClaude Sonnet 5.5GPT-6 LunaΕργασία build: τετριμμένη, απλή και μέτρια

Ο ίδιος ρόλος δεν σημαίνει την ίδια ικανότητα παντού: συγκρίνετε τα βάρη ικανότητας (Ενότητα 13). Ο junior της Anthropic (Sonnet 5.5, βάρος ικανότητας 9) μπορεί να πάρει μέτρια εργασία· ένας junior με βάρος ικανότητας 7 ή λιγότερο παίρνει μόνο τετριμμένη και απλή εργασία.

Ρόλος και think mode ανά είδος ticket

Το planning ticket τα ορίζει για κάθε ticket που δημιουργεί — οικονομία χωρίς απώλεια ποιότητας: το πλάνο το φτιάχνουν δύο seniors διαφορετικών οικογενειών (ο planner και ο peer του) που το ελέγχουν μαζί, με το πολύ τρεις ανταλλαγές· τα build tickets, όπου πηγαίνουν τα περισσότερα tokens, τρέχουν σε junior. Master μόνο όταν το επιλέξετε — στο project ή σε οποιοδήποτε μεμονωμένο ticket· η επιλογή σας υπερισχύει πάντα.

TicketΡόλοςThink modeΈνα βήμα υψηλότερα όταν
[PLAN] / [REPLAN]seniorbalancedultra: ένα νέο πραγματικό project· χρήματα, δικαιώματα, ασφάλεια ή διαγραφή στο εύρος· ένα replan μετά από αποτυχημένη ή μπλοκαρισμένη εργασία
[PEER] (έλεγχος πλάνου)senior, ποτέ κάτω από τον plannerτου planner—
[HELPER]senior, ποτέ κάτω από το ticket που το ανοίγειultra—
[VERIFY]senior, η άλλη οικογένεια providersbalancedultra: χρήματα, δικαιώματα, ασφάλεια, διαγραφή ή ταυτοχρονισμός
[FIX]ο provider και ο ρόλος του builderτου builderγύρος 2: ένα βήμα σκέψης πάνω · γύρος 3: senior + ultra
Build / [WORKER] / [RELEASE]junior· senior για δύσκολη εργασία — αποφασίζει το ticket που το δημιουργείανάλογα με τη δυσκολία—

Δυσκολία ενός build ticket

ΔυσκολίαΕνδείξειςΡόλος + think (στρατηγική balanced)
Τετριμμένηκείμενα, ετικέτες, τιμές ρυθμίσεων, τεκμηρίωση· αντίγραφο ενός μοτίβου που υπάρχει ήδη στο projectjunior + off
Απλήμια φόρμα, CRUD ή στατική σελίδα πάνω σε υπάρχον μοτίβο, απλός έλεγχος εγκυρότητας, 1–2 αρχείαjunior + basic
Μέτριαμια νέα λειτουργία με λογική σε λίγα αρχεία, η πρώτη εμφάνιση ενός μοτίβου, ένα σχήμα 2–5 πινάκωνjunior + balanced
Δύσκοληχρήματα, φόροι, τιμές · δικαιώματα, απομόνωση tenants · διαγραφή, διατήρηση δεδομένων · ταυτοχρονισμός, ουρές, κλειδώματα · ασφάλεια, secrets · ένα εξωτερικό API με αβέβαια αποτελέσματα · μεταφορά πραγματικών δεδομένων · ένα ασαφές bug · οτιδήποτε δύσκολο να ελεγχθείsenior + ultra

Η στρατηγική eco κατεβαίνει ένα βήμα (ποτέ για δύσκολη εργασία, ποτέ κάτω από junior + off)· η performance ανεβαίνει ένα βήμα. Ένα μέρος που απέτυχε στο παρελθόν ανεβαίνει ένα βήμα.

15. Think Mode (εκτεταμένη σκέψη)

ΤρόποςΠεριγραφήΚατάλληλο για
offΧωρίς εκτεταμένη σκέψηΤετριμμένες εργασίες
basicΕλαφρύς συλλογισμόςΑπλές λειτουργίες
balancedΜέτρια ανάλυσηΤις περισσότερες εργασίες (προεπιλογή project)
ultraΒαθύς συλλογισμόςΣχεδιασμό, peers, helpers, δύσκολη εργασία, debugging

Το ultra δεν είναι ποτέ προεπιλογή project: ανήκει στα tickets της Ενότητας 14 και στη ρητή επιλογή σας. Το think mode αγοράζει κυρίως ταχύτητα και βάθος παρά κόστος — τα περισσότερα tokens είναι το project context που διαβάζεται ξανά σε κάθε βήμα.

Πώς το εφαρμόζει κάθε provider

Provideroff → basic → balanced → ultra
Anthropic (API, claude CLI)effort low → high → xhigh → max
OpenAI (API, Codex CLI)effort none (GPT-6 Astra: low, το χαμηλότερό του) → high → xhigh → max
OpenRouterανά μοντέλο: τα μοντέλα OpenAI και Claude χρησιμοποιούν τα παραπάνω επίπεδα effort (το ultra του Claude εκεί είναι xhigh)· τα άλλα μοντέλα on/off
Grok, GLM, QwenCloudανά μοντέλο: επίπεδα effort (Grok 4.7, GLM 5.3), προϋπολογισμός σκέψης (Qwen) ή σκέψη on / off· κάποια μοντέλα σκέφτονται πάντα (Grok Build, GLM 5.3)
Ollama, vLLMχωρίς υποστήριξη σκέψης

Όριο context

Κάτω από το Think Mode — στο project, στη φόρμα νέου ticket και στη σελίδα του ticket — το Context limit ορίζει το μέγεθος στο οποίο συμπιέζεται το context ενός ticket. Το Claude CLI και το Codex συμπιέζουν το δικό τους context σε αυτό και ξεκινούν κάθε εκτέλεση μέσα σε αυτό· με τους API providers η δική του συμπίεση του CodeHero τρέχει σε αυτό. Όσο δουλεύει το Claude CLI ή το Codex, το CodeHero εξακολουθεί να συνοψίζει το αποθηκευμένο ιστορικό στα μεγαλύτερα όρια του heroagent.conf, ώστε να μην ξεπερνά ποτέ μία περίληψη. Μικρότερο context σημαίνει λιγότερα tokens σε κάθε κλήση.

Είδος ticketClaude και API providersCodex
[PLAN] / [REPLAN]400K300K
[VERIFY] — ελέγχει πολλά tickets και διαβάζει πολλά δεδομένα300K250K
Build / [WORKER] / [RELEASE]250K200K
[FIX] — ένα συγκεκριμένο πρόβλημα / [HELPER]150K150K
[PEER]το όριο του ticket που το άνοιξετο ίδιο

Η σειρά είναι plan > verify > build > fix. Ένας [PEER] σκέφτεται το ίδιο πρόβλημα με το ticket που τον άνοιξε, οπότε παίρνει τη δική του τιμή εκείνου του ticket, ή το Auto του είδους του στη στήλη του peer (peer ενός planner: 400K / 300K)· χωρίς ticket που τον άνοιξε, του planner. Ένας verifier ανοίγει ένα [FIX] ανά εύρημα (ή ανά μικρή ομάδα στο ίδιο σημείο, το πολύ πέντε ανά κύκλο), κάτι που κρατά κάθε διόρθωση μικρή.

Ένας planner ορίζει τιμή μόνο με λόγο — 100K για ticket που μόνο τρέχει tests, 500K–800K για planning ticket που πρέπει να διαβάσει πολύ μεγάλο baseline. Ο πίνακας βρίσκεται στο heroagent.conf (context_limits).

16. Υποστήριξη εικόνας (vision)

Κάποιοι providers μπορούν να «βλέπουν» — να αναλύουν screenshots, διατάξεις UI και οπτικό περιεχόμενο.

ProviderVisionΧρήση
AnthropicΝαιΈλεγχος UI, styling, οπτικός έλεγχος ποιότητας
GLMΕξαρτάταιΤα GLM 5.3 FlashX, 5V Turbo, 4.6V βλέπουν· τα GLM 5.3 και 5.2 είναι μόνο κειμένου
QwenCloudΕξαρτάταιΤα Qwen 3.8 Max / Flash και Kimi K2.7 βλέπουν· το GLM 5.3 είναι μόνο κειμένου
GrokΝαιΈλεγχος UI
OpenAIΝαιΈλεγχος UI
OpenRouterΕξαρτάταιΕξαρτάται από το υποκείμενο μοντέλο
OllamaΌχιΜόνο backend
vLLMΌχιΜόνο backend
Για web projects: Χρησιμοποιήστε providers με vision για εργασίες HTML/CSS/UI. Τα μοντέλα μόνο κειμένου είναι μια χαρά για εργασία μόνο backend.

17. Code Editor

Ο ενσωματωμένος Monaco Editor προσφέρει επεξεργασία ποιότητας VS Code μέσα στον browser σας.

Code Editor
Code Editor
Ρύθμιση LSP: Τρέξτε sudo /opt/codehero/scripts/setup_lsp.sh για να εγκαταστήσετε τους language servers για πλήρεις δυνατότητες IDE.

18. File Explorer

File Explorer
File Explorer

19. Git Manager

Πλήρης έλεγχος εκδόσεων μέσα από το web περιβάλλον.

Git Manager
Git Manager - αποθετήρια

Το CodeHero εντοπίζει αυτόματα τα αποθετήρια Git στον φάκελο του project σας. Υποστηρίζονται πολλά αποθετήρια ανά project.

Clone & Init

Clone αποθετηρίου
Clone αποθετηρίου

Κάντε clone απομακρυσμένα αποθετήρια (HTTPS/SSH), αρχικοποιήστε νέα αποθετήρια και αποθηκεύστε στοιχεία πρόσβασης Git ανά αποθετήριο.

Clone πάνω σε παλιά αρχεία: τσεκάρετε το Replace local files with the repository's files — πρώτα λαμβάνεται ένα snapshot ασφαλείας (χωρίς αυτό δεν αντικαθίσταται τίποτα)· προαιρετικά διαγράφονται και τα τοπικά αρχεία που δεν υπάρχουν στο αποθετήριο (τα αγνοημένα αρχεία όπως το .env μένουν πάντα, όπως και ένα άλλο αποθετήριο μέσα στον φάκελο). Το παράθυρο δείχνει κάθε βήμα ζωντανά με τον χρόνο του (snapshot ασφαλείας, fetch, checkout). Αρχεία άλλου χρήστη (τα αρχεία που σερβίρονται στο web ανήκουν συχνά στον www-data) περνούν στην ιδιοκτησία σας όταν το αποθετήριο τα παρακολουθεί, ώστε το Git να μπορεί να τα αντικαταστήσει τώρα και να κάνει pull αργότερα· τα υπόλοιπα κρατούν τον ιδιοκτήτη τους. Το Remove repository (Settings → Danger zone) διαγράφει το .git και το .gitignore εκείνου του αποθετηρίου στον δικό του φάκελο και την εγγραφή του με τα αποθηκευμένα στοιχεία πρόσβασης· τα άλλα αρχεία και τα άλλα αποθετήρια του project μένουν.

Αλλαγές & commits

Αλλαγές Git
Αλλαγές & commits

Διάταξη όπως η προβολή commit ενός IDE: τα αλλαγμένα αρχεία αριστερά, το καθένα με ένα τσεκ — γίνονται commit μόνο τα τσεκαρισμένα αρχεία (Commit / Commit and Push)· ένα αρχείο χωρίς τσεκ μένει χωρίς commit, και μετά από Refresh. Πατήστε ένα αρχείο για να το δείτε από το τελευταίο commit μέχρι τώρα στα δεξιά: Split = πριν | μετά δίπλα-δίπλα, το Whole file δείχνει και τις αμετάβλητες γραμμές, και η πλήρης οθόνη δίνει στην προβολή όλη την οθόνη. Η προβολή διαφορών: μία κάρτα ανά αρχείο (Added / Modified / Deleted / Renamed, μετρητές +/−), παλιοί και νέοι αριθμοί γραμμών, επισήμανση του αλλαγμένου μέρους μιας γραμμής που άλλαξε, Unified / Split (απομνημονεύεται), οι staged και οι μη staged αλλαγές χωριστά, και Open in editor ↗. Η ίδια προβολή χρησιμοποιείται στο History και στα Backups.

Branches

Git branches
Branches

Δείτε τοπικά και απομακρυσμένα branches, δημιουργήστε, κάντε checkout, merge με επίλυση conflicts, και διαγράψτε. Το Checkout σε απομακρυσμένο branch σας μεταφέρει στο τοπικό σας branch που το παρακολουθεί (ή το δημιουργεί). Χωρίς ενεργό branch (ένα tag ή ένα commit), η κάρτα δείχνει detached @<commit> και μια ειδοποίηση προσφέρει το Create branch here, ώστε τα commits που γίνονται εκεί να μπορούν να γίνουν push. Το push δημιουργεί νέο branch στο remote και το βάζει να το παρακολουθεί· το History σημειώνει ένα commit ως pushed όταν το έχει ένα απομακρυσμένο branch.

Conflicts

Όταν ένα merge ή pull σταματά σε conflicts, εμφανίζεται η καρτέλα Conflicts (N). Ένα banner λέει τι συγχωνεύεται σε τι, και κάθε αρχείο δείχνει τα μπλοκ conflict δίπλα-δίπλα (ours = το τρέχον branch σας, theirs = το branch που συγχωνεύεται) με επισημασμένες τις λέξεις που διαφέρουν και τις γύρω γραμμές.

Το commit απορρίπτεται όσο υπάρχουν ακόμη αρχεία σε conflict, ώστε ένα commit να μην περιέχει ποτέ σημάδια <<<<<<<.

Tags

Git tags
Tags

Δείτε, δημιουργήστε (lightweight και annotated), κάντε push και διαγράψτε tags.

History

Ιστορικό Git
Ιστορικό commits

Log των commits με συντάκτη, ημερομηνία, μήνυμα. Προβολή διαφορών ανά commit. Revert συγκεκριμένων commits. Reset σε οποιοδήποτε commit (soft/mixed/hard).

Stash

Git stash
Stash

Κάντε stash τις τρέχουσες αλλαγές, δείτε τη λίστα των stashes, apply/pop και drop.

Diff Viewer

Diff Viewer
Diff Viewer σε πλήρη οθόνη

Διαφορές σε πλήρη οθόνη με σύγκριση στην ίδια στήλη ή δίπλα-δίπλα, χρωματισμό σύνταξης και πλοήγηση γραμμή προς γραμμή.

Ιστορικό backups

Git backup
Ιστορικό backups

Auto-Commit & Auto-Push

Ρυθμίζονται ανά αποθετήριο: auto-commit όταν το AI ολοκληρώνει ένα ticket, auto-push μετά το auto-commit.

Settings

Ρυθμίσεις Git
Ρυθμίσεις αποθετηρίου

Διαχείριση του remote URL, στοιχεία πρόσβασης, διακόπτες auto-commit/auto-push, ρύθμιση του προεπιλεγμένου branch.

20. Console (έξοδος σε πραγματικό χρόνο)

Console
Console

21. Web Terminal

Web Terminal
Web Terminal

22. Package Manager

Package Manager
Package Manager
ΠακέτοΤι εγκαθιστά
Development ToolsNode.js 22, Java (GraalVM 24), ffmpeg, ImageMagick, tesseract
Android DevelopmentDocker, Redroid emulator, ws-scrcpy, ADB, Flutter, Gradle
Windows/.NET.NET 8 SDK, PowerShell 7, Wine, Mono, NuGet
Code Editor LSPLanguage servers για Python, JS/TS, PHP, Java, C#, Kotlin, HTML/CSS

23. Ιστορικό sessions

Ιστορικό sessions
Ιστορικό sessions

Δείτε όλες τις προηγούμενες sessions εκτέλεσης του AI: ώρες έναρξης/λήξης, διάρκεια, κωδικούς εξόδου (0 = επιτυχία), το σχετικό ticket, χρήση tokens και πλήρες log της session. Φιλτράρισμα κατά ημερομηνία, project ή κατάσταση.

24. Πρόοδος project

Πρόοδος project
Πρόοδος project

Οπτική επισκόπηση: ποσοστό ολοκλήρωσης, πλήθος tickets ανά κατάσταση/τύπο, απεικόνιση της ροής της σειράς, κατανομή μοντέλων και ενσωματωμένος AI assistant για συνομιλία ειδικά για το project.

25. Kill Switch

Σταματήστε το AI αμέσως όταν δουλεύει σε ένα ticket.

Δεν χρειάζεται να σταματήσετε ένα ticket για να του μιλήσετε. Γράψτε στη σελίδα του ticket ή στο chat του κινητού και πατήστε Send ενώ δουλεύει: το μήνυμα φεύγει αμέσως και ο agent το διαβάζει στο επόμενο βήμα του (Claude, Codex και κάθε API provider), στην ίδια εκτέλεση — όπως ένα μήνυμα από άλλο ticket. Ένα μήνυμα που φτάνει καθώς τελειώνει η εκτέλεση ξανανοίγει το ticket, οπότε τίποτα δεν χάνεται. Χρησιμοποιήστε το Kill Switch μόνο για να σταματήσετε την εργασία.

ΤρόποςΠώς
Stop ButtonΈνα διπλό κουμπί ⏸ | ⏹ εμφανίζεται δίπλα στο Send όταν το ticket είναι in_progress· το κόκκινο μισό ⏹ σταματά αμέσως
/stop CommandΠληκτρολογήστε /stop στο πεδίο του chat
Pause (⏸ ή /pause)Από την v4.50.16: το ticket ολοκληρώνει το τρέχον βήμα του, σταματά ό,τι ξεκίνησε, σημειώνει πού βρίσκεται και περιμένει (NEEDS THE USER: yes). Συνεχίστε με /resume, «συνέχισε» ή οποιοδήποτε μήνυμα
AI AssistantΡωτήστε: "Stop ticket PROJ-0001"

Τι συμβαίνει: ο agent σταματά αμέσως μαζί με όλα όσα ξεκίνησε (το Claude CLI ή τον Codex app server, το sandbox τους, την εντολή που τρέχει), η κατάσταση του ticket γίνεται awaiting_input, και μπορείτε να δώσετε νέες οδηγίες ή διορθώσεις.

Η καρτέλα Live Preview. Δείχνει τη σελίδα του project μέσα στο panel. Από την v4.50.10, όταν η εφαρμογή αρνείται να εμφανιστεί μέσα σε άλλη σελίδα (frame-ancestors 'none' ή X-Frame-Options: DENY), η καρτέλα το λέει και προσφέρει το Open in a new tab αντί να μένει άδεια. Για να βλέπετε μια τέτοια εφαρμογή εκεί κατά την ανάπτυξη, αφήστε την να επιτρέπει το panel μόνο με CSP: frame-ancestors 'self' https://<its own host>:<panel port> στην ανάπτυξη (ποτέ https://*:<panel port> — οποιοσδήποτε host σε εκείνη τη θύρα θα μπορούσε να την ενσωματώσει· κρατήστε το X-Frame-Options, οι browsers το αγνοούν όταν υπάρχει frame-ancestors), 'none' στην παραγωγή.

26. AI Assistant

AI Assistant
AI Assistant

AI Project Manager

Από τη σελίδα Projects, πατήστε "Plan with AI" για να ξεκινήσετε μια καθοδηγούμενη session σχεδιασμού project. Ο assistant γράφει την προδιαγραφή μαζί σας (ή εισάγει ένα πακέτο του Spec Builder), δείχνει μια προεπισκόπηση με τις ρυθμίσεις, τα στοιχεία της ημέρας 0 και τις ρυθμίσεις εκτέλεσης, και μετά την επιβεβαίωσή σας δημιουργεί το project, το περιβάλλον του και ακριβώς ένα ticket: το planning ticket ([PLAN] …). Το planning ticket σχεδιάζει πάνω στην πραγματική εγκατάσταση — baseline, δοκιμαστική εκτέλεση, γύροι ελέγχου, και πάντα συμφωνία με ένα ticket [PEER] (άλλη οικογένεια providers όταν υπάρχει ενεργή, αλλιώς ο ίδιος provider) — σας ρωτά μαζεμένα ό,τι προέκυψε από αυτό, και δημιουργεί την πρώτη φάση tickets (με tickets [VERIFY] σε διαφορετικό provider μετά από ριψοκίνδυνη εργασία· ένα πραγματικό project τρέχει σε φάσεις που η καθεμία τελειώνει με ένα ticket [REPLAN]). Μια μικρή αλλαγή σε υπάρχον project είναι ένα συνηθισμένο build ticket, όχι πλάνο.

27. Ειδοποιήσεις Telegram

Ρύθμιση

  1. Δημιουργήστε ένα Telegram Bot μέσω του @BotFather — στείλτε /newbot, αντιγράψτε το token
  2. Ξεκινήστε μια συνομιλία με το bot σας και στείλτε ένα μήνυμα
  3. Πάρτε το Chat ID σας από το https://api.telegram.org/bot<TOKEN>/getUpdates
  4. Ρυθμίστε στο Settings — επικολλήστε το Bot Token και το Chat ID, επιλέξτε τύπους ειδοποιήσεων, Test & Save

Τύποι ειδοποιήσεων

ΓεγονόςΠεριγραφή
Awaiting InputΤο AI ολοκλήρωσε και χρειάζεται έλεγχο
Task FailedΚάτι πήγε στραβά
Watchdog AlertΤο ticket φαίνεται κολλημένο
A ticket asks me a questionΗ αναφορά του λέει NEEDS THE USER: yes (όχι ticket που περιμένει άλλο ticket, όχι δική σας παύση)
Usage limit / credits used upΤο παράθυρο χρήσης ή τα credits ενός provider εξαντλήθηκαν — μία φορά ανά αναμονή· το ticket ξαναδοκιμάζει μόνο του
Chain watch: a chain stoppedΟ ωριαίος έλεγχος αλυσίδων βρήκε μια αλυσίδα tickets που σταμάτησε ενώ μένει εργασία

Αποστολή: Everything ticked above (όπως πριν) ή Only when I'm needed — μόνο ερωτήσεις προς εσάς, σταματημένες αλυσίδες, όρια χρήσης, αποτυχίες και κολλημένα tickets.

Chain Watch

Μία φορά την ώρα το CodeHero κοιτάζει κάθε project όπου μένει εργασία αλλά δεν τρέχει τίποτα — μόνο τα tickets που θα έπρεπε να τρέχουν τώρα (ποτέ ticket εκτός σειράς) — και βρίσκει γιατί σταμάτησε η αλυσίδα: ένα ticket που περιμένει άλλο που ήδη τελείωσε ή απάντησε, μια απάντηση που δεν αξιοποιήθηκε, ένας peer που έμεινε ανοιχτός, ένα strict ticket που δεν έκλεισε κανείς, μια ερώτηση προς εσάς, μια αποτυχία με παροδική αιτία. Settings → Chain watch: Off, Tell me what it finds (προεπιλογή) ή Restart it when safe (ξυπνά με μια σημείωση ή ξαναδοκιμάζει μια παροδική αποτυχία, το πολύ δύο φορές την ημέρα ανά ticket). Δεν αγγίζει ποτέ ticket που σταματήσατε προσωρινά ή οριστικά ή που σας κάνει ερώτηση, και ποτέ δεν κλείνει, διαγράφει ή αλλάζει τίποτα. Το μικρό του μοντέλο (junior + basic) τρέχει στον provider του ίδιου του ticket, και μετά στον επόμενο ενεργό provider του quick_call_failover στο heroagent.conf.

Αμφίδρομη επικοινωνία

Απαντήστε απευθείας στις ειδοποιήσεις από το κινητό σας. Ξεκινήστε με ? για ερωτήσεις κατάστασης χωρίς να ξανανοίξει το ticket.

28. Settings & ρυθμίσεις

Settings
Settings

Όλες οι ρυθμίσεις είναι διαθέσιμες από το κουμπί Settings στην κεφαλίδα. Το παράθυρο έχει 7 καρτέλες:

Settings (γενικά)

License

Δείτε την κατάσταση της άδειας, την ημερομηνία ενεργοποίησης και τη λήξη. Εισαγάγετε ή ενημερώστε το κλειδί άδειάς σας.

Certificates

Domains

Ρυθμίστε δικά σας domains για το dashboard και τις προεπισκοπήσεις των web projects. Το σύστημα ρυθμίζει αυτόματα τα virtual hosts του Nginx.

heroagent.conf

Επεξεργαστείτε απευθείας το κύριο αρχείο ρυθμίσεων του agent. Ελέγχει τα model aliases, τα όρια tokens, τις ρυθμίσεις των providers και τη συμπεριφορά του daemon. Πριν από κάθε αποθήκευση δημιουργείται αυτόματα backup.

system.conf

Επεξεργαστείτε τις ρυθμίσεις επιπέδου συστήματος: ρυθμίσεις Nginx, ρυθμίσεις PHP-FPM και άλλες παραμέτρους του server.

Security

29. Ενημερώσεις συστήματος

Ενημέρωση από το Dashboard

  1. Κατεβάστε το ZIP της έκδοσης (codehero-pro-release-X.Y.Z-x86_64.zip, ή -arm64.zip)
  2. Dashboard → Settings → 📦 Manual Update: αφήστε εκεί το ZIP (ή πατήστε για να το επιλέξετε)
  3. Πατήστε "Install Update"
  4. Παρακολουθήστε την έξοδο της κονσόλας σε πραγματικό χρόνο
  5. Η σελίδα ανανεώνεται αυτόματα μετά την επιτυχία

Το CodeHero PRO δεν κατεβάζει ενημερώσεις μόνο του — η παλιά λήψη από το GitHub αφαιρέθηκε στην v4.55.1.

Ενημέρωση από τη γραμμή εντολών

cd /root
# Extract the ZIP file provided with your CodeHero PRO license
sudo apt-get update && sudo apt-get install -y unzip    # a fresh Ubuntu has no package lists yet
unzip codehero-pro-release-4.60.3.zip
cd codehero
sudo ./upgrade.sh
ΕπιλογήΠεριγραφή
--dry-runΠροεπισκόπηση των αλλαγών χωρίς εφαρμογή
-y, --yesΑυτόματη επιβεβαίωση σε όλες τις ερωτήσεις

Backup και επιστροφή (v4.54.1+)

Πριν αλλάξει οτιδήποτε, η αναβάθμιση αποθηκεύει έναν φάκελο /var/backups/codehero/upgrade-<old version>-<time>/, που διαβάζεται μόνο από τον root: το πρόγραμμα (opt-codehero.tar.gz), τις ρυθμίσεις του /etc/codehero (etc-codehero.tar.gz) και τη βάση της πλατφόρμας (database.sql.gz), με τις εντολές επιστροφής στο ROLLBACK.txt. Κρατιούνται οι 5 νεότεροι. Η αναβάθμιση κρατά επίσης τα logs μέσα σε όρια: τα logs της πλατφόρμας (/var/log/codehero/*.log) περιστρέφονται καθημερινά και κρατιούνται 7 ημέρες, το system journal κρατά το πολύ 500 MB, και το logrotate εγκαθίσταται όταν ο server δεν το έχει.

30. Config File Editor

Επεξεργαστείτε αρχεία ρυθμίσεων του συστήματος απευθείας από το web περιβάλλον:

Δυνατότητες: editor με χρωματισμό σύνταξης, αυτόματο backup πριν από την αποθήκευση, επαναφορά από backup, έλεγχος εγκυρότητας πριν από την εφαρμογή.

31. Απομόνωση σε container (LXC)

Τρέξτε κάθε project στο δικό του LXC container με πλήρες σύνολο υπηρεσιών. Από την v4.6.3, τα containers περιλαμβάνουν έναν Service Manager για την εγκατάσταση web εφαρμογών, βάσεων δεδομένων και caches από ενσωματωμένο κατάλογο.

Panel container
Panel του container με κατάσταση, χειριστήρια και snapshots

Δημιουργία container

  1. Πηγαίνετε στη σελίδα Project Detail
  2. Κυλήστε στην ενότητα Container Isolation (LXC)
  3. Επιλέξτε Base Image (συνιστάται Ubuntu 24.04), Disk Size (5-100 GB· βάσεις δεδομένων, σουίτες tests και snapshots γεμίζουν γρήγορα τα 10 GB)
  4. Προαιρετικά ενεργοποιήστε τα Auto-Snapshot και DB Migration
  5. Πατήστε "Create Container"

Διαχείριση container

ΕνέργειαΠεριγραφή
Start / StopΕκκίνηση ή ομαλός τερματισμός του container
Resize DiskΜεγαλώνει (ή μικραίνει) τον τόμο BTRFS, 1-100 GB. Παίρνει πρώτα snapshot, σταματά το container για λίγα δευτερόλεπτα, αλλάζει το μέγεθος, ελέγχει το νέο μέγεθος και ξεκινά ξανά το container — ακόμη κι αν αποτύχει κάποιο βήμα. Η επανεκκίνηση αδειάζει το /tmp του container, όπως κάθε επανεκκίνηση
SnapshotΆμεσο snapshot BTRFS με αυτόματο πάγωμα της βάσης
Migrate DBΜεταφορά της βάσης του host μέσα στο container
DestroyΑφαίρεση του container και όλων των δεδομένων
Auto-start on server bootΔιακόπτης για αυτόματη εκκίνηση του container όταν επανεκκινεί ο server (ενεργός από προεπιλογή)

Snapshots

Τα snapshots BTRFS προσφέρουν άμεσο backup και επαναφορά, σε τρεις καρτέλες:

ΚαρτέλαΤι περιέχειΔιαγραφή
AutomaticΤο snapshot που λαμβάνεται πριν από την πρώτη εκτέλεση ενός ticketΚρατιούνται τα 20 νεότερα (οποιοσδήποτε αριθμός· 0 = όλα) — τα παλαιότερα φεύγουν ένα-ένα, μόνο όσο δεν τρέχει ticket του project
KeptΤα snapshots που δημιουργείτε, αυτό πριν από ένα Resize Disk, και κάθε 📌 που κρατήσατεΠοτέ αυτόματα — μόνο με δικό σας Delete
SafetyΤο αντίγραφο που λαμβάνεται ακριβώς πριν από κάθε επαναφορά, ώστε μια επαναφορά να μπορεί να αναιρεθείΚρατιούνται τα 5 νεότερα

Βάσεις δεδομένων σε ένα snapshot. Λίγο πριν από ένα snapshot κάθε βάση που τρέχει κάνει flush — με το pre_snapshot.sh της υπηρεσίας της (στο /opt/services/<service>/, δίπλα στο backup.sh· το post_snapshot.sh τρέχει αμέσως μετά), ή με την ίδια ενσωματωμένη εντολή για υπηρεσία που δεν το έχει: MySQL/MariaDB FLUSH TABLES, PostgreSQL CHECKPOINT, MongoDB fsync, Redis SAVE, SQL Server CHECKPOINT. Τίποτα δεν κλειδώνεται και τίποτα δεν μπορεί να καθυστερήσει το snapshot: μια σταματημένη βάση ή container παραλείπεται, κάθε βήμα έχει χρονικό όριο, μια αποτυχία απλώς καταγράφεται. Ένα snapshot είναι συνεπές και χωρίς αυτά — λαμβάνεται σε μια στιγμή, σαν διακοπή ρεύματος, μετά την οποία κάθε βάση ανακάμπτει μόνη της· το flush απλώς κάνει αυτή την ανάκαμψη γρήγορη.

Χώρος στον δίσκο. Ένα snapshot κρατά τις παλιές εκδόσεις των αρχείων που άλλαξαν από τη στιγμή που λήφθηκε — το όριο κρατά αυτό τον χώρο περιορισμένο. Από την v4.50.8 η MySQL σε νέο container τρέχει χωρίς binary logs: ένα container ανάπτυξης δεν κάνει replication, και η MySQL 8 τα κρατούσε 30 ημέρες — gigabytes σε ένα project του οποίου τα tests ξαναγράφουν τη βάση, που τα κρατούσε ξανά κάθε snapshot. Η αναβάθμιση δεν αλλάζει ποτέ ένα υπάρχον container· για να τα απενεργοποιήσετε σε ένα, τρέξτε στο Terminal του:

printf '[mysqld]\nskip-log-bin\n' > /etc/mysql/mysql.conf.d/zz-codehero-dev.cnf
systemctl restart mysql
rm -f /var/lib/mysql/binlog.[0-9]* /var/lib/mysql/binlog.index

Όρια logs. Από την v4.54.3 ένα νέο container κρατά τα logs του σε όρια: το logrotate τρέχει κάθε μέρα (ώστε να ισχύουν οι κανόνες που φέρνουν το nginx, η PHP και η MySQL), τα logs της ίδιας της εφαρμογής — logs/, storage/logs/ και var/log/ στον φάκελο του project, και του pm2 — περιστρέφονται καθημερινά και κρατιούνται τα 7 τελευταία, και το system journal κρατά το πολύ 200 MB. Η αναβάθμιση δεν αλλάζει ποτέ ένα υπάρχον container· για να προσθέσετε όρια logs σε ένα, τρέξτε στο Terminal του (οι διαδρομές καλύπτουν τους προεπιλεγμένους φακέλους project):

apt-get install -y logrotate
systemctl enable --now logrotate.timer
mkdir -p /etc/systemd/journald.conf.d
printf '[Journal]\nSystemMaxUse=200M\n' > /etc/systemd/journald.conf.d/codehero.conf
systemctl restart systemd-journald
cat > /etc/logrotate.d/codehero-app <<'EOF'
/var/www/projects/*/logs/*.log /var/www/projects/*/storage/logs/*.log /var/www/projects/*/var/log/*.log /opt/apps/*/logs/*.log /opt/apps/*/storage/logs/*.log /opt/apps/*/var/log/*.log /home/claude/.pm2/logs/*.log {
    daily
    rotate 7
    missingok
    notifempty
    compress
    delaycompress
    copytruncate
    su root root
}
EOF
chmod 644 /etc/logrotate.d/codehero-app

Κάθε εγκατεστημένο πακέτο φέρνει τον δικό του κανόνα — έναν ανά έκδοση PHP (php7.4-fpm, php8.4-fpm …), MySQL/MariaDB, PostgreSQL, Redis, nginx. Η MongoDB δεν φέρνει κανέναν· μια νέα εγκατάσταση MongoDB παίρνει έναν, και σε παλαιότερο container με MongoDB προσθέστε τον με:

grep -rqs /var/log/mongodb /etc/logrotate.d/ || { printf '%s\n' '/var/log/mongodb/*.log {' '    daily' '    rotate 7' '    missingok' '    notifempty' '    compress' '    delaycompress' '    copytruncate' '    su mongodb mongodb' '}' > /etc/logrotate.d/mongodb-codehero && chmod 644 /etc/logrotate.d/mongodb-codehero; }

Υπηρεσίες container

Ο Service Manager (v4.6.3+) σας επιτρέπει να εγκαθιστάτε, να ελέγχετε και να διαχειρίζεστε υπηρεσίες μέσα στο container χωρίς να αγγίξετε τη γραμμή εντολών.

Κάθε ticket ενός project σε container λαμβάνει τις υπηρεσίες με τις θύρες, τα στοιχεία σύνδεσης και τα scripts τους — και, από την 4.60.2, κάθε runtime γλώσσας που είναι εγκατεστημένο στο container, κάθε έκδοση με την ακριβή εντολή για να την καλέσει (node22 · npm22 · npx22 και τον φάκελό του, python3.12, php8.3 με το FPM socket του, go1.22, ruby3.3, το JAVA_HOME της Java, dotnet). Μπορούν να εγκατασταθούν πολλές εκδόσεις δίπλα-δίπλα, και ένα σκέτο node μπορεί να μην υπάρχει: η λίστα λέει ποια σκέτα ονόματα λειτουργούν και πώς να βάλετε τον φάκελο μιας έκδοσης στο PATH για μια εντολή ή για τον test runner.

Υπηρεσίες container
Πίνακας υπηρεσιών με ενδείξεις λειτουργίας και κουμπιά ενεργειών

Εγκατάσταση web εφαρμογών

  1. Πατήστε "+ Add Service" → Web App
  2. Επιλέξτε Language, Version, Server/Framework και Path
  3. Πατήστε Install
Εγκατάσταση web εφαρμογής
Εγκατάσταση web εφαρμογής από τον κατάλογο με ένα κλικ

Υποστηριζόμενες γλώσσες & frameworks

ΓλώσσαΕκδόσειςFrameworks
PHP7.4 – 8.4php-fpm, Laravel, Symfony, WordPress
Python3.8 – 3.13Flask, Django, FastAPI, Gunicorn, uWSGI
Node.js18, 20, 22Express, NestJS, Next.js, PM2
Go1.21 – 1.23Gin, Echo, Fiber
Ruby3.2 – 3.4Puma, Rails, Sinatra
Java8, 11, 17, 21Spring Boot, Tomcat
.NET6.0 – 10.0Kestrel
Πολλά runtimes: Πολλές γλώσσες μπορούν να τρέχουν δίπλα-δίπλα στο ίδιο container, η καθεμία σε διαφορετική διαδρομή URL.

Εγκατάσταση βάσεων δεδομένων & caches

  1. Πατήστε "+ Add Service" → Database
  2. Επιλέξτε τύπο βάσης και Version
  3. Πατήστε Install
Εγκατάσταση βάσης δεδομένων
Εγκατάσταση βάσης δεδομένων με αυτόματα ρυθμισμένη θύρα

Υποστηριζόμενες βάσεις δεδομένων

ΒάσηΕκδόσειςΘύραΔιαχείριση βάσης (🗄️)
MySQL5.7, 8.0, 8.43306phpMyAdmin
MariaDB10.11, 11.43306phpMyAdmin
PostgreSQL14 – 175432Adminer
MongoDB8.027017Adminer
MSSQL2022, 20251433Adminer

Διαχείριση βάσης (v4.52.0+): το εικονίδιο 🗄️ μιας υπηρεσίας βάσης την ανοίγει σε ένα εργαλείο στον server, ποτέ μέσα στο container — phpMyAdmin στο https://<server>:9454/ για MySQL / MariaDB, Adminer στο https://<server>:9454/dbmanager/ για PostgreSQL, MSSQL και MongoDB. Δύο υπηρεσίες MySQL σε διαφορετικές θύρες ανοίγουν η καθεμία τη δική της. Και τα δύο ανοίγουν μόνο από το panel, με ένα token μίας χρήσης (60 δευτερόλεπτα, χρησιμοποιείται μία φορά) — ποτέ χρήστης ή κωδικός στο URL· αν ανοιχτούν με άλλον τρόπο, δεν δείχνουν φόρμα σύνδεσης.

Caches

CacheΈκδοσηΘύραΜόνιμη αποθήκευση
Redis76379RDB snapshots
Memcached1.611211Καμία (μόνο στη μνήμη)

Έλεγχος υπηρεσιών

Κάθε υπηρεσία έχει κουμπιά ενεργειών: Start, Stop, Restart, Delete. Μαζικές ενέργειες στην κορυφή: Stop All, Start All, Refresh Status, Full Backup.

Backup & επαναφορά βάσεων

Οι υπηρεσίες βάσεων υποστηρίζουν Backup (στη δική τους μορφή με χρονοσήμανση· από την v4.55.0 ένα backup MySQL / MariaDB κρατά και τις stored procedures, functions και events — και για υπηρεσία που προστέθηκε πριν από την 4.55.0) και Restore (από αρχείο backup). Το Full Backup είναι το Complete backup του project — αρχεία, κάθε βάση, υπηρεσίες, tickets, το ίδιο με το Backups → Complete· εμφανίζεται στο Backup History και επαναφέρεται από εκεί (πριν από την v4.55.0 έτρεχε ένα παλαιότερο backup που έχανε τις περισσότερες βάσεις και τα δυαδικά αρχεία). Τα backups μπορούν να κατέβουν από το web περιβάλλον. Από την v4.55.1 αυτά τα dumps κρατιούνται μαζί με τα backups του project, στο /var/backups/codehero/<CODE>/services/<service>-<version>/ (πριν: μέσα στον φάκελο του προγράμματος, /opt/codehero/backups/<id>/ — η αναβάθμιση τα μεταφέρει, η παλιά θέση διαβάζεται ακόμη)· μετά από διαγραφή project εμφανίζονται στα Deleted projects. Εκεί πηγαίνει και το dump που λαμβάνεται πριν από το Delete Host DB.

Συμβουλή: Συνδυάστε τα backups βάσεων με snapshots BTRFS για ολοκληρωμένη ανάκαμψη από καταστροφή.

Διαχείριση κωδικών

Τα στοιχεία σύνδεσης των βάσεων δημιουργούνται αυτόματα κατά την εγκατάσταση. Αλλάξτε κωδικούς οποιαδήποτε στιγμή — τα scripts σύνδεσης και τα scripts backup ενημερώνονται αυτόματα.

Terminal του container

Πλήρης πρόσβαση σε shell μέσα στο container με τρεις τρόπους: Inline (ενσωματωμένο), Popup (νέο παράθυρο), Full Page (πλήρης οθόνη). Χρησιμοποιεί xterm.js με υποστήριξη αντιγραφής/επικόλλησης.

Terminal container
Web terminal με πλήρη πρόσβαση σε shell μέσα στο container

Δικές σας υπηρεσίες που φτιάχνουν τα tickets (4.61.0)

Ένα ticket μπορεί να δημιουργήσει μια υπηρεσία που δεν έχει ο κατάλογος — μια μηχανή αναζήτησης, μια ουρά, έναν worker της εφαρμογής σας — μέσα στο container του project. Η πλατφόρμα τη χειρίζεται στη συνέχεια όπως κάθε άλλη υπηρεσία: της κάνει backup, την επαναφέρει, τη μεταφέρει μαζί με το project και τη δείχνει στη λίστα Services με ένα μωβ σήμα custom.

Τι είναι: το ticket γράφει τα αρχεία του στο project (.services/<name>/, που κρατιέται μαζί με τον κώδικά σας) και η πλατφόρμα τα αντιγράφει στο /opt/services/<name>/ του container: service.json, install.sh (τρέχει ξανά χωρίς ερωτήσεις — δύο φορές κατά την καταχώριση, και ξανά μόνο του σε επαναφορά σε νέο container) και τα δικά του scripts start / stop / status / backup / restore. Η πλατφόρμα γράφει το platform.env με τους φακέλους του project, ώστε ένα project που επαναφέρεται με νέο όνομα να μην τρέχει ποτέ πάνω στις διαδρομές του παλιού.

Backups και επαναφορές: κάθε επίπεδο backup — και το Quick — περιέχει κάθε δική σας υπηρεσία (φάκελο, αρχεία ρυθμίσεων, τα δεδομένα της). Η επαναφορά στο ίδιο project τη σταματά, επαναφέρει ρυθμίσεις και δεδομένα και την ξεκινά ξανά αν έτρεχε· η επαναφορά ως νέο project ή η εισαγωγή image container την εγκαθιστά και την καταχωρίζει ξανά για το νέο project. Μια αποτυχημένη επαναφορά δεν ξεκινά ποτέ, ούτε στην επόμενη εκκίνηση του container. Τα snapshots τρέχουν τα δικά της scripts snapshot, και ένα rollback αναφέρει τις υπηρεσίες που δεν ταιριάζουν πια.

Το ίδιο το container (4.61.1): ένα ticket μόνο διαβάζει την κατάστασή του — και το δημιουργεί όταν το project δεν έχει ακόμη (μόνο το container· κάθε υπηρεσία μετά από αυτό με την έγκρισή σας). Το σταμάτημα, η καταστροφή ή η μεταφορά του container και η επαναφορά ή διαγραφή ενός snapshot είναι δικές σας ενέργειες: από το panel, ή από τον assistant μόνο μετά το ρητό σας ναι για εκείνη την ενέργεια.

Μεταφορά σε server που τρέχει ακόμη έκδοση πριν από την 4.61: όλα τα άλλα επιστρέφουν· εκείνη η έκδοση αναφέρει τις δικές σας υπηρεσίες ως «Install … failed» και τις αφήνει έξω. Επαναφέρετε το backup σε server 4.61, ή αναβαθμίστε πρώτα εκείνον τον server.

Στη λίστα Services: το Delete μόνο αφαιρεί την καταχώριση μιας δικής σας υπηρεσίας — ο φάκελος και τα δεδομένα της μένουν· οι θύρες, η διαδρομή και τα scripts της αλλάζουν μέσω του φακέλου της (με την έγκρισή σας όταν αλλάζει κάτι που εγκρίνατε). Ένα backup της 4.61.0 που επαναφέρεται σε παλαιότερη έκδοση επαναφέρει τα πάντα εκτός από τις δικές σας υπηρεσίες.

Πότε να χρησιμοποιείτε containers

ΣενάριοΣύσταση
Απλά στατικά websitesΔεν χρειάζεται container
Projects που χρειάζονται συγκεκριμένες εκδόσεις runtimeΧρησιμοποιήστε containers
Projects που απαιτούν βάσεις δεδομένωνΧρησιμοποιήστε containers
Projects πελατών που χρειάζονται απομόνωσηΧρησιμοποιήστε containers
Αρχιτεκτονικές με πολλές υπηρεσίεςΧρησιμοποιήστε containers

32. Ανάπτυξη σε παραγωγή

Βάλτε το CodeHero πίσω από μια διάταξη έτοιμη για παραγωγή, με δικά σας domains και SSL.

Nginx reverse proxy

Ρυθμίστε το Nginx στον server σας ώστε να προωθεί στο CodeHero:

server {
    listen 80;
    server_name codehero.yourdomain.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name codehero.yourdomain.com;

    ssl_certificate /etc/letsencrypt/live/codehero.yourdomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/codehero.yourdomain.com/privkey.pem;

    location / {
        proxy_pass https://127.0.0.1:9453;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    # WebSocket support (for console, terminal)
    location /socket.io/ {
        proxy_pass https://127.0.0.1:9453/socket.io/;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
    }
}

Ρύθμιση domain

  1. Στρέψτε την εγγραφή DNS A του domain σας στην IP του server σας
  2. Ρυθμίστε το domain στην καρτέλα Settings → Domains
  3. Το σύστημα θα ρυθμίσει αυτόματα το Nginx

Πιστοποιητικά SSL

Let's Encrypt (συνιστάται):

  1. Πηγαίνετε στο Settings → Certificates
  2. Εισαγάγετε το όνομα του domain σας
  3. Πατήστε "Request Certificate"
  4. Τα πιστοποιητικά ανανεώνονται αυτόματα κάθε 90 ημέρες

Δικό σας πιστοποιητικό:

  1. Πηγαίνετε στο Settings → Certificates
  2. Επιλέξτε "Upload Custom"
  3. Δώστε το πιστοποιητικό σας (.pem) και το ιδιωτικό κλειδί

Κανόνες firewall

sudo ufw allow 80/tcp    # HTTP (redirect to HTTPS)
sudo ufw allow 443/tcp   # HTTPS
sudo ufw allow 9453/tcp  # CodeHero Dashboard
sudo ufw allow 9867/tcp  # Web Project Previews

33. Οδηγός σχεδιασμού με AI (σχεδιασμός με εξωτερικό AI)

Το CodeHero συνοδεύεται από το CodeHero Spec Builder — ένα φορητό αρχείο γνώσης που προσθέτετε σε ένα Claude Project ή σε ένα project του ChatGPT. Ο assistant σάς παίρνει τότε συνέντευξη για την επιχείρησή σας σε απλή γλώσσα (μία ερώτηση κάθε φορά, χωρίς τεχνική ορολογία), αποφασίζει ο ίδιος κάθε τεχνικό ζήτημα, ελέγχει τη δουλειά του σε 50 διαδοχικά περάσματα, και παράγει ένα πλήρες πακέτο προδιαγραφής: αρχιτεκτονική, απαιτήσεις, κριτήρια αποδοχής και ένα πλάνο tickets με ρόλους και think modes — σκόπιμα χωρίς providers ή ονόματα μοντέλων, γιατί αυτά εξαρτώνται από την εγκατάστασή σας.

  1. Πατήστε Copy planning guide παρακάτω (ή κατεβάστε το αρχείο).
  2. Προσθέστε το ως γνώση σε ένα project του Claude/ChatGPT με την οδηγία: “You are the CodeHero Spec Builder. Follow the file exactly.”
  3. Απαντήστε στις ερωτήσεις του· παραδίδει το πακέτο προδιαγραφής ως ένα αρχείο Markdown.
  4. Επικολλήστε αυτό το πακέτο στον AI Assistant της εφαρμογής (Plan with AI) — δείχνει μια προεπισκόπηση, δημιουργεί το container αν η προδιαγραφή δηλώνει ένα, και μετά την επιβεβαίωσή σας δημιουργεί το project και ένα planning ticket που μεταφέρει το πακέτο· το planning ticket αναθέτει providers από τη λίστα των ενεργών σας και δημιουργεί την πρώτη φάση tickets.

Άνοιγμα / λήψη του οδηγού →

Ο οδηγός είναι αυτοτελής — δεν χρειάζεται κώδικας ή ανέβασμα αρχείων· οι agents του CodeHero φτιάχνουν τα πάντα από τις περιγραφές των tickets.

34. Συμβουλές & καλές πρακτικές

Πώς γράφετε καλά tickets

Κάντε:

Μην κάνετε:

Καλό παράδειγμα:

Title: Add user authentication API
Description:
Create REST API endpoints in /api/auth/:
- POST /api/auth/login - Accept email/password, return JWT
- POST /api/auth/register - Create new user
- GET /api/auth/me - Return current user (requires auth)
Use the existing User model in models/user.py.
Use bcrypt for password hashing.

Κακό παράδειγμα:

Title: Auth
Description: Add login

Παράλληλη εκτέλεση

Βελτιστοποίηση κόστους

35. Αντιμετώπιση προβλημάτων

Ticket κολλημένο σε "in_progress"

Μια εκτέλεση θεωρείται κολλημένη μετά από 60 λεπτά χωρίς ούτε μία γραμμή από τον agent (το STUCK_TIMEOUT_MINUTES στο /etc/codehero/system.conf το αλλάζει). Ένα μακρύ εργαλείο δεν είναι σιωπή: όσο τρέχει ένα εργαλείο — μια σουίτα tests σε μία αναμονή του ProcessManager, μια μακριά εντολή — κάθε οικογένεια providers στέλνει σήμα ζωής κάθε 2 λεπτά (Codex, το Claude CLI και στους δύο τρόπους, οι API providers), για έως 2 ώρες. Ένα μοντέλο που μένει σιωπηλό χωρίς να τρέχει τίποτα εντοπίζεται κανονικά.

  1. Ελέγξτε το Console για σφάλματα
  2. Χρησιμοποιήστε το Kill Switch (κουμπί Stop ή /stop)
  3. Ξαναδοκιμάστε το ticket

Το AI δεν επεξεργάζεται tickets

  1. Ελέγξτε τον daemon: systemctl status codehero-daemon
  2. Δείτε τα logs: journalctl -u codehero-daemon -f
  3. Ελέγξτε τη MySQL: systemctl status mysql
  4. Επανεκκίνηση: sudo systemctl restart codehero-web codehero-daemon

Σφάλματα δικαιωμάτων

Δεν έχετε πρόσβαση στο Dashboard

  1. Ελέγξτε τις υπηρεσίες: systemctl status codehero-web nginx
  2. Ελέγξτε το firewall: sudo ufw allow 9453
  3. Επιβεβαιώστε την IP: hostname -I
  4. Ο browser μπορεί να μπλοκάρει το self-signed πιστοποιητικό

Σφάλματα API των providers

36. Συντομεύσεις πληκτρολογίου

Code Editor

ΣυντόμευσηΕνέργεια
Ctrl+SΑποθήκευση αρχείου
Ctrl+ZΑναίρεση
Ctrl+Shift+ZΕπανάληψη
Ctrl+FΑναζήτηση
Ctrl+HΑναζήτηση και αντικατάσταση
Ctrl+GΜετάβαση σε γραμμή
Ctrl+DΕπιλογή της επόμενης εμφάνισης
Ctrl+/Εναλλαγή σχολίου
Alt+Up/DownΜετακίνηση γραμμής πάνω/κάτω
Ctrl+Shift+KΔιαγραφή γραμμής
Ctrl+ClickΜετάβαση στον ορισμό

Web Terminal

ΣυντόμευσηΕνέργεια
Ctrl+CΔιακοπή εντολής
Ctrl+DΈξοδος από το shell
Ctrl+LΚαθαρισμός τερματικού
Ctrl+Shift+CΑντιγραφή επιλογής
Ctrl+Shift+VΕπικόλληση

Γενικά

ΣυντόμευσηΕνέργεια
EscapeΚλείσιμο παραθύρου

37. Εκπαίδευση developers — Το Autonomous Development Framework (ADF)

Το CodeHero υλοποιεί ένα Autonomous Development Framework: οι AI agents φτιάχνουν, ελέγχουν και τεκμηριώνουν ένα προϊόν από μια προδιαγραφή, ενώ οι άνθρωποι δίνουν μόνο ό,τι δεν μπορεί να δώσει κανείς άλλος — την αλήθεια της επιχείρησης, τα στοιχεία πρόσβασης και τις εγκρίσεις. Το εκπαιδευτικό πρόγραμμα για developers διδάσκει αυτό το framework βήμα προς βήμα, με τη σειρά που γίνεται η εργασία σε μια πραγματική παράδοση: συνέντευξη με τον πελάτη, απόφαση για το stack, σχεδιασμός των tickets, εκτέλεση και ανάγνωση της εκτέλεσης, προσαρμογή του global και των project contexts, παράδοση.

🎓 Ανοίξτε το εκπαιδευτικό πρόγραμμα Παρουσίαση για ειδικούς του αντικειμένου →

ΕνότηταΤίτλοςΑποτέλεσμα
1Το frameworkΕξηγείτε τις δώδεκα αρχές του ADF, τη ροή εργασίας και τα επίπεδα οδηγιών
2Άντληση γνώσης από τον πελάτηΚάνετε μια συνέντευξη με το Spec Builder· παράγετε και ελέγχετε ένα πακέτο προδιαγραφής
3Επιλογή του stackΑποφασίζετε PHP ή Node ή Python ή .NET, host ή container, με γραπτή αιτιολόγηση
4ΣχεδιασμόςΜετατρέπετε ένα πακέτο σε project και planning ticket, και διαβάζετε το σειριακό πλάνο (ρόλοι, providers, έλεγχος) που παράγει το planning ticket
5ΕκτέλεσηΔιαβάζετε τι κάνει ο agent, γιατί σταματά και πώς να του απαντήσετε
6Προσαρμογή του «εγκεφάλου»Αλλάζετε με ασφάλεια το global context και τα project contexts, και αποδεικνύετε ότι η αλλαγή λειτουργεί
7Φτάνοντας σε αποτέλεσμα που λειτουργείΟδηγείτε ένα project από το πρώτο ticket σε μια ελεγμένη, τεκμηριωμένη παράδοση
8Τελική εργασίαΠαραδίδετε ένα μικρό project από την αρχή ως το τέλος και περνάτε την αξιολόγηση
Κοινό & διάρκεια: developers, αναλυτές και τεχνικοί project managers· περίπου πέντε ημέρες (μία ενότητα ανά μισή ημέρα, τελική εργασία την πέμπτη ημέρα). Κάθε ενότητα τελειώνει με ασκήσεις· τα παραρτήματα περιέχουν κάρτες γρήγορης αναφοράς και βιβλιογραφία. Τα αρχεία του framework που αναφέρει το πρόγραμμα (config/global-context.md, docs/CODEHERO_PLANNING_GUIDE.md, config/assistant-planner.md, config/contexts/*.md) είναι η πηγή αλήθειας.

Ερωτήσεις που μας κάνουν

Όλα τα άρθρα
Είμαι δεμένος με μία εταιρεία AI;

Όχι. Το CodeHero δουλεύει με πολλές εταιρείες AI μαζί και με μοντέλα στο δικό σας hardware. Αλλάζετε εταιρεία ή μοντέλο όποτε θέλετε — το έργο, οι κανόνες και το ιστορικό του μένουν. Διαβάστε το άρθρο

Φτάνουν οι κωδικοί και τα κλειδιά μου στην εταιρεία AI;

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

Γιατί δουλεύουν πολλά AI στην ίδια δουλειά;

Γιατί ένα AI δεν πιάνει τα δικά του τυφλά σημεία. Στο CodeHero ένα μοντέλο φτιάχνει και ένα μοντέλο άλλης εταιρείας ελέγχει· τα προβλήματα επιστρέφουν για διόρθωση και ελέγχονται ξανά. Διαβάστε το άρθρο

Πώς συγκρίνεται το CodeHero με άλλα εργαλεία κώδικα με AI;

Είναι διαφορετικό είδος. Τα εργαλεία κώδικα βοηθούν όποιον γράφει κώδικα. Το CodeHero κάνει όλη τη δουλειά — ρωτά, σχεδιάζει, φτιάχνει, ελέγχει, φιλοξενεί, συντηρεί — για όποιον ξέρει την επιχείρηση. Διαβάστε το άρθρο

Αν το CodeHero γράφει τον κώδικα, ποιος είναι ο δικός μου ρόλος;

Γίνεστε ο σύμβουλος: αποφασίζετε τους κανόνες της επιχείρησης, εγκρίνετε το σχέδιο και παραλαμβάνετε το αποτέλεσμα. Το CodeHero είναι ο developer που ρωτά, φτιάχνει, ελέγχει και συντηρεί. Διαβάστε το άρθρο

Πώς κρατά το AI τη μνήμη του σε μεγάλες δουλειές;

Με το memory folding: όταν το AI τελειώσει με ένα μεγάλο αποτέλεσμα, κρατά μια σύντομη σημείωση με τα σημαντικά και βάζει το υπόλοιπο στην άκρη — μπορεί να το ανοίξει ξανά όποτε θέλει. Έτσι δουλεύει πολύ περισσότερο χωρίς να χάνει το νήμα. Διαβάστε το άρθρο

Πώς αποφεύγει το AI να ξεχνά ή να μπερδεύεται σε ένα μεγάλο έργο;

Το εργοστάσιο του δίνει δομή: έξυπνα tickets με μία καθαρή δουλειά το καθένα, ένα βιβλίο αλλαγών με κάθε απόφαση, έναν χάρτη του κώδικα και αναζήτηση με βάση το νόημα. Το AI διαβάζει όσα χρειάζεται αντί να μαντεύει — και αυτό γλιτώνει και πολύ κόστος. Διαβάστε το άρθρο

Γιατί το λέτε εργοστάσιο και όχι εργαλείο;

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

Πώς μπορεί αυτό να αλλάξει τον κόσμο των εφαρμογών;

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

Τι σημαίνει το CodeHero για τους developers;

Λιγότερη επαναλαμβανόμενη δουλειά και λιγότερα ξενύχτια. Το εργοστάσιο αναλαμβάνει τη ρουτίνα — κατασκευή, έλεγχο, διορθώσεις· οι developers αποφασίζουν την αρχιτεκτονική, ελέγχουν ό,τι μετράει και λύνουν τα δύσκολα. Διαβάστε το άρθρο

Γιατί το CodeHero φιλοξενεί και τις εφαρμογές;

Γιατί η κατασκευή και η λειτουργία πάνε μαζί. Η εφαρμογή τρέχει εκεί όπου φτιάχτηκε, με το domain, την ασφαλή σύνδεση, τα backups και την επαναφορά της — και κάθε επόμενη αλλαγή επιστρέφει στο ίδιο εργοστάσιο. Κανένα ξεχωριστό πάνελ φιλοξενίας να μάθετε. Διαβάστε το άρθρο

Τι τεχνολογία χρησιμοποιούν οι εφαρμογές;

Πάντα ανοιχτές, ευρέως διαδεδομένες τεχνολογίες — πρώτα PHP και MySQL, και άλλες όπως Node, Python ή .NET όταν το χρειάζεται η δουλειά. Η εφαρμογή σας δεν κλειδώνεται ποτέ σε κλειστή πλατφόρμα. Διαβάστε το άρθρο

Γιατί συνδρομές AI και όχι πληρωμή ανά χρήση;

Γιατί στις δικές μας μετρήσεις, σε έντονη καθημερινή δουλειά, μια συνδρομή κόστισε έως και περίπου 40 φορές λιγότερο από την πληρωμή ανά χρήση για την ίδια δουλειά. Το CodeHero τρέχει τα εργαλεία AI με συνδρομή (Claude Code, Codex, Grok Build) ως εργάτες στο εργοστάσιο. Διαβάστε το άρθρο

Τι γίνεται η γνώση για το έργο μου;

Χτίζεται και κρατιέται μέσα στη δική σας εγκατάσταση: αποφάσεις, κανόνες, αλλαγές και οι αιτίες τους, δίπλα στον κώδικα. Ένας νέος άνθρωπος ή ένα νέο AI συνεχίζει από εκεί — η γνώση δεν φεύγει μαζί τους. Διαβάστε το άρθρο

Μπορούν μικρά τοπικά μοντέλα AI να κάνουν πραγματική δουλειά;

Μέσα στο εργοστάσιο, ναι — περισσότερη από όση μόνα τους. Μικρά, καθαρά tickets, ένας έλεγχος ολοκλήρωσης, βοήθεια στα εργαλεία και ένα ισχυρότερο μοντέλο που ελέγχει το αποτέλεσμα επιτρέπουν σε μικρά μοντέλα στο δικό σας hardware να κάνουν μεγάλο μέρος της κατασκευής. Διαβάστε το άρθρο