Back to home@bleakbelladonnals

dsh-artifact-harbor

Artifact Harbor — secure, session-aware artifact previews for DeepSeek Harness Web

Stars
0
Language
TypeScript
Created
Aug 27, 2026
Updated
Aug 27, 2026

Introduction

Artifact Harbor logo

Artifact Harbor

Your agent's files, safely docked and fully traceable.

A session-native artifact browser for DeepSeek Harness Web.

CI MIT License DSH 0.1.1-rc.2 Node 22.19+

中文 · Architecture · Security · Validation


Artifact Harbor overview

[!NOTE] Artifact Harbor is a community project, not an official DeepSeek product. v0.1 is a developer preview pinned to one tested DSH release.

Why Artifact Harbor?

An agent can create a report, diagram, image, or PDF in seconds—but finding it again and understanding where it came from should not require leaving the conversation. Artifact Harbor adds a compact Artifacts action to the current DSH Session and keeps every file anchored to its Workspace and provenance.

DockInspectTraceProtect
Markdown, HTML, PNG/JPEG/WebP, SVG, and PDFPath, MIME, size, time, SHA-256, and Git statusSession, Turn, and Tool Call with explicit confidenceRealpath containment, bounded reads, sanitization, CSP, and empty iframe sandbox

Built for the session you are in

  • Session-native UI — opens inside DSH Web; no detached desktop viewer.
  • Live arrival board — debounced watcher updates create, edit, rename, and delete events.
  • Explainable provenance — labels attribution as exact, temporal, or unknown.
  • Workspace-only discovery — never scans the whole Home directory.
  • Local by design — no cloud sync, upload, public sharing, or artifact telemetry.
  • Bilingual — English and Chinese UI and documentation.

How it works

DSH Session header
  └── Artifacts
       ├── list + secure preview + metadata
       └── GET/SSE (sessionId + relative path only)
               │
               ▼
       Artifact Harbor Host
       ├── Session → immutable Workspace root
       ├── bounded discovery + incremental index
       ├── SHA-256 + MIME + Git metadata
       ├── Session/Turn/Tool Call provenance
       └── sanitized, sandboxed preview response

The browser cannot choose an absolute Workspace path. The Host resolves the active Session, canonicalizes its Workspace with realpath, and re-checks containment before every preview. See ARCHITECTURE.md for the full trust boundary.

Install from source

The npm package has not been published. Build a reviewable local tarball instead:

git clone https://github.com/bleakbelladonnals/dsh-artifact-harbor.git
cd dsh-artifact-harbor

corepack enable
pnpm install --frozen-lockfile
pnpm build
npm pack --ignore-scripts

dsh plugin --profile web add "$PWD/dsh-artifacts-0.1.0.tgz"
dsh web

Open a Session whose cwd is a registered Workspace. The Artifacts action appears in the Session header and refreshes as supported files change.

To uninstall:

dsh plugin --profile web remove dsh-artifacts

Uninstalling releases routes, SSE streams, watchers, timers, and in-memory indexes. Relative metadata remains under $DSH_HOME/state/dsh-artifacts until the user chooses to remove it; artifact content and Session logs are never cached there.

Compatibility

ComponentSupported in v0.1
DeepSeek Harness@deepseek-ai/dsh@0.1.1-rc.2 exactly
Node.js^22.19.0 or >=24.0.0
DSH surfaceWeb profile / Session header
Package managerpnpm 10.20.0

DSH APIs are pre-1.0. Later release candidates are not claimed compatible until tested.

Security model

Artifact content is untrusted—even when an agent created it. HTML and SVG are sanitized on the Host, served with a strict no-network/no-navigation CSP, and rendered without scripts, same-origin access, forms, popups, or downloads. Absolute paths, traversal variants, and Workspace-escaping symlinks fail closed. Large files remain visible as metadata but are not read into preview memory.

Read SECURITY.md before using untrusted Workspaces. Report vulnerabilities through a private security advisory.

Development

pnpm lint
pnpm typecheck
pnpm test
pnpm build
pnpm test:e2e
npm pack --dry-run --ignore-scripts

The v0.1 gate currently covers 26 unit tests and 12 end-to-end tests. All DSH integration tests use disposable profiles, homes, workspaces, and caches. See the reproducible validation record.

Project lineage

Artifact Harbor is based on agentuse/artifacts, imported at commit 4eaf604fc89f94d4f80ccf1afe2e4c0ebe48c225. It replaces the standalone CLI/server/viewer shell with native DSH Host and Web modules, session provenance, live indexing, and a stricter preview boundary. The original MIT notice is preserved verbatim.

See UPSTREAM.md and the detailed upstream audit.


Built for local-first agent workflows. No upload required.