Feature: per-agent usageCommand in acpClients to surface subscription plan quota
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 45/100
Direzione di ricerca
Inizia individuando la configurazione di acpClients, la scheda/riga delle impostazioni dell'agente ACP e i percorsi esistenti per l'esecuzione o l'aggiornamento dei comandi. Traccia il modo in cui la configurazione di un agente raggiunge la UI; il lavoro è completo quando per ogni agente è possibile configurare un usageCommand e un interval opzionali, invocarli su richiesta o durante un aggiornamento e visualizzarne il risultato testuale o JSON senza modificare il protocollo ACP.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Context
ACP has no concept of plan quota (limits, reset windows, burn-down). Subscription-backed CLIs — Claude Max, Codex (ChatGPT), Kimi coding plan, GLM coding plan — each expose their remaining usage through their own CLI commands or account endpoints, none of which is visible inside BitFun. When orchestrating a fleet of subscription CLIs as ACP agents, the orchestrator currently has no way to see which agent's plan is nearly exhausted before dispatching work.
Proposal
Add an optional field on each acpClients entry, for example:
{
"kimi": {
"command": "kimi",
"args": ["acp"],
"usageCommand": "kimi usage --json",
"usageIntervalMinutes": 30
}
}
usageCommand: a shell command whose (text or JSON) output represents that agent's remaining quota- BitFun runs it on demand (button on the agent card / ACP settings row) and/or on a refresh interval, parses, and displays the result next to the agent
This keeps quota semantics out of the ACP protocol (where they don't belong) while making them visible exactly where dispatch decisions are made.
Use case
Multi-agent orchestration over subscription CLIs: check remaining quota per agent before assigning a long-running task, and avoid routing work to an agent whose plan window is exhausted.
- Lingua principale
- Rust
- Stelle
- 2.3k
- Fork
- 236
- Merge medio
- 2h 53m
- PR unite (30g)
- 604
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di GCWing/OpenBitFun
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
GCWing/OpenBitFun#3213 · 1 commento ·
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
GCWing/OpenBitFun#2363 ·
-
question
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
GCWing/OpenBitFun#2340 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
GCWing/OpenBitFun#3226 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 72/100
GCWing/OpenBitFun#3225 ·
Tutte le issue di GCWing/OpenBitFun
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
-
bug core
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
-
JIT-compiled number -> Decimal conversion silently overflows instead of raising DECIMAL_OVERFLOW Apertafuzz
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
ClickHouse/ClickHouse#122114 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
linebender/vello_svg#90 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100