Commit Graph
3 Commits
Author SHA1 Message Date
jkooe 1d992cf9dc fix(agent): 超时强杀的 exit_code 跨平台归一为 124
Windows 上 taskkill /F 会让子进程以 code=1 退出(Unix 为 null),
原逻辑 code ?? (killed ? 124 : -1) 在 Windows 上会返回 1。
改为 killed 优先:被杀统一返回 124,与 Unix timeout(1) 语义一致。

CI 实机验证发现:Windows 上 12/13 → 修复后应 13/13
2026-09-27 02:39:16 +08:00
jkooe 96b02df857 fix(e2e): 修复 Windows 上被控端无法就绪的根因
根因:测试脚本用 HOME 指定数据目录,但 Windows 的 os.homedir() 认 USERPROFILE,
导致被控端读不到测试配置、回落到默认端口 8765,与测试连接的 18765 不匹配。

- 引入 NODEAGENT_HOME(数据目录,跨平台一致),agent/client 均优先读取
- 两个 E2E 脚本改用 NODEAGENT_HOME,并同时设置 HOME/USERPROFILE 兜底
- 转发被控端 stdout/stderr,被控端提前退出时立即失败(便于定位)
- 就绪等待超时 15s → 30s

本地已回归:13/13 通过
2026-09-27 02:36:33 +08:00
jkooe 77c024703a feat: nodeagent v1 初期开发完成
- packages/protocol: 协议定义(信封/方法/错误码/能力schema/校验/HMAC/ULID)
- packages/client: 控制端客户端库(连接/握手/invoke/超时)
- apps/agent: Windows 被控端(监听/HMAC认证/能力分发/7项能力/进程执行)
- apps/cli: 控制端 CLI(connect/info/status/ps/services/exec/apps/install/list/invoke)
- apps/mcp: MCP server(na_* 工具,接入 WorkBuddy)
- scripts: install.ps1 / uninstall.ps1(开机自启 + 防火墙 + 密钥生成)
- tests/e2e: 端到端测试 13/13 通过(握手/能力/超时强杀/参数校验/鉴权失败/未认证)
2026-09-27 01:06:35 +08:00