worktools / worktools/hosta

[P0] 通过独立 Hoya 执行 JS/WASM,移除平台进程执行路径

Open
#3 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

priority:P0 type:feature
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 或全球调度。

依赖

下游验收

实施进展(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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.