Skip to main content
Connect DeepSeek Harness to Phaseo to use Phaseo models and routing through the Harness web interface. No custom adapter is required: Harness can send OpenAI-compatible Chat Completions requests directly to Phaseo. Outcome: Phaseo appears as a provider in the Harness model picker, and new Harness sessions can use a model served by Phaseo.

Prerequisites

  • a running DeepSeek Harness installation
  • a Phaseo API key
  • a Phaseo model ID that supports Chat Completions and tool calling
The live request in this guide uses provider credentials and may incur model usage charges.

Set up with the Phaseo CLI

Configure the provider, base URL, protocol, model catalog, and default model in one command:
The CLI preserves unrelated entries in $DSH_HOME/cordis.patch.yml and marks the Phaseo block so it can update or remove only the settings it owns. Use a different Chat Completions model when needed:
Setup also creates a non-expiring gateway key named Phaseo CLI: DeepSeek Harness API Key. Harness does not support an executable credential helper, so copy the key intentionally:
In Harness, open Settings > Models, edit Phaseo, paste the key, and save. Harness writes it to its protected, write-only credential store rather than the provider patch. Removing the integration with phaseo integrations remove deepseek-harness revokes the CLI-created key.

Add Phaseo manually in the Harness UI

  1. In DeepSeek Harness, open Settings > Models.
  2. Choose Add a custom provider.
  3. Enter these values:
  1. Under Model catalog, choose Fetch available models.
  2. Select a Chat Completions model with tool support, such as anthropic/claude-sonnet-4.6, then save the provider.
  3. Return to the composer, choose the Phaseo model, and start a new session.
Harness keeps the provider ID in saved sessions and credential references, so treat phaseo as permanent. The display name, URL, credential, and model list can still be edited later.

Configure Phaseo with YAML

You can configure the same provider directly in $DSH_HOME/settings.yaml. Keep the API key out of this file; apiKeyEnv names the credential that Harness should resolve.
Provide PHASEO_API_KEY in the environment that launches Harness, or store the same credential through the Models page. Replace YOUR_PHASEO_MODEL_ID with the exact ID returned by Phaseo model discovery. For coding-agent workflows, start with anthropic/claude-sonnet-4.6.
A models list in settings.yaml is a saved catalog, not a live query. Update it when you want to expose more Phaseo models in Harness.

Verify the connection

Before testing Harness, confirm the credential and model discovery route independently:
Then select a Phaseo model in a new Harness session and send:
A successful response verifies the complete path from Harness through Phaseo to the selected model provider.

Troubleshooting

  • Fetching models returns 401 - Check that the Phaseo API key is current and that the base URL includes /v1.
  • The model is missing from the picker - Fetch the catalog again or add its exact Phaseo model ID under models in $DSH_HOME/settings.yaml.
  • Harness reports MISSING_CREDENTIAL - Store the key in the Models page or make PHASEO_API_KEY available to the Harness process.
  • A request uses the wrong endpoint - Select OpenAI Completions / openai-completions. This Harness integration uses Phaseo’s /v1/chat/completions compatibility route.
  • A model rejects function tools with reasoning enabled - Choose a model that supports tools on Chat Completions. Models that require the Responses API for reasoning with tools are not compatible with this Harness provider protocol.
  • An existing session keeps its old model - Start a new session. Harness records the selected provider and model in sessions that have already sent a request.
Last modified on August 14, 2026