# Example configuration for nisse-dev. Copy to nisse-dev.yaml (or point # NISSE_CONFIG at your copy) and edit. # # - Structure lives here. Secrets do not: write them as ${VARIABLE} references, # resolved from the environment (or .env) at startup. # - Environment variables win. Every NISSE_* variable in .env.example # overrides the key noted beside it here. # - Keep this file outside the workspace clone. Startup refuses otherwise, # because the agent commits and pushes everything in the clone. # - Unknown keys are errors, so a misspelt knob fails at startup instead of # silently doing nothing. state_db: ~/nisse-demo-workspace/state.db # NISSE_STATE_DB workspace: ~/nisse-demo-workspace/project # NISSE_WORKSPACE, the clone project: demo # NISSE_PROJECT llm: # A5: LiteLLM is the only LLM destination base_url: http://litellm.example:4000 # NISSE_LLM_BASE_URL token: ${NISSE_LLM_TOKEN} # Ceiling on each response. Must fit inside a local model's context window # alongside the prompt; see docs/Tuning-Guide.md. max_output_tokens: 16384 # NISSE_MAX_OUTPUT_TOKENS roles: # A11: role -> LiteLLM model alias executor: local-fast # NISSE_ROLE_EXECUTOR planner: claude-opus-5 # NISSE_ROLE_PLANNER delegate: claude-opus-5 # NISSE_ROLE_DELEGATE consultant: claude-opus-5 # NISSE_ROLE_CONSULTANT matrix: # A1 homeserver: https://matrix.example # NISSE_MATRIX_HOMESERVER user_id: "@nisse-dev:example" # NISSE_MATRIX_USER_ID token: ${NISSE_MATRIX_TOKEN} room_id: "!roomid:example" # NISSE_MATRIX_ROOM_ID operators: ["@you:example"] # NISSE_MATRIX_OPERATORS (comma-separated) gitea: # B2 url: https://gitea.example # NISSE_GITEA_URL token: ${NISSE_GITEA_TOKEN} repo: owner/demo-repo # NISSE_GITEA_REPO operators: [your-gitea-login] # NISSE_GITEA_OPERATORS (comma-separated) base_branch: main # NISSE_BASE_BRANCH # What each knob does, and how to choose a value: docs/Tuning-Guide.md. # These are the defaults; the section can be left out entirely. The file is # read at startup, so a change takes effect on the next restart. tuning: executor: max_turns: 24 # model calls per milestone before it stops as capped failure_limit: 2 # consecutive failed commands before escalating (A12) expert: consult_budget: 3 # ask_expert calls per milestone (A14) delegation: # hard caps on one delegation (A13) max_turns: 30 max_tokens: 200000 wall_clock_s: 900 tools: command_timeout_s: 120 # one run_command before it is killed max_output_chars: 4000 # tool output kept for the model; the rest is cut