You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Behavior affect the prompt passed to LLM and the tools to include, ECA allow to override or __create your owns behaviors__, the built-in provider behaviors are:
12
12
13
-
-`plan`: Useful to plan changes and define better LLM plan before changing code via agent mode, has ability to preview changes (Check picture). [Prompt here](https://github.com/editor-code-assistant/eca/blob/master/resources/prompts/plan_behavior.md)
14
13
-`agent`: Make changes to code via file changing tools. (Default) [Prompt here](https://github.com/editor-code-assistant/eca/blob/master/resources/prompts/agent_behavior.md)
14
+
-`plan`: Useful to plan changes and define better LLM plan before changing code via agent mode, has ability to preview changes (Check below). [Prompt here](https://github.com/editor-code-assistant/eca/blob/master/resources/prompts/plan_behavior.md)
15
15
16
16

17
17
18
-
To create and customize your own behaviors, check [config](./configuration.md#).
18
+
!!! info "Custom behaviors"
19
+
20
+
To create and customize your own behaviors, check the [config](./configuration.md#).
19
21
20
22
### Tools
21
23
22
-

24
+
{ align=right }
23
25
24
26
ECA leverage tools to give more power to the LLM, this is the best way to make LLMs have more context about your codebase and behave like an agent.
25
27
It supports both MCP server tools + ECA native tools.
26
28
27
29
!!! info "Approval / permissions"
28
30
29
-
By default, ECA ask to approve any tool, you can easily configure that, check `toolCall approval` [config](./configuration.md) or try the `plan` behavior.
31
+
By default, ECA ask to approve all non-read only tools or mcp tools, you can easily configure that, check `toolCall approval` [config](./configuration.md) or try the `plan` behavior.
30
32
31
33
#### Native tools
32
34
33
35
ECA support built-in tools to avoid user extra installation and configuration, these tools are always included on models requests that support tools and can be [disabled via config](./configuration.md)`disabledTools`.
34
36
35
-
##### Filesystem
37
+
=== "Filesystem"
36
38
37
-
Provides access to filesystem under workspace root, listing, reading and writing files, important for agentic operations.
39
+
Provides access to filesystem under workspace root, listing, reading and writing files, important for agentic operations.
38
40
39
-
-`eca_directory_tree`: list a directory as a tree (can be recursive).
40
-
-`eca_read_file`: read a file content.
41
-
-`eca_write_file`: write content to a new file.
42
-
-`eca_edit_file`: replace lines of a file with a new content.
43
-
-`eca_preview_edit_file`: Only used in plan mode, showing what changes will happen after user decides to execute the plan.
44
-
-`eca_move_file`: move/rename a file.
45
-
-`eca_grep`: ripgrep/grep for paths with specified content.
41
+
- `eca_directory_tree`: list a directory as a tree (can be recursive).
42
+
- `eca_read_file`: read a file content.
43
+
- `eca_write_file`: write content to a new file.
44
+
- `eca_edit_file`: replace lines of a file with a new content.
45
+
- `eca_preview_edit_file`: Only used in plan mode, showing what changes will happen after user decides to execute the plan.
46
+
- `eca_move_file`: move/rename a file.
47
+
- `eca_grep`: ripgrep/grep for paths with specified content.
46
48
47
-
##### Shell
49
+
=== "Shell"
48
50
49
-
Provides access to run shell commands, useful to run build tools, tests, and other common commands, supports exclude/include commands.
51
+
Provides access to run shell commands, useful to run build tools, tests, and other common commands, supports exclude/include commands.
50
52
51
-
-`eca_shell_command`: run shell command. Command exclusion can be configured using toolCall approval configuration with regex patterns.
53
+
- `eca_shell_command`: run shell command. Command exclusion can be configured using toolCall approval configuration with regex patterns.
52
54
53
-
##### Editor
55
+
=== "Editor"
54
56
55
-
Provides access to get information from editor workspaces.
57
+
Provides access to get information from editor workspaces.
56
58
57
-
-`eca_editor_diagnostics`: Ask client about the diagnostics (like LSP diagnostics).
59
+
- `eca_editor_diagnostics`: Ask client about the diagnostics (like LSP diagnostics).
58
60
59
-
#### Custom Tools
61
+
!!! info "Custom Tools"
60
62
61
-
Besides the built-in native tools, ECA allows you to define your own tools by wrapping any command-line executable. This feature enables you to extend ECA's capabilities to match your specific workflows, such as running custom scripts, interacting with internal services, or using your favorite CLI tools.
63
+
Besides the built-in native tools, ECA allows you to define your own tools by wrapping any command-line executable. This feature enables you to extend ECA's capabilities to match your specific workflows, such as running custom scripts, interacting with internal services, or using your favorite CLI tools.
62
64
63
-
Custom tools are configured in your `config.json` file. For a detailed guide on how to set them up, check the [Custom Tools configuration documentation](./configuration.md#custom-tools).
65
+
Custom tools are configured in your `config.json` file. For a detailed guide on how to set them up, check the [Custom Tools configuration documentation](./configuration.md#custom-tools).
ECA supports contexts (`@`) and files (`#`), including images and MCP resources, which can help LLM generate output with better quality.
70
72
Here are the current supported contexts types:
@@ -107,9 +109,9 @@ The built-in commands are:
107
109
-`/repo-map-show`: Show the current repoMap context of the session.
108
110
-`/prompt-show`: Show the final prompt sent to LLM with all contexts and ECA details.
109
111
110
-
#### Custom commands
112
+
!!! info "Custom commands"
111
113
112
-
It's possible to configure custom command prompts, for more details check [its configuration](./configuration.md#custom-command-prompts)
114
+
It's possible to configure custom command prompts, for more details check [its configuration](./configuration.md#custom-command-prompts)
113
115
114
116
#### Login
115
117
@@ -126,13 +128,13 @@ Hooks are actions that can run before or after an specific event, useful to noti
126
128
127
129

128
130
129
-
For more details, check [hooks configuration](./configuration.md#hooks)
131
+
For more details, check [hooks configuration](./configuration.md#hooks).
130
132
131
133
## OpenTelemetry integration
132
134
133
135
ECA has support for [OpenTelemetry](https://opentelemetry.io/)(otlp), if configured, server tasks, tool calls, and more will be metrified via otlp API.
134
136
135
-
For more details check [its configuration](./configuration.md#opentelemetry-integration)
137
+
For more details check [its configuration](./configuration.md#opentelemetry-integration).
0 commit comments