架构
GenKaKu 有三个组件:用户客户端、编排器和工作者。
用户客户端
genkaku.app 上的 Web 界面。用户通过 Privy 认证并发送消息——只有一个文本模型,因此无需选择。客户端通过 Socket.io 连接到编排器,并实时接收流式令牌响应。
编排器
中央路由层。一个使用 Socket.io 的 Node.js 服务器,协调一切:
- 认证——通过 Privy 验证用户会话和工作者令牌
- 任务队列——接收用户请求,按模型排队,并将其匹配给可用工作者
- 工作者注册表——跟踪所有连接的工作者:类型(浏览器/原生/图像)、模型、状态(空闲/忙碌)、性能统计
- 模型路由——将任务定向到正确的工作者类型:
qwen3.8-27b-uncensored(聊天和 API)→ 原生工作者genkaku-pro和免费提示词 → 运行 Qwen3.5 Uncensored 的浏览器工作者- 图像任务 → 图像工作者
- 工作者选择——在服务所请求模型的合格空闲工作者中,通过加权随机选择(权重 = 测量的令牌/秒)选中一个,在优先考虑速度的同时分散收益
- 工具调用——当模型请求
web_search工具时,运行 Brave Search API 查询,获取并提取前 3 个结果的内容,然后作为工具结果返回给模型 - 统计广播——每 5 秒向所有连接的客户端推送实时网络统计(活跃工作者数、队列深度、已完成任务数)
编排器不存储对话或提示词内容。它路由流量并丢弃数据。
工作者
工作者是在你的机器上运行的桌面应用程序,为 GenKaKu 网络提供推理服务。下载 GenKaKu Worker 应用,登录,你的 GPU 就开始赚取收益——无需命令行设置。
工作者底层使用 Ollama 提供模型服务,支持 CUDA(NVIDIA)、Metal(Apple Silicon)和 Vulkan(AMD/Intel)加速。它运行 Qwen3.8 27B Uncensored——网络的主要文本模型——处理路由到它的所有聊天消息和 API 请求。
硬件要求:16GB 以上 NVIDIA GPU(推荐 24GB)、24GB 以上 AMD 显卡或 32GB 以上 Apple Silicon Mac。性能因硬件而异,但在合适的 GPU 上可达 25+ 令牌/秒。
不提供服务时,工作者在后台空闲运行。你也可以使用小组件模式——一个紧凑的浮层,一目了然地显示 GPU 利用率、USDC 收入和 $GENKAKU 收益。内置的教学助手由本地 Ollama 模型驱动,帮助你无需离开应用即可排除故障。
工作者通过 Socket.io 连接到编排器,接收任务分配,执行推理,并将令牌流式回传。
图像工作者(ComfyUI)
在独立 GPU 上运行 ComfyUI 并服务图像任务——既包括文本模型可以调用的 generate_image 工具,也包括图像 API。它们通过工作者令牌认证,并通过 Socket.io 连接到编排器。
任务生命周期
1. 用户发送消息
2. 编排器接收请求,确定需要哪个模型
3. 请求进入该模型的队列
4. 编排器将请求匹配给正确类型的空闲工作者——在合格的空闲工作者中,选择按每个工作者测量的令牌/秒加权随机(在优先考虑速度的同时分散收益)
5. 任务分配给工作者
6. 工作者执行推理,将令牌流式回传给编排器
7. 编排器将令牌实时转发给用户
8. 任务完成,工作者标记为空闲,收益记入账户
搜索流程
网络搜索是模型驱动的工具调用,而非预取。模型决定何时搜索:
1. 用户发送消息
2. 工作者运行模型;模型发出 web_search 工具调用
3. 编排器运行 Brave Search API 查询
4. 编排器获取前 3 个页面 URL 并提取内容
5. 结果作为工具结果返回给模型
6. 模型继续生成,现在基于网络内容
7. 响应流式回传并附带来源引用
统计
编排器每 5 秒向所有连接的客户端广播网络统计:
- 活跃工作者数量(按类型和模型)
- 每个模型的当前队列深度
- 已完成任务总数
- 全网令牌/秒