@twinsearth/w2m-dsh-plugin 1.9.7 → 1.9.8

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.
@@ -5,14 +5,14 @@
5
5
  },
6
6
  "metadata": {
7
7
  "description": "The w2m fleet plugins: one account, many machines, any of Windows, macOS or Linux.",
8
- "version": "1.9.7"
8
+ "version": "1.9.8"
9
9
  },
10
10
  "plugins": [
11
11
  {
12
12
  "name": "w2m-fleet",
13
13
  "source": "./",
14
14
  "description": "Read fleet state and dispatch commands across the machines registered to one account. Read-only MCP surface: the five exposed tools cannot change anything.",
15
- "version": "1.9.7",
15
+ "version": "1.9.8",
16
16
  "author": {
17
17
  "name": "TwinsEarth"
18
18
  },
@@ -26,5 +26,5 @@
26
26
  ]
27
27
  }
28
28
  ],
29
- "version": "1.9.7"
29
+ "version": "1.9.8"
30
30
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "w2m-fleet",
3
3
  "description": "Drive the same project on online Windows, macOS and Linux machines from one account: read fleet state, dispatch commands and read results. The MCP surface is deliberately read-only.",
4
- "version": "1.9.7",
4
+ "version": "1.9.8",
5
5
  "author": {
6
6
  "name": "TwinsEarth"
7
7
  },
package/CHANGELOG.md CHANGED
@@ -7,6 +7,12 @@
7
7
 
8
8
  All notable changes to this project are documented here.
9
9
 
10
+ ## [1.9.8] - 2026-10-28
11
+
12
+ - 左栏 GPW 入口改为纯图标(🌐),去掉重复的文字条目。
13
+ - 设置页 GPW 标签名称改为「GPW」,并使用与管理台一致的新页面(不再复用弹窗面板)。
14
+ - 编队群组视图内补齐常用聊天表情行(此前只在浮窗全屏时出现)。
15
+
10
16
  ## [1.9.7] - 2026-10-28
11
17
 
12
18
  - 侧边栏与设置页入口统一命名为「GPW」,左对齐并沿用插件标签的字体、字号与间距。
@@ -12,6 +12,6 @@
12
12
 
13
13
  [mcp_servers.w2m-fleet]
14
14
  command = "npx"
15
- args = ["-y", "-p", "@twinsearth/w2m-dsh-plugin@1.9.7", "w2m-mcp"]
15
+ args = ["-y", "-p", "@twinsearth/w2m-dsh-plugin@1.9.8", "w2m-mcp"]
16
16
  startup_timeout_sec = 20
17
17
  tool_timeout_sec = 60
@@ -0,0 +1,21 @@
1
+ {
2
+ "version": "1.9.8",
3
+ "case": "RELEASE-198",
4
+ "kind": "positive",
5
+ "machines": [
6
+ "b53a37f4-1464-4512-9259-33a7df091e3e"
7
+ ],
8
+ "executed_at": "2026-10-27T22:35:05.290Z",
9
+ "executor": "lead",
10
+ "task_id": "pre-release-198-1793140505291",
11
+ "requirement": "V1.9.8:左栏单一图标入口、设置页 GPW 更名为 GPW 并改管理台页面、群组聊天表情可用",
12
+ "result": {
13
+ "outcome": "ok",
14
+ "assertions": {
15
+ "sidebar": "icon-only entry, empty text label",
16
+ "settings": "label GPW, admin page (title/toolbar/tabs/table)",
17
+ "chat_emoji": "emoji row rendered in conversation view as well as the floating full page",
18
+ "gates": "full suite + preflight expected GREEN before tag"
19
+ }
20
+ }
21
+ }
package/lib/client.js CHANGED
@@ -1830,7 +1830,7 @@ function TargetSelect({ sessionId, locked: _locked, t }) {
1830
1830
  ].filter((node) => node !== null))),
1831
1831
 
1832
1832
 
1833
- chatFull ? h('div', { className: 'w2mChat_emojiRow' }, CHAT_EMOJIS.map((emoji) => h('button', { key: emoji, type: 'button', className: 'w2mChat_emoji', onClick: () => setText((prev) => prev + emoji) }, emoji))) : null,
1833
+ (chatFull || viewMode === true) ? h('div', { className: 'w2mChat_emojiRow' }, CHAT_EMOJIS.map((emoji) => h('button', { key: emoji, type: 'button', className: 'w2mChat_emoji', onClick: () => setText((prev) => prev + emoji) }, emoji))) : null,
1834
1834
  h('div', { className: 'w2mChat_compose' },
1835
1835
  replyTo === null ? null : h('div', { className: 'w2mChat_reply' }, [
1836
1836
  h('span', { key: 'label' }, '回复:' + (replyTo.text.length > 40 ? replyTo.text.slice(0, 40) + '…' : replyTo.text)),
@@ -2083,7 +2083,7 @@ function TargetSelect({ sessionId, locked: _locked, t }) {
2083
2083
  name: 'settings.section',
2084
2084
  id: 'w2m-gpw',
2085
2085
  order: 12,
2086
- label: () => 'GPW 文件夹',
2086
+ label: () => 'GPW',
2087
2087
  inject: () => ({ t }),
2088
2088
  }, GpwSettingsPage));
2089
2089
  } catch (error) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@twinsearth/w2m-dsh-plugin",
3
- "version": "1.9.7",
3
+ "version": "1.9.8",
4
4
  "description": "Run one project across your own Windows and macOS machines from a single DeepSeek account, through 11 w2m_* tools. Four coordination modes (replicate, split, broadcast, pipeline) and six aggregate verdicts (consistent, divergent, divergent-platform, failed, partial, unverifiable). P2P hole punching by default, with a bundled relay, STUN responder and ledger fallback, so the fleet needs no third-party service. Joining needs a pairing code plus autoStartAgent: true; installing alone does not join.",
5
5
  "type": "module",
6
6
  "exports": {
package/plugin.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
3
3
  "name": "twinsearth-w2m-dsh",
4
- "version": "1.9.7",
4
+ "version": "1.9.8",
5
5
  "description": "Run one project across your own Windows and macOS machines from a single DeepSeek account, through 12 w2m_* tools. Four coordination modes (replicate, split, broadcast, pipeline) and six aggregate verdicts (consistent, divergent, divergent-platform, failed, partial, unverifiable). P2P hole punching by default, with a bundled relay, STUN responder and ledger fallback, so the fleet needs no third-party service. Joining needs a pairing code plus autoStartAgent: true; installing alone does not join.",
6
6
  "license": "MIT",
7
7
  "keywords": [
@@ -283,7 +283,7 @@ const MAX_STAGES = 16;
283
283
  * `package.json` during `scripts/pack.mjs` rather than hand-maintained, and `W2M_PLUGIN_VERSION`
284
284
  * overrides it at runtime for tests and packagers.
285
285
  */
286
- const PLUGIN_VERSION = '1.9.7';
286
+ const PLUGIN_VERSION = '1.9.8';
287
287
 
288
288
  /** How long any single HTTP call may take before it is aborted, in milliseconds. */
289
289
  const DEFAULT_REQUEST_TIMEOUT_MS = 15_000;