Serena是一款强大的工具,能帮助用户高效地进行项目开发和管理。本指南将详细介绍Serena的安装、使用、配置等方面的内容,让你快速上手。
python -m venv .venv && source .venv/bin/activate # 在macOS/Linux下
pip install -r requirements.txt
uv init your_project_name
cd your_project_name
在项目目录中运行以下命令启动Serena的语言服务:
uv run serena
uv run serena activate
uv run serena delete-project
uv run serena create-file
uv run serena read-file
uv run serena delete-file
uv run serena find-symbol
uv run serena insert-code --content
uv run serena replace-lines : --content
uv run serena run-tests
uv run serena build
new_tool.py,添加以下内容:class NewTool(Tool):
def apply(self, context: Context) -> Context:
# 在此处实现工具逻辑
return context
serena/agent/tools/__init__.py文件,添加以下内容:from .new_tool import NewTool
__all__ = ['NewTool']
uv run serena restart-language-server
uv init your_project_name
以下是Serena的所有工具及其简要描述(通过运行uv run serena-list-tools获得):
| 工具名称 | 详情 |
|---|---|
activate_project |
激活指定名称的项目。 |
check_onboarding_performed |
检查是否已经完成初始化流程。 |
create_text_file |
创建/覆盖项目目录中的文件。 |
delete_lines |
删除文件中指定范围内的行。 |
delete_memory |
从Serena的项目特定存储中删除记忆。 |
execute_shell_command |
执行shell命令。 |
find_referencing_code_snippets |
查找引用给定位置符号的代码片段。 |
find_referencing_symbols |
查找引用给定位置符号的其他符号(可选过滤类型)。 |
find_symbol |
在项目中全局或局部搜索名称包含指定字符串的符号。 |
get_active_project |
获取当前激活项目的名称(如果有),并列出所有项目。 |