Complete reference for common mini-a parameters. Parameters are set as param=value arguments, by using the corresponding OAF_*/MINI_A_* environment variables where supported, or through saved model definitions.
or
export MINI_A_PARAM=value
1. Model Configuration
| Parameter |
Default |
Description |
model |
- |
LLM model configuration in SLON/JSON style (e.g., (type: openai, model: gpt-5-mini, key: '...')) |
modellc |
- |
Lighter model for simple tasks (dual-model); set via OAF_LC_MODEL env var |
modelval |
- |
Runtime override for the validation model configuration; same format as OAF_VAL_MODEL |
modellock |
auto |
Force model-tier selection: main, lc, or auto |
lccontextlimit |
0 |
Escalate from low-cost model to main model when context tokens reach this threshold (0 disables) |
deescalate |
3 |
Consecutive successful steps required before switching back to the low-cost model after escalation |
lcescalatedefer |
true |
Defer LC-to-main escalation by one step when LC confidence remains high |
lcbudget |
0 |
Maximum total LC token budget before permanently switching to the main model (0 = unlimited) |
llmcomplexity |
false |
Use a quick LC validation call for medium-complexity routing heuristics |
modelstrategy |
default |
Model orchestration profile: default (LC-first with escalation), advisor (LC executes, main model consulted selectively for difficult steps), or delegate (LC executes all steps including step 0) |
advisorenable |
true |
Enable main-model advisor consultations when modelstrategy=advisor |
advisormaxuses |
2 |
Maximum advisor consultations per run when modelstrategy=advisor |
advisoronrisk |
true |
Allow advisor consultations on risk signals |
advisoronambiguity |
true |
Allow advisor consultations on ambiguity signals |
advisoronharddecision |
true |
Allow advisor consultations on hard-decision checkpoints |
advisorcooldownsteps |
2 |
Minimum step distance between advisor consultations when modelstrategy=advisor |
advisorbudgetratio |
0.20 |
Fraction of session token budget advisor calls may consume before low-value consultations are declined |
emergencyreserve |
0.10 |
Portion of advisor budget reserved for high-risk/high-value consultations |
harddecision |
warn |
Hard-decision checkpoint mode: require (block actions until advisor succeeds), warn, or off |
evidencegate |
false |
Enable lightweight evidence gating for non-trivial actions and final claims |
evidencegatestrictness |
medium |
Strictness level for evidence gate heuristics: low, medium, or high |
maxtokens |
- |
Maximum output tokens |
rpm |
- |
Requests per minute limit |
tpm |
- |
Tokens per minute limit |
2. Core Parameters
| Parameter |
Default |
Description |
goal |
- |
The task/goal for the agent to accomplish |
verbose |
false |
Print more detailed runtime logs |
useshell |
false |
Enable shell command execution |
chatbotmode |
false |
Pure chat mode without tools |
maxsteps |
15 |
Maximum number of agent steps |
rtm |
- |
Legacy alias for rpm |
format |
- |
Output format (e.g., json, yaml, markdown) |
youare |
- |
Custom system persona/identity |
chatyouare |
- |
Chatbot-mode persona override when chatbotmode=true |
rules |
- |
Additional rules or instructions for the agent (plain text, bullet list, or JSON/SLON array of strings) |
knowledge |
- |
Knowledge base content or file path |
conversation |
- |
Conversation history file to preload at startup |
state |
- |
Structured initial state data (JSON/SLON) provided to the agent |
raw |
false |
Return raw output without extra formatting |
showthinking |
false |
Surface XML-tagged model thinking blocks as thought logs |
debug |
false |
Enable debug logging |
debugfile |
- |
Write debug output as NDJSON to a file (implies debug=true) |
debugch |
- |
SLON channel definition for main-model LLM traffic — see Channels |
debuglcch |
- |
SLON channel definition for low-cost-model LLM traffic — see Channels |
debugvalch |
- |
SLON channel definition for validation-model traffic when llmcomplexity=true — see Channels |
outfile |
- |
Save final answer to file |
outfileall |
- |
Deep research only: save full cycle history/verdicts/learnings to file |
outputfile |
- |
Alternate key for outfile, mainly used by plan conversion flows |
extracommands |
- |
Comma-separated extra directories for custom slash command templates |
extraskills |
- |
Comma-separated extra directories for custom skills |
extrahooks |
- |
Comma-separated extra directories for hook definitions |
secpass |
- |
Password used to open OpenAF sBucket model secrets |
auditch |
- |
SLON channel definition for agent interaction audit logs — see Channels for backend options and examples |
toollog |
- |
SLON channel definition for dedicated MCP tool input/output logs — see Channels for backend options and examples |
metricsch |
- |
SLON/JSON channel definition for recording periodic Mini-A metrics snapshots (e.g. (name: 'mini-a-metrics', type: 'mvs', options: (file: '/tmp/mini-a-metrics.db'))). Supports optional period, some, and noDate fields — see Channels |
goalprefix |
- |
Prefix automatically prepended to every goal before the agent sees it |
homedir |
- |
Override the home directory used to locate the .openaf-mini-a folder |
compressgoal |
false |
Enable automatic compression of oversized goal text before execution |
compressgoaltokens |
250 |
Estimated token threshold above which goal compression is considered |
compressgoalchars |
1000 |
Character threshold above which goal compression is considered |
nologtrunc |
false |
Disable truncation of long log output lines in the console (show full content) |
promptprofile |
context-dependent |
System prompt verbosity: minimal, balanced, or verbose. Default is minimal in chatbot mode, verbose when debug=true, otherwise balanced |
systempromptbudget |
- |
Maximum estimated token size for the system prompt. When exceeded, lower-priority sections (examples, detailed tool guidance) are dropped to stay within budget |
3. MCP Configuration
| Parameter |
Default |
Description |
mcp |
- |
MCP servers to load (comma-separated) |
mcpproxy |
false |
Enable MCP proxy mode |
mcpproxythreshold |
0 |
Byte threshold to spill large proxy results to temp files (0 disables spilling) |
mcpproxytoon |
false |
Serialize spilled proxy object/array payloads as TOON text when proxy spilling is enabled |
mcpproxyallow |
- |
Comma-separated allowlist of downstream tool names exposed through proxy-dispatch |
mcpproxydeny |
- |
Comma-separated denylist of downstream tool names hidden from proxy-dispatch (applied after mcpproxyallow) |
mcpprogcall |
false |
Start localhost programmatic MCP tool-call bridge for scripts |
mcpprogcallport |
0 |
Programmatic MCP bridge port (0 auto-selects) |
mcpprogcallmaxbytes |
4096 |
Max inline JSON response size before returning a stored resultId |
mcpprogcallresultttl |
600 |
TTL (seconds) for oversized stored results served by the MCP bridge |
mcpprogcalltools |
"" |
Optional comma-separated tool allowlist exposed by the MCP bridge |
mcpprogcallbatchmax |
10 |
Maximum calls accepted by one bridge batch request |
mcpdynamic |
false |
Allow dynamic MCP discovery |
mcplazy |
false |
Lazy-load MCP servers |
mcpurl |
- |
Remote MCP server URL |
nosetmcpwd |
false |
Do not set the default MCP command working directory to the mini-a install path |
| Parameter |
Default |
Description |
useutils |
false |
Enable Mini Utils Tool utilities. With usestdutils=true (default), exposes standard aliases: read, glob, grep, webfetch, question, skill, todowrite, and bash (when useshell=true). Legacy names (filesystemQuery, filesystemModify, etc.) are used when usestdutils=false. |
usestdutils |
true |
When useutils=true, expose standard Mini Utils aliases (read, glob, grep, webfetch, question, skill, todowrite, bash) instead of legacy Mini Utils internal names |
useskills |
false |
Expose skill operations in Mini Utils Tool (requires useutils=true) |
skillmaxautoload |
1 |
Maximum number of high-confidence matching skills to auto-load into bounded runtime context |
skillcontextchars |
8000 |
Maximum characters read from each auto-loaded SKILL.md for runtime context |
skillmanifestchars |
1536 |
Approximate character budget for skill descriptions in the system prompt manifest |
utilsroot |
- |
Root path used by Mini Utils file operations |
mini-a-docs |
false |
If true and utilsroot is not set, automatically uses the mini-a oPack docs path as utilsroot |
miniadocs |
false |
Alias for mini-a-docs |
usetools |
false |
Enable native tool calling on the active model (main or LC) |
usetoolslc |
false |
Register MCP tools natively only on the low-cost model; the main model continues using prompt/action-based tool guidance. Use when you want the cheaper model to call tools directly without enabling native tool calling on the main model |
usejsontool |
false |
Register a compatibility json tool for models that sometimes emit json tool calls |
libs |
- |
Additional library paths to load |
toolcachettl |
600000 |
Default cache TTL in milliseconds for MCP tool results |
toolfallback |
false |
Fall back to action mode when the model emits malformed pseudo tool calls |
utilsallow |
- |
Comma-separated allowlist of Mini Utils Tool names to expose when useutils=true |
utilsdeny |
- |
Comma-separated denylist of Mini Utils Tool names to hide when useutils=true (applied after utilsallow) |
5. Context Management
| Parameter |
Default |
Description |
maxcontext |
- |
Maximum context window tokens |
maxcontent |
- |
Alias for maxcontext |
maxtokens |
- |
Maximum response tokens |
autocompact |
true |
Auto-compact when context is full |
6. Deep Research
| Parameter |
Default |
Description |
deepresearch |
false |
Enable iterative research-validate-learn cycles |
validationgoal |
- |
Validation criteria for deep research output quality (inline text or file path) |
valgoal |
- |
Alias for validationgoal |
vmodel |
- |
Optional dedicated validation model used in deep-research scoring |
modelval |
- |
Per-run validation-model override using the same SLON/JSON definition accepted by OAF_VAL_MODEL |
maxcycles |
3 |
Maximum number of deep-research cycles |
validationthreshold |
PASS |
Validation verdict or score rule required to stop iterating |
persistlearnings |
true |
Carry learnings from failed validation cycles into the next cycle |
7. Planning
| Parameter |
Default |
Description |
useplanning |
false |
Enable agent planning |
forceplanning |
false |
Force planning even when heuristics would normally skip it |
planstyle |
simple |
Planning style: simple (flat sequential steps, default) / legacy (phase-based hierarchical) |
earlystopthreshold |
3 |
Consecutive think/error-like steps before stronger recovery logic is triggered |
planmode |
false |
Run in plan-only mode without executing the plan |
validateplan |
false |
Validate a plan without executing it |
convertplan |
false |
Convert a loaded/generated plan to another format and exit |
resumefailed |
false |
Attempt to resume the last failed goal on startup |
planfile |
- |
File to save/load plans |
planformat |
- |
Plan format override, typically md or json |
plancontent |
- |
Inline Markdown or JSON plan content |
updatefreq |
auto |
Plan update cadence: auto, always, checkpoints, or never |
updateinterval |
3 |
Steps between automatic updates when updatefreq=auto |
forceupdates |
false |
Force plan updates even after failed actions |
planlog |
- |
File path to append plan update logs |
saveplannotes |
false |
Save execution notes back into the plan file after execution |
usethinking |
false |
Enable chain-of-thought reasoning |
7a. Outer Loop Autonomous Coding
| Parameter |
Default |
Description |
outerloop |
false |
Enable autonomous multi-cycle coding loop with durable per-session state |
outerloopinstructions |
- |
Path to persistent outer loop instructions Markdown file |
taskfile |
- |
Alias for outerloopinstructions |
specfile |
- |
Alias for outerloopinstructions |
outerloopsessionid |
auto-generated |
Session ID used as the directory name under ~/.openaf-mini-a/sessions/; pass the same ID to resume an interrupted run |
outerloopmaxcycles |
5 |
Maximum number of outer loop cycles |
outerloopmaxtime |
0 |
Maximum outer loop runtime in seconds (0 disables) |
outerloopstoponrepeat |
false |
Stop when the same validation failure repeats |
outerloopmaxnochange |
2 |
Stop after N cycles without meaningful change |
8. Shell Access
| Parameter |
Default |
Description |
useshell |
false |
Enable shell commands |
shell |
- |
Prefix applied to every shell command |
readwrite |
false |
Allow file write operations |
shelltimeout |
- |
Maximum shell command runtime in milliseconds before timeout |
shellmaxbytes |
8000 |
Truncate oversized shell output to head/tail excerpts with a banner |
shellallow |
- |
Allowed shell commands (comma-separated) |
shellallowpipes |
false |
Allow pipes, redirection, and shell control operators |
shellbanextra |
- |
Additional banned shell commands (comma-separated) |
checkall |
false |
Ask for confirmation before every shell command |
shellbatch |
false |
Run shell commands without interactive approval prompts |
shellprefix |
- |
Override shell prefix when converting or replaying stored plans |
shellban |
- |
Banned shell commands (comma-separated) |
Shell Sandbox
| Parameter |
Default |
Description |
usesandbox |
off |
Enable built-in OS sandbox presets for shell commands (off, auto, linux, macos, windows) |
sandboxprofile |
- |
Optional macOS sandbox profile path (mini-a auto-generates a restrictive temporary .sb profile otherwise) |
sandboxnonetwork |
false |
Disable network inside the built-in sandbox when supported |
9. Visual & Output
| Parameter |
Default |
Description |
useascii |
false |
Enable ASCII art generation |
usesvg |
false |
Enable SVG generation for custom visuals and infographics |
usemaps |
false |
Enable map visualization |
usemath |
false |
Enable LaTeX math guidance for KaTeX rendering in the web UI |
usediagrams |
false |
Enable diagram generation |
usemermaid |
false |
Alias for usediagrams |
usecharts |
false |
Enable chart generation |
usevectors |
false |
Enable the vector bundle (usesvg=true + usediagrams=true), preferring Mermaid for structural diagrams and SVG for infographics/custom visuals |
browsercontext |
- |
Browser context configuration (SLON/JSON) or true to auto-enable browser control for supported MCP tools |
usestream |
false |
Enable response streaming |
showexecs |
false |
Show shell/exec events as separate lines in the interaction stream |
showseparator |
true |
Show a separator line between interaction events |
format |
- |
Output format constraint |
10. Delegation
| Parameter |
Default |
Description |
usedelegation |
false |
Enable agent delegation |
workers |
- |
Worker API URLs (comma-separated) |
usea2a |
false |
Use A2A HTTP+JSON/REST transport for remote delegation |
maxconcurrent |
4 |
Max concurrent delegated tasks |
workerreg |
- |
Start worker registration HTTP server on this port |
workerregtoken |
- |
Optional token required by the worker registration endpoint |
workerevictionttl |
60000 |
Worker eviction TTL in milliseconds for stale worker entries |
workerregurl |
- |
Parent registration URLs used by workers for self-registration |
workerreginterval |
30000 |
Worker heartbeat interval in milliseconds |
delegationmaxdepth |
3 |
Maximum recursive delegation depth |
delegationtimeout |
300000 |
Default foreground wait/delegation budget in milliseconds |
delegationstalltimeout |
300000 |
Idle time before a running delegated subtask is considered stalled; active tasks keep running |
delegationhardtimeout |
- |
Optional absolute delegated subtask timeout regardless of activity (ms) |
delegationmaxretries |
2 |
Retry count for failed delegated subtasks |
workermode |
false |
Launch mini-a as a Worker API server |
showdelegate |
false |
Show delegate/subtask events as separate console lines |
workerskills |
- |
Comma-separated list (or JSON/SLON array) of A2A skill IDs this worker advertises (e.g. "shell,time") |
workerspecialties |
- |
Comma-separated specialty tags injected into the run-goal A2A skill description |
workertags |
- |
Comma-separated tags appended to the default worker skill in the AgentCard |
shellworker |
false |
Convenience shorthand: sets useshell=true and auto-emits the shell A2A skill |
apitoken |
- |
Bearer token required to authenticate requests to the worker API server |
apiallow |
- |
Comma-separated IP allowlist for the worker API (e.g. 127.0.0.1,192.168.1.0/24) |
defaulttimeout |
300000 |
Default task deadline in milliseconds for delegated tasks |
maxtimeout |
600000 |
Maximum allowed task deadline in milliseconds |
taskretention |
3600 |
Seconds to keep completed task results before cleanup |
subtasks |
- |
Inline startup scout subtasks (pipe-separated goals) executed before the main loop |
subtasksfile |
- |
Path to a JSON/YAML file containing startup scout task definitions |
subtaskssequential |
false |
Run startup subtasks sequentially instead of in parallel |
forkstatemaxbytes |
65536 |
Maximum bytes of parent context snapshot transmitted to a forked sub-agent |
autodelegation |
false |
Enable automatic delegation of oversized tool results to a summary sub-agent |
autodelegationthreshold |
8192 |
Byte size threshold of tool results that triggers auto-delegation |
autodelegationmaxperstep |
2 |
Maximum number of auto-delegations allowed per agent step |
noisytools |
- |
Comma-separated list of tool names that always trigger auto-delegation regardless of size |
10a. Agent Files
Load a preconfigured mini-a profile from a markdown file with YAML frontmatter.
mini-a agent=examples/my-agent.agent.md goal="..."
mini-a agent="---\nname: quick\ncapabilities:\n - useutils\n---" goal="..."
mini-a --agent # Print a starter template
| Parameter |
Default |
Description |
agent |
- |
Path to an agent markdown file, or inline markdown with YAML frontmatter |
agentfile |
- |
Backward-compatible alias for agent |
See the Agent Files page for the complete reference: all frontmatter keys, tool entry types, mini-a: overrides, relative file resolution, precedence rules, and a full annotated example.
10b. Conversation History
| Parameter |
Default |
Description |
historykeep |
false |
Save console conversations to ~/.openaf-mini-a/history for future resumption |
historykeepperiod |
- |
Delete kept conversation files older than this many minutes |
historykeepcount |
- |
Keep only the newest N kept conversation files |
10b. Working Memory
Enable a structured, scoped working memory subsystem that the agent maintains automatically across tool calls, runs, and sessions. Working memory prevents context window bloat while preserving key learnings, decisions, and evidence.
| Parameter |
Type |
Default |
Description |
usememory |
boolean |
false |
Enable the working memory subsystem. Set false to disable all memory tracking. |
memoryuser |
boolean |
false |
Convenience preset: enables usememory, creates ~/.openaf-mini-a/, registers file-backed global + session channels, auto-promotes facts,decisions,summaries, and sets memorystaledays=30. |
memoryusersession |
boolean |
false |
Convenience preset: enables usememory, creates ~/.openaf-mini-a/, sets memoryscope=session, and registers a file-backed session channel. |
memoryscope |
string |
both |
Which store the agent reads from and defaults writes to: session (current run), global (across sessions), or both. |
memorych |
string |
- |
SLON/JSON definition of an OpenAF channel to persist global memory (e.g. file, Redis, jdbc). |
memorysessionch |
string |
- |
SLON/JSON definition of a channel for session memory persistence (falls back to memorych if omitted). |
memorysessionid |
string |
<agent-id> |
Session key namespace in the channel (defaults to conversation argument, otherwise falls back to internal agent ID). |
memorymaxpersection |
number |
80 |
Maximum entries kept per section before compaction prunes stale or old entries. |
memorymaxentries |
number |
500 |
Hard cap on total entries across all sections. |
memorycompactevery |
number |
8 |
Number of append operations that trigger an automatic memory compaction pass. |
memorydedup |
boolean |
true |
Suppress near-duplicate entries using an 85% word-overlap fingerprint. |
memorypromote |
string |
"" |
Comma-separated list of sections to auto-promote from session to global memory at session end. |
memorystaledays |
number |
0 |
Days without confirmation before a global entry is marked stale (cleared during compaction if section overflows). |
memoryinject |
string |
summary |
Context injection style: summary injects only per-section counts and enables dynamic memory_search; full embeds the entire memory snapshot in every step’s context. |
memorysessionheader |
string |
- |
HTTP header name used to derive memorysessionid in Web/Server UI mode (e.g., X-User-Id). |
Memory Classification (Taxonomy)
Mini-A exposes one structured working-memory system. The common memory types are implemented by combining that system with different scopes and persistence settings:
| Memory type |
What it means in Mini-A |
Main parameters |
| Working memory |
The live structured store the agent reads and writes during a run |
usememory, memoryinject, memorymaxpersection, memorymaxentries, memorycompactevery, memorydedup |
| Episodic memory |
Session-scoped state for a specific conversation or run |
memorysessionid, memoryscope=session\|both, memorysessionch |
| Semantic memory |
Durable knowledge the agent can reuse across runs |
memorych, memoryscope=global\|both, memorypromote, memorystaledays |
| Procedural memory |
Instructions and workflow rules that tell Mini-A how to behave |
agent, mode, skills, AGENTS.md, prompts (not a dedicated memory store) |
memoryuser=true is the convenience preset for both global and session working memory. memoryusersession=true is the session-only version.
Memory Sections
Memory is categorized into 8 independent, typed sections that the agent manages automatically:
facts: Confirmed facts and truths discovered or verified during the run.
evidence: Direct observations, statistics, and tool outputs worth remembering.
decisions: Architecture or workflow choices made along with their rationale.
risks: Tool failures, sub-agent issues, validation warnings, or blockers.
openQuestions: Pending questions, gaps in specifications, or follow-up items.
hypotheses: Unconfirmed assumptions or candidate approaches being explored.
artifacts: Excerpts of generated configs, code blocks, or structured outputs.
summaries: Higher-level narrative overviews of completed milestones or phases.
Convenience Presets
To avoid configuring channels manually, use one of the two convenience presets:
memoryuser=true: Ideal for persistent local development. Automatically stores memory databases under ~/.openaf-mini-a/memory-global.json and ~/.openaf-mini-a/memory-session.json. At the end of a session, facts, decisions, and summaries are promoted to global memory, and any entry not verified in 30 days is swept.
memoryusersession=true: Ideal for isolated, session-scoped runs where you still want local persistent history on the disk (saved under ~/.openaf-mini-a/memory-session.json), but no information should leak into the shared global namespace.
Dynamic Context Injection (memoryinject=summary)
[!TIP]
Use the default memoryinject=summary for complex or long-running tasks. Instead of injecting all memory entries into every step’s prompt (which wastes thousands of tokens and causes model distraction), Mini-A only injects the counts (e.g., workingMemory: { facts: 12, decisions: 3 }).
The agent is equipped with a memory_search action to retrieve specific facts or decisions on demand using keyword queries, saving up to 95% of context memory overhead.
Configuration Examples
# Inside an agent file frontmatter (my-agent.agent.md)
mini-a:
usememory: true
memoryuser: true
memoryinject: summary
# Running with separate session/global file channels and a custom session namespace
mini-a goal="audit security modules" \
usememory=true \
memorych="(name: sec_global, type: file, options: (file: '/var/data/global-sec.json'))" \
memorysessionch="(name: sec_session, type: file, options: (file: '/var/data/session-sec.json'))" \
memorysessionid="audit-q2-2026"
10c. Wiki Knowledge Base
A persistent, shared Markdown wiki that agents read from and write to across sessions. Any agent pointing at the same wikiroot (or wikibucket) sees the same pages.
| Parameter |
Default |
Description |
usewiki |
false |
Enable the wiki knowledge base |
wikiaccess |
ro |
Access mode: ro (read-only) or rw (read-write) |
wikibackend |
fs |
Backend: fs (filesystem), s3, s3fs, or es (Elasticsearch/OpenSearch) |
wikiroot |
. |
Root directory for the fs backend |
wikibucket |
- |
S3 bucket name (s3/s3fs backend) |
wikiprefix |
- |
S3 key prefix (s3/s3fs); Elasticsearch index name for es (defaults to mini_a_wiki) |
wikiurl |
- |
S3-compatible endpoint URL (s3/s3fs); Elasticsearch/OpenSearch base URL for es |
wikiaccesskey |
- |
S3 access key (s3/s3fs); Elasticsearch username for es |
wikisecret |
- |
S3 secret key (s3/s3fs); Elasticsearch password for es |
wikiregion |
- |
S3 region (s3/s3fs backend) |
wikiuseversion1 |
false |
Use S3 path-style (v1) signing (s3/s3fs backend) |
wikiignorecertcheck |
false |
Skip TLS certificate validation (s3/s3fs backend) |
wikilintstaleddays |
90 |
Days before a page without an updated field is marked stale in lint |
wikimounts |
- |
SLON/JSON array of read-only wiki mounts: [{name: 'team', backend: 'fs', root: '/path'}] — mounted pages appear as @name/path.md in all wiki operations |
When a new empty wiki is opened with wikiaccess=rw, Mini-A bootstraps three starter pages: AGENTS.md (ingestion workflow and rules), index.md (entrypoint/catalog), and log.md (append-only journal of every write, delete, and move). AGENTS.md and log.md are protected and cannot be deleted.
Start each wiki session with wiki op="context" for a compact overview (page count, sections, mounts, recent log entries), then use search before reading any page.
Wiki operations available to the agent: context, list, tree, browse, read, search, backlinks, lint, write, move, init, reindex, mounts, attach, detach.
Operations that require wikiaccess=rw: write, move, init, reindex.
Console commands: /wiki context, /wiki list [prefix], /wiki tree [prefix], /wiki browse [prefix], /wiki read <page.md>, /wiki search <query>, /wiki backlinks <page.md>, /wiki lint, /wiki reindex, /wiki mounts, /wiki attach <name> [backend=fs] [root=path], /wiki detach <name>.
Use /stats wiki to see per-operation counters for the current session.
10c-1. Dreams (Sleep Pass)
An LLM-powered off-line consolidation pass over persistent memory and/or the wiki. Run after a session to merge duplicates, surface insights, and produce a lint-clean wiki.
| Parameter |
Default |
Description |
dream |
false |
Run in standalone dream-pass mode instead of a regular agent session |
dreammode |
- |
Dream mode selector: memory, wiki, or both — controls which pass(es) run |
dryrun |
false |
Preview what would change without writing anything back |
dreamwikimode |
apply |
Wiki dream mode: lint, plan, apply, reorg |
dreammemorymode |
apply |
Memory dream mode: plan or apply |
dreamwikiapply |
false |
Required write gate for wiki apply or reorg modes |
dreamwikiapproval |
ask |
Reorg approval mode: auto, ask, never |
dreamwikireorg |
false |
Allow structural reorg operations during wiki dream |
dreamreport |
- |
Optional file path to write JSON run report |
maxauditrecords |
200 |
Maximum audit log entries included in the memory consolidation prompt |
dreammaxsteps |
60 |
Maximum agent steps for the wiki dream pass |
The memorych, memorysessionch, memorysessionid, auditch, usewiki, and model parameters are shared with the memory and wiki subsystems. See the Advanced — Dreams page for full documentation and examples.
10d. Adaptive Routing
A rule-based routing layer that selects how each tool action is dispatched. When disabled, mini-a uses legacy behavior.
| Parameter |
Default |
Description |
adaptiverouting |
false |
Enable rule-based adaptive tool routing |
routerorder |
- |
Preferred route execution order (comma-separated route types) |
routerallow |
- |
Allowlist of route types the router may select (comma-separated) |
routerdeny |
- |
Denylist of route types the router must never select (comma-separated) |
routerproxythreshold |
- |
Byte threshold to prefer the proxy route for large payloads (falls back to mcpproxythreshold when omitted) |
Route types: direct_local_tool, mcp_direct_call, mcp_proxy_path, shell_execution, utility_wrapper, delegated_subtask.
Route selection is based on intent hints (read/write, payload size, latency sensitivity, risk level, structured output preference) and historical route success. Fallback chains are attempted in order; each failed attempt is appended to an errorTrail. Route decisions are visible in debug/audit output as [ROUTE ...] records when debug=true.
11. Web Interface
| Parameter |
Default |
Description |
onport |
- |
Port for web UI (enables web mode) |
maxpromptchars |
120000 |
Maximum accepted prompt size for incoming web /prompt requests |
ssequeuetimeout |
120 |
Web SSE stream queue timeout in seconds |
logpromptheaders |
- |
Comma-separated HTTP request header names to log alongside incoming web prompts (e.g. X-User-Id) |
usehistory |
false |
Enable conversation history persistence in web mode |
historykeep |
false |
Keep finished web conversation history files instead of discarding them |
historypath |
- |
Directory path used to store web conversation history files |
historyretention |
600 |
Web history retention window in seconds |
historykeepperiod |
- |
Delete kept conversation history files older than this many minutes |
historykeepcount |
- |
Keep only the newest N kept conversation history files |
historys3bucket |
- |
S3 bucket used to mirror history files |
historys3prefix |
- |
S3 key prefix for mirrored history files |
historys3url |
- |
S3 endpoint URL for history mirroring |
historys3accesskey |
- |
S3 access key for history mirroring |
historys3secret |
- |
S3 secret key for history mirroring |
historys3region |
- |
S3 region for history mirroring |
historys3useversion1 |
false |
Use S3 path-style (v1) signing for history mirroring |
historys3ignorecertcheck |
false |
Disable TLS certificate checks for history S3 access |
useattach |
false |
Enable file attachment support in web mode |
12. Knowledge & Persona
| Parameter |
Default |
Description |
knowledge |
- |
Knowledge base content or file |
youare |
- |
Agent persona/identity description |
chatyouare |
- |
Chatbot-mode persona override |
rules |
- |
Behavioral rules for the agent |
13. Rate Limiting
| Parameter |
Default |
Description |
rpm |
- |
Requests per minute limit |
tpm |
- |
Tokens per minute limit |
rtm |
- |
Legacy alias for rpm |
14. Docker Environment Variables
| Variable |
Maps to |
OAF_MODEL |
model |
OAF_LC_MODEL |
modellc |
OAF_VAL_MODEL |
modelval — dedicated validation model for deep research scoring |
OAF_MINI_A_NOJSONPROMPT |
Force text prompt mode for main model; Gemini main models auto-enable this behavior when unset |
OAF_MINI_A_LCNOJSONPROMPT |
Force text prompt mode for low-cost model (set explicitly for Gemini low-cost models) |
OAF_MINI_A_CON_HIST_SIZE |
Maximum console history size (defaults to JLine’s default) |
OAF_MINI_A_LIBS |
Comma-separated library paths to load automatically at startup |
MINI_A_GOAL |
goal |
MINI_A_PORT |
onport |
OAF_MODEL / OAF_LC_MODEL key field |
Provider API credential (recommended) |
GITHUB_TOKEN |
GitHub Models token (optional when key is provided in model config) |
15. Console Commands Reference
| Command |
Description |
/help |
Show available commands |
/model |
Show current model info |
/models |
Show all configured model tiers (main, LC, validation) with provider and source |
/compact [n] |
Compact older history while keeping up to latest n exchanges (default 6) |
/summarize [n] |
Summarize older history while keeping up to latest n exchanges (default 6) |
/context [llm|analyze] |
Show estimated or model-analyzed context token breakdown |
/reset |
Reset conversation |
/last [md] |
Reprint the previous final answer (raw markdown with md) |
/save <path> |
Save the previous final answer to a file |
/stats [mode] [out=file.json] |
Show session metrics (summary/detailed/tools) and optionally export JSON |
/history [n] |
Show the latest user goals from conversation history |
/exit |
Exit mini-a |
/clear |
Reset conversation history and accumulated metrics |
/cls |
Clear screen |
16. Mode Presets
| Preset |
Parameters Enabled |
shell |
useshell=true |
shellrw |
useshell=true useutils=true readwrite=true shellallowpipes=true shellbatch=true showexecs=true mini-a-docs=true |
utils |
useutils=true mini-a-docs=true usetools=true |
chatbot |
chatbotmode=true usestream=true |
internet |
Internet-focused MCP/tool preset with docs-aware utils and proxy aggregation |
news |
News-focused MCP preset (web + rss + time, proxy enabled) |
poweruser |
Shell + utils + tools with proxy tuning, history retention, LC validation, and docs-aware defaults |
web |
Browser UI preset with MCP tools enabled |
webfull |
Full web UI preset with history/attachments, proxy tuning, charts/diagrams/maps, and richer rendering options |
User custom presets can be defined in ~/.openaf-mini-a_modes.yaml. They are merged with built-ins from mini-a-modes.yaml, and user definitions take precedence.
Channels
mini-a uses OpenAF channels as the pluggable storage backend for audit logs, tool logs, and debug traffic. The channel-accepting parameters (auditch, toollog, debugch, debuglcch, debugvalch, metricsch) each accept a SLON definition that specifies the backend, channel name, and options.
See the Channels reference for the complete definition format, every supported backend (file, MVS, Redis, S3, and more), and ready-to-use query examples.
Advanced Topics
For power-user configuration, deployment patterns, and provider-specific guides, see the Advanced page. Topics covered:
- Dual-model setup and advisor strategy mode
- MCP advanced options — proxy, dynamic discovery, lazy loading
- Custom slash commands, skills, and hooks
- Performance tuning and context management
- Shell sandboxing — OS-level (
usesandbox), Docker, Podman, Apple container CLI
- Delegation and dynamic worker registration (including Kubernetes HPA patterns)
- Dreams (sleep pass) — LLM-powered memory and wiki consolidation
- JavaScript and oJob library integration
- Debugging techniques and provider-specific guides (AWS Bedrock, GitHub Models, Ollama)