DeepSeek Harness With Novita AI: Setup Guide, API Key, and Model Choice

DeepSeek Harness With Novita AI: Setup Guide, API Key, and Model Choice

DeepSeek Harness works with Novita AI by launching the Harness Web UI locally and adding Novita AI as an OpenAI-compatible custom model provider. Install Node.js, run npx @deepseek-ai/dsh web, open http://127.0.0.1:3080, then use https://api.novita.ai/openai as the provider base URL, a Novita AI API key as the credential, and a model ID from your Novita AI model library. The setup takes a few minutes; the real work is choosing the right model for coding, repository analysis, research, or high-volume tasks.

What DeepSeek Harness Is

DeepSeek Harness is an open-source agent harness from DeepSeek AI built around an “everything is a plugin” architecture. The official documentation describes the project as being in developer preview and warns that compatibility-breaking changes are likely, so the best production posture is to pin a working version, review changes before upgrading, and validate the integration after each upgrade.

The distinction between the model and the harness is easier to see once you run them. An LLM reads the prompt and decides what to do next. A harness gives that decision an execution path: a workspace, tools, a shell, a browser, sessions, storage, and a way to observe what happened before choosing the next action. DeepSeek Harness packages that loop in a Web UI you run on your own machine, while the reasoning model can remain an API service.

That design suits several kinds of work:

  • Codebase changes. Let the agent inspect files, propose a patch, run tests, and revise after failures.
  • Repository triage. Explore an unfamiliar dependency, map call paths, summarize risk areas, and write follow-up tickets.
  • Research and reports. Combine browsing, file output, and structured summaries when the answer is spread across many pages.
  • Operations experiments. Draft scripts, run them locally with approval, and record what changed before scaling the workflow.

It is less suitable when you need a small, auditable API call with no file access or local execution. An agent harness is a development environment, not just an inference endpoint. If you only need chat completions, the direct Novita AI LLM API is simpler.

What You Need Before Setup

You need four things:

  1. A machine with Node.js installed.
  2. A Novita AI account.
  3. A Novita AI API key.
  4. A working directory the agent may read and, where appropriate, edit.

To confirm Node.js is installed, run:

node --version

The official DeepSeek Harness repository currently declares support for Node.js ^22.19.0 || >=24.0.0. If the command prints an older version or fails, install Node.js from nodejs.org, then rerun the check. Avoid running commands as the system administrator if you can; if npx fails because it cannot write to a global cache, fix your Node.js/npm permissions instead of opening a shell as root.

Before leaving the setup, create a dedicated project folder and put it under source control if the contents matter. A harness with tool access can be enormously useful, but “look at this code” is a different risk level from “post to production.” Review the agent’s proposed actions and avoid connecting it to credentials it does not need.

How to Connect Novita AI Models

Step 1: Get your Novita AI API key

Sign in to Novita AI, open Key Management, create a new key, and copy it immediately. If the console shows the key only once, put it in a password manager or the local secret store your team already uses. Do not paste it into documentation, a screenshot, a source repository, or a shared chat.

For this guide, export it in the shell that will launch Harness:

export NOVITA_API_KEY="your-key"

The variable only makes setup easier; the UI provider configuration in the next section is what Harness uses to make model calls.

Step 2: Run the DeepSeek Harness Web UI

The official README gives this npm launch path:

npx @deepseek-ai/dsh web

The first run downloads the package and its dependencies, so it can take longer than later runs. DeepSeek Harness then opens the Web UI at http://127.0.0.1:3080 by default and launches it in your default browser. If you are working over SSH or do not want a browser launch, the official README documents the --no-open flag:

npx @deepseek-ai/dsh web --no-open

DeepSeek Harness can also be run from source with pnpm install, pnpm run build, and pnpm dsh web, but the npm path is the fastest route to a working UI and is the one this guide uses.

Step 3: Add Novita AI as a custom provider

The exact labels may change as DeepSeek Harness iterates, but the goal is the same in the current Web UI: open the model/provider settings and add a custom OpenAI-compatible provider.

FieldValue to use
Display nameNovita AI
Provider IDnovita or another stable local identifier
Base URLhttps://api.novita.ai/openai
API keyYour Novita AI API key
Model catalogRefresh or add the specific Novita AI model IDs you want

Use https://api.novita.ai/openai, not a path to a specific model. Keep the provider ID stable; if you rename it later, existing session settings may point at a provider that no longer exists. After you save the provider, refresh the model catalog and make the model visible in the session picker.

The API protocol to choose is openai-completions. DeepSeek Harness documents this protocol for OpenAI Chat Completions and offers openai-responses and anthropic-messages for gateways that use those request shapes instead.

Step 4: Select the model and workspace

Open a workspace in the DeepSeek Harness UI and choose one of the Novita AI models you just added. If the UI has a “get models” action, use it rather than typing a model ID from memory. Model IDs are the integration contract: a wrong ID can look like a network problem, a permissions problem, or an empty catalog.

Then run a small task before using an important codebase:

List the files in this workspace, identify the main entry point, and propose one low-risk documentation improvement.

Confirm that the agent can read the workspace, call the model, and stop before an action you did not approve. Once that loop works, move on to a real task.

If model discovery does not populate the list, add the model ID manually. DeepSeek Harness documents discovery as a convenience because not every gateway returns the same listing format.

What You Can Run After Setup

DeepSeek Harness gives you a place to define and operate agent sessions, not just ask follow-up questions. A few practical starting points:

Explain and refactor an existing code path

Point the workspace at a service or package and ask the agent to trace one feature end to end. The useful output is not only prose; it can include a change plan, the files it would touch, the tests it would add, and the signals that would prove the refactor worked.

