AELDER

Connect DeepSeek Harness

Register a custom model API in DeepSeek Harness and select a model from your service catalog.

AELDER · SERVICE BASE URL
https://aelder.dev/v1

LOCAL CONFIGURATION

Let my agent set this up

Copy this task to an agent already running on your computer. Enter your API key locally when asked.

SETUP PROMPT
Help me connect DeepSeek Harness to AELDER using this guide: https://aelder.dev/docs/deepseek-harness/
Service Base URL: https://aelder.dev/v1
First inspect my installed version, active profile and configuration. Explain any mismatch with the guide before changing anything.
Use the documented local configuration or CLI method. Do not automate the GUI, install software or change permissions without asking.
Preserve existing accounts, providers, models, defaults, permissions and unrelated settings. Propose the smallest change, show a redacted diff, and back up any files before editing.
Have me enter my API key locally using the tool's secret storage or an environment variable. Never ask me to paste a key into chat, print it, or include it in a command, diff, log or commit.
Use the exact model ID I choose from my account's model list. Do not invent model IDs or assume every model supports every API format or tool feature.
Validate syntax and configuration loading before making any generation request. If there is no dry-run, say so.
Explain any proposed paid test, the model and what it sends, and ask for approval before running it. Do not send project files or private conversation history as a test.
Finish with the settings changed, checks performed and steps to restore the backup.

DeepSeek Harness has a native Custom model API provider. This guide uses its OpenAI Chat Completions protocol and the service’s /v1/chat/completions endpoint.

Use an existing Harness installation with the llm-pi-ai adapter. Copy the Base URL above, including /v1, and choose an exact model ID from the authenticated models endpoint. Coding tasks need a model with tool-calling support.

1. Add the custom provider

In the Web UI, open Settings → Models → Add model provider, then choose Custom model API. Enter:

Field Value
Provider ID my-api, or a new lowercase ID
Display name My API
Base URL The Base URL above, including /v1
API protocol OpenAI Chat Completions (openai-completions)
API key Your service API key, entered locally without Bearer

Use Fetch available models, select the models you want and choose Add selected. Save the provider. Discovery calls GET /v1/models; it does not generate text. If discovery fails, first check the URL, key and key permissions, then enter exact IDs manually after confirming them against the service catalog.

Use a custom provider ID rather than overriding a built-in provider. In the reviewed implementation, built-in providers use the installed catalog for discovery even after their URL is changed.

2. File configuration alternative

For local agent setup without the UI, set SERVICE_API_KEY through your secrets tooling in the process that starts Harness. Edit the active profile’s $DSH_HOME/profiles/<profile>/cordis.patch.yml; the standard dsh web profile is web.

Find the existing llm-pi-ai entry and merge this provider into config.providers:

- id: llm-pi-ai
  config:
    providers:
      my-api:
        displayName: My API
        apiKeyEnv: SERVICE_API_KEY
        api: openai-completions
        baseURL: https://aelder.dev/v1
        models:
          - id: YOUR_MODEL_ID
            input: [text]

Replace YOUR_MODEL_ID with the exact service model ID. apiKeyEnv references the local environment variable; it must not contain the literal key. Do not append /chat/completions to baseURL.

A Cordis override replaces the entry’s complete configuration. Preserve its other providers and fields when editing; do not create a duplicate entry or paste this fragment over existing configuration. If llm-pi-ai is not mounted in your profile, follow the adapter’s own setup instead of assuming an id patch installs it.

Models without explicit limits inherit catalog values or Harness fallbacks. Those fallbacks are not a verification of the service model’s context or output limit. Add only verified metadata; leave reasoning levels and image input unconfigured unless the chosen model and endpoint support them.

3. Select and verify

Select the model under My API in the model picker. Selecting it also sets the default for new sessions, but a conversation that has already sent a request can retain its own model. Start a fresh session for your first check.

Provider changes are read on the next request in the reviewed version. A changed process environment still requires restarting the process that inherited it; finish active work first.

Send “Reply with OK” when ready for a billable request and check the request/model in your service dashboard. Saving a provider or fetching models does not verify generation. A text reply also does not establish tool reliability, reasoning controls, replay across models or long-context behavior.

For MISSING_CREDENTIAL, check the saved key or referenced environment variable. For UNKNOWN_MODEL, compare the configured ID and active selection with /v1/models. For rejected request fields, use the adapter’s documented compat options only after confirming the specific difference; do not copy compatibility switches blindly.

Sources: the official Harness provider guide and pi-ai adapter reference. The native settings were reviewed; this service has not been tested end to end with Harness.

Need the key? Open your AELDER dashboard. For direct API calls, see the API reference.