Skip to content

Bug: DSH Desktop Windows companion asset misses dist and source install cannot build #74

Description

@3964tian2

Environment

  • Windows 11 x64
  • DSH Desktop 0.3.10
  • DSH core: @deepseek-ai/dsh@0.1.0-rc.7
  • Node: v24.19.0
  • graph-memory: 1.6.0-beta.1

1. DSH Desktop companion asset has no build output

The DSH Desktop Windows asset bundled this directory as its companion plugin:

resources/app/assets/plugins/graph-memory/
  package.json
  cordis.patch.yml
  src/
  node_modules/

Its manifest exports:

{
  "main": "dist/index.js",
  "exports": {
    ".": "./dist/index.js",
    "./dsh": "./dist/dsh.js"
  }
}

but the delivered directory had neither dist/index.js nor dist/dsh.js. It also omitted root build inputs that exist in the upstream repository (dsh.ts, index.ts, tsconfig.json). Enabling the companion plugin makes DSH fail startup with:

Error [ERR_MODULE_NOT_FOUND]: Cannot find module
'D:\DSH\.dsh\profiles\web\node_modules\graph-memory\dist\dsh.js'
imported from D:\DSH\.dsh\profiles\web\

2. Fresh source install fails before it can build

The README documents:

npm ci
npm test
npm run build
npm pack

However a fresh clone / npm install runs prepare (npm run build) immediately and fails:

index.ts(12,40): error TS2307: Cannot find module 'openclaw/plugin-sdk'
or its corresponding type declarations.

openclaw is an optional peer dependency, but tsconfig.json includes both the OpenClaw entry index.ts and the DSH entry dsh.ts. The DSH entry itself does not import openclaw/plugin-sdk, so a DSH-only build is unnecessarily blocked.

Workaround verified locally

  1. Clone the complete upstream repository.
  2. Build a DSH-only config that includes src/**/*.ts and dsh.ts, excluding index.ts:
{
  "extends": "./tsconfig.json",
  "include": ["src/**/*.ts", "dsh.ts"],
  "exclude": ["test/**/*.ts", "dist", "node_modules", "index.ts"]
}
  1. tsc -p tsconfig.dsh.json emits dist/dsh.js.
  2. Copy build output into the Desktop companion asset and install/link the complete source into the DSH web profile.

After that, a cold DSH restart succeeded, the plugin created D:\DSH\.dsh\graph-memory\graph-memory.db, and the plugin hub reported the plugin installed/linked with its database readable.

Requested fixes

  1. Publish a complete DSH Desktop companion payload: include dist/index.js, dist/dsh.js, dsh.ts, index.ts, tsconfig.json, and required runtime dependencies; or install the official packed tarball instead of a partial source snapshot.
  2. Make a normal source installation buildable: add OpenClaw/SDK to dev dependencies for the full build, or split OpenClaw and DSH TypeScript configs/scripts.
  3. Add CI assertions that the packed artifact contains both exported runtime entry files, especially dist/dsh.js.

I can provide further logs or test a fix on Windows.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions