Orchestrator · primary mode

Flash as the primary model

Make Flash the model that plans the work, chooses tools and reviews results. Start with the provider, API key and token budget — then add workflow skills if you need them.

One model, one loop

Flash chooses tool calls; your harness executes them and returns the results to Flash. To keep your current model in charge and delegate only selected tasks, use executor mode.

User goal flows into Flash running as the primary model. Flash drives read/research, edit/run, and verify tool steps inside one loop, then produces a reviewed result.
Your goalOne task, stated outcome
Flash as primary modelChooses tools and reviews their resultsProvider, key and budgets configured first
Read & researchFiles, docs, sourcesExecuted by the harness
Edit & runScoped changes, commandsExecuted by the harness
VerifyChecks inside one loopExecuted by the harness
Reviewed resultYou stay the reviewer

Setup facts

Connection and token budget

Base URL
https://api.teralor.com/v1
Model
Flash (exact, case-sensitive)
Transport
Chat Completions (POST /v1/chat/completions)

Flash's current limits: 262,144 total context, up to 262,144 input and 131,072 output tokens. These ceilings are not additive: complete prompt tokens + reserved output ≤ 262,144. Input includes system instructions, tools, skills, history and new messages.

Check GET /v1/models with your own key before setup. Use the returned context_length, max_input_tokens and max_output_tokens if lower. A 401means credential or access setup must be fixed. Start with one worker; increase only within your account's verified concurrency allowance.

The downloadable Hermes and Pi example configs request 32,768 output tokens and compact at 172,032 prompt tokens. These are recommended working budgets for those configs, not API limits and not a setting supplied by ZCode or Cursor, which expose no user-facing compaction threshold. Omitting max_tokens reserves the full output ceiling instead, leaving only 131,072 prompt tokens; use a 98,304 compaction trigger for that policy.

One window. Shared by input and output.

262,144 total tokens · recommended working allocation

Prompt ceiling
229,376
Output reserved
32,768
Compact near (Hermes/Pi configs)
172,032

Compaction leaves room for the next message and tool results. It is a history-management trigger, not a hard input limit; a single oversized message can still be rejected.

Handle the key securely first

Export your customer key in the shell that launches the harness. Keep it out of config examples, prompts and Git; use your secret manager for persistent service setup. Use a key for the environment shown above. Downloaded configs are canonical public-API examples.

Secure key setup (Bash — Linux, macOS, WSL)

# Bash (Linux / macOS / WSL) — prompt once, keep the key out of history
read -r -s -p 'Teralor API key: ' TERALOR_API_KEY; printf '\n'; export TERALOR_API_KEY

Confirm YOUR access and limits (run before configuring anything else)

# Metadata check with YOUR customer key (process substitution keeps it out of argv)
curl -fsS --header @<(printf 'Authorization: Bearer %s\n' "$TERALOR_API_KEY") https://api.teralor.com/v1/models

Choose your harness

Hermes, Pi, ZCode and Cursor support primary setups through Chat Completions or documented BYOK. Codex and Claude Code support Flash as an executor only.

Hermes — direct connection

Settings checked against Hermes 0.21.0. Install Hermes using its official guide and create a separate profile. No private wrapper, GPU or server Docker image is required.

Create a profile and merge the downloaded YAML

hermes --version
hermes profile create flash
hermes -p flash config edit

Merge into ~/.hermes/profiles/flash/config.yaml; preserve other settings.

Hermes 0.21 ignores legacy model.max_tokens and HERMES_MAX_TOKENS. This config sends extra_body.max_tokens: 32768 and sets compression.threshold_tokens: 172032 separately. The compressor does not infer output headroom from the wire parameter. See the provider reference.

View hermes-primary.yaml
# Teralor Flash as the PRIMARY model in Hermes 0.21 (verified against 0.21.0).
# Apply to a NEW profile so existing settings are never overwritten:
#   hermes profile create flash
#   hermes -p flash config edit      # merge this YAML, do not replace other settings
#   hermes -p flash chat
# The key is read from the TERALOR_API_KEY environment variable — never paste a
# key literal into this file, a prompt, or source control.
providers:
  teralor-flash:
    api: https://api.teralor.com/v1
    key_env: TERALOR_API_KEY
    transport: chat_completions
    default_model: Flash
    discover_models: true
    models:
      Flash:
        context_length: 262144
    extra_body:
      max_tokens: 32768
model:
  provider: custom:teralor-flash
  default: Flash
context:
  engine: compressor
compression:
  enabled: true
  threshold_tokens: 172032

Confirm settings, then start a fresh session

hermes -p flash config get providers.teralor-flash.models.Flash.context_length
hermes -p flash config get compression.threshold_tokens
hermes -p flash chat

Pi — documented setup

Merge the provider into ~/.pi/agent/models.json and the compaction settings into .pi/settings.json in your Flash project. Restart Pi, open /model and select teralor-flash/Flash. These examples follow the Pi model documentation; Pi was not locally exercised in our audit.

