bots-garden/mini-mepublic Fork
⑂ a67841e
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.

Download ZIP

🛟 Updated.

k33g committed 2026-09-22T01:05:58+02:00 Browse files
a67841e parent: 427799c
added demo/agent.dmr.2.yaml +181 -0
new file mode 100644
@@ -0,0 +1,181 @@
1+# Agent settings.
2+#
3+provider: dmr
4+
5+#model: huggingface.co/jetbrains/mellum2-12b-a2.5b-instruct-gguf-q4_k_m:Q4_K_M
6+model: huggingface.co/unsloth/gemma-4-e2b-it-gguf:Q4_K_M
7+
8+baseUrl: http://localhost:12434/engines/v1
9+fallback: http://host.docker.internal:12434/engines/v1
10+
11+
12+# How many tokens the server actually serves.
13+# 0 = ask the server
14+contextWindow: 0
15+
16+# Max number of characters a tool returns to the model.
17+# Context safeguard: beyond that, the output is truncated (beginning + end kept).
18+maxOutput: 16000
19+
20+# Max number of model <-> tools round trips for a single question.
21+# Raise it for tasks that need long chains of commands.
22+maxTurns: 40
23+
24+# The `bash` tool.
25+# `false` removes it: the model can still read and edit files (editTools) and load skills,
26+# but never runs a command. If you turn it off, reword the system prompt below — it says "You have a bash tool".
27+bashTool: true
28+
29+# The built-in file tools: read_file, write_file, edit_file.
30+editTools: true
31+
32+lsp:
33+ servers:
34+ - name: gopls # go install golang.org/x/tools/gopls@latest
35+ command: gopls
36+ extensions: [".go"]
37+
38+# Language servers for the `lsp` tool (definition, references, hover, symbols, diagnostics, rename).
39+# The file extension picks the server. A server missing from the PATH is skipped with a warning.
40+# No server listed = no `lsp` tool. Examples (uncomment what you have installed):
41+# lsp:
42+# servers:
43+# - name: gopls
44+# command: gopls
45+# extensions: [".go"]
46+# - name: typescript
47+# command: typescript-language-server
48+# args: ["--stdio"]
49+# extensions: [".ts", ".tsx", ".js", ".jsx"]
50+# - name: python
51+# command: pyright-langserver
52+# args: ["--stdio"]
53+# extensions: [".py"]
54+# - name: rust
55+# command: rust-analyzer
56+# extensions: [".rs"]
57+
58+# Where the `read_skill` tool looks for its markdown procedures.
59+# The path is relative to the CURRENT DIRECTORY, so run the agent from the directory that holds skills.
60+skillsDir: skills
61+
62+# Persistent sessions, per project.
63+# When enabled, every conversation is saved as one JSON file under `dir`
64+sessions:
65+ enabled: true
66+ dir: .mm/sessions
67+
68+# How many lines of a command's output are echoed to the terminal.
69+# 0 disables it.
70+previewLines: 20
71+
72+# The system prompt: what the agent is, and what it is allowed to do.
73+# This is the knob to play with — it is the shortest path to changing behaviour.
74+system: |
75+ Your name is Bob The Bot.
76+ You are a coding agent working in a terminal.
77+ You have a "bash" tool to run shell commands.
78+ Use it to explore files, run tests, inspect the repository, etc.
79+ Chain several commands if needed, then answer clearly in English.
80+
81+ A request often mixes things you answer from yourself ("say hello") with
82+ things only a command can answer ("list the files"). Handle every part, in
83+ the order asked, and run a command for each part that needs one.
84+ Never state the contents of a file, the output of a command, or the state of
85+ the repository unless a command in THIS answer returned it. What you did not
86+ read, you do not know: run the command instead of recalling it.
87+
88+ SKILLS
89+ You have a second tool, `read_skill`. Its description lists the procedures
90+ available for this project — one per kind of task.
91+
92+ Any request to DO something to a Go project is a skill, not a shell command
93+ you invent. Match the request against that list, call `read_skill` FIRST,
94+ before any bash command, and then follow what it says step by step.
95+
96+ FILE EDITING
97+ You have three tools for files: `read_file`, `edit_file` and `write_file`.
98+ They are how a file gets read and changed here: each change is exact,
99+ checked before it is written, and comes back as a diff with line numbers.
100+ bash is for running things — building, testing, listing, searching.
101+
102+ - Read before you write: call `read_file` on the file (numbered=true when
103+ you need line numbers). You cannot target text you have not seen; never
104+ rely on what you think you remember about a file.
105+ - To change an existing file, call `edit_file` with one or more {old, new}
106+ pairs. `old` is copied from the file character for character — same
107+ spaces, same indentation, same line breaks — and appears exactly once:
108+ add the surrounding lines until it is unique. Several pairs are applied
109+ together, against the original file. An empty `new` deletes the text.
110+ - Call `write_file` only to create a file, or to rewrite one entirely and
111+ on purpose. On an existing file it replaces everything, including what
112+ you did not intend to touch.
113+ - Read the diff the tool returns: it says exactly what changed and on which
114+ line. If `edit_file` refuses — text not found, ambiguous, overlapping
115+ edits — read the file again and fix `old`. Do not fall back to
116+ `write_file` to force the change through.
117+ - After editing code, run the narrowest check with bash: the formatter, the
118+ compiler, or the test covering that file.
119+
120+ RULES
121+ - Keep everything the file already does, unless the user asked to remove it.
122+ - Touch only the files the request is about. Do not add tests, files or
123+ features that were not asked for.
124+ - Never run a git command unless the user says git, commit or push.
125+ - Never move, rename or delete a file unless the user asked for it.
126+ - Then answer in English, in a few lines.
127+ - If you don't know how to use a <cli>, run `<cli> --help` (or `<cli> help`)
128+ to understand the options, then run the command.
129+
130+ BACKGROUND JOBS
131+ Never let a command block the answer. Anything that serves, watches or runs
132+ long goes to the background, with BOTH streams redirected and its pid kept:
133+
134+ nohup <command> > /tmp/<job>.log 2>&1 & echo $! > /tmp/<job>.pid
135+
136+ Redirecting only stdout still blocks until the process exits. Read the
137+ `bg-jobs` skill before you wait on, inspect or stop such a job — each has a
138+ rule you cannot guess. Stop every job you started before you finish, and say
139+ which ones you left running.
140+
141+# Generation settings (OpenAI API keys). Low temperature for a coding agent:
142+# we want precise and reproducible answers, not creativity.
143+sampling:
144+ temperature: 0.0
145+ parallel_tool_calls: false
146+ top_p: 0.9
147+ max_tokens: 4096
148+
149+watchdogTimeout: 30s
150+
151+# Context compression
152+context:
153+ enabled: false
154+
155+ # Compress when the history reaches this share of the window.
156+ threshold: 75
157+
158+ # Fallback on the message count, for when the window is unknown.
159+ # One command costs 2 messages (call + response), so 80 is roughly 30 commands of history.
160+ maxMessages: 80
161+
162+ # How many recent questions (with their commands and answers) are kept as-is instead of being summarised.
163+ # The model works on the last few turns, so summarising them would make it redo what it just did.
164+ keepLastTurns: 3
165+
166+ # max_tokens of the summary request.
167+ summaryMaxTokens: 1200
168+
169+ # Replaces the built-in summary prompt when set.
170+ # Empty = built-in.
171+ prompt: ""
172+
173+ showStats: true
174+
175+displayCommands: true
176+# Show what a thinking model reasons about before it answers (dim italic in the
177+# terminal, its own style in the window, a thought chunk in an editor).
178+# The reasoning is always READ — it is what keeps the watchdog alive while the
179+# model thinks — this only says whether to show it.
180+showThinking: true
181+
new file mode 100644
@@ -0,0 +1,181 @@
1+# Agent settings.
2+#
3+provider: dmr
4+
5+#model: huggingface.co/jetbrains/mellum2-12b-a2.5b-instruct-gguf-q4_k_m:Q4_K_M
6+model: huggingface.co/unsloth/gemma-4-e2b-it-gguf:Q4_K_M
7+
8+baseUrl: http://localhost:12434/engines/v1
9+fallback: http://host.docker.internal:12434/engines/v1
10+
11+
12+# How many tokens the server actually serves.
13+# 0 = ask the server
14+contextWindow: 0
15+
16+# Max number of characters a tool returns to the model.
17+# Context safeguard: beyond that, the output is truncated (beginning + end kept).
18+maxOutput: 16000
19+
20+# Max number of model <-> tools round trips for a single question.
21+# Raise it for tasks that need long chains of commands.
22+maxTurns: 40
23+
24+# The `bash` tool.
25+# `false` removes it: the model can still read and edit files (editTools) and load skills,
26+# but never runs a command. If you turn it off, reword the system prompt below — it says "You have a bash tool".
27+bashTool: true
28+
29+# The built-in file tools: read_file, write_file, edit_file.
30+editTools: true
31+
32+lsp:
33+ servers:
34+ - name: gopls # go install golang.org/x/tools/gopls@latest
35+ command: gopls
36+ extensions: [".go"]
37+
38+# Language servers for the `lsp` tool (definition, references, hover, symbols, diagnostics, rename).
39+# The file extension picks the server. A server missing from the PATH is skipped with a warning.
40+# No server listed = no `lsp` tool. Examples (uncomment what you have installed):
41+# lsp:
42+# servers:
43+# - name: gopls
44+# command: gopls
45+# extensions: [".go"]
46+# - name: typescript
47+# command: typescript-language-server
48+# args: ["--stdio"]
49+# extensions: [".ts", ".tsx", ".js", ".jsx"]
50+# - name: python
51+# command: pyright-langserver
52+# args: ["--stdio"]
53+# extensions: [".py"]
54+# - name: rust
55+# command: rust-analyzer
56+# extensions: [".rs"]
57+
58+# Where the `read_skill` tool looks for its markdown procedures.
59+# The path is relative to the CURRENT DIRECTORY, so run the agent from the directory that holds skills.
60+skillsDir: skills
61+
62+# Persistent sessions, per project.
63+# When enabled, every conversation is saved as one JSON file under `dir`
64+sessions:
65+ enabled: true
66+ dir: .mm/sessions
67+
68+# How many lines of a command's output are echoed to the terminal.
69+# 0 disables it.
70+previewLines: 20
71+
72+# The system prompt: what the agent is, and what it is allowed to do.
73+# This is the knob to play with — it is the shortest path to changing behaviour.
74+system: |
75+ Your name is Bob The Bot.
76+ You are a coding agent working in a terminal.
77+ You have a "bash" tool to run shell commands.
78+ Use it to explore files, run tests, inspect the repository, etc.
79+ Chain several commands if needed, then answer clearly in English.
80+
81+ A request often mixes things you answer from yourself ("say hello") with
82+ things only a command can answer ("list the files"). Handle every part, in
83+ the order asked, and run a command for each part that needs one.
84+ Never state the contents of a file, the output of a command, or the state of
85+ the repository unless a command in THIS answer returned it. What you did not
86+ read, you do not know: run the command instead of recalling it.
87+
88+ SKILLS
89+ You have a second tool, `read_skill`. Its description lists the procedures
90+ available for this project — one per kind of task.
91+
92+ Any request to DO something to a Go project is a skill, not a shell command
93+ you invent. Match the request against that list, call `read_skill` FIRST,
94+ before any bash command, and then follow what it says step by step.
95+
96+ FILE EDITING
97+ You have three tools for files: `read_file`, `edit_file` and `write_file`.
98+ They are how a file gets read and changed here: each change is exact,
99+ checked before it is written, and comes back as a diff with line numbers.
100+ bash is for running things — building, testing, listing, searching.
101+
102+ - Read before you write: call `read_file` on the file (numbered=true when
103+ you need line numbers). You cannot target text you have not seen; never
104+ rely on what you think you remember about a file.
105+ - To change an existing file, call `edit_file` with one or more {old, new}
106+ pairs. `old` is copied from the file character for character — same
107+ spaces, same indentation, same line breaks — and appears exactly once:
108+ add the surrounding lines until it is unique. Several pairs are applied
109+ together, against the original file. An empty `new` deletes the text.
110+ - Call `write_file` only to create a file, or to rewrite one entirely and
111+ on purpose. On an existing file it replaces everything, including what
112+ you did not intend to touch.
113+ - Read the diff the tool returns: it says exactly what changed and on which
114+ line. If `edit_file` refuses — text not found, ambiguous, overlapping
115+ edits — read the file again and fix `old`. Do not fall back to
116+ `write_file` to force the change through.
117+ - After editing code, run the narrowest check with bash: the formatter, the
118+ compiler, or the test covering that file.
119+
120+ RULES
121+ - Keep everything the file already does, unless the user asked to remove it.
122+ - Touch only the files the request is about. Do not add tests, files or
123+ features that were not asked for.
124+ - Never run a git command unless the user says git, commit or push.
125+ - Never move, rename or delete a file unless the user asked for it.
126+ - Then answer in English, in a few lines.
127+ - If you don't know how to use a <cli>, run `<cli> --help` (or `<cli> help`)
128+ to understand the options, then run the command.
129+
130+ BACKGROUND JOBS
131+ Never let a command block the answer. Anything that serves, watches or runs
132+ long goes to the background, with BOTH streams redirected and its pid kept:
133+
134+ nohup <command> > /tmp/<job>.log 2>&1 & echo $! > /tmp/<job>.pid
135+
136+ Redirecting only stdout still blocks until the process exits. Read the
137+ `bg-jobs` skill before you wait on, inspect or stop such a job — each has a
138+ rule you cannot guess. Stop every job you started before you finish, and say
139+ which ones you left running.
140+
141+# Generation settings (OpenAI API keys). Low temperature for a coding agent:
142+# we want precise and reproducible answers, not creativity.
143+sampling:
144+ temperature: 0.0
145+ parallel_tool_calls: false
146+ top_p: 0.9
147+ max_tokens: 4096
148+
149+watchdogTimeout: 30s
150+
151+# Context compression
152+context:
153+ enabled: false
154+
155+ # Compress when the history reaches this share of the window.
156+ threshold: 75
157+
158+ # Fallback on the message count, for when the window is unknown.
159+ # One command costs 2 messages (call + response), so 80 is roughly 30 commands of history.
160+ maxMessages: 80
161+
162+ # How many recent questions (with their commands and answers) are kept as-is instead of being summarised.
163+ # The model works on the last few turns, so summarising them would make it redo what it just did.
164+ keepLastTurns: 3
165+
166+ # max_tokens of the summary request.
167+ summaryMaxTokens: 1200
168+
169+ # Replaces the built-in summary prompt when set.
170+ # Empty = built-in.
171+ prompt: ""
172+
173+ showStats: true
174+
175+displayCommands: true
176+# Show what a thinking model reasons about before it answers (dim italic in the
177+# terminal, its own style in the window, a thought chunk in an editor).
178+# The reasoning is always READ — it is what keeps the watchdog alive while the
179+# model thinks — this only says whether to show it.
180+showThinking: true
181+
modified demo/agent.dmr.yaml +1 -1
@@ -72,7 +72,7 @@ previewLines: 20
7272 # The system prompt: what the agent is, and what it is allowed to do.
7373 # This is the knob to play with — it is the shortest path to changing behaviour.
7474 system: |
75- Your name is Bob.
75+ Your name is Bob The Bot.
7676 You are a coding agent working in a terminal.
7777 You have a "bash" tool to run shell commands.
7878 Use it to explore files, run tests, inspect the repository, etc.
@@ -72,7 +72,7 @@ previewLines: 20
72 # The system prompt: what the agent is, and what it is allowed to do.72 # The system prompt: what the agent is, and what it is allowed to do.
73 # This is the knob to play with — it is the shortest path to changing behaviour.73 # This is the knob to play with — it is the shortest path to changing behaviour.
74 system: |74 system: |
75- Your name is Bob.75+ Your name is Bob The Bot.
76 You are a coding agent working in a terminal.76 You are a coding agent working in a terminal.
77 You have a "bash" tool to run shell commands.77 You have a "bash" tool to run shell commands.
78 Use it to explore files, run tests, inspect the repository, etc.78 Use it to explore files, run tests, inspect the repository, etc.
modified docker-sbx/README.md +2 -0
@@ -57,6 +57,8 @@ Later, `sbx run --name mm-tui-<directory>` re-attaches to that sandbox; `sbx ls`
5757 ```bash
5858 cd /path/to/your/project
5959 sbx create --name mm-acp k33g/mm-acp:0.0.2 . --kit-arg config=agent.dmr.yaml
60+
61+#sbx create k33g/mm-acp:0.1.0 . --name sbx-mm-acp
6062 ```
6163
6264 then register it in the editor — in Zed's `settings.json`:
@@ -57,6 +57,8 @@ Later, `sbx run --name mm-tui-<directory>` re-attaches to that sandbox; `sbx ls`
57 ```bash57 ```bash
58 cd /path/to/your/project58 cd /path/to/your/project
59 sbx create --name mm-acp k33g/mm-acp:0.0.2 . --kit-arg config=agent.dmr.yaml59 sbx create --name mm-acp k33g/mm-acp:0.0.2 . --kit-arg config=agent.dmr.yaml
60+
61+#sbx create k33g/mm-acp:0.1.0 . --name sbx-mm-acp
60 ```62 ```
61 63
62 then register it in the editor — in Zed's `settings.json`:64 then register it in the editor — in Zed's `settings.json`:
added docker-sbx/USE.MM.SBX-WITH.TURBO.EDITORS.md +16 -0
new file mode 100644
@@ -0,0 +1,16 @@
1+
2+
3+Start `sbx` in your project directory:
4+```bash
5+sbx create k33g/mm-acp:0.1.0 . --name turbo-acp --kit-arg config=.turbo-go/agent.mm-dmr-gemma.yaml
6+```
7+
8+`acp.toml`:
9+
10+```toml
11+[[agent]]
12+name = "📦 Riker (sbx mm-dmr-gemma)"
13+command = "sbx"
14+args = ["exec", "-i", "turbo-acp", "mm", "-acp"]
15+
16+```
\ No newline at end of file
new file mode 100644
@@ -0,0 +1,16 @@
1+
2+
3+Start `sbx` in your project directory:
4+```bash
5+sbx create k33g/mm-acp:0.1.0 . --name turbo-acp --kit-arg config=.turbo-go/agent.mm-dmr-gemma.yaml
6+```
7+
8+`acp.toml`:
9+
10+```toml
11+[[agent]]
12+name = "📦 Riker (sbx mm-dmr-gemma)"
13+command = "sbx"
14+args = ["exec", "-i", "turbo-acp", "mm", "-acp"]
15+
16+```
\ No newline at end of file\ No newline at end of file
added docker-sbx/USE.MM.SBX-WITH.ZED.EDITOR.md +18 -0
new file mode 100644
@@ -0,0 +1,18 @@
1+
2+
3+Start `sbx` in your project directory:
4+```bash
5+sbx create k33g/mm-acp:0.1.0 . --name zed-acp --kit-arg config=agent.dmr.yaml
6+```
7+
8+Zed settings:
9+
10+```json
11+ "agent_servers": {
12+ "😄 mini-me (dmr sbx)": {
13+ "type": "custom",
14+ "command": "sbx",
15+ "args": ["exec", "-i", "zed-acp-3", "mm", "-acp"],
16+ },
17+ }
18+```
\ No newline at end of file
new file mode 100644
@@ -0,0 +1,18 @@
1+
2+
3+Start `sbx` in your project directory:
4+```bash
5+sbx create k33g/mm-acp:0.1.0 . --name zed-acp --kit-arg config=agent.dmr.yaml
6+```
7+
8+Zed settings:
9+
10+```json
11+ "agent_servers": {
12+ "😄 mini-me (dmr sbx)": {
13+ "type": "custom",
14+ "command": "sbx",
15+ "args": ["exec", "-i", "zed-acp-3", "mm", "-acp"],
16+ },
17+ }
18+```
\ No newline at end of file\ No newline at end of file