dsh-mcp-pill 0.2.3 → 0.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## English
4
4
 
5
- **Current release: 0.2.3** — Remote settings are capability-detected and optional, so older DSH RC hosts continue to start the plugin.
5
+ **Current release: 0.2.5** — Remote settings are capability-detected and optional, so older DSH RC hosts continue to start the plugin. This release adds a documented install path: `dsh plugin --profile web add dsh-mcp-pill`.
6
6
 
7
7
  A lifecycle-safe MCP connection status pill for DeepSeek Harness Web. It exposes loopback-fenced status/toggle RPC, an official Settings card, and a composer-seat pill that stays hidden until enabled. DSH 0.1.2+ fine-grained `remote.settings` is preferred; older RC hosts use the legacy connection API.
8
8
 
@@ -30,8 +30,19 @@ Global MCP connection status pill for the DSH web UI — official bundle form
30
30
 
31
31
  ## Install
32
32
 
33
- Add to the profile's `package.json` dependencies (`link:` for local dev) and
34
- to `dsh.profile.bundles`, then `pnpm install` and restart `dsh web`.
33
+ ```powershell
34
+ dsh plugin --profile web add dsh-mcp-pill
35
+ ```
36
+
37
+ Restart the existing DSH Web process afterwards: the Host scans the browser plugin roster at startup, so the pill and its Settings card appear only after that restart. Then open **Settings → Plugins → MCP 状态胶囊** and turn on「显示状态胶囊」— the pill is hidden by default.
38
+
39
+ Local development, from this package directory:
40
+
41
+ ```powershell
42
+ dsh plugin --profile web add .
43
+ ```
44
+
45
+ Either form records the package in the profile's `dsh.profile.bundles`, which is what mounts the Host half and serves the client bundle.
35
46
 
36
47
  ## Config
37
48
 
package/lib/client.js CHANGED
@@ -867,12 +867,13 @@ window.__ModuleLoader__.load({
867
867
  // Settings card first: pill mounting waits for the composer seat
868
868
  // asynchronously and must never delay or break the Settings Slot.
869
869
  const scope = ctx.settingsScope.bind({ namespace: NS })
870
- // Compatibility layer: DSH 0.1.2 exposes fine-grained remote settings;
871
- // older RC builds keep the legacy connection API.
870
+ // DSH 0.1.2+ exposes fine-grained remote settings through
871
+ // @deepseek-ai/dsh-api-remotes (ctx.remote). The legacy RC connection API
872
+ // is no longer available, so there is no fallback branch.
872
873
  const remote = ctx.get('remote')
873
874
  const api = remote && remote.settings
874
875
  ? { settings: { mutate: (payload) => remote.settings.mutate(payload.ns, payload.ops, payload.expectedRevision).then((result) => ({ result })) } }
875
- : (ctx.get('connection') && ctx.get('connection').api)
876
+ : undefined
876
877
  const disposeSlot = ctx.slots.inject('settings.plugin.item', () => ctx.slots.register({
877
878
  name: 'settings.plugin.item',
878
879
  key: NS,
@@ -894,7 +895,7 @@ window.__ModuleLoader__.load({
894
895
  }
895
896
 
896
897
  exports.apply = apply
897
- exports.inject = ['slots', 'settingsScope', 'connection']
898
+ exports.inject = ['slots', 'settingsScope', 'remote', 'remote.settings']
898
899
  return module.exports
899
900
  },
900
901
  })
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-mcp-pill",
3
- "version": "0.2.3",
3
+ "version": "0.2.5",
4
4
  "description": "EN: Lifecycle-safe MCP status pill and Settings card for DeepSeek Harness Web. ZH: 面向 DeepSeek Harness Web 的生命周期安全 MCP 状态胶囊与设置卡片。",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",