Compare commits

..

2 Commits

Author SHA1 Message Date
896f706e33 Update README.md 2024-06-23 21:26:44 +00:00
2aaa5bc286 Update TODO.md 2024-06-23 21:26:44 +00:00

View File

@ -38,7 +38,7 @@ chroma:
style: onedark
formatter: terminal16m
agents:
- name: code-helper
- name: coder
tools:
- dir_tree
- read_file
@ -85,6 +85,26 @@ Available formatters:
- `terminal256` - 256 colors
- `terminal16m` - true color (default)
## Agents
Agents in `lmcli` combine a system prompt with a set of available tools. Agents are defined in`config.yaml` and you use them with the `-a`/`--agent` flag.
Agent functionality is expected to be expanded on, bringing them to close parity with something like OpenAI's "Assistants" feature.
## Tools
Tools are used by agents to acquire information from and interact with external systems. The following built-in tools are available:
- `dir_tree`: Display a directory structure
- `read_file`: Read the contents of a file
- `write_file`: Write content to a file
- `file_insert_lines`: Insert lines at a specific position in a file
- `file_replace_lines`: Replace a range of lines in a file
Obviously, some of these tools carry significant risk. Use wisely :)
More tool features are planned, including the ability to define arbitrary tools which call out to external scripts, tools to spawn sub-agents, perform web searches, etc.
## Usage
```console
@ -119,10 +139,10 @@ Use "lmcli [command] --help" for more information about a command.
### Examples
Start a new chat with the `code-helper` agent:
Start a new chat with the `coder` agent:
```console
$ lmcli chat --agent code-helper
$ lmcli chat --agent coder
```
Start a new conversation, imperative style (no tui):
@ -137,31 +157,6 @@ Send a one-shot prompt (no persistence):
$ lmcli prompt "What is the answer to life, the universe, and everything?"
```
## Agents
Agents in `lmcli` combine a system prompt with a set of available tools. Agents are defined in`config.yaml` and you use them with the `-a`/`--agent` flag.
Example:
```console
$ lmcli chat -a financier
```
Agent functionality is expected to be expanded on, bringing them to close parity with something like OpenAI's "Assistants" feature.
## Tools
Tools are used by agents to acquire information from and interact with external systems. The following built-in tools are available:
- `dir_tree`: Display a directory structure
- `read_file`: Read the contents of a file
- `write_file`: Write content to a file
- `file_insert_lines`: Insert lines at a specific position in a file
- `file_replace_lines`: Replace a range of lines in a file
Obviously, some of these tools carry significant risk. Use wisely :)
More tool features are planned, including the ability to define arbitrary tools which call out to external scripts, tools to spawn sub-agents, perform web searches, etc.
## Contributing
Contributions to `lmcli` are welcome! Feel free to open issues or submit pull requests on the project repository.