diff --git a/config.lua b/config.lua index e6b3a66..1a51bf3 100644 --- a/config.lua +++ b/config.lua @@ -20,7 +20,8 @@ return { }, deep = { endpoint = HOSSENFELDER, - model = "mistral-nemo-12b-instruct", + model = "qwen3-30b-a3b-instruct", + timeout_ms = 1800000, -- 10 min; Nemo on RK3588 is patient work temperature = 0.1, }, cloud = { @@ -48,4 +49,44 @@ return { history = { dir = (os.getenv("HOME") or ".") .. "/.local/share/aish", }, + + -- Phase 2 (docs/PHASE2.md): MCP server registry + tool-call policy. + -- The block is OFF by default — connect-at-startup happens only when + -- `servers` is non-empty. Uncomment + adjust per your fleet. + -- + -- mcp = { + -- servers = { + -- -- Each entry: alias = { url = "...", auth_token = "..." | auth_env = "..." } + -- -- auth_token literal > auth_env env-var indirection > nil (no auth). + -- -- Aliases become the namespace prefix on tool names sent to the model + -- -- ("." — e.g. "boltzmann.list_dir"). + -- boltzmann = { + -- url = "http://boltzmann.fritz.box:8080/mcp", + -- auth_env = "BOLTZMANN_MCP_TOKEN", + -- }, + -- hertz = { + -- url = "http://hertz.fritz.box:8080/mcp", + -- auth_env = "HERTZ_MCP_TOKEN", + -- }, + -- broglie = { + -- url = "http://broglie.fritz.box:8080/mcp", -- LAN-only, no auth + -- }, + -- }, + -- + -- -- Per-call confirm gate auto-approve policy. + -- -- Key forms: + -- -- "." — auto-approve one specific tool + -- -- ".*" — auto-approve every tool on that server + -- -- Anything not matched falls back to the [y/N] prompt. + -- auto_approve = { + -- ["boltzmann.read_file"] = true, + -- ["boltzmann.list_dir"] = true, + -- ["boltzmann.search_files"] = true, + -- ["hertz.*"] = true, -- trust the hub fully + -- }, + -- + -- -- Tool-call sub-loop budget per ask_ai turn. Hitting the cap surfaces + -- -- a status and breaks; default 8 if absent. + -- max_tool_depth = 8, + -- }, }