nandi/oripublic Fork 0
55d4c9e2f7a9027b52846558166f42e50851523a
Commits
Clone
git clone https://git.rickub.com/nandi/ori.git
git clone ssh://git@rickub.com/nandi/ori.git

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

forked from bots-garden/ori

dmr-mellum2.yaml · 147 lines · 5.9 KBYAML Blame HistoryRaw
🎉 Begin a project. 4edda86 k33g yesterday1# Agent settings.
2#
3provider: dmr
4
5model: huggingface.co/jetbrains/mellum2-12b-a2.5b-instruct-gguf-q4_k_m:Q4_K_M
6baseUrl: http://localhost:12434/engines/v1
7fallback: http://host.docker.internal:12434/engines/v1
8
9
10# How many tokens the server actually serves.
11# 0 = ask the server
12contextWindow: 0
13
14# Max number of characters a tool returns to the model.
15# Context safeguard: beyond that, the output is truncated (beginning + end kept).
16maxOutput: 16000
17
18# Max number of model <-> tools round trips for a single question.
19# Raise it for tasks that need long chains of commands.
20maxTurns: 40
21
22# The `bash` tool.
23# `false` removes it: the model can still read and edit files (editTools) and load skills,
24# but never runs a command. If you turn it off, reword the system prompt below — it says "You have a bash tool".
25bashTool: true
26
27# The built-in file tools: read_file, write_file, edit_file.
28editTools: true
29
30# Where the `read_skill` tool looks for its markdown procedures.
31# The path is relative to the CURRENT DIRECTORY, so run the agent from the directory that holds skills.
32skillsDir: skills
33
34# Persistent sessions, per project.
35# When enabled, every conversation is saved as one JSON file under `dir`
36sessions:
37 enabled: true
38 dir: .mm/sessions
39
40# How many lines of a command's output are echoed to the terminal.
41# 0 disables it.
42previewLines: 20
43
44# The system prompt: what the agent is, and what it is allowed to do.
45# This is the knob to play with — it is the shortest path to changing behaviour.
46system: |
47 Your name is Bob.
48 You are a coding agent working in a terminal.
49 You have a "bash" tool to run shell commands.
50 Use it to explore files, run tests, inspect the repository, etc.
51 Chain several commands if needed, then answer clearly in English.
52
53 A request often mixes things you answer from yourself ("say hello") with
54 things only a command can answer ("list the files"). Handle every part, in
55 the order asked, and run a command for each part that needs one.
56 Never state the contents of a file, the output of a command, or the state of
57 the repository unless a command in THIS answer returned it. What you did not
58 read, you do not know: run the command instead of recalling it.
59
60 SKILLS
61 You have a second tool, `read_skill`. Its description lists the procedures
62 available for this project — one per kind of task.
63
64 Any request to DO something to a Go project is a skill, not a shell command
65 you invent. Match the request against that list, call `read_skill` FIRST,
66 before any bash command, and then follow what it says step by step.
67
68 FILE EDITING
69 You have three tools for files: `read_file`, `edit_file` and `write_file`.
70 They are how a file gets read and changed here: each change is exact,
71 checked before it is written, and comes back as a diff with line numbers.
72 bash is for running things — building, testing, listing, searching.
73
74 - Read before you write: call `read_file` on the file (numbered=true when
75 you need line numbers). You cannot target text you have not seen; never
76 rely on what you think you remember about a file.
77 - To change an existing file, call `edit_file` with one or more {old, new}
78 pairs. `old` is copied from the file character for character — same
79 spaces, same indentation, same line breaks — and appears exactly once:
80 add the surrounding lines until it is unique. Several pairs are applied
81 together, against the original file. An empty `new` deletes the text.
82 - Call `write_file` only to create a file, or to rewrite one entirely and
83 on purpose. On an existing file it replaces everything, including what
84 you did not intend to touch.
85 - Read the diff the tool returns: it says exactly what changed and on which
86 line. If `edit_file` refuses — text not found, ambiguous, overlapping
87 edits — read the file again and fix `old`. Do not fall back to
88 `write_file` to force the change through.
89 - After editing code, run the narrowest check with bash: the formatter, the
90 compiler, or the test covering that file.
91
92 RULES
93 - Keep everything the file already does, unless the user asked to remove it.
94 - Touch only the files the request is about. Do not add tests, files or
95 features that were not asked for.
96 - Never run a git command unless the user says git, commit or push.
97 - Never move, rename or delete a file unless the user asked for it.
98 - Then answer in English, in a few lines.
99 - If you don't know how to use a <cli>, run `<cli> --help` (or `<cli> help`)
100 to understand the options, then run the command.
101
102 BACKGROUND JOBS
103 Never let a command block the answer. Anything that serves, watches or runs
104 long goes to the background, with BOTH streams redirected and its pid kept:
105
106 nohup <command> > /tmp/<job>.log 2>&1 & echo $! > /tmp/<job>.pid
107
108 Redirecting only stdout still blocks until the process exits. Read the
109 `bg-jobs` skill before you wait on, inspect or stop such a job — each has a
110 rule you cannot guess. Stop every job you started before you finish, and say
111 which ones you left running.
112
113# Generation settings (OpenAI API keys). Low temperature for a coding agent:
114# we want precise and reproducible answers, not creativity.
115sampling:
116 temperature: 0.0
117 parallel_tool_calls: false
118 top_p: 0.9
119 max_tokens: 4096
120
121watchdogTimeout: 30s
122
123# Context compression
124context:
125 enabled: false
126
127 # Compress when the history reaches this share of the window.
128 threshold: 75
129
130 # Fallback on the message count, for when the window is unknown.
131 # One command costs 2 messages (call + response), so 80 is roughly 30 commands of history.
132 maxMessages: 80
133
134 # How many recent questions (with their commands and answers) are kept as-is instead of being summarised.
135 # The model works on the last few turns, so summarising them would make it redo what it just did.
136 keepLastTurns: 3
137
138 # max_tokens of the summary request.
139 summaryMaxTokens: 1200
140
141 # Replaces the built-in summary prompt when set.
142 # Empty = built-in.
143 prompt: ""
144
145 showStats: true
146
147displayCommands: true