DSH Hub
dsh-llm-ollama cover

NOirBRight/dsh-llm-ollama

dsh-llm-ollama

UIWeb UI1 GitHub stars· updated 2026-08-22

Native Ollama Cloud provider and Web configuration plugin for DeepSeek Harness

Install

npx @deepseek-ai/dsh plugin --profile web add github:NOirBRight/dsh-llm-ollama#v0.6.6

Restart `dsh web` after install. Bundle APIs can change during the developer preview.

README badge

dsh-llm-ollama DSH Hub badge
[![DSH Hub](https://dshhub.dev/badge/dsh-llm-ollama.svg)](https://dshhub.dev/plugins/dsh-llm-ollama)

Paste this into your README. The star count updates with every catalog sync.

From the README

Excerpt from NOirBRight/dsh-llm-ollama, cleaned of badges and images.

dsh-llm-ollama

English | 中文

Ollama Cloud integration for DeepSeek Harness. Chat uses Ollama's OpenAI-compatible Chat Completions endpoint through the shared pi-ai-backed adapter. Model discovery and the Web Search/Fetch providers remain on Ollama-native APIs because those independent capabilities are not part of the chat protocol.

The package root exposes the Cordis plugin contract and OllamaAdapter. The same artifact exports ./client, which contributes the Ollama Cloud card under Settings → LLM Providers. The protocol and capability split is recorded in ADR 0001.

Installation

DeepSeek Harness 0.1.0-rc.6 or later is required. Install directly from GitHub:

dsh plugin --profile web add github:NOirBRight/dsh-llm-ollama#v0.6.6
dsh web

The repository tracks release-ready lib artifacts, so GitHub installation needs no build-script allowlist. A source checkout can use a link installation after running pnpm run build.

Web configuration

Open Settings → LLM Providers → Ollama Cloud. The card stores the API key through the Harness credentials API under OLLAMA_API_KEY; the Host never returns the stored literal. It saves the native base URL and model catalog together as one revision-fenced llm-ollama settings mutation.

Fetch available models opens the picker immediately and calls the package's loopback-only RPC with the unsaved endpoint and one-shot key. The Host reads /api/tags, deduplicates native ids, and enriches up to six models concurrently through /api/show. The native metadata supplies context windows plus vision, thinking, and tools flags that /v1/models does not expose. The picker starts from the current draft selection, preserves current-only models, and replaces the draft catalog when applied.

The card's Cloud usage section mirrors ollama.com/settings: the Host reads GET <baseURL>/usage with the stored (or one-shot) key and renders the session and weekly windows as consumed-percentage meters plus the week's per-model request counts. The credential never crosses to the browser. A self-hosted endpoint without the usage surface shows an unsupported note instead of an error.

The model catalog starts collapsed and lists one row per model: a drag handle reorders rows (the order persists with the catalog), the chevron opens that row's context window, Default thinking, and capability flags, and the trash button removes it.

Plugin configuration screenshots

Cloud usage and the complete weekly model activity list:

Sortable model catalog:

The Models page lists saved ollama-cloud models and can select them. Current Harness releases do not expose a third-party editor slot inside that page, so this package owns its editor under Plugin configuration.

Capability and protocol split

Chat uses:

POST <openai-base>/chat/completions

The configured baseURL remains the native Ollama API address. The plugin maps chat to its /v1 sibling:

https://ollama.com/api  ->  https://ollama.com/v1
http://localhost:11434/api  ->  http://localhost:11434/v1

The Ollama-native independent capabilities remain:

model discovery  ->  GET /api/tags + POST /api/show
web search       ->  POST /api/web_search
web fetch        ->  POST /api/web_fetch

Related plugins