ΤΕΥΧΟΣ 024  ·  28 ΟΚΤΩΒΡΙΟΥ 2026 RSS
CodeCity
ΑΝΑΠΤΥΞΗ № 0003

Serena — IDE-δυνάμεις πάνω στο codebase, μέσω language servers

Ανάκτηση και επεξεργασία κώδικα με σημασιολογία, πάνω από language servers. Το εγκαταστήσαμε και το δοκιμάσαμε σε πραγματικό project.

Serena — IDE-δυνάμεις πάνω στο codebase, μέσω language servers

Τι κάνει

Η Serena δίνει στον agent ό,τι έχει ένα IDE πάνω σε κώδικα. Όλα μέσω MCP.

Ξέχνα το τυφλό search and replace. Δουλεύει με σύμβολα. Βρίσκει δηλώσεις. Βρίσκει ποιοι καλούν ένα σύμβολο. Κάνει rename. Αλλάζει το σώμα ενός συμβόλου. Βγάζει diagnostics ανά αρχείο.

Κάτω από όλα στέκονται οι language servers του LSP. Είναι η δωρεάν επιλογή και η προεπιλεγμένη.

Στον LSP backend καλύπτει πάνω από 40 γλώσσες. Από C/C++ και Rust μέχρι Zig και Wolfram.

Για ποιον είναι

Για δουλειά πάνω σε αληθινό codebase. Cross-file rename, refactor, «ποιος το καλεί αυτό». Όχι για ψιλοδιορθώσεις κειμένου.

Εγκατάσταση

Το μόνο που χρειάζεσαι είναι το uv.

uv tool install -p 3.13 serena-agent

Κατεβάζει τη Serena και τα εκτελέσιμά της.

serena init

Στήνει το global config.

Μια συμβουλή από τον δημιουργό: μην την πάρεις από MCP ή plugin marketplace. Εκείνες οι πηγές δίνουν ξεπερασμένες εντολές.

Χρήση σε κάθε LLM

Claude Code

Ο πιο απλός δρόμος:

serena setup claude-code

Στήνει τη σύνδεση μόνο του.

Αν το θέλεις χειροκίνητα, για όλα τα projects:

claude mcp add --scope user serena -- serena start-mcp-server --context claude-code --project-from-cwd

Βάζει τη Serena ως MCP server.

Η τεκμηρίωση προτείνει και hooks. Είναι σε alpha. Χωρίς αυτά, το Claude ξεχνά τα εργαλεία της Serena όταν η συνεδρία μακρύνει.

Codex CLI

serena setup codex

Ή χειροκίνητα στο ~/.codex/config.toml.

Ένα σημείο: το Codex app δεν ανοίγει στο φάκελο του project. Πες του από την αρχή να ορίσει τον τρέχοντα φάκελο ως project.

Cursor

Δεν έχει δικό του setup target. Το στήνεις ως MCP server με το γενικό config. Βάλε –context ide, για να μη διπλώνονται τα εργαλεία με του Cursor.

Πού κερδίζει, πού χάνει

Κερδίζει στο βάθος. Δουλεύει με σύμβολα, όχι με screenshots. Δεν πληρώνεις όραση που δεν σου χρειάζεται.

Χάνει στην άδεια. Η εφαρμογή είναι GPL-3.0-or-later. Αν χτίζεις κλειστό προϊόν, ρώτα δικηγόρο πριν τη δέσεις.

Και η ποιότητα κρέμεται από τον language server της κάθε γλώσσας. Όπου ο server είναι αδύναμος, χαλάει και το rename.

Η άδεια θέλει προσοχή

Η Serena δεν έχει μία απλή άδεια. Το repo είναι per-component. Ο πυρήνας SolidLSP είναι MIT. Η εφαρμογή είναι GPL-3.0-or-later. Το LICENSE το λέει καθαρά: η συσκευασία serena-agent ενώνει και τα δύο, άρα ως σύνολο πάει με GPL.

Δεν ισχύει αναδρομικά. Η v1.7.0 ήταν η τελευταία με MIT. Από τη v2 αλλάζει. Το GitHub API τη δείχνει ως NOASSERTION. Το badge του README και το PyPI λένε MIT. Και τα δύο μπερδεύουν.

Δοκιμή

Την εγκατέστησα στ’ αλήθεια. Σε uv 0.12.15, Windows x86_64.

uv tool install -p 3.13 serena-agent

Πέρασε χωρίς πρόβλημα. serena-agent 1.7.0. Τρία εκτελέσιμα.

serena --version

Γύρισε Serena 1.7.0.

Τι δεν έκανα: δεν έτρεξα serena init, γιατί είναι διαδραστικό. Δεν έκανα index σε αληθινό project. Ό,τι γράφω για τη συμπεριφορά μέσα στον agent είναι από την τεκμηρίωση.

Ετυμηγορία

Το δυνατότερο εργαλείο της κατηγορίας για δουλειά πάνω σε αληθινό codebase. Δεν είναι για ψιλοδιορθώσεις. Είναι για cross-file rename, refactor και «ποιος το καλεί αυτό» — εκεί που η εναλλακτική είναι δέκα εύθραυστα βήματα.

Βαθμολογία: 8.5/10.

Πηγές: https://github.com/oraios/serena · https://github.com/oraios/serena/blob/main/LICENSE · https://oraios.github.io/serena/01-about/060_license.html · https://oraios.github.io/serena/02-usage/030_clients.html · https://oraios.github.io/serena/01-about/035_tools.html · https://pypi.org/project/serena-agent/ · https://api.github.com/repos/oraios/serena

Serena — IDE-δυνάμεις πάνω στο codebase, μέσω language servers · ΑΠΟΤΕΛΕΣΜΑ
ΠΗΓΗ
github.com/oraios/serena