README
🚀 如何使用Serena
Serena是一款强大的工具,能帮助用户高效地进行项目开发和管理。本指南将详细介绍Serena的安装、使用、配置等方面的内容,让你快速上手。
🚀 快速开始
📦 安装指南
- 安装依赖:请按照INSTALL.md文件中的说明完成Python、Node.js和Yarn的安装。
- 创建虚拟环境并安装包:
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 <project_name> - 删除项目:
uv run serena delete-project <project_name>
文件操作
基础用法
- 创建文件:
uv run serena create-file <filename> - 读取文件内容:
uv run serena read-file <filepath> - 删除文件:
uv run serena delete-file <filepath>
代码操作
基础用法
- 查找符号:
uv run serena find-symbol <symbol_name> - 插入代码片段:
uv run serena insert-code <position> --content <code_content> - 替换代码段:
uv run serena replace-lines <start_line>:<end_line> --content <new_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 | 获取当前激活项目的名称(如果有),并列出所有项目。 |
Scan to contact