Devotd Github
新发现推理与服务

nobodywho-ooo/nobodywho d045f340 —— 新增 AsyncWorker 辅助工具

这是一个重构提交,将散落在 NobodyWho 项目各处的手动线程与通道代码统一为一个 AsyncWorker 辅助工具。

仓库信息nobodywho-ooo/nobodywho ↗

这是一个重构提交,将散落在 NobodyWho 项目各处的手动线程与通道代码统一为一个 AsyncWorker 辅助工具。

GitHub 项目说明: NobodyWho is an inference engine that lets you run LLMs locally and efficiently on any device.

星标
★ 1.6K
复刻
96
语言
Rust
许可证
EUPL-1.2
最新版本
nobodywho-swift-v5.1.0
查看原始来源 ↗在 GitHub 查看 ↗

nobodywho-ooo/nobodywho 提交了新增 `AsyncWorker` 辅助工具的改动。2026 年 10 月 30 日的提交 d045f340(#838)是一次重构,把本地 LLM 推理引擎 NobodyWho 此前在各个集成点手工编写的线程与通道代码集中到了一处。改动规模为新增 538 行、删除 324 行,共 862 处。

NobodyWho 是一个在设备上直接运行 GGUF 模型的推理引擎。在本次提交之前,模型加载函数 get_model_async、Godot 绑定、uniffi 绑定、TextToSpeech 以及决策模型分别用 std::thread::spawn 或 WorkerGuard 创建各自的专用线程,并通过通道回传结果。该提交将这些位置统一到新添加的 nobodywho/core/src/worker.rs 中的 AsyncWorker(新增 325 行)。Godot 集成说明文档(.agents/skills/build-integrations/SKILL.md)也把手动线程示例改成了 AsyncWorker 示例,decision 模块则把专用线程结构改为 tokio::sync::Mutex 与 AsyncWorker 的组合。

不过,该提交中没有性能测量或兼容性验证的结果。Rust core 的公开项 get_model_async 以及错误变量 ModelChannelError、tts_worker_dead 被删除,DecisionAsync 的内部结构也发生了变化,因此直接处理绑定的一方需要确认改动内容。发布版本与许可证信息未包含在该提交记录中。能够确定说明的仅是线程管理方式得到了整理,至于运行性能是否发生了变化,仅凭这份记录尚难以判断。