@twinsearth/w2m-dsh-plugin 2.1.7 → 2.1.9

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": "2.1.7"
8
+ "version": "2.1.9"
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": "2.1.7",
15
+ "version": "2.1.9",
16
16
  "author": {
17
17
  "name": "TwinsEarth"
18
18
  },
@@ -26,5 +26,5 @@
26
26
  ]
27
27
  }
28
28
  ],
29
- "version": "2.1.7"
29
+ "version": "2.1.9"
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": "2.1.7",
4
+ "version": "2.1.9",
5
5
  "author": {
6
6
  "name": "TwinsEarth"
7
7
  },
package/CHANGELOG.md CHANGED
@@ -7,6 +7,11 @@ All notable changes to this project are documented here.
7
7
  - `w2m_intent`: structured intents mapped onto allow-listed commands; unknown actions, parameters and types
8
8
  are refused by name (the fleet does not invent commands).
9
9
 
10
+ ## [2.1.9] - 2026-10-31
11
+
12
+ - Plugin identity: exported locale/zh.json + locale/en.json meta.title/meta.description. DSH reads these without activating the plugin, so the manager list and detail page render the custom name and copy.
13
+ - package.json exports each locale JSON explicitly and ships locale/.
14
+
10
15
  ## [2.1.7] - 2026-10-31
11
16
 
12
17
  - Plugin identity: ship icon.png and package.json meta.title = "W2M:AI 智能体舰队编排工具" so a fresh install renders the custom icon/name.
package/README.md CHANGED
@@ -8,7 +8,14 @@
8
8
 
