dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
Usage statistics and achievements for DeepSeek Harness — track your progress, explore capabilities, and level up your developer journey.
Local usage statistics and 81 achievements for DeepSeek Harness: 72 public achievements and 9 hidden challenges. The Hall reads persisted session events, tracks real DSH capabilities, and gives 19 cumulative achievements their own levels.
Screenshots show the Chinese interface with sample data.
View main and subagent sessions, recorded deliveries, PTC programs and output tokens alongside player progress.

Browse achievement badges, unlock dates and progress, with filters for category and unlock status.

Requires DSH 0.1.7-rc.2 or 0.2.0-rc.1, its Web profile, and Node ^22.19.0 || >=24. DSH APIs are pre-stable; other releases require verification.
Prepare and build DSH following its source setup instructions first. Run the following commands from the deepseek-harness repository root, not from the plugin directory. If dsh-achievements already exists, skip cloning it.
git clone https://github.com/oiuv/dsh-achievements.git
pnpm dsh plugin --profile web add ./dsh-achievements
pnpm dsh web
pnpm dsh web is shorthand for pnpm dsh --profile web: both start the same Web profile. pnpm runs the DSH repository's launcher; it does not select a different profile. Keep these commands in the DSH repository root.
To install a release tarball instead, download it to the DSH repository root and run:
pnpm dsh plugin --profile web add ./local-dsh-achievements-0.2.0.tgz
pnpm dsh web
The plugin checkout may also live outside the DSH repository: pass its path to add. Copying a folder into the repository alone does not activate it. Installation belongs to $DSH_HOME/profiles/web/.
If dsh is installed and available on PATH, omit pnpm. From the directory containing the plugin checkout, run:
dsh plugin --profile web add ./dsh-achievements
dsh web
After installing or updating the plugin, stop and restart DSH, then refresh the browser; refreshing alone can connect the new client to the old Host. If the Hall reports differing achievement versions, press Ctrl+C in the launch terminal, rerun the appropriate Web launch command, then refresh the page. Open Achievements in the sidebar. The Hall shows level progress, illustrated achievement badges, tool usage bars, and hourly activity in the current DSH theme.
The repository includes the built client.js; installation does not run a build script. Keep the package name @local/dsh-achievements consistent in package.json and cordis.patch.yml. From a DSH source checkout, remove with pnpm dsh plugin --profile web remove @local/dsh-achievements; with the global CLI, omit pnpm.
assistant/message.usage.outputTokens. Missing usage is excluded and its message count is displayed. This is not total token consumption or a billing estimate; input tokens, failed attempts and provider-side retries are excluded.run_code is a separate call. PTC program challenges require at least one subcall, every started subcall to settle without an error flag, and a non-error outer result.deliverables/presented events, deduplicated by call ID within the session. Repeated presentations of a file are delivery records, not distinct works. Coverage challenges count main sessions containing the required activity, not unrelated sessions.subagent, subagent_fork, subagent_codex and subagent_claude_code. Collaborative delivery requires a parent-owned child catalog entry and a recorded child turn completion within the parent turn, before delivery by log time. Starting a background child alone earns no delivery credit.Statistics follow persistence flushes and polling rather than every live streaming chunk. Unreadable history displays a partial-import status with a retry action. There is no remote analytics, conversation upload or model-facing tool.
The 72 public achievements include 24 core challenges, 47 specialties and one platinum award, alongside nine hidden challenges. First-unlock XP determines player level; 19 cumulative achievements have independent upgrade levels. Filter the collection by capability path, difficulty, collection or unlock state.
See Player levels and public achievements for the complete player-level table, XP rewards, upgrade rules and public catalog. The reference reveals no hidden achievement names, requirements or hints.
The bundle stores statistics at $DSH_HOME/achievements/stats.sqlite, using the system timezone. Override the complete plugin configuration in the profile's cordis.patch.yml:
- id: dsh-achievements
config:
database: !!js dshHomePath('achievements', 'stats.sqlite')
timeZone: Asia/Shanghai
pollMs: 3000
pageSize: 512
busyTimeoutMs: 5000
The database path must be absolute. Polling accepts at least 1000 ms; pages contain 1–4096 events; SQLite busy timeout accepts 1–30000 ms. The timezone is an IANA name validated at load. Use the same database for profiles sharing one session history.
SQLite stores counters, checkpoints, dates, turn timestamps, tool/Skill identifiers, hashed checklist and terminal identities, goal/workflow IDs and parent/child relationships. It does not copy prompts, responses, file paths, command text or tool result bodies. The authenticated DSH connection owns the endpoint. On unload, pending reads close before SQLite closes.
The current statistics format is v2. Opening a development v1 database clears its counters, checkpoints and unlocks, then imports the session logs still available; deleted source logs cannot be reconstructed. Stop all Hosts using the database before upgrading. To rebuild manually, stop those Hosts, remove only the plugin statistics file and restart. DSH session logs are never modified.
npm ci
npm test
npm run build
npm run check
npm pack
Edit src/client.js, src/client.css, and the bilingual dictionaries for UI work. src/catalog.js owns achievement requirements and XP. Commit the generated client.js with its sources. The build uses explicit compiler options and ignores parent tsconfig files. CI verifies tests, reproducible builds and packaging on Windows and Linux using Node 22.19 and 24.
src/events.js reduces native, PTC and domain events; src/engine.js owns aggregation, atomic checkpoints and unlocks. src/collector.js reads history and handles cancellation. Tests cover replay, failed and unpaired outcomes, correlated children, upgrade thresholds, database reset and teardown. The checked-in PTC fixture retains relevant durable events from DSH's ptc-node-workspace recording. No new model input or DSH persistence schema is introduced; checkpoint and reduced state commit in one SQLite transaction.
Publish the sources as a standalone repository and attach the generated tarball to its release. Never include a statistics database, DSH home, node_modules, or local test output. The MIT license applies.