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
Your agent's files, safely docked and fully traceable.
A session-native artifact browser for DeepSeek Harness Web.
中文 · Architecture · Security · Validation
[!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.
| Dock | Inspect | Trace | Protect |
|---|---|---|---|
| Markdown, HTML, PNG/JPEG/WebP, SVG, and PDF | Path, MIME, size, time, SHA-256, and Git status | Session, Turn, and Tool Call with explicit confidence | Realpath 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, orunknown. - 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
| Component | Supported in v0.1 |
|---|---|
| DeepSeek Harness | @deepseek-ai/dsh@0.1.1-rc.2 exactly |
| Node.js | ^22.19.0 or >=24.0.0 |
| DSH surface | Web profile / Session header |
| Package manager | pnpm 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.