← Back to home@catcatchcatast

dsh-remote-hosts

DeepSeek Harness (DSH) remote hosts / remote plugin / multi-host Web & Desktop. DSH 远程插件、多主机远程开发。0.1.5-rc.2 Preview; not stable 0.1.5. Contact: catcatchcatast@gmail.com

Stars
1
Language
JavaScript
Created
Sep 9, 2026
Updated
Sep 16, 2026

Introduction

DSH Remote Hosts

DeepSeek Harness remote plugin · multi-host Web/Desktop · Android compatibility

简体中文 · Installation · Compatibility · Releases · Android client

Operate local and remote DeepSeek Harness (DSH) projects through the familiar Web or Desktop interface. DSH Remote Hosts provides host-aware routing, shared browser streams, and mobile APIs as external plugins; it does not modify dsh-core.

This is a community project, not an official DeepSeek product. It connects to DSH runtimes already installed on your computers; it does not provide model subscriptions or credentials.

Version status — read before installing

What you are usingDSH targetStatus
Current public entry0.1.5-rc.2Preview; self-contained package in v0.1.5-rc.2-preview.1
Earlier rc.2 package set0.1.5-rc.2v0.1.5-rc.2-preview; component archives without the verified single entry
Existing v0.1.2-preview downloads0.1.2-rc.1Older prerelease binaries; not rc.2 packages
Retained compatibility paths0.1.2-rc.1Included in source; validate the exact package/profile combination
Other versions, including stable 0.1.5—Not claimed compatible

Do not install the old v0.1.2-preview downloads as a 0.1.5-rc.2 update. Package directory names ending in -rc1 are historical names; the current package closure and runtime target are defined by release-profile.json.

What it helps you do

  • Keep projects on the computer where they belong, while browsing local and remote work in one interface.
  • Choose a target host in the project directory flow, browse its folders, and create a directory without losing the current selection flow.
  • Open a conversation, follow its output, intervene in a running task, and handle approvals or questions across clients.
  • Connect the companion native Android client without subscribing separately to the full history of every idle session.

DSH Remote Hosts connection overview

Conceptual connection diagram, not a product screenshot. Labels are generic and contain no account, device, host address, or conversation data.

Interface screenshots

Actual Web/Desktop screenshots showing project and session host ownership after Remote Hosts integration.

Browse by projectBrowse sessions by time
Local and remote workspaces grouped by project, with remote host labels and statusSessions grouped by time, with their project and remote host labels

Remote projects and sessions show their host label to make the target computer clear. Generic host labels are retained; selected project names remain obscured as in the original images. The displayed hosts are not preconfigured by the installation.

Why this approach

Design choicePractical benefit
External compatibility packagesVersion-specific adaptation stays outside the official core and can be rolled back with the profile.
One host-aware resource pathLocal and remote session, workspace, file, and terminal operations keep explicit ownership.
One multiplexed browser WebSocketSupported subscriptions share a connection instead of consuming one HTTP long connection each; ordinary requests remain HTTP.
One mobile global event listener per hostNew events remain visible without eagerly following every cold conversation.
Bounded history readsUser-open reads and confirmed cursor gaps trigger recovery; heavy history work is limited to two host-wide jobs.
Tool summaries firstMobile traffic omits complete tool parameters, output, and diffs until the user requests the detail page.

These are implementation choices, not a promise of a fixed latency or permanent fault-free operation.

Feature list

The following capabilities are implemented in the source preview. Availability also depends on the matching DSH runtime, profile, and host capabilities.

AreaCapabilities
Projects and hostsAggregate local/remote workspaces, retain host labels and ownership, select a host for directory browsing, create folders, and route workspace creation to that host.
SessionsCreate, open, rename, branch, archive, queue input, steer, cancel, and reconnect through the host-aware path.
Workspace navigationConsistent session menus; projects ordered by their most recently updated non-archived session, with newer sessions first within a project.
Live outputWorkspace/session subscriptions and global events over the shared browser stream; mobile assistant-stream and sub-agent event adaptation.
Approvals and questionsRequired decision context, approve/deny, cross-client resolution, stepwise questions, skip, and free-text responses.
Models and subscriptionsRuntime model catalog/selection adaptation, configurable catalog filtering, and compatibility routing for subscription plugins. Accounts remain with the relevant runtime/provider.
Mobile synchronizationGlobal event feed, ordered cursor recovery, history epochs, and bounded cold-history reads. Archived sessions are excluded from normal background work.
Tool detailsSummary and detail-reference separation across history and live events; complete selected fields fetched through bounded detail endpoints. Approval context is not hidden by tool laziness.
Files and terminalsHost-aware file/terminal routing through existing capabilities; availability and transfer behavior depend on the host implementation.
Runtime managementA narrow runtime interface and controlled startup/restart path, including the validated Windows startup follow-up.
PackagingProfile-selected dependency closure, TGZ generation, source hashes, and project LICENSE/NOTICE inclusion.

