fix(dsh-hub): make the harness plugin actually load on dsh - #3
Draft
stvlynn wants to merge 1 commit into
Draft
Conversation
The documented git spec installed the website root, Config was a plain object Cordis cannot validate, and device approval never claimed the code. Point installs at packages/dsh-plugin-hub, export a Standard Schema, emit pnpm path selectors, and split login so the model can show the user the URL before polling. Co-authored-by: Steven Lynn <stvlynn@users.noreply.github.com>
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
dsh-fish | 76954eb | Commit Preview URL Branch Preview URL |
Aug 16 2026, 09:29 AM |
|
Opened a stacked PR to fix the failing CI setup step: #25 The Validated locally:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Audit
The
dsh-hubplugin was shaped like a real DeepSeek Harness bundle (apply+inject: ['tools']+defineTool+dsh.bundle.patch), but it could not accurately run on dsh as documented.What already matched the harness
apply,inject = ['tools'],ctx.tools.register(defineTool(...))dsh.bundle.patch→cordis.patch.ymlinsertingname: dsh-hubparameters,output.schema: { type: 'json' },output.render,exec.signal@deepseek-ai/cordisand@deepseek-ai/dsh-tools(host copy, not bundled)prepare+ tsdown (git-install build, turtle-ui pattern)$DSH_HOMEthen~/.dsh; skills under$DSH_HOME/skills; presets under$DSH_HOME/.agent-presets@deepseek-ai/dsh-mcp-clientprofile, step types) matches what the plugin executesdsh-hub-pluginmatches Better AuthvalidateClientWhat blocked a real dsh install
github:stvlynn/dsh.fish#maininstalls the repo root (dsh-fish), which has nodsh.bundle.dsh plugin addwould warn and activate no layer. The bundle ispackages/dsh-plugin-hub.Configwas a plain object. Cordis requires a Standard Schema (~standard). Official docs: do not export a plain object asConfig.packageSpecdropped subdirectory paths. A submitted monorepo bundle would still install the root.POST /device/approveuntilGET /devicebinds the code to the session (DEVICE_CODE_NOT_CLAIMED).executepolled until approval, so the tool result (code + URL) never reached the agent transcript in time.[]. Appending- insert:after a fresh profile’s[]is invalid YAML.Fixes
github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub(README, site, ADR).Configis a Standard Schema with defaults forbaseUrlandtargetProfile.packageSpecemits pnpm’s#<commit>&path:<dir>selector.GET /devicebefore showing Authorize/Deny.hub_account loginis two calls: first returns the code/URL; second polls.[]instead of concatenating after it.timeoutMson install and login.Remaining limits (not blockers for loading)
package.json, so this bundle is not auto-indexed. Submitgithub:stvlynn/dsh.fish/packages/dsh-plugin-hub.targetProfile: currentfalls back towebunlessDSH_PROFILEis set; the launcher does not document that env var.allowBuilds: dsh-hub: true(harness-required forprepare).Test plan
pnpm --filter dsh-hub run test(16 tests)pnpm --filter @dsh-fish/backend run test(60 tests)dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hubon a real harness, allow the build, restart, callhub_search