9
9
  English | [中文说明](#中文说明)
10
10
 
11
- ---
11
+ ## W2M是一个开源(MIT)的 AI 智能体舰队编排工具
12
+ ————用同一个 DeepSeek 、豆包、WorkBuddy账号把"你自己的多台机器"(Windows/Mac)编成一个舰队,统一派发命令、协作&协同开发。
13
+ ### 组件有三块:
14
+ 1.Relay(HTTP+SSE 协调服务器)
15
+
16
+ 2.Agent(每台机器上跑、执行白名单命令)
17
+
18
+ 3.Plugin(给 Agent 用的 18 个工具)
12
19
 
13
20
  ## 六大核心功能
14
21
 
@@ -30,6 +37,8 @@ English | [中文说明](#中文说明)
30
37
  ### 功能 6 · 全局文件夹读写黑白名单:保护系统盘 & 个人/工作文件夹
31
38
  DSH 默认的权限模型是“限制 or 全开”,一旦放开就难以精细控制。本插件在官方沙箱之上追加全局文件夹读写黑白名单,为系统盘(`C:\Windows`、`Program Files`、`/etc`、`/usr` 等)和个人/工作文件夹建立明确的读/写边界,避免 AI 或跨机任务误触不该动的路径。这一设计来自实际重装系统后的教训:粗粒度的“全开”代价太高,黑白名单把“绝对不允许”与“经常要放行”的路径变成可配置的硬规则。v2.0.4 起提供两种策略:**小白模式(默认)**只保留黑名单强制拒绝(内置 Windows/Program Files 等默认保护文件夹,路径操作每 3 秒最多自动放行一次),其余全部放行;**高级模式**需手动切换,保留白名单预算、待审批队列与 10 秒无人应答自动放行。
32
39
 
40
+ ### 功能 7 ·远程桌面(开发中)
41
+
33
42
  ## 安装
34
43
 
35
44
  Every install path below registers 18 tools in your agent.
@@ -83,7 +92,7 @@ w2m-mcp --help
83
92
  # 复制进你自己的 codex/mcp-servers.toml
84
93
  [mcp_servers.w2m]
85
94
  command = "npx"
86
- args = ["-y", "@twinsearth/w2m-dsh-plugin@2.1.7", "w2m-mcp"]
95
+ args = ["-y", "@twinsearth/w2m-dsh-plugin@2.1.9", "w2m-mcp"]
87
96
  ```
88
97
 
89
98
  ### 5. 验证过的 release tarball(离线)
@@ -12,6 +12,6 @@
12
12
 
13
13
  [mcp_servers.w2m-fleet]
14
14
  command = "npx"
15
- args = ["-y", "-p", "@twinsearth/w2m-dsh-plugin@2.1.7", "w2m-mcp"]
15
+ args = ["-y", "-p", "@twinsearth/w2m-dsh-plugin@2.1.9", "w2m-mcp"]
16
16
  startup_timeout_sec = 20
17
17
  tool_timeout_sec = 60
@@ -0,0 +1,20 @@
1
+ {
2
+ "version": "2.1.9",
3
+ "case": "RELEASE-2190",
4
+ "kind": "positive",
5
+ "machines": [
6
+ "b53a37f4-1464-4512-9259-33a7df091e3e"
7
+ ],
8
+ "executed_at": "2026-10-31T07:15:33.687Z",
9
+ "executor": "lead",
10
+ "task_id": "pre-release-2190-1793430933689",
11
+ "requirement": "v2.1.9: exported locale meta.title/description renders the custom plugin name and detail copy",
12
+ "result": {
13
+ "outcome": "ok",
14
+ "assertions": {
15
+ "locale": "locale/zh.json + locale/en.json exported explicitly and shipped",
16
+ "title": "W2M:AI 智能体舰队!",
17
+ "description": "requested Chinese copy"
18
+ }
19
+ }
20
+ }
package/locale/en.json ADDED
@@ -0,0 +1,6 @@
1
+ {
2
+ "meta": {
3
+ "title": "W2M: AI Agent Fleet!",
4
+ "description": "W2M is an open-source (MIT) AI agent fleet orchestrator. With one DeepSeek, Doubao or WorkBuddy account, it turns your own machines (Windows/Mac) into a fleet for unified command dispatch, collaboration and joint development.\nThree components: Relay (HTTP+SSE coordination server), Agent (runs on each machine, executes allow-listed commands) and Plugin (18 tools for the agent)."
5
+ }
6
+ }
package/locale/zh.json ADDED
@@ -0,0 +1,6 @@
1
+ {
2
+ "meta": {
3
+ "title": "W2M:AI 智能体舰队!",
4
+ "description": "W2M是一个开源(MIT)的 AI 智能体舰队编排工具——用同一个 DeepSeek 、豆包、WorkBuddy账号把\"你自己的多台机器\"(Windows/Mac)编成一个舰队,统一派发命令、协作&协同开发。\n组件有三块:Relay(HTTP+SSE 协调服务器)、Agent(每台机器上跑、执行白名单命令)、Plugin(给 Agent 用的 18 个工具)。"
5
+ }
6
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@twinsearth/w2m-dsh-plugin",
3
- "version": "2.1.7",
3
+ "version": "2.1.9",
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": {
@@ -12,7 +12,9 @@
12
12
  "./stun": "./bin/w2m-stun.mjs",
13
13
  "./package.json": "./package.json",
14
14
  "./gpw": "./lib/gpw.js",
15
- "./desktop": "./lib/desktop.js"
15
+ "./desktop": "./lib/desktop.js",
16
+ "./locale/en.json": "./locale/en.json",
17
+ "./locale/zh.json": "./locale/zh.json"
16
18
  },
17
19
  "dsh": {
18
20
  "plugin": true,
@@ -52,7 +54,8 @@
52
54
  "codex",
53
55
  "TEST-PLAN-JOINT-FLEET-2.0.8.md",
54
56
  "TEST-CASES-JOINT-FLEET-2.0.8.md",
55
- "icon.png"
57
+ "icon.png",
58
+ "locale"
56
59
  ],
57
60
  "engines": {
58
61
  "node": ">=20.19.0"
@@ -270,7 +273,7 @@
270
273
  },
271
274
  "icon": "./icon.png",
272
275
  "meta": {
273
- "title": "W2M:AI 智能体舰队编排工具",
274
- "description": "多机协同、P2P 直连与加密中继的 DSH 智能体舰队编排工具。"
276
+ "title": "W2M:AI 智能体舰队!",
277
+ "description": "W2M是一个开源(MIT)的 AI 智能体舰队编排工具——用同一个 DeepSeek 、豆包、WorkBuddy账号把\"你自己的多台机器\"(Windows/Mac)编成一个舰队,统一派发命令、协作&协同开发。\n组件有三块:Relay(HTTP+SSE 协调服务器)、Agent(每台机器上跑、执行白名单命令)、Plugin(给 Agent 用的 18 个工具)。"
275
278
  }
276
279
  }
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": "2.1.7",
4
+ "version": "2.1.9",
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": [
@@ -293,7 +293,7 @@ const MAX_STAGES = 16;
293
293
  * `package.json` during `scripts/pack.mjs` rather than hand-maintained, and `W2M_PLUGIN_VERSION`
294
294
  * overrides it at runtime for tests and packagers.
295
295
  */
296
- const PLUGIN_VERSION = '2.1.7';
296
+ const PLUGIN_VERSION = '2.1.9';
297
297
 
298
298
  /** How long any single HTTP call may take before it is aborted, in milliseconds. */
299
299
  const DEFAULT_REQUEST_TIMEOUT_MS = 15_000;