mirror of
https://github.com/tiennm99/serena.git
synced 2026-10-12 20:15:56 +00:00
Demo script for running tools
This commit is contained in:
1 parent
e491f35bbf
commit
ec89632950
2 files changed
+33
No files matched your search
@@ -45,6 +45,13 @@ for you.
|
||||
Note: For the Windows subsystem for Linux (WSL), you may need to adjust the path for the
|
||||
volume.
|
||||
|
||||
## Running Tools Locally
|
||||
|
||||
The Serena tools (and in fact all Serena code) can be executed without an LLM, and also without
|
||||
any MCP specifics (though you can use the mcp inspector, if you want).
|
||||
|
||||
An example script for running tools is provided in [scripts/demo_run_tools.py](scripts/demo_run_tools.py).
|
||||
|
||||
## Adding a New Supported Language
|
||||
|
||||
Serena interacts with code through language servers which are included in
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
"""
|
||||
This script demonstrates how to use Serena's tools locally, useful
|
||||
for testing or development. Here the config is pointing to the serena repo itself,
|
||||
it assumes that you already have a serena_config.yml file setup.
|
||||
"""
|
||||
|
||||
import json
|
||||
from pprint import pprint
|
||||
from pathlib import Path
|
||||
|
||||
from serena.agent import *
|
||||
|
||||
project_root = Path(__file__).parent.parent
|
||||
|
||||
if __name__ == "__main__":
|
||||
agent = SerenaAgent(project_file_path=str(project_root / ".serena" / "project.yml"))
|
||||
overview_tool = agent.get_tool(GetSymbolsOverviewTool)
|
||||
find_symbol_tool = agent.get_tool(FindSymbolTool)
|
||||
|
||||
print("Getting an overview of the util package\n")
|
||||
pprint(json.loads(overview_tool.apply("src/serena/util")))
|
||||
|
||||
print("\n\n")
|
||||
|
||||
print("Finding the symbol 'SerenaAgent'\n")
|
||||
pprint(json.loads(find_symbol_tool.apply("SerenaAgent")))
|
||||
Reference in new issue
Block a user