Trace how an incoming request reaches the database layer. Produce a numbered flow, list likely failure points, and propose tests for the two highest-risk paths.

Review the plan before allowing edits. A model can choose a coherent-looking route through a codebase that depends on an implicit initializer, a stale config path, or an old API that still has production callers.

Prepare a migration or cleanup

Harness is useful for “prepare the work” tasks. Ask for a dependency inventory, an API usage list, a compatibility checklist, or a staged migration plan. Those artifacts are easier to review than a large one-shot patch, and they preserve the judgment you need if the migration touches other teams.

Run a research-to-file workflow

For market scans or technical comparisons, ask the agent to collect sources, reconcile dates, note disagreements, and write a draft report to a local file. Keep the deliverable narrow: “produce a table of candidates with URLs and dates” is easier to verify than “tell me what is happening in this market.”

Build a repeatable local workflow

Once a prompt works, save it as a project prompt or plugin if your Harness version supports that. A reusable prompt should state the workspace, required inputs, output format, and safety boundaries. That last part matters when the workflow runs commands or edits files.

How to Choose a Model for the Job

Novita AI supports DeepSeek and other model families, so the question is not “which provider has one model?” but “which model should this stage of the workflow use?” Start with the current listings in the Novita AI model library and confirm the exact model ID on the model page before saving it in Harness. Model IDs and limits change as catalogs update.

Use these routing patterns as a starting point:

  • DeepSeek V4.1 Flash is useful when you want strong general reasoning for code analysis, math-heavy tasks, or multi-step explanations without the cost profile of a flagship model.
  • GLM 5.3 is the flagship GLM listing at the time of writing, while GLM 5.3 Flash is the efficiency-oriented native multimodal option. Verify context window and output limits before stuffing a full repository into one request.
  • Qwen3.8 Flash and Qwen3.8 Max cover the efficiency and flagship ends of the current Qwen3.8 lineup. Run the same patch task against your default to see whether the output is easier to review.
  • Kimi K3 is Moonshot’s current flagship in the Novita catalog and can fit long-context, research, and tool-heavy workflows. Confirm the exact API behavior for tool calls before relying on it in production.
  • MiniMax M3 is the newest MiniMax listing and is a candidate for efficient interactive and multimodal-input work. Measure latency and review quality on your own prompts rather than assuming one benchmark result will transfer.

For production agent work, three measurements matter more than a leaderboard:

  1. Task success. Does the patch pass tests? Does the report contain the requested sections? Does the tool call do the intended action?
  2. Cost per accepted result. Count retries, wasted output, and the human time spent reviewing bad plans.
  3. Failure mode. Does the model refuse politely, hallucinate a tool call, or confidently take a wrong action? The last one needs tighter approval settings.

If you want to compare two models without editing the provider every time, add both to the same Novita AI provider, save their exact model IDs, and run the same representative prompt set. Then inspect the final artifacts, not only the chat output.

Troubleshooting Common Setup Issues

The model list is empty

Check that the base URL is exactly https://api.novita.ai/openai, that the API key is current, and that your account has access to the model. If the UI has a refresh action, refresh the catalog after saving the provider. Then test the key outside Harness with a direct API call.

If fetching models returns an authentication error, check the key first. Harness discovery calls the OpenAI-compatible model-list endpoint and can fail there while normal completion calls fail for a different reason.

The provider saves, but requests fail

Confirm the model ID matches the Novita AI model page. Also check whether the selected model supports the request type the harness is making; a text-only model may not support an image request, and a model without tool support may fail in an agent step that expects tool calls.

npx hangs or fails on first launch

The first launch downloads dependencies and can take a while. If it fails, check your network, npm cache, and Node.js version. A clean retry is reasonable; if the error mentions permissions, prefer a user-level Node.js installation or package manager cache over running the command with elevated privileges.

The browser does not open

The server may still be running. Open http://127.0.0.1:3080 manually, or restart with npx @deepseek-ai/dsh web --no-open and visit the URL from a browser on the same machine. Over SSH, the forwarded host may not be 127.0.0.1, so use the address printed by the command.

The agent made an unexpected change

Stop the run, inspect your version-control diff, and revert what you do not want. Then reduce tool scope or run the task in a disposable workspace. If your team uses protected branches and deployment credentials, keep them outside the agent’s reach until you trust the workflow.

Frequently Asked Questions

Does DeepSeek Harness support Novita AI models?

DeepSeek Harness supports custom OpenAI-compatible providers, and Novita AI exposes an OpenAI-compatible API. This guide uses the custom-provider path: https://api.novita.ai/openai as the base URL, a Novita AI API key, and the exact model ID from the Novita AI model page.

Do I need to deploy my own model server?

No. Novita AI hosts the model API; DeepSeek Harness runs locally and calls that API. You do not need to manage GPUs for this setup. You still need enough local resources for the Node.js process and any tools the agent runs.

Is DeepSeek Harness production-ready?

The official repository describes DeepSeek Harness as a developer preview and warns about compatibility-breaking changes. It can be useful today, but pin versions, review release notes, keep important work under source control, and test upgrades in a noncritical workspace before changing a production workflow.

Can I use more than one model in the same project?

Yes, if the UI supports switching models in your session. A useful pattern is one model for drafting or first-pass code, another for review or deeper analysis, and a lower-cost model for summarization, classification, or repeated extraction.

Where should I store my Novita AI API key?

Put it in the provider configuration only when required, and otherwise keep it in a local secret manager or an encrypted environment store. Never commit it, share it in screenshots, or grant it broader permissions than the task needs.

What should I do before connecting a real codebase?

Put the workspace under version control, confirm the agent’s approval settings, and remove credentials that are not required. Start with a read-only or low-risk task, then expand the toolset after you understand how the agent behaves with your project.

Sources