README.md

August 19, 2026 · View on GitHub

DeepSee

Give DeepSeek Harness eyes — and the right model for the job.

Website · English · 简体中文

License: MIT Node.js 24 or newer DeepSeek Harness 0.1.0-rc.6

DeepSee is a lightweight plugin for DeepSeek Harness. It gives a text-first DeepSeek model a practical visual route, turns the models already available on your computer into a usable directory, and helps Harness choose a suitable executor for Workflow tasks.

It stays inside the product you already use: the same Web UI, the same model settings, and the same Harness Loop, Goal, Plan, and Workflow. There is no second dashboard, no companion service, and no need to enter the same API key twice.

Important

DeepSee is currently an alpha release and targets DeepSeek Harness 0.1.0-rc.6. The core visual route, model directory, Codex/Claude Desktop and CLI adapters, installer, and update flow are implemented; runtime support is intentionally conservative and listed below.

38-second product demo

Watch the English demo · 中文演示 · English version without background music

The demo uses the real public interface and shows the complete route: one-line install, vision model or local OCR, verified model routing, a visible multi-agent Workflow, and directly openable deliverables.

Install in one command

You need Node.js 24 or newer. In PowerShell or a terminal, run:

npm exec --yes --package=https://github.com/WUBING2023/deepsee/releases/download/v0.6.0-alpha.30/deepsee-0.6.0-alpha.30.tgz -- deepsee install

Then start the Harness Web UI:

npm exec --yes --package=https://github.com/WUBING2023/deepsee/releases/download/v0.6.0-alpha.30/deepsee-0.6.0-alpha.30.tgz -- deepsee web

Open http://127.0.0.1:3080/. DeepSee appears as a native sidebar panel.

Already have DeepSeek Harness configured? DeepSee reuses its providers, model IDs, and credential references. Add or edit API models on the native Harness Settings → Models page; DeepSee never asks you to copy the key into a separate store.

DeepSee is an independent open-source project and is not affiliated with DeepSeek. Image and task content is sent only to the provider or runtime you select; local OCR stays on the machine. DeepSee stores Harness credential references, never raw provider keys.

First-run setup → · 中文上手指南 →

What DeepSee adds

CapabilityWhat it feels like
Vision that actually runsAttach an image and DeepSee sends it to a selected multimodal model, MinerU, PaddleOCR, or RapidOCR, then returns the observation to DeepSeek.
One model directoryThe directory stays visible and groups models by API provider, Harness provider, local CLI, or desktop runtime. A verified subscription starts with one model; users can add, replace, disable, or remove additional model instances under the same source.
Fast initializationThe first ready visual model is selected automatically; Harness loads project instructions natively, while global Claude/Codex AGENTS.md, CLAUDE.md, or agent.md files are inherited read-only by base sessions and Workflow.
Native configurationThe plugin lives in the Harness sidebar and uses same-origin routes. Models and credentials remain owned by Harness.

Vision: model or OCR

Choose one reader in DeepSee preferences:

  • Model — any Harness model whose adapter confirms image input support.
  • OCR — choose an isolated, installable, and removable local engine. MinerU targets complex PDFs, tables, and formulas; PaddleOCR targets multilingual images and scans; RapidOCR targets screenshots, receipts, and low-resource CPUs. A one-line comparison appears while a download is active. DeepSee never removes system-managed installs.

The base DeepSeek model receives the visual observation and continues the conversation normally. A text-only model is never presented as if it had read the image itself.

Model directory and local runtimes

DeepSee scans the machine at startup, verifies what can really run, and keeps unavailable routes disabled. Defaults come from actual Harness modalities and the structured Models.dev catalog, then a short model request adds relative strengths. User corrections always win. Capability initialization and data sources →

RouteDiscoveredExecutable from DeepSeeNotes
Harness / API modelsYesYesUses native providers, model settings, and subagents.
Codex Desktop / CLIYesYesReuses the verified bundled App Server or CLI; several supported variants can be enabled as independent base/Workflow routes.
Claude Desktop + Claude CodeYesYes when CLI is verifiedSonnet, Opus, Haiku, or Fable can be managed independently under one verified subscription; automatic Workflow execution still requires Claude Code CLI.
Gemini CLIYes; install from the model-directory + when missingYes after install and restartPick an isolated install path. DeepSee tries the official stable npm package, then Google's GitHub Release bundle. One model starts enabled; Auto, Pro, Flash, and Flash-Lite can be added independently.
Kimi CLI, OpenCode, OllamaYesNot yetShown for honest discovery, but not exposed as runnable routes without a stable Harness adapter.
MinerU / PaddleOCR / RapidOCRYesOCR onlyVisual tools in Preferences, not general-purpose models in the matrix.

