Repository navigation
chore(dxt): slim the DXT bundle - #87
Merged
Merged
Conversation
The DXT shipped the extension source plus built Chrome and Firefox copies, each with the 11 MB logo.mp4, so a fresh build was 36 MB. Claude Desktop only runs the MCP server from it and the extension ships as its own release zips. - Drop the extension (and its build step) from the bundle. - Install server deps with npm ci --omit=dev from opendia-mcp's own package.json and lockfile (Express 5, same as npx opendia), then prune docs, tests and tooling config from node_modules. Licenses stay. - Find the icon under opendia-extension/icons/ so the bundle has icon.png again. - Stop copying a root README.md that does not exist; point the in-bundle install guide at the release zips. opendia.dxt: 36,113,517 -> 685,498 bytes.
Merged
aaronjmars
added a commit
that referenced
this pull request
Oct 3, 2026
Ships #86 (DXT settings now reach the server, custom HTTP port in the extension popup) and #87 (slim DXT bundle). - opendia-mcp 1.1.3 -> 1.1.4 (package.json, lockfile, SERVER_VERSION) - extension 1.1.0 -> 1.1.1 (package.json, lockfile, both manifests) - opendia.dxt rebuilt at 1.1.4 - README points at the latest release zips instead of the 1.1.0 names
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.
Why
After #86, a fresh
./build-dxt.shproduced a 36 MBopendia.dxt(the committed one was 12.7 MB). The bundle carried the whole extension source plus built Chrome and Firefox copies, and each of the three copies had the 11 MBlogo.mp4.Claude Desktop only runs the MCP server out of a DXT. The extension was added to the bundle back in the first version of the script, and the only thing pointing at it was the
EXTENSION_INSTALL.mdwritten into the DXT itself. The README already tells users to install the extension from theopendia-chrome-*.zip/opendia-firefox-*.zipassets on the Releases page, so the bundled copies are not needed.What changed
npm install+ build inopendia-extension/during a DXT build.npm ci --omit=devfromopendia-mcp's ownpackage.jsonandpackage-lock.json, instead of a hand-written package.json with no lockfile. Side effect: the DXT moves from Express 4.21.2 to Express 5.2.1, the versionnpx opendiaand CI already use.*.mdexcept license files),test/tests/example(s)/.githubdirs and lint/coverage dotfiles fromnode_modules. License files stay.opendia-extension/icons/, so a fresh build had been shipping withouticon.pngeven though the manifest points at it.README.mdthat does not exist (it lives in.github/), and pointed the in-bundle install guide and the script's closing hint at the release zips.opendia.dxt; CHANGELOG entry under Unreleased / Removed.Size
Bundle now holds only:
manifest.json,server.js,package.json,package-lock.json,icon.png(128x128),LICENSE,EXTENSION_INSTALL.md,node_modules/(68 packages).Verification
shellcheck build-dxt.sh: clean before and after.extension/, no.mp4, notestdirs; manifest version 1.1.3 with theOPENDIA_*env mapping from fix(dxt): apply user_config settings to the server #86; express 5.2.1, ws 8.21.3, cors 2.8.6.server.jswithOPENDIA_WS_PORT=44388 OPENDIA_HTTP_PORT=44389and stdin from/dev/null:GET /portsreturned{"websocket":44388,"http":44389,...}GET /healthreturned{"status":"ok",...,"ports":{"websocket":44388,"http":44389}}