Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Community project: strata-router, a multi-node router for Strata / 社区项目:Strata 多节点路由入口

Closed Beginner friendly
#772 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
65/100
Issue type
Documentation
Clarity
Mostly clear
Activity status
Active
Tech stack
python
Domain
documentation

Research direction

Start with the README or docs, the locations the issue suggests, and check their existing conventions for mentioning community projects. The issue describes the external Strata router at https://github.com/konijiwa110/strata-router. Done would mean adding an appropriate mention there, if the project considers it suitable.

Written by the indexing model from the issue text.

Description

Hi, thanks for Strata! I run it on a couple of machines and wrote a small router in front of them. Sharing it in case it is useful to others:

https://github.com/konijiwa110/strata-router (MIT)

What it does

Clients point at one endpoint and requests are spread across several Strata nodes. The API is the same as Strata's (/v1/messages, /v1/chat/completions, /v1/responses, /v1/models, ...); requests are passed through to the nodes unchanged.

Routing
  • Sticky sessions: a session is identified by its system prompt plus first user message, and goes back to the node that already has its KV cache.
  • Moving when busy: if that node is busy, the router estimates how many tokens an idle node would have to re-read (not counting the system prompt and tools the idle node already cached). It moves the session only if that is under a threshold, otherwise it waits for the original node.
  • Strategies: even, least load, random, weighted.
  • Node modes: enable / drain / disable; a request that fails to connect is retried on another node.
Console
  • Node hardware metrics and live progress, including prompt-read progress from /metrics
  • Request log with the routing decision for each request
  • Multiple access keys with usage stats
  • Chinese / English UI; the backend uses only the Python standard library

If you think it is worth a mention in the README or docs, that would be great; feel free to close this otherwise.


中文

感谢 Strata!我在几台机器上跑 Strata,前面加了一个路由入口,开源出来,也许对别人有用:

**https://github.com/konijiwa110/strata-router**(MIT)

功能

客户端只连一个入口,请求会分到多台 Strata 节点。接口与 Strata 相同(/v1/messages、/v1/chat/completions、/v1/responses、/v1/models 等),请求原样转发给节点。

路由
  • 会话粘性:以系统提示加第一条用户消息识别会话,同一会话回到已有其 KV 缓存的节点。
  • 忙时换机:原节点忙时,估算换到空闲节点需要重读多少 token(不计该节点已缓存的系统提示与工具),低于阈值才换,否则等原节点。
  • 分配策略:平均分配、最少负载、随机、按权重。
  • 节点状态:启用 / 排空 / 停用;连接失败的请求自动换到其他节点重试。
控制台
  • 节点硬件指标与实时进度(含从 /metrics 读取的提示读取进度)
  • 请求记录,含每个请求的路由决策
  • 多个访问密钥及用量统计
  • 中文 / 英文界面;后端只用 Python 标准库

如果觉得值得在 README 或文档里提一下就太好了;不合适的话直接关闭即可。

Dominant language
C++
Stars
11.6k
Forks
1k
Avg merge
7h 46m
Merged PRs (30d)
30

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

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.

More from Niko1221/Strata

All issues in Niko1221/Strata

Similar issues

More C++ issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.