mirror of
https://github.com/tiennm99/serena.git
synced 2026-09-03 08:19:19 +00:00
README improvements
This commit is contained in:
@@ -135,48 +135,43 @@ Here a brief comparison with other tools:
|
||||
|
||||
### Subscription-Based Coding Agents
|
||||
|
||||
The most prominent subscription-based coding agents are parts of IDE's like
|
||||
The most prominent subscription-based coding agents are parts of IDEs like
|
||||
Windsurf, Cursor and VSCode.
|
||||
The functionality of Serena is similar to Cursor's Agent, Windsurf's Cascade or
|
||||
Serena's functionality is similar to Cursor's Agent, Windsurf's Cascade or
|
||||
VSCode's
|
||||
upcoming [agent mode](https://code.visualstudio.com/blogs/2025/02/24/introducing-copilot-agent-mode).
|
||||
|
||||
The main positive difference is that Serena does not require a subscription, and
|
||||
the negative difference is that Serena
|
||||
Serena has the advantage of not requiring a subscription.
|
||||
A potential disadvantage is that it
|
||||
is not directly integrated into an IDE, so the inspection of newly written code
|
||||
is not as seamless.
|
||||
|
||||
More technical differences are:
|
||||
* Serena is an MCP server, so it can be used with any MCP client and is not
|
||||
bound to a specific IDE.
|
||||
* Serena is not bound to a specific IDE.
|
||||
Serena's MCP server can be used with any MCP client (including some IDEs),
|
||||
and the Agno-based agent provides additional ways of applying its functionality.
|
||||
* Serena is not bound to a specific large language model or API.
|
||||
* Serena navigates and edits code using a language server, so it has a symbolic
|
||||
understanding of the code.
|
||||
IDE-based tools usually use a RAG and text-matching approach, which is often
|
||||
less powerful, especially for large codebases.
|
||||
understanding of the code.
|
||||
IDE-based tools often use a RAG-based or purely text-based approach, which is often
|
||||
less powerful, especially for large codebases.
|
||||
* Serena is open-source and has a small codebase, so it can be easily extended
|
||||
and modified.
|
||||
* Serena is not limited to a specific model or API, but can be used with any LLM
|
||||
that supports the MCP.
|
||||
|
||||
Note that Serena **can be used with any IDE** that supports including MCP
|
||||
Servers (Cursor and Windsurf both do that).
|
||||
Then, of course, you are back to paying for the IDE subscription. You might
|
||||
still want to use Serena because it's way of parsing code
|
||||
may be more efficient than the (usually RAG-based) parsing of the IDE's agent.
|
||||
and modified.
|
||||
|
||||
### API-Based Coding Agents
|
||||
|
||||
An alternative to subscription-based agents are API-based agents like Claude
|
||||
Code, Cline, Aider, Roo Code and others.
|
||||
Code, Cline, Aider, Roo Code and others, where the usage costs map directly
|
||||
to the API costs of the underlying LLM.
|
||||
Some of them (like Cline) can even be included in IDEs as an extension.
|
||||
They are often very powerful and their main downside is the (potentially very
|
||||
large) API costs.
|
||||
They are often very powerful and their main downside are the (potentially very
|
||||
high) API costs.
|
||||
|
||||
Serena itself can be used as an API-based agent, see the section on Agno above.
|
||||
Serena itself can be used as an API-based agent (see the section on Agno above).
|
||||
We have not yet written a CLI tool or a
|
||||
dedicated IDE extension for Serena (there is probably no need for the latter, as
|
||||
you can use Serena with any IDE that supports MCP servers).
|
||||
If there is a large demand for Serena as a CLI tool like Claude Code, we will
|
||||
dedicated IDE extension for Serena (and there is probably no need for the latter, as
|
||||
Serena can already be used with any IDE that supports MCP servers).
|
||||
If there is demand for a Serena as a CLI tool like Claude Code, we will
|
||||
consider writing one.
|
||||
|
||||
The main difference between Serena and other API-based agents is that Serena can
|
||||
@@ -188,14 +183,15 @@ an API key and bypassing the API costs. This is a unique feature of Serena.
|
||||
There are other MCP servers meant for coding, like for
|
||||
example [DesktopCommander](https://github.com/wonderwhy-er/DesktopCommanderMCP) and
|
||||
[codemcp](https://github.com/ezyang/codemcp).
|
||||
However, to our knowledge, none of them use a language server for code
|
||||
navigation and editing, and are thus limited to just text-based analysis.
|
||||
It is the integration of language servers and the MCP that makes Serena unique and so powerful for hard coding
|
||||
tasks on large codebases.
|
||||
However, to the best of our knowledge, none of them provide semantic code
|
||||
retrieval and editing tools; they rely purely on text-based analysis.
|
||||
It is the integration of language servers and the MCP that makes Serena unique
|
||||
and so powerful for challenging coding tasks, especially in the context of
|
||||
larger codebases.
|
||||
|
||||
## Developer Environment Setup
|
||||
|
||||
You can have a local setup via `uv` or a docker interpeter-based setup.
|
||||
You can have a local setup via `uv` or a docker interpreter-based setup.
|
||||
The repository is also configured to seamlessly work within a GitHub Codespace. See the instructions
|
||||
for the various setup scenarios below.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user