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
Copy file name to clipboardExpand all lines: README.md
+12-6Lines changed: 12 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -39,7 +39,7 @@ docker run -d --name go-llm \
39
39
40
40
### Client
41
41
42
-
The client-only CLI can be downloaded from the [releases page](https://github.com/mutablelogic/go-llm/releases). It does not include the server or the Telegram bot. Point it at a running server:
42
+
The client-only CLI can be downloaded from the [releases page](https://github.com/mutablelogic/go-llm/releases), or use `go install -tags client github.com/mutablelogic/go-llm/cmd/llm@latest`. It does not include the server or the Telegram bot. Point it at a running server:
43
43
44
44
```bash
45
45
export LLM_ADDR="localhost:8085"
@@ -76,17 +76,18 @@ docker run -d --name go-llm-telegram \
76
76
77
77
### Providers
78
78
79
-
API keys are configured on the server via flags or environment variables:
79
+
Providers are sources of models and generation capabilities. Some providers may support additional features like thinking/reasoning, tool use and embeddings. API keys for access to provider models are configured on the server via flags or environment variables:
|**Anthropic Claude**|`--anthropic-api-key`|`ANTHROPIC_API_KEY`| Claude Sonnet, Haiku, Opus, etc. |
85
85
|**Mistral**|`--mistral-api-key`|`MISTRAL_API_KEY`| Mistral Large, Small, embedding models, etc. |
86
+
|**ELIZA**|`--eliza`|*(none)*| Mock provider based on Weizenbaum's 1966 chatbot; no API key needed (en, de, fr) |
86
87
87
88
### Tools
88
89
89
-
The following tools are included as examples of how to build tool integrations with the SDK:
90
+
Tools are external functions that can be called by the agent during generation. They are registered with the agent and exposed via the API and MCP server. Tools can be configured with flags or environment variables as needed for authentication or connection details. The following tools are included as examples of how to build tool integrations with the SDK:
90
91
91
92
| Tool | Flag | Env Variable | Description |
92
93
|------|------|-------------|-------------|
@@ -138,6 +139,8 @@ The `llm` command-line tool can connect to any running go-llm server (set `LLM_A
138
139
139
140
### Session
140
141
142
+
Sessions represent stateful conversations with context and memory. They can be managed via the CLI or API, and are persisted on the server for later retrieval.
143
+
141
144
| Command | Description | Example |
142
145
|---------|-------------|---------|
143
146
|`sessions`| List sessions |`llm sessions`|
@@ -157,8 +160,8 @@ The `llm` command-line tool can connect to any running go-llm server (set `LLM_A
157
160
158
161
| Command | Description | Example |
159
162
|---------|-------------|---------|
160
-
|`run`| Start the HTTP API server |`llm run`|
161
-
|`telegram`| Run as a Telegram bot |`llm telegram --model gemini-2.0-flash`|
163
+
|`run`| Start the server |`llm run`|
164
+
|`telegram`| Run as a Telegram bot, requiring a server|`llm telegram --model gemini-2.0-flash`|
162
165
163
166
Use `llm --help` or `llm <command> --help` for full options.
164
167
@@ -229,6 +232,8 @@ flowchart LR
229
232
Anthropic Claude`"]
230
233
Mistral["`**pkg/provider/mistral**
231
234
Mistral`"]
235
+
Eliza["`**pkg/provider/eliza**
236
+
ELIZA (mock)`"]
232
237
end
233
238
234
239
subgraph ToolImpls["Example Tools"]
@@ -251,6 +256,7 @@ flowchart LR
251
256
Agent --> Gemini
252
257
Agent --> Claude
253
258
Agent --> Mistral
259
+
Agent --> Eliza
254
260
Tools --> HA
255
261
Tools --> News
256
262
Tools --> Weather
@@ -303,7 +309,7 @@ func main() {
303
309
| Package | Description |
304
310
|---------|-------------|
305
311
|`pkg/agent`| Central manager orchestrating providers, sessions, and tools |
return nil, fmt.Errorf("no API keys configured. Set --gemini-api-key, --anthropic-api-key, or --mistral-api-key (or use environment variables)")
299
+
return nil, fmt.Errorf("no providers configured. Set --gemini-api-key, --anthropic-api-key, or --mistral-api-key (or use environment variables), or use --eliza for a local provider")
0 commit comments