Provider and model

Download pi-models.json

Merge the teralor-flash provider into ~/.pi/agent/models.json; keep existing providers.

View pi-models.json
{
  "providers": {
    "teralor-flash": {
      "baseUrl": "https://api.teralor.com/v1",
      "api": "openai-completions",
      "apiKey": "$TERALOR_API_KEY",
      "authHeader": true,
      "models": [
        {
          "id": "Flash",
          "name": "Teralor Flash",
          "input": ["text"],
          "reasoning": false,
          "contextWindow": 262144,
          "maxTokens": 32768,
          "compat": {
            "maxTokensField": "max_tokens",
            "supportsDeveloperRole": false,
            "supportsReasoningEffort": false,
            "supportsStore": false
          }
        }
      ]
    }
  }
}

Compaction headroom

Download pi-settings.json

Merge into .pi/settings.json in your Flash project; preserve other settings.

Pi compacts above contextWindow − reserveTokens. Reserving 90112 places the trigger at 172032, including output and growth headroom. The model's reasoning: falsedisables optional client effort controls, not Flash's ability to reason. See Pi settings.

View pi-settings.json
{
  "compaction": {
    "enabled": true,
    "reserveTokens": 90112,
    "keepRecentTokens": 20000
  }
}

ZCode — documented setup

Follow the provider steps below, then select Flash as the chat model. These GUI instructions follow the linked ZCode docs and are not a claim of live Flash certification.

  1. Install ZCode from its official docs, then open the chat model selector → Manage Models → Settings / Model Settings (the docs also call this Model Providers). See the ZCode configuration docs.
  2. Add a Provider named Teralor Flash; choose the OpenAI-compatible protocol/endpoint, not Anthropic. The API base URL must be https://api.teralor.com/v1(match the environment), and enter your own matching customer key in the app's API-key field — never paste the key into chat or source control.
  3. Add a Model with the exact ID Flash and enable the provider/model.
  4. Open the model's Advanced settings: context window 262144, Max output tokens 32768, or lower if your authenticated /v1/models result says so. These are the product context and recommended per-reply output, not additive limits. Custom-provider context edits apply to new sessions after saving.
  5. Keep optional thinking controls unset unless your route supports them. Provider options only accept connection fields — arbitrary reasoning/extra_body keys are silently ignored.
  1. Save, start a new task/session, select Flash in the model picker, and ask a bounded read-only tool task. Inspect the result before allowing edits.

ZCode compacts automatically with output and safety headroom and exposes no user-facing compaction threshold — do not add the 172032 trigger or extra JSON request fields here.

Cursor — BYOK, with limitations

  1. In Cursor Settings → Models → API Keys, enter your customer key in the OpenAI key field, enable Use OpenAI API Key, enable Override OpenAI Base URL and set https://api.teralor.com/v1. See the Cursor API-keys docs.
  2. Add a custom model with the exact server ID Flash, enable it and select it explicitly (not Auto), then start a new Agent chat with a short read-only test. Availability can depend on your account/plan.

This is a docs/support-backed BYOK recipe, not a tested native Flash integration. Unlike Hermes, Pi or ZCode, Cursor cannot detect or manually set the true window for unknown custom models; support reports a 1M assumption for unknown IDs, so it can hit Flash's actual 262144 limit before auto-compaction. The cited guidance provides no per-custom-model input/output/compaction controls to configure here, and Max Mode is not a verified fix. Keep tasks and context small, start fresh chats, and use executor mode when you need explicit budgets or long tasks.

Note: the base-URL override applies broadly to OpenAI-family requests, not only Flash — turn it off when returning to normal Cursor/OpenAI models. Your key and requests transit Cursor's backend, and BYOK does not apply to Tab completion.

Codex — executor only

Using Flash as the orchestrator in Codex is not possible at the moment. We recommend using Flash only as an executor in Codex — see executor mode.

Claude Code — executor only

Using Flash as the orchestrator in Claude Code is not possible at the moment. We recommend using Flash only as an executor in Claude Code — see executor mode.

Verify before your first real task

  • Confirm the selected model is Flash, the endpoint is the public API and the expected context and output settings are loaded in a fresh session. Then run one small read-only task and check its result.
  • Our public Flash execution path uses Hermes workers. The server's separate internal Codex endpoints and smaller worker window are local policies, not settings required on your machine.
  • Settings were checked against Hermes 0.21 and Codex 0.151 source. Pi is documentation-backed. The ZCode and Cursor GUI instructions follow the linked vendor docs and support notes and are not a claim of live Flash certification. Syntax and budgeting checks are not end-to-end compatibility tests.

Optional: delegating work later

No skill is required for the primary connection. To delegate work later, configure the workers on the executor page and then load the workflow skill below.

Harness skill

Flash Executor

Your AI leads. Flash executes.

Keep planning, decisions, and final review with your preferred assistant. Delegate bounded tasks to Flash, running independent work in parallel when your harness supports it.

Download skill
View skill instructions