Workflow and Prime

  • /workflow <task> explicitly starts a visible Harness Workflow.
  • Prime leaves small tasks in the normal Loop and selects Workflow for genuinely independent workstreams, cross-capability roles, or an approved Workflow plan.
  • Harness/API models run through native spawn subagents. Codex, Claude Code, and Gemini CLI run through their verified CLI providers.
  • The opends_list_models tool lets the main model inspect available routes by vision, coding, writing, reasoning, document, or review capability.
flowchart LR
    U["You"] --> H["DeepSeek Harness"]
    H --> D["DeepSee"]
    D -->|"image"| V["Vision model or local OCR"]
    D -->|"task"| R["Harness API, Codex, or Claude"]
    V -->|"observation"| H
    R -->|"result"| H

Designed to stay small

  • Installs as a standard DSH bundle in both web and headless profiles.
  • Mounts its configuration API at the same-origin /api/deepsee route; there is no port 3091 or second Node.js process.
  • Stores mutable state under $DSH_HOME/deepsee, outside the package directory, so upgrades and uninstall preserve user choices.
  • Generates the prime preset from the installed Harness standard preset instead of patching an official preset.
  • Reads provider metadata and credential references, never raw API keys.
  • Reads global instructions only from conventional locations; their text never enters browser state, bounded per-file and total limits apply, and the current explicit request always wins.

Architecture and extension points →

One entry point, four reusable components

DeepSee ships as a plugin group. Users still install once: Web and Headless receive the core router, Codex subscription adapter, sidebar client, and Workflow policy together. One uninstall removes the whole group and the DeepSee-owned Prime preset while preserving model metadata and managed OCR installs.

Developers can reuse only what they need through @wubing2023/deepsee/core, @wubing2023/deepsee/codex, @wubing2023/deepsee/client, or @wubing2023/deepsee/workflow-policy. Run deepsee group to inspect the component contract for the installed version.

Common commands

npm exec --yes --package=https://github.com/WUBING2023/deepsee/releases/download/v0.6.0-alpha.30/deepsee-0.6.0-alpha.30.tgz -- deepsee install    # Install or safely resume Web + Headless
npm exec --yes --package=https://github.com/WUBING2023/deepsee/releases/download/v0.6.0-alpha.30/deepsee-0.6.0-alpha.30.tgz -- deepsee web        # Start the Harness Web UI
npm exec --yes --package=https://github.com/WUBING2023/deepsee/releases/download/v0.6.0-alpha.30/deepsee-0.6.0-alpha.30.tgz -- deepsee doctor     # Check bundle, runtimes, and configuration
npm exec --yes --package=https://github.com/WUBING2023/deepsee/releases/download/v0.6.0-alpha.30/deepsee-0.6.0-alpha.30.tgz -- deepsee uninstall  # Remove the plugin and preserve user state

If an early alpha wrote a key to DeepSee's own .env or .opends-connections.json, this release neither reads nor silently deletes it. After confirming the provider works in Harness Settings → Models, run deepsee doctor --scrub-legacy-secrets to remove that inactive plaintext permanently. A key previously shared in chat still must be rotated at the provider because code cannot revoke it.

Update checks are cached and automatic; installing an update always requires a click in the DeepSee panel. The updater pins an immutable Git commit, verifies the package before installation, and can resume a partially completed two-profile upgrade. Restart Harness when the panel shows Restart to apply.

If the one-line install times out, use the ZIP fallback. For runtime, visual, or update failures, see Troubleshooting.

Documentation

GuideEnglish简体中文
Install and first runGetting started快速上手
Architecture and extensionArchitecture架构说明
Diagnosis and recoveryTroubleshooting排障指南
Local developmentContributing参与开发

Develop locally

pnpm install
pnpm run typecheck
pnpm test
pnpm run build:plugin
pnpm run install:plugin
pnpm run start:web

DeepSee uses some internal opends-* / OPENDS_* identifiers so early installations can migrate without losing state. The public product, repository, package, and command are DeepSee, WUBING2023/deepsee, @wubing2023/deepsee, and deepsee.

License

MIT © 2026 WUBING2023