mirror of
https://github.com/agent0ai/agent-zero.git
synced 2026-04-28 03:30:23 +00:00
prompts: restore legacy, plugins, agent0 profile
Restore main.communication, main.solving, main.tips and tool.response, which made the model dumber. For some reasons the drawback was more visible with frontier LLMs. restore builtin plugins and agent0 profile
This commit is contained in:
parent
3a512b8c1b
commit
86dca86f6f
10 changed files with 288 additions and 93 deletions
|
|
@ -19,15 +19,73 @@ examples:
|
|||
1 terminal command
|
||||
~~~json
|
||||
{
|
||||
"thoughts": ["I should run a terminal command in the default session."],
|
||||
"headline": "Running terminal command",
|
||||
"tool_name": "code_execution_tool",
|
||||
"tool_args": {
|
||||
"runtime": "terminal",
|
||||
"session": 0,
|
||||
"reset": false,
|
||||
"code": "pwd"
|
||||
}
|
||||
"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,
|
||||
}
|
||||
}
|
||||
~~~
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,19 @@
|
|||
### input
|
||||
send keyboard input to a running terminal session
|
||||
args: `keyboard`, `session`
|
||||
use only for interactive terminal programs, not browser tasks
|
||||
### input:
|
||||
use keyboard arg for terminal program input
|
||||
use session arg for terminal session number
|
||||
answer dialogues enter passwords etc
|
||||
not for browser
|
||||
usage:
|
||||
~~~json
|
||||
{
|
||||
"thoughts": [
|
||||
"The program asks for Y/N...",
|
||||
],
|
||||
"headline": "Responding to terminal program prompt",
|
||||
"tool_name": "input",
|
||||
"tool_args": {
|
||||
"keyboard": "Y",
|
||||
"session": 0
|
||||
}
|
||||
}
|
||||
~~~
|
||||
|
|
|
|||
|
|
@ -1,9 +1,13 @@
|
|||
## promptinclude
|
||||
matching `{{name_pattern}}` files in workdir are auto-injected into the system prompt
|
||||
use this for standing preferences, project notes, and other long-lived context that should survive future chats
|
||||
when the user asks to remember or persist standing notes or preferences, update a matching file with `text_editor` instead of only acknowledging it
|
||||
if the user wants a preference or note to persist across conversations, write it; do not only promise to remember it
|
||||
# Behavioral prompt includes
|
||||
"{{name_pattern}}" files in workdir auto-injected into system prompt
|
||||
create/edit/delete persist across conversations
|
||||
preference change/remember/note > MUST persist via text_editor before responding
|
||||
never just acknowledge verbally always persist to file
|
||||
use for persistent notes knowledge project context
|
||||
recursive search alphabetical by full path
|
||||
{{if includes}}
|
||||
obey included rules and preferences below
|
||||
### includes
|
||||
!!! obey all rules preferences instructions below
|
||||
|
||||
{{includes}}
|
||||
{{endif}}
|
||||
|
|
|
|||
|
|
@ -1,24 +1,67 @@
|
|||
### text_editor
|
||||
read write or patch text files; binary files are not supported
|
||||
always use the method form in `tool_name`; never send bare `text_editor`
|
||||
- `text_editor:read`: `path`, optional `line_from`, `line_to`
|
||||
- `text_editor:write`: `path`, `content`
|
||||
- `text_editor:patch`: `path`, `edits[]`
|
||||
example:
|
||||
file read write patch with numbered lines
|
||||
not code execution rejects binary
|
||||
terminal (grep find sed) advance search/replace
|
||||
|
||||
#### text_editor:read
|
||||
read file with numbered lines
|
||||
args path line_from line_to (inclusive optional)
|
||||
no range → first {{default_line_count}} lines
|
||||
long lines cropped output may trim by token limit
|
||||
read surrounding context before patching
|
||||
usage:
|
||||
~~~json
|
||||
{
|
||||
"thoughts": ["Need to inspect the file before patching it."],
|
||||
"headline": "Reading file with text editor",
|
||||
"tool_name": "text_editor:read",
|
||||
"tool_args": {
|
||||
"path": "/path/file.py",
|
||||
"line_from": 1,
|
||||
"line_to": 50
|
||||
}
|
||||
...
|
||||
"tool_name": "text_editor:read",
|
||||
"tool_args": {
|
||||
"path": "/path/file.py",
|
||||
"line_from": 1,
|
||||
"line_to": 50
|
||||
}
|
||||
}
|
||||
~~~
|
||||
|
||||
#### text_editor:write
|
||||
create/overwrite file auto-creates dirs
|
||||
args path content
|
||||
usage:
|
||||
~~~json
|
||||
{
|
||||
...
|
||||
"tool_name": "text_editor:write",
|
||||
"tool_args": {
|
||||
"path": "/path/file.py",
|
||||
"content": "import os\nprint('hello')\n"
|
||||
}
|
||||
}
|
||||
~~~
|
||||
|
||||
#### text_editor:patch
|
||||
line edits on existing file
|
||||
args path edits [{from to content}]
|
||||
from to inclusive \n in content
|
||||
{from:2 to:2 content:"x\n"} replace line
|
||||
{from:1 to:3 content:"x\n"} replace range
|
||||
{from:2 to:2} delete (no content)
|
||||
{from:2 content:"x\n"} insert before (omit to)
|
||||
use original line numbers from read
|
||||
dont adjust for shifts no overlapping edits
|
||||
ensure valid syntax in content (all braces brackets tags closed)
|
||||
only replace exact lines needed dont include surrounding unchanged lines
|
||||
re-read when insert delete or N≠M replace else patch again ok
|
||||
large changes write over multiple patches
|
||||
usage:
|
||||
~~~json
|
||||
{
|
||||
...
|
||||
"tool_name": "text_editor:patch",
|
||||
"tool_args": {
|
||||
"path": "/path/file.py",
|
||||
"edits": [
|
||||
{"from": 1, "content": "import sys\n"},
|
||||
{"from": 5, "to": 5, "content": " if x == 2:\n"}
|
||||
]
|
||||
}
|
||||
}
|
||||
~~~
|
||||
patch edit format: `{from,to?,content?}`
|
||||
- omit `to` to insert before `from`
|
||||
- omit `content` to delete
|
||||
- line numbers come from the last read
|
||||
- avoid overlapping edits; re-read after insert delete or other line shifts
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue