Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

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

Aperta Adatta ai principianti
#772 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
65/100
Tipo di issue
Documentazione
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
python
Ambito
documentation

Direzione di ricerca

Leggi README.md (e tutte le pagine di docs/ che elencano progetti correlati o della community) per individuare dove vengono menzionate strumenti esterni; la modora consiste nell'aggiungere un link a github.com/konijiwa110/strata-router con una descrizione di una riga. Nota che l'issue invita anche un maintainer a decidere se la menzione sia opportuna o meno, quindi verifica che la sezione esista prima di modificare. È completato quando il link appare nella sezione appropriata di README/docs.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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 或文档里提一下就太好了;不合适的话直接关闭即可。

Lingua principale
C++
Stelle
11.6k
Fork
1k
Merge medio
7h 46m
PR unite (30g)
30

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di Niko1221/Strata

Tutte le issue di Niko1221/Strata

Issue simili

Altre issue su C++

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.