[P0] 通过独立 Hoya 执行 JS/WASM,移除平台进程执行路径
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 0
- Avg merge
- 1h 26m
- Merged PRs (30d)
- 6
Description
用户问题与代码依据
server.mjs execute 使用 node:vm 和 WebAssembly.instantiate,无 Hoya 客户端;Promise.race 无法中断同步死循环,WASM main 也无执行超时。
评估基线:2026-09-06,Hosta 666eca9 / Hoya 2234baa。此项记录待实现目标,不表示已完成。
验收标准
- 实现可配置 Hoya URL/token、协议兼容检查、健康状态与 Node adapter;手动、生成测试、诊断、Webhook、定时任务共用执行接口。
- 试运行与线上使用相同内容 hash、协议及限制;引擎断线、超时和版本不兼容返回可理解错误及 runId。
- 正常模式不能回退到 Node vm/WASM 执行;若保留 demo,明确隔离标识并禁止作为部署模式。
- 通过命令行启动独立 Hoya 进程并运行 JS/WASM fixtures;引擎故障和超时后 Hosta /health 及后续请求仍可用,不依赖浏览器完成验收。
归属与范围
归属:worktools/hosta。阶段:A0 · 双运行时执行基线。维护者已确认:CLI/API 优先,前期全命令行验收,UI 先只读展示,网页交互后续评估。沿用独立 Hoya 引擎与 Hosta 控制面边界;本项不扩展到多租户、计费、DAG 或全球调度。
依赖
- Y1: https://github.com/worktools/hoya/issues/5
- Y2: https://github.com/worktools/hoya/issues/6
- Y3: https://github.com/worktools/hoya/issues/7
- Y4: https://github.com/worktools/hoya/issues/8
- Y5: https://github.com/worktools/hoya/issues/9
下游验收
- H2: https://github.com/worktools/hosta/issues/4
- H3: https://github.com/worktools/hosta/issues/5
- H6: https://github.com/worktools/hosta/issues/8
- H7: https://github.com/worktools/hosta/issues/9
- H8: https://github.com/worktools/hosta/issues/10
- H11: https://github.com/worktools/hosta/issues/13
实施进展(2026-09-06)
基线纠正:远端 main a1bba14 已有 TypeScript 架构和旧 sidecar 集成,先前本地 666eca9 评估不能代表远端。PR #14 已合入最新 main 并在 src/ 架构移除 Node vm/WASM 执行,保留数据源/迁移/页面管理与版本元数据,所有触发通过独立 Hoya v1;检查能力、已保存内容 hash、响应 runId/hash 与状态,引擎离线不回退。实际 CLI 测试覆盖 JS/Rust WASM 创建→运行→发布→invoke→日志,以及死循环恢复、引擎离线。依赖 worktools/hoya#13,执行加固依赖尚未全部验收,保持开启。
PR 跟进(2026-09-06 02:37 CST)
Hoya #13 已合并,PR 的 Rust Test、Docker 构建及合并后的 main Test 均通过;#12 也已合并。Hosta #14 当前 CI 全通过、无合并冲突,已有审查讨论均已解决。此项剩余验收仍按上面的范围继续跟踪,不因首个切片合并而提前关闭。
合并跟进(2026-09-06 10:22 CST)
Hosta #15 已合入 #14,#14 已合入 main(160f0d3),部署 CLI 与独立引擎接入均已进入主分支。Hosta main 的真实双运行时集成 CI 通过;Hoya #12/#13/#14 均已合并,最新 main Test 通过。无未解决审查意见。两仓库的 issue 中间导出已清理,构建/缓存忽略规则已补充。本项剩余验收继续按既定范围跟踪,不因首轮 PR 合并而提前关闭。
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in the src/ architecture and the existing independent Hoya CLI integration. Run the CLI JS/Rust WASM fixtures and recovery checks, including engine offline, timeout, and health behavior. Done means the remaining acceptance criteria hold without Node vm/WASM fallback, with understandable errors, runId/hash reporting, and a usable Hosta /health endpoint.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- node.js, typescript, wasm
- Domain
- api, backend, cli, testing-qa
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100