Spaces:
Running
Running
File size: 3,462 Bytes
f680f3e | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 | ### code_execution_tool
run terminal, python, or nodejs commands
args:
- `runtime`: `terminal`, `python`, `nodejs`, or `output`
- `code`: command or script code
- `session`: terminal session id; default `0`
- `reset`: kill a session before running; `true` or `false`
rules:
- place the command or script in `code`
- use `runtime=output` to poll running work
- use `input` for interactive terminal prompts
- if a session is stuck, call again with the same `session` and `reset=true`
- check dependencies before running code
- replace placeholder or demo data with real values before execution
- use `print()` or `console.log()` when you need explicit output
- do not interleave other tools while waiting
- treat trailing framework `[SYSTEM: ...]` info as execution status, not command output; use it to decide whether to wait, reset, rerun, or continue
- probe cwd files tools and dependencies before expensive commands
- split long work into small commands: inspect, prepare, run, verify
- for builds installs servers training and long tests, redirect logs and poll with `runtime=output`
- after timeout or pause, inspect logs and processes before deciding wait reset or stop
- never claim success from timeout partial output or a still-running command
- stop stale background processes you started before final response
- when exact output matters, verify file path line count bytes and content with commands
examples:
1 terminal command
~~~json
{
"thoughts": [
"Need to do...",
"Need to install...",
],
"headline": "Installing zip package via terminal",
"tool_name": "code_execution_tool",
"tool_args": {
"runtime": "terminal",
"session": 0,
"reset": false,
"code": "apt-get install zip",
}
}
~~~
2 execute python code
~~~json
{
"thoughts": [
"Need to do...",
"I can use...",
"Then I can...",
],
"headline": "Executing Python code to check current directory",
"tool_name": "code_execution_tool",
"tool_args": {
"runtime": "python",
"session": 0,
"reset": false,
"code": "import os\nprint(os.getcwd())",
}
}
~~~
3 execute nodejs code
~~~json
{
"thoughts": [
"Need to do...",
"I can use...",
"Then I can...",
],
"headline": "Executing Javascript code to check current directory",
"tool_name": "code_execution_tool",
"tool_args": {
"runtime": "nodejs",
"session": 0,
"reset": false,
"code": "console.log(process.cwd());",
}
}
~~~
4 wait for output with long-running scripts
~~~json
{
"thoughts": [
"Waiting for program to finish...",
],
"headline": "Waiting for long-running program to complete",
"tool_name": "code_execution_tool",
"tool_args": {
"runtime": "output",
"session": 0,
}
}
~~~
2 python snippet
~~~json
{
"thoughts": ["A short Python check is faster than using the shell."],
"headline": "Running Python snippet",
"tool_name": "code_execution_tool",
"tool_args": {
"runtime": "python",
"session": 0,
"reset": false,
"code": "import os\nprint(os.getcwd())"
}
}
~~~
3 wait for running output
~~~json
{
"thoughts": ["The previous command is still running, so I should poll for output."],
"headline": "Waiting for command output",
"tool_name": "code_execution_tool",
"tool_args": {
"runtime": "output",
"session": 0
}
}
~~~
|