bots-garden/mini-mepublic Fork 0
d72271127802973540c648bfb372176cdaaa8e4f
Commits
Clone
git clone https://git.rickub.com/bots-garden/mini-me.git
git clone ssh://git@rickub.com/bots-garden/mini-me.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

configuration.md · 82 lines · 5.2 KBmarkdown Blame HistoryRaw
💾 Saved. d722711 k33g 8h ago1# Reference: configuration file
2
3> Neutral, exhaustive description of the YAML file read by `mm`. Every key is optional; a key left out keeps its built-in default. The file is decoded on top of the defaults, so unknown keys are ignored.
4
5## Top-level keys
6
7| Key | Type | Default | Description |
8|-----|------|---------|-------------|
9| `provider` | string | `dmr` | Registry key of the LLM server: `dmr` or `llamacpp`. Overridden by `AGENT_PROVIDER`. |
10| `model` | string | `huggingface.co/jetbrains/mellum2-12b-a2.5b-instruct-gguf-q4_k_m:Q4_K_M` | Model identifier in the provider's naming. Overridden by `AGENT_MODEL`. |
11| `baseUrl` | string | `""` (provider default) | OpenAI-compatible endpoint tried first. Overridden by `AGENT_BASE_URL`. |
12| `fallback` | string or absent | absent (provider default) | Endpoint used when `baseUrl` does not answer `/models` within 2 s. Absent = provider default; `""` = no fallback. |
13| `apiKeyEnv` | string | `""` (provider default) | Name of the environment variable holding the API key. |
14| `contextWindow` | int | `0` | Tokens the server serves. `0` = ask the server, else unknown. Must be ≥ 0. |
15| `maxOutput` | int | `16000` | Maximum characters a tool returns to the model; longer output keeps its head and up to 2000 characters of tail. Must be > 0. |
16| `maxTurns` | int | `10` | Maximum model ↔ tools round trips per question. Must be > 0. |
17| `previewLines` | int | `20` | Lines of a command's output echoed to the terminal. `0` disables the echo. Must be ≥ 0. |
18| `displayCommands` | bool | `false` | Print the numbered list of commands and file operations after each answer. |
19| `system` | string | built-in prompt | The system prompt, first message of every history. |
20| `skillsDir` | string | `skills` | Directory holding the skills, as `<name>.md` files or `<name>/SKILL.md` directories. A relative path is resolved from the directory `mm` is started in (terminal mode, or ACP mode without a config file), or next to the config file (ACP mode with one); the banner warns with the absolute path when nothing is found there. |
21| `editTools` | bool | `true` | Declare `read_file`, `write_file`, `edit_file`. `false` leaves `bash` and `read_skill` only. |
22| `sampling` | map | `temperature: 0.0`, `top_p: 0.9`, `max_tokens: 4096` | Generation settings, OpenAI API key names, passed to the server. The shipped `agent.yaml` adds `parallel_tool_calls: false`. |
23| `watchdogTimeout` | duration | `20s` | Silence tolerated between two streamed tokens before the connection is declared hung. Doubled for summary requests. |
24| `context` | map | see below | Automatic history compression. |
25
26## `context` keys
27
28| Key | Type | Default | Description |
29|-----|------|---------|-------------|
30| `enabled` | bool | `false` | Turn the automatic compression on. `/compact` works regardless. |
31| `threshold` | int | `75` | Percentage of the context window beyond which the history is compressed before the next question. Between 1 and 100. |
32| `maxMessages` | int | `80` | Message count that triggers a compression when the window is unknown or the estimate is low. `0` disables. Must be ≥ 0. |
33| `keepLastTurns` | int | `3` | Question turns kept raw at the end of the history. Must be ≥ 1. |
34| `summaryMaxTokens` | int | `1200` | `max_tokens` of the summary request. Must be > 0. |
35| `prompt` | string | `""` | Replaces the built-in summary prompt when not empty. |
36| `showStats` | bool | `true` | Print the one-line `🗜️` report after each compression. |
37
38## Provider defaults
39
40| Provider | `baseUrl` | `fallback` | `apiKeyEnv` | Key required |
41|----------|-----------|------------|-------------|--------------|
42| `dmr` | `http://localhost:12434/engines/v1` | `http://host.docker.internal:12434/engines/v1` | none | no |
43| `llamacpp` | `http://127.0.0.1:8080/v1` | none | `LLAMA_API_KEY` | no |
44
45## Validation errors
46
47Reported as `[config error: <path>: <message>]`, exit code 1.
48
49| Message | Cause |
50|---------|-------|
51| `provider must not be empty` | `provider: ""` |
52| `model must not be empty` | `model: ""` |
53| `contextWindow must be >= 0` | negative value |
54| `maxOutput must be > 0` | zero or negative |
55| `maxTurns must be > 0` | zero or negative |
56| `previewLines must be >= 0` | negative value |
57| `context.threshold must be between 1 and 100` | out of range |
58| `context.keepLastTurns must be >= 1` | zero or negative |
59| `context.summaryMaxTokens must be > 0` | zero or negative |
60| `context.maxMessages must be >= 0` | negative value |
61| `unknown provider "x" (known: dmr, llamacpp)` | Reported by the engine, as `[engine error: …]`. |
62
63A start-up warning, not an error, is printed when `context.enabled` is `true`, the window is unknown and `context.maxMessages` is `0`.
64
65## Shipped files
66
67| File | Purpose |
68|------|---------|
69| `agent.yaml` | Docker Model Runner set-up: `provider: dmr`, `maxTurns: 40`, `displayCommands: true`, compression off, a system prompt named "Bob" that describes the skills and file-editing rules. |
70| `agent.llamacpp.yaml` | llama.cpp set-up: `provider: llamacpp`, `baseUrl: http://127.0.0.1:8080/v1`, `fallback: ""`, compression on. |
71
72### Example
73
74```yaml
75provider: llamacpp
76model: my-alias
77baseUrl: http://127.0.0.1:8080/v1
78fallback: ""
79maxTurns: 40
80context:
81 enabled: true
82```