mc.nates.cloud
CraftGPT 2.0 beta

AI providers

CraftGPT 2.0 uses named provider profiles. You can define as many as you like under providers.profiles, pick one as the server default with providers.default, and give individual mobs a different one with /cg model <profile>.

Provider types

type What it is Tested live for this beta Notes
openai OpenAI Yes (gpt-6-luna, with tools) The default profile
openai-compatible Any OpenAI-style server: vLLM, LM Studio, Ollama’s /v1… Yes (via Ollama /v1, with tools) base-url is required, and so is a non-blank api-key (any placeholder works if your server ignores it). Sends no reasoning effort, so “thinking” models are slow here
anthropic Anthropic Yes (claude-haiku-5-5, with tools) Temperature max 1
google Google Gemini No: request-format tests and a code review
ollama A native Ollama server Yes (qwen3:8b, with tools) Needs no API key. Use reasoning-effort: none for thinking models
claude-cli Experimental. A logged-in Claude Code command-line tool on the server Earlier build only For personal or test servers; check the provider’s terms first
codex-cli Experimental. A logged-in Codex command-line tool on the server Earlier build only Same as above

API keys

Set api-key to the key itself, or (recommended) to "${ENV_VAR}", which reads it from the server process’s environment. If you use ${ENV_VAR} and the variable isn’t set, the plugin switches itself off at startup. Keys are never logged.

Reasoning effort

reasoning-effort accepts default, none, minimal, low, medium, high or xhigh; which ones work depends on the model.

Keep none for the default model. With gpt-6-luna, anything other than none makes every chat that offers tools fail.

Profile settings

The shipped value column shows the openai profile in the default config.

Key Shipped value What it does
type openai One of the types above
api-key "" The key, or "${ENV_VAR}". Ignored for CLI types
model gpt-6-luna Model name. Required: a profile without one is a config error
base-url "" Blank = the provider’s default. Required for openai-compatible
max-output-tokens 1024 Longest reply, in tokens. Ignored by CLI types
reasoning-effort none See above. A profile that leaves it out gets default, which breaks tool chats on gpt-6-luna, so always set it
temperature default default, or a number from 0 to 2 (0 to 1 for Anthropic). Ignored by CLI types
timeout-seconds 60 Time limit for one call
cli-command claude / codex CLI types only: the program name or full path

Example profiles

The default config ships these as comments, ready to uncomment:

    anthropic:
      type: anthropic
      api-key: "${ANTHROPIC_API_KEY}"
      model: claude-haiku-5-5
      temperature: default        # Claude 5.x models advise against setting temperature
    google:
      type: google
      api-key: "${GOOGLE_API_KEY}"
      model: gemini-3.5-flash-lite
      reasoning-effort: default   # Gemini 3 can't turn thinking off; use default or minimal, not none
    local:
      type: ollama
      base-url: "http://localhost:11434"
      model: qwen3:8b             # about 5 GB, supports tools
      reasoning-effort: none      # otherwise qwen3 thinks before every reply (much slower)

It also includes two commented CLI profiles, claude-subscription (claude-cli, claude-haiku-5-5) and codex-subscription (codex-cli, gpt-6-luna).

CLI providers (experimental)

claude-cli and codex-cli run a command-line AI tool that’s already logged in on the server, instead of calling an API.

  • The system user that runs the server must be logged in to the tool, with the program on its PATH or given as a full path in cli-command.
  • They ignore api-key, base-url, temperature and max-output-tokens.
  • CraftGPT removes API-key environment variables from the tool’s environment so it uses the login.
  • For Claude, none and minimal effort become low (with a warning); default sends no effort.