Commit Graph
8 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 9e357cf7cc Create windows-e2e.yml 2026-09-27 02:23:42 +08:00
jkooe bda45e41e5 docs: README 补充自动化验证的成本说明(GitHub Actions 免费额度与支出限额) 2026-09-27 01:29:37 +08:00
jkooe f1506b3fd0 test: 新增自动化真机验证体系
- tests/e2e/windows.mjs: Windows 专属能力测试(service.list / app.list / winget 装软件 / cmd 外壳)
- tests/e2e/run.mjs: service.list 断言改为平台感知(Windows 期望成功)
- scripts/verify.mjs: 远程验收脚本,对齐 PRD FR-01~FR-08 逐条验收 + Markdown 报告
- package.json: 新增 test:windows / verify 脚本
- README: 补充自动化真机验证三层体系说明

注: .github/workflows/windows-e2e.yml 需 workflow scope,待授权后单独提交
2026-09-27 01:24:52 +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
jkooe 3e129e6411 docs: 新增 nodeagent 开发文档(DEVELOPMENT.md,参考 NodeBuddy 裁剪) 2026-09-27 00:50:35 +08:00
jkooe f0f4854110 docs: nodeagent PRD v1.0(已认可)+ README + .gitignore 2026-09-27 00:32:50 +08:00