Skip to content

Configuration Reference

All configuration is through environment variables. There are no config files.

Required

Variable Description
WUMING_FORGEJO_TOKEN Forgejo API token with read-repo and write-issues permissions.

Backend selection

Variable Default Description
WUMING_BACKEND deepseek Which AI backend to use: deepseek, anthropic, ollama, or moonshot.
WUMING_DEEPSEEK_KEY DeepSeek API key. Required when WUMING_BACKEND=deepseek.
WUMING_ANTHROPIC_KEY Anthropic API key. Required when WUMING_BACKEND=anthropic.
WUMING_OLLAMA_URL Ollama base URL (e.g. http://localhost:11434). Required when WUMING_BACKEND=ollama.
WUMING_MOONSHOT_KEY Moonshot (Kimi) API key. Required when WUMING_BACKEND=moonshot.

Agent configuration

Variable Default Description
WUMING_AGENTS code Comma-separated list of agents to run. Valid names: code, config, docs, performance, security, shell, tests. Append :model to any name to set the model for that agent (e.g. code:deepseek-v4-flash,docs). Model names are backend-specific.
WUMING_SKIP_PATHS Additional glob patterns (comma-separated) for files to exclude from review. Applied on top of each agent's built-in skip list.

Tuning

Variable Default Description
WUMING_MAX_TOKENS 2048 Maximum output tokens per backend call. Automatically raised to 16384 for all DeepSeek and Moonshot (Kimi) calls.
WUMING_MAX_DIFF_LINES 0 Maximum raw diff size in lines. When the diff exceeds this value (and it is greater than 0), WuMing posts a single plain PR comment and exits without inline review. Set to 0 to disable.
WUMING_MAX_FILE_LINES 0 Maximum file size in lines for full-file context. When greater than 0, WuMing fetches the full content of each changed file from Forgejo and includes it alongside the diff in the agent's context. Files exceeding this line count are excluded. Set to 0 to disable.
WUMING_PROGRESS Progress output control. true or 1 forces it on; false or 0 forces it off. When unset, auto-detects: enabled when stdout is a TTY and the CI environment variable is absent.
WUMING_FORGEJO_URL https://forge.marvin8.zone Forgejo instance base URL. Override for self-hosted instances. When running under Forgejo/GitHub Actions and unset, auto-detected from GITHUB_SERVER_URL.
WUMING_EVENT_PATH Override path to the Actions event JSON file. Normally auto-injected as GITHUB_EVENT_PATH by the runner; only set this when running in a non-standard environment.

Debugging

Variable Default Description
WUMING_DRY_RUN false When true, skips all Forgejo write calls. No comments are posted. The would-be comment bodies are logged to stdout instead. All read operations (fetching diff, listing existing comments) still run. Useful for tuning prompts or testing new agents without polluting PR threads.
WUMING_VERBOSE false When true, sets the wuming logger to DEBUG level. Each backend logs the full LLM request payload (including diff text and any full file contents) and the raw response before parsing. Treat these logs as sensitive — they will contain repository source code.
WUMING_SUMMARY_COMMENT false When true, posts a plain PR-level comment after the review with a per-agent severity count table. Posted even when no new inline comments are found. Skipped when the diff-too-large early exit fires.

Woodpecker CI variables (injected automatically)

WuMing reads these from the Woodpecker environment. You do not set them manually.

Variable Description
CI_REPO_OWNER Repository owner (user or organisation).
CI_REPO_NAME Repository name.
CI_COMMIT_PULL_REQUEST PR number. Absent on non-PR pipeline events.
CI_COMMIT_SHA Head commit SHA.

Forgejo/GitHub Actions variables (auto-injected)

When running as a Forgejo/GitHub Actions action, the runner injects these variables automatically into the container. You do not set them manually.

Variable Description
GITHUB_REPOSITORY Repository in owner/name form.
GITHUB_SHA Head commit SHA.
GITHUB_SERVER_URL Forgejo instance base URL (e.g. https://forge.marvin8.zone). Used to auto-detect WUMING_FORGEJO_URL when not set explicitly.
GITHUB_EVENT_PATH Path to the JSON event file. WuMing reads pull_request.number from it to determine the PR index. Override with WUMING_EVENT_PATH if needed.