-- config.lua — model registry, routing rules, user preferences. -- Loaded with dofile() at startup; returns a plain Lua table. -- See docs/PHASE0.md §10 for resolution order and full schema. -- -- Per issue #12: hossenfelder is the canonical single-URL broker. It does -- model-aware routing server-side (local models on boltzmann; cloud routes -- through OpenRouter using its own bearer auth — no client-side key here). -- Discovery: GET http://hossenfelder.fritz.box:8082/v1/models. local HOSSENFELDER = "http://hossenfelder.fritz.box:8082" return { default_model = "fast", models = { fast = { endpoint = HOSSENFELDER, model = "qwen2.5-coder-1.5b-q4_k_m.gguf", temperature = 0.2, }, deep = { endpoint = HOSSENFELDER, model = "mistral-nemo-12b-instruct", temperature = 0.1, }, cloud = { endpoint = HOSSENFELDER, model = "anthropic/claude-haiku-4.5", temperature = 0.2, }, }, shell = { known_commands = { "ls", "cat", "cd", "grep", "find", "cp", "mv", "rm", "mkdir", "rmdir", "git", "make", "cmake", "gcc", "clang", "python3", "luajit", "ssh", "scp", "curl", "wget", }, capture_output = true, -- inject exec output into context confirm_cmd = true, -- prompt before executing CMD: suggestions }, context = { max_turns = 40, token_budget = 4096, }, history = { dir = (os.getenv("HOME") or ".") .. "/.local/share/aish", }, }