How linguo2625469/workbuddy2api-panel works
WorkBuddy2API is a self-hosted gateway that turns CodeBuddy accounts into an OpenAI-compatible chat API, with an operational web panel. The main request path authenticates a client, derives session affinity, selects an eligible account, forwards the request upstream, and returns streamed or aggregated output; pool health and usage are tracked alongside it. Separate capabilities include browser OAuth, scheduled account maintenance, growth-task automation, and live panel configuration. The graph follows documented behavior and shown wiring; some internal calls in unsampled modules are omitted rather than inferred.
Main entry points: handler.go OpenAI API · panel.go Panel API · client.go CodeBuddy Client · pick.go Account Pool
Components 21
API Gateway
- OpenAI API
internal/server/handler.go - Session Affinity
internal/session/session.go - Prompt Rewriting
internal/prompt/prompt.go - Request Metrics
internal/reqlog/reqlog.go
Account Operations
- Account Pool
internal/pool/pick.go - Pool Health
internal/pool/state.go - Account Credentials
internal/auth/auth.go - Scheduled Jobs
internal/scheduler/scheduler.go
Web Management
- Management Panel
internal/panel/index.go - Panel API
internal/panel/panel.go - Task Automation
internal/panel/autotask.go - Task Controls
internal/panel/tasks.go - Browser Login
internal/panel/login.go
State and Upstream
- CodeBuddy Client
internal/upstream/client.go - Stream Handling
internal/upstream/sse.go - Growth Task API
internal/upstream/tasks.go - Task Event Chains
internal/upstream/desktop.go - Redis Mirror
internal/redisstore/redisstore.go
Other components
- API Client
- Operator
- CodeBuddy Services
Connections 26
- API Client → OpenAI API: sends requests
- OpenAI API → Session Affinity: resolves affinity
internal/server/handler.go - OpenAI API → Account Pool: selects account
- OpenAI API → CodeBuddy Client: forwards chat
internal/server/handler.go - OpenAI API → Prompt Rewriting: rewrites prompts
internal/server/handler.go - CodeBuddy Client → CodeBuddy Services: calls API
- CodeBuddy Client → Stream Handling: handles streams
- OpenAI API → Request Metrics: records metrics
- Session Affinity → Redis Mirror: mirrors bindings
internal/session/session.go - Account Pool → Account Credentials: uses credentials
- OpenAI API → Pool Health: updates health
- Operator → Management Panel: operates
- Management Panel → Panel API: calls panel
- Panel API → Browser Login: starts login
- Browser Login → CodeBuddy Services: authorizes account
- Panel API → Account Pool: manages accounts
- Panel API → Task Automation: runs tasks
- Task Controls → Growth Task API: lists and claims
internal/panel/tasks.go - Task Automation → Growth Task API: automates tasks
internal/panel/autotask.go - Growth Task API → CodeBuddy Services: calls task endpoints
internal/upstream/tasks.go - Task Automation → Task Event Chains: uses event chains
- Task Event Chains → CodeBuddy Services: reports events
- Scheduled Jobs → Account Pool: checks accounts
internal/scheduler/scheduler.go - Scheduled Jobs → CodeBuddy Client: runs maintenance
internal/scheduler/scheduler.go - Scheduled Jobs → Growth Task API: runs task flows
- Panel API → Request Metrics: shows request records