Architecture and contract details: compatibility, runtime interface, and architecture decisions.

Getting started

For an existing 0.1.2 preview installation

Use the v0.1.2-preview release only with its documented 0.1.2-rc.1 runtime and manifests. Verify the downloaded SHA-256 sidecars. The legacy section of INSTALL-PLAN.md documents this package set.

Install the current 0.1.5-rc.2 preview

Confirm that the target runtime is exactly 0.1.5-rc.2, then add the self-contained release archive to the profile that runs DSH Web/Desktop:

dsh plugin --profile web add "https://github.com/catcatchcatast/dsh-remote-hosts/releases/download/v0.1.5-rc.2-preview.1/dsh-remote-hosts-0.1.5-rc.2.tgz"

Before first boot, merge the runtime-interface entry from packages/public-install-rc2/profile.patch.example.yml into the profile's cordis.patch.yml. Replace its example datasetId with a stable identifier for that host's persisted session dataset. Keep it unchanged across ordinary restarts and use a different value on each host.

Set up SSH separately, verify the host fingerprint, and keep each DSH runtime on loopback. Host addresses and credentials remain outside the package; config/host-profile.example.yml is a secret-free shape example. Start through the existing managed entry point, then check local/remote projects, output, cancellation, approvals, and reconnect before broad use.

Rollback removes this bundle entry from the same profile:

dsh plugin --profile web remove dsh-remote-hosts

The release entry embeds the 12 project-owned runtime packages and does not query unpublished package names during installation. The transformed official Workspace UI archive remains a separate optional download under its upstream license; installing the entry does not silently replace official UI bytes. See INSTALL-PLAN.md for checksums, source builds, exact configuration, and isolated verification evidence.

The remote plugin and Android client should be updated as a coordinated combination.

Build and verify

Use Node.js 24 and pnpm 11. The active workspace has registry dependencies pinned by the lockfile; it does not require a sibling private DSH checkout.

corepack enable
pnpm install --frozen-lockfile
pnpm run build
pnpm run check

Exact upstream runtime/UI inputs are needed for official integration and transformation tests. Tests that lack those inputs explicitly skip; that is not a successful official-runtime acceptance. The isolated legacy Android bootstrap fallback retains separate historical build prerequisites.

The current local source verification recorded a successful build, interface-boundary check, and 307 passed / 12 skipped tests. That does not replace a complete multi-host endurance acceptance. The public entry also passed the isolated binary installation and boot checks documented in INSTALL-PLAN.md. See SOURCE_SNAPSHOT.md.

What is next

  • Continue privacy-checking every public plugin archive from its final publication commit.
  • Keep installation manifests, compatibility evidence, SHA-256 checksums, and rollback instructions aligned with each prerelease.
  • Continue coordinated Android/remote-host device validation; the published preview binaries are not a claim of complete scenario acceptance.

No new product feature or release date is promised. Unaccepted Home-only candidates and optional performance work are not presented as released features. A 300ms mobile first-screen guarantee is not claimed.

Repository guide

PathResponsibility
packages/runtime-interfaceOfficial-runtime boundary, assistant/sub-agent adaptation, managed lifecycle.
packages/browser-host-hub-rc1, packages/rc1-host-carriersBrowser routing, streams, local/SSH carriers.
packages/remote-hosts-settings-rc1, packages/ui-directory-picker-browseHost configuration surface and directory flow.
packages/mobile-*-rc1Bootstrap, events, history, interactions, and detail endpoints.
packages/subscriptions-compat-rc1, packages/model-menu-filterSubscription compatibility and catalog filtering.
packages/ui-workspace-menu-compat-rc1Menu parity and activity-order transformations.
compat/android-bootstrap-mobile-session-syncIsolated older-host fallback.
compatibility-patches, tools, testsExternal-consumer adaptation, packaging, and synthetic regression coverage.

Support, privacy, and license

Ordinary bugs and compatibility reports: GitHub Issues. Private logs and security reports: catcatchcatast@gmail.com.

Do not publish tokens, private keys, authorization URLs, real IPs/hostnames, device identifiers, or conversation content in issues or screenshots. SSH credentials stay out of browser payloads; automatic reconnect does not replay send/approve/create operations.

CONTRIBUTING.md · SECURITY.md · SUPPORT.md · Release requirements

Project-owned code uses Apache-2.0. Third-party components, including transformed official UI content, retain their original licenses and notices. See LICENSE and NOTICE.

Related project: DSH T-remote Android client. Search keywords: DSH 远程插件、DeepSeek Harness 远程主机、remote hosts、remote plugin、multi-host、SSH、Tailscale.