@ai-workbench/network 0.4.1 → 0.4.4
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/NOTICE.md +5 -0
- package/README.md +38 -4
- package/helpers/darwin-arm64/NOTICE.md +23 -0
- package/helpers/darwin-arm64/README.md +1 -0
- package/helpers/darwin-arm64/THIRD_PARTY_NOTICES.txt +3074 -0
- package/helpers/darwin-arm64/bin/aw-net +0 -0
- package/helpers/darwin-arm64/helper-manifest.json +1 -0
- package/helpers/darwin-arm64/licenses-manifest.json +2540 -0
- package/helpers/darwin-arm64/package.json +16 -0
- package/helpers/darwin-x64/NOTICE.md +23 -0
- package/helpers/darwin-x64/README.md +1 -0
- package/helpers/darwin-x64/THIRD_PARTY_NOTICES.txt +3129 -0
- package/helpers/darwin-x64/bin/aw-net +0 -0
- package/helpers/darwin-x64/helper-manifest.json +1 -0
- package/helpers/darwin-x64/licenses-manifest.json +2556 -0
- package/helpers/darwin-x64/package.json +16 -0
- package/lib/activation.d.ts +3 -1
- package/lib/activation.js +26 -7
- package/lib/api.d.ts +45 -0
- package/lib/control.d.ts +1 -1
- package/lib/control.js +12 -3
- package/lib/download.js +8 -2
- package/lib/employee-endpoint.d.ts +102 -0
- package/lib/employee-endpoint.js +230 -0
- package/lib/index.js +18 -8
- package/lib/network.d.ts +2 -1
- package/lib/network.js +82 -12
- package/lib/observation.d.ts +6 -0
- package/lib/observation.js +14 -0
- package/lib/packaged-helper.js +18 -14
- package/lib/settings.d.ts +10 -0
- package/lib/settings.js +34 -0
- package/package.json +3 -6
package/NOTICE.md
CHANGED
|
@@ -16,3 +16,8 @@ N2 helper 已接入固定 tsnet 并可通过 Makefile 构建;未部署、未
|
|
|
16
16
|
N3 SSH使用 golang.org/x/crypto/ssh v0.57.0(BSD-3-Clause;实际锁定版本见go.mod);只使用none认证与可信known_hosts。Electron44.0.0官方darwin-arm64 ZIP为诊断工具,MIT及其随附第三方许可;SHA256与引擎版本见 `docs/evidence/n3-2026-10-20/electron-artifact.json`。独立进程/内存session,没有复制进发布包。
|
|
17
17
|
|
|
18
18
|
N4插件peer:@deepseek-ai/cordis4.0.4、@deepseek-ai/schemastery3.18.4,均MIT,来源为固定DSH提交的vendor目录及官方npm包。TS5.9.3/Node24类型是构建依赖;实际闭包固定package-lock.json,新消费者闭包另存证据。主机下载只用Node内置http/https/tls/stream,经helper认证CONNECT,不新增外部代理库。源码/API升级需要在自有仓库适配,不提上游PR/issue或等待上游修改。
|
|
19
|
+
|
|
20
|
+
0.4.3分发说明:唯一发布单元为network主包;helpers/darwin-arm64与helpers/darwin-x64的package.json是private内嵌身份元数据,不是独立发布依赖。每目标的helper-manifest.json固定二进制SHA,THIRD_PARTY_NOTICES.txt保留该目标Go实际编译依赖的许可原文,licenses-manifest.json列出模块、编译包、许可来源文件与SHA。构建来源为本仓cmd/aw-net及internal、固定go.mod/go.sum,Go1.27.3、CGO_ENABLED=0、ts_omit_logtail。
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
D20(0.4.4)实际端点复用:x/crypto/ssh v0.57.0(BSD-3-Clause),creack/pty v1.1.24(MIT,revision edfbf75025b0ba4ee17c19f52d9b600fad80a787),kr/fs v0.1.0(BSD-3-Clause),x/sys v0.48.0(BSD-3-Clause)。新增SFTP本地fork源自github.com/pkg/sftp v1.13.11(BSD-2-Clause,revision fc82c354c0d87349411e30a08bef297c9f132105),只在本仓third_party/sftp维护有序操作及原生APPEND补丁;UPSTREAM.json逐文件来源SHA、D20.patch和原LICENSE均保留。不使用gliderlabs/ssh或go-shlex,不要求上游修改。以上固定模块的archive SHA、sum与许可摘要及最终两目标实际编译闭包见本轮依赖证据/各helpers许可证清单;不将未链接研究依赖冒充产品闭包。系统账户shell来自OS,不捆绑系统shell;N内建SFTP子模式随同一Go二进制交付,不依赖员工额外安装sshd、Node或SFTP程序。S主机桥工件独立由S提供、编排安装,N不修改或分发S源码。
|
package/README.md
CHANGED
|
@@ -1,17 +1,51 @@
|
|
|
1
|
-
安装:在 DSH「插件 → 添加插件」填写 `@ai-workbench/network@0.4.
|
|
1
|
+
安装:在 DSH「插件 → 添加插件」填写 `@ai-workbench/network@0.4.4`,或运行 `dsh plugin --profile desktop add @ai-workbench/network@0.4.4`。
|
|
2
2
|
|
|
3
3
|
# 远程主机网络
|
|
4
4
|
|
|
5
|
-
0.4.
|
|
5
|
+
0.4.4 当前为待发布版本,由编排统一发布公开 npm;工人不执行 publish。发布前可由官方添加插件入口安装本轮固定主包 tgz 的绝对路径,无需再解析平台依赖。
|
|
6
6
|
|
|
7
7
|
插件通过官方 bundle/Cordis 接口提供远程主机网络、设备身份、SSH 通道、认证登录代理及主机下载能力。不替换 DSH 服务、布局或默认设置,不增加工作区/登录界面。L 负责可信连接资料导入和登录入口,员工不手填主机、用户名、路径或密钥。没有连接资料时明确说明需要导入,不把插件 Running 当作网络已连接。
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
主包从0.4.3起完整携带`helpers/darwin-arm64`和`helpers/darwin-x64`两架构Go助手,不再声明平台optionalDependencies或下载平台包。运行时只选择本机架构的内嵌文件,严格校验主包与内嵌metadata名称/版本/private/os/cpu、manifest平台/SHA格式,并在启动前验证实际二进制SHA256;缺失、损坏或平台不支持时用中文明确说明需要完整主包并保留原始cause,不使用PATH、旧平台包、另一架构或安装时下载。安装无postinstall/prepare等脚本。两目标分别附实际编译闭包的许可证原文、模块/文件来源与摘要,构建遇缺失声明明确失败。只提供macOS arm64/x64;x64构建/字节检查不等于Intel真机运行验收。
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
旧0.4.1/0.4.2安装保留的锁/依赖树仍可能触发D16,直接add新主包不是迁移方案;owner已取消产品迁移;测试机的一次remove旧N→add新N整理由编排处理,保留原身份/配置,不把add当清理旧图的替代。本仓不移动员工profile/状态、不要求员工手删锁;公开`/api`、`/cordis`及wire apiVersion=1不变。
|
|
12
|
+
|
|
13
|
+
一个默认 profile 只启用一个 N 条目。独立安装与 L 聚合安装不要重复挂载 N。N 的网络身份按系统用户隔离、持久保存;不重交未知结果的一次性 key。公开 `aiWorkbenchNetwork.activate(settings, signal)`、`getActivationState/onActivationState` 和通道 API;公开类型入口 `/api`,Cordis 类型入口 `/cordis`。`active` 表示身份恢复与消费交接完成,不等于主机 SSH 或 AI 登录已通过。原六项安装设置仍由可信开通提供;下述策略可在N自己的官方Config独立设置,不要求员工手填路径/身份,不新增数值默认。
|
|
14
|
+
|
|
15
|
+
## 本插件设置
|
|
16
|
+
|
|
17
|
+
本节优先于旧“六项设置/无新增设置”描述;wire apiVersion仍1,六项旧PluginSettings兼容,新增下表后六项可选数值字段。N官方Config导出全部10项,不使用新面板或L设置代替。**不改变数值默认**:N原来没有数值默认,本版仍不注入;未设沿用原开通值,已有自定义值不被覆盖。表中数字为当前L装配值,不是给所有旧配置强改的新默认。
|
|
18
|
+
|
|
19
|
+
| N Config具名项 | 未设时的来源 / 当前L装配值 | 范围与改值后果 |
|
|
20
|
+
|---|---|---|
|
|
21
|
+
| startupObservationSeconds | 开通方显式提供 / 35秒 | helper ready观察;增大等更久,减小可能提前未知;无关闭值 |
|
|
22
|
+
| shutdownObservationSeconds | 开通方显式提供 / 10秒 | 等自有helper正常退出;增大清理更久,减小可能强制结束并报告;无关闭值 |
|
|
23
|
+
| controlResponseMaxBytes | 开通方显式提供 / 65536B | 控制JSON/ready/代理首帧;增大增内存,减小拒合法帧;无无限值 |
|
|
24
|
+
| downloadMaxRedirects | 开通方显式提供 / 3 | HTTPS逐跳重定向;增大多跳,减小可能拒下载;0关闭跟随 |
|
|
25
|
+
| statusRefreshIntervalSeconds | 原私有配置 / 2秒 | helper刷新与插件状态轮询;增大提示迟,减小开销高;无关闭值 |
|
|
26
|
+
| dialTimeoutSeconds | 原私有配置 / 20秒 | TCP/SSH、控制头、下载CONNECT/响应头;增大等更久,减小可能提前中止;无关闭值 |
|
|
27
|
+
| headerTimeoutSeconds | 原私有配置 / 10秒 | 本机控制/代理读请求头;增大占连接久,减小拒慢头;无关闭值 |
|
|
28
|
+
| enrollmentObservationSeconds | 原私有配置 / 30秒 | 仅首次key入网结果;增大久等,减小更早未知;无关闭值,不用于销毁已有身份 |
|
|
29
|
+
| httpMaxHeaderBytes | 原私有配置 / 1048576B | 本机控制/代理请求头与控制响应头;增大增内存,减小拒合法头;无无限值 |
|
|
30
|
+
| httpMaxResponseHeaderBytes | 原私有配置 / 1048576B | 主机代理、下载响应头及CONNECT头;增大增内存,减小拒合法头;无无限值 |
|
|
31
|
+
|
|
32
|
+
优先级:**N官方Config中显式策略 > L.activate的显式同名策略 > 原私有helper配置**。旧四项插件策略仍须N或L提供,缺项明确SETTINGS_REQUIRED;六个helper策略可不提供,原值保持。无路径/身份的N策略配置只注册未开通服务,等待L按原合同激活,不自动开通。已激活后同实例改变有效策略仍ACTIVATION_CONFLICT,需官方插件正常重载,不热替换身份/启动同身份第二实例。
|
|
33
|
+
|
|
34
|
+
六个helper覆盖通过`serve --statusRefreshIntervalSeconds <数值>`等同名参数白名单传入,只含非秘密数值;L私有文件不写回。helper严格按**原始配置**校验交接inode/摘要与入网journal,运行实例另用有效策略,不把新数值混入原身份摘要。只有原合同的已确认key清理会移除authKeyFile及精确源key;策略不扩大清理权限。N无需改L即可兼容现有开通,但L展示应说明本插件显式覆盖优先,跨模块请求N-L-VISIBLE-LIMITS-001。
|
|
35
|
+
|
|
36
|
+
所有超时只为可观测性,触发后提供等待事项、实际已等秒数、具名期限与下一步检查,根因仍未知,不重试/换源/换出口。Node控制/下载的req.setTimeout沿用原**阶段空闲**计时;远端拨号/SSH和请求头沿用原阶段deadline。到响应头/握手结束即移除该阶段期限,正文、NDJSON租约、SSH流仍由显式取消/释放/进程退出管理,不增加流总时限。headerTimeout在HTTP handler之前由实际Read超时处记入脱敏私有日志,不记录请求内容/授权参数;主动取消后台读不误报。首次开通到期保留未知结果及身份,不自动重新交key;已有身份不套首次窗口。
|
|
37
|
+
|
|
38
|
+
固定正确性约束不是可任意调大的运行策略:Unix socket≤103字节、端口1..65535、计时器/整数可表示范围、HTTP实现溢出保护、700/600权限、当前UID/单身份、SHA256和凭据熵均不可关闭,官方Config总说明及盘点表明确列出。N没有新增自动重试次数、下载正文大小或会话寿命上限。D14旧manifest空catch已在0.4.0修复,当前packaged-helper继续返回原始cause,本轮加坏主manifest回归。
|
|
12
39
|
|
|
13
40
|
开发:Node >=24.13.1、Go 1.27.3、固定 tsnet v1.104.1。运行 `npm ci --ignore-scripts --omit=optional`、`npm test`、`npm run check`、`make test`、`make test-race`、`make vet`,再执行 `npm run build`。build 显式交叉构建两个 macOS 平台包并编译 TypeScript;Go 参数固定 ts_omit_logtail、禁 VCS 元数据、trimpath、CGO_ENABLED=0。这些是开发命令,员工安装不执行。二进制、manifest 和 NOTICE 副本由构建生成,不提交。
|
|
14
41
|
|
|
15
42
|
发布准备按 arm64 平台包 → x64 平台包 → 主包顺序 pack/dry-run,版本必须一致;固定 tgz、SHA256、文件清单及证据见仓库 `docs/evidence/2026-10-21-N-npm/` 和 N 回执。不要把先前单平台 0.4.0 的旧 lib/bin 混入本轮产物。根盘按当前编排规则低于8GiB停;临时 HOME、依赖、日志和构建缓存放自有 Elements APFS,用后精确清理,不删除公共缓存。
|
|
16
43
|
|
|
17
44
|
完整提供方合同见仓库 `contracts/net-helper.md`,第三方来源见包内 NOTICE.md。只做中文,既有英文名称保留。官方 DSH 与 HanaMesh 分别验证;不使用 owner 当前实例,GUI 加载门不替代真实入网、登录、对话、物理断网或 leo E 验收。
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
D20员工端点:0.4.4新增后端 `prepareEmployeeEndpoint(request, signal)`,按当前L本地工作区CAS与真实目录身份取目标;普通N先提供服务,运行时才消费L可选getter。设备SSH从真实OS账户home启动,每工作区的cwd由X逐请求显式指定,不成为路径权限根。L撤回/所有local消失只关闭D20,普通网络不变;一个工作区切换不重建设备。主机经S固定桥回接同一helper内嵌的完整exec/shell/PTY/SFTP端点,员工不开系统Remote Login、不填账户/密码/key。私有持久普通SSH身份在原N stateDir/employee-ssh下,坏身份明确失败、不自动换key,与tailnet入网身份分开。
|
|
48
|
+
|
|
49
|
+
N从官方后端自行取得OS shell和原umask,经同UID子进程继承交付;L进程/环境对象不进HTTP或网络。exec为账户shell -c,无PTY shell普通启动、PTY为-i,不额外强制login;SSH env仅覆盖该channel,正常初始化由shell处理。会话子执行恢复DSH原umask,私有helper维持077。完整环境只留本机,不复制到主机/renderer/日志。固定S policy逐项消费,无新本地数值默认;N原controlResponseMaxBytes亦约束D20私有控制请求/响应和桥首帧,观察沿原dialTimeoutSeconds,不作为工具运行限时。生产SSH MaxAuthTries显式-1关闭认证次数限制,普通唯一client公钥认证仍必需;加密算法/重协商采用固定x/crypto公开默认。
|
|
50
|
+
|
|
51
|
+
本包提供N端点与管理能力;两品牌原生工具改道、每RPC撤回、自动工具闭包、真实GUI/TCC/首次员工/leo及Intel实机须各自验收,不能以组件/开发桥验证代替。断线或缺命令完成确认保留UNKNOWN,不自动重连或重放文件/命令。mini原支持节点仍保留;禁止另起同身份N或把它用作D20实验。
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# 依赖与来源(N 第 1 轮)
|
|
2
|
+
|
|
3
|
+
N2 helper 已接入固定 tsnet 并可通过 Makefile 构建;未部署、未发包。认证HTTP/CONNECT代理及Electron44组件诊断已交;DSH插件0.3.0及新消费者Cordis组件诊断已交。真实证据见 N 回执。
|
|
4
|
+
|
|
5
|
+
| 组件 | 固定版本/来源提交 | 协议 | 用途及当前证据 |
|
|
6
|
+
|---|---|---|---|
|
|
7
|
+
| tailscale.com/tsnet | v1.104.1 / `9a522a9786c97eb7910c01ccb7bd66557b04c910` | BSD-3-Clause | [上游源码](https://github.com/tailscale/tailscale/tree/v1.104.1/tsnet),实际 helper 依赖;完整闭包固定于 go.mod/go.sum |
|
|
8
|
+
| tailscaled HTTP proxy | 同上,`cmd/tailscaled/proxy.go` | BSD-3-Clause | [CONNECT 处理源码](https://github.com/tailscale/tailscale/blob/v1.104.1/cmd/tailscaled/proxy.go),只读参考;本实现使用net/http.ReverseProxy及SSH direct-tcpip,未复制该文件 |
|
|
9
|
+
| DeepSeek Harness | 0.2.0-rc.2 / `639ed015397290b3745d163aafe02ffee4aa3f84` | MIT(已复核固定源码package.json),不复制核心代码 | [官方上游](https://github.com/deepseek-ai/deepseek-harness/tree/dsh-v0.2.0-rc.2),只读参考;实现只在本仓,浅克隆验证完成后精确清理 |
|
|
10
|
+
| Go | 构建固定1.27.3;目标tsnet要求至少1.27.1 | BSD-3-Clause | `go mod download tailscale.com@v1.104.1` 自动选择 1.27.3。已用自动选择的1.27.3通过普通/race/vet/build |
|
|
11
|
+
|
|
12
|
+
模块下载校验:`h1:9GNOm9Izqll9RH5jA5NWcLiCzXi/WtqY4EHQY2Dy2zk=`;go.mod 校验:`h1:Cb1XjScRgSOeRD7NW6uCEznme782WiOU9IxqyTWoRf0=`。原始下载元数据来自 Go 模块校验,不是构建/真实联网证明。
|
|
13
|
+
|
|
14
|
+
升级注意:N2 强制用户态 netstack 拨号使用公开但不稳定 Server.Sys/Dialer API,避开 Server.Dial 的系统回退;状态恢复预检和测试依赖同版本的 StateStore/Prefs/LoginProfile 与官方启动选择逻辑。升级必须复验这些边界,不能只改版本号。
|
|
15
|
+
|
|
16
|
+
N3 SSH使用 golang.org/x/crypto/ssh v0.57.0(BSD-3-Clause;实际锁定版本见go.mod);只使用none认证与可信known_hosts。Electron44.0.0官方darwin-arm64 ZIP为诊断工具,MIT及其随附第三方许可;SHA256与引擎版本见 `docs/evidence/n3-2026-10-20/electron-artifact.json`。独立进程/内存session,没有复制进发布包。
|
|
17
|
+
|
|
18
|
+
N4插件peer:@deepseek-ai/cordis4.0.4、@deepseek-ai/schemastery3.18.4,均MIT,来源为固定DSH提交的vendor目录及官方npm包。TS5.9.3/Node24类型是构建依赖;实际闭包固定package-lock.json,新消费者闭包另存证据。主机下载只用Node内置http/https/tls/stream,经helper认证CONNECT,不新增外部代理库。源码/API升级需要在自有仓库适配,不提上游PR/issue或等待上游修改。
|
|
19
|
+
|
|
20
|
+
0.4.3分发说明:唯一发布单元为network主包;helpers/darwin-arm64与helpers/darwin-x64的package.json是private内嵌身份元数据,不是独立发布依赖。每目标的helper-manifest.json固定二进制SHA,THIRD_PARTY_NOTICES.txt保留该目标Go实际编译依赖的许可原文,licenses-manifest.json列出模块、编译包、许可来源文件与SHA。构建来源为本仓cmd/aw-net及internal、固定go.mod/go.sum,Go1.27.3、CGO_ENABLED=0、ts_omit_logtail。
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
D20(0.4.4)实际端点复用:x/crypto/ssh v0.57.0(BSD-3-Clause),creack/pty v1.1.24(MIT,revision edfbf75025b0ba4ee17c19f52d9b600fad80a787),kr/fs v0.1.0(BSD-3-Clause),x/sys v0.48.0(BSD-3-Clause)。新增SFTP本地fork源自github.com/pkg/sftp v1.13.11(BSD-2-Clause,revision fc82c354c0d87349411e30a08bef297c9f132105),只在本仓third_party/sftp维护有序操作及原生APPEND补丁;UPSTREAM.json逐文件来源SHA、D20.patch和原LICENSE均保留。不使用gliderlabs/ssh或go-shlex,不要求上游修改。以上固定模块的archive SHA、sum与许可摘要及最终两目标实际编译闭包见本轮依赖证据/各helpers许可证清单;不将未链接研究依赖冒充产品闭包。系统账户shell来自OS,不捆绑系统shell;N内建SFTP子模式随同一Go二进制交付,不依赖员工额外安装sshd、Node或SFTP程序。S主机桥工件独立由S提供、编排安装,N不修改或分发S源码。
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
这是`@ai-workbench/network@0.4.4`内嵌的macOS arm64助手,不再作为独立npm包安装或发布。由本仓Go1.27.3从固定go.mod/go.sum构建;同目录helper-manifest.json记录SHA256,THIRD_PARTY_NOTICES.txt和licenses-manifest.json记录此目标实际编译闭包的许可证原文与来源摘要。运行时只能选择本机架构并在启动前校验SHA;文件校验不等于Intel真机或真实联网验收。
|