Serena 是一個強大的程式設計智能體工具包,能夠將大型語言模型(LLM)轉換為功能齊全的程式設計智能體,直接在您的程式碼庫上進行工作。該專案由 Oraios AI 開發並開源貢獻給開發者社群。
這些語言通過 Serena 底層使用的 multilspy 語言伺服器庫支援。
Serena 提供 MCP 伺服器,可與以下客戶端整合:
通過 Agno(模型無關的智能體框架),Serena 可以將幾乎任何 LLM 轉換為程式設計智能體,支援:
Serena 的工具實現與框架特定程式碼解耦,可以輕鬆適配到任何智能體框架。
Serena 可用於任何程式設計任務,包括:
uv
(安裝說明參見官方文檔)/path/to/serena
serena_config.template.yml
為 serena_config.yml
並調整設定myproject.template.yml
為 myproject.yml
並調整專案特定設定serena_config.yml
的 projects
列表中myproject.yml
claude_desktop_config.json
中添加:{
"mcpServers": {
"serena": {
"command": "/abs/path/to/uv",
"args": ["run", "--directory", "/abs/path/to/serena", "serena-mcp-server", "--project-file", "/abs/path/to/myproject.yml"]
}
}
}
goose configure
添加擴展/abs/path/to/uv run --directory /abs/path/to/serena serena-mcp-server /optional/abs/path/to/project.yml
developer
擴展npx create-agent-ui@latest
uv pip install --all-extras -r pyproject.toml -e .
.env.example
為 .env
並填入 API 密鑰uv run python scripts/agno_agent.py
cd agent-ui && pnpm dev
execute_shell_command
工具允許任意程式碼執行,需要謹慎使用read_only: true
),只允許分析和建議,不修改程式碼庫優勢:
劣勢:
優勢:
相似點:
.serena/memories/
中git config --global core.autocrlf true
以下是 Serena 所有工具的完整列表:
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
: 獲取當前活動專案名稱get_symbols_overview
: 獲取檔案或目錄中頂級符號的概覽insert_after_symbol
: 在符號定義結束後插入內容insert_at_line
: 在檔案的給定行插入內容insert_before_symbol
: 在符號定義開始前插入內容list_dir
: 列出目錄中的檔案和目錄list_memories
: 列出記憶體儲存中的記憶onboarding
: 執行入門引導prepare_for_new_conversation
: 為新對話做準備read_file
: 讀取專案目錄中的檔案read_memory
: 讀取指定名稱的記憶replace_lines
: 用新內容替換檔案中的行範圍replace_symbol_body
: 替換符號的完整定義restart_language_server
: 重啟語言伺服器search_for_pattern
: 在專案中搜索模式summarize_changes
: 提供程式碼庫更改摘要說明think_about_collected_information
: 思考工具,用於考慮收集信息的完整性think_about_task_adherence
: 思考工具,用於確定智能體是否仍在當前任務的正確軌道上think_about_whether_you_are_done
: 思考工具,用於確定任務是否真正完成write_memory
: 將命名記憶寫入記憶體儲存以供將來參考Serena 是一個功能強大、完全開源的程式設計智能體工具包,通過語義程式碼理解和多種整合方式,為開發者提供了一個免費且強大的 AI 程式設計助手解決方案。無論是通過 MCP 伺服器與 Claude Desktop 整合,還是通過 Agno 框架使用各種 LLM,Serena 都能顯著提升程式設計效率和程式碼質量。