跳到主要内容

架构

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 秒向所有连接的客户端广播网络统计:

  • 活跃工作者数量(按类型和模型)
  • 每个模型的当前队列深度
  • 已完成任务总数
  • 全网令牌/秒