mirror of
https://github.com/rennf93/roboco.git
synced 2026-08-03 07:23:24 +02:00
README gains the Kimi setup block, tech-stack row, and checklist entry (the provider prose also finally names Codex/Gemini, which it had skipped). The agent-facing KB's provider enum sentence catches up too - it still called OPENAI reserved and omitted GEMINI - and gains the Kimi runtime detail plus a config-reference section for the four Kimi settings.
78 lines
3.4 KiB
Markdown
78 lines
3.4 KiB
Markdown
# Agent Model
|
|
|
|
## Core Fields
|
|
|
|
| Field | Type | Description |
|
|
|-------|------|-------------|
|
|
| `id` | UUID | Primary key |
|
|
| `name` | String | Display name |
|
|
| `slug` | String | URL-safe ID (e.g., `be-dev-1`) |
|
|
| `role` | Enum | Agent role |
|
|
| `team` | Enum | Team affiliation |
|
|
| `status` | Enum | active, idle, offline |
|
|
|
|
## Roles
|
|
|
|
| Role | Description |
|
|
|------|-------------|
|
|
| `ceo` | Human executive |
|
|
| `product_owner` | Product strategy |
|
|
| `head_marketing` | External comms |
|
|
| `auditor` | Silent observer |
|
|
| `main_pm` | Coordinates all cells |
|
|
| `cell_pm` | Manages one cell |
|
|
| `developer` | Writes code |
|
|
| `qa` | Reviews and tests |
|
|
| `documenter` | Writes documentation |
|
|
| `pr_reviewer` | Read-only reviewer: inbound external/fork + internal PRs, and the in-path assembled-PR gate (`pr-reviewer-1` main + `be/fe/ux-pr-reviewer` per cell) |
|
|
| `prompter` | On-demand intake interviewer, human-only (agent `intake-1`) |
|
|
| `secretary` | On-demand chief-of-staff, human-only (agent `secretary-1`) |
|
|
| `system` | Internal orchestrator |
|
|
|
|
## Teams
|
|
|
|
| Team | Agents |
|
|
|------|--------|
|
|
| `backend` | be-pm, be-dev-*, be-qa, be-doc, be-pr-reviewer |
|
|
| `frontend` | fe-pm, fe-dev-*, fe-qa, fe-doc, fe-pr-reviewer |
|
|
| `ux_ui` | ux-pm, ux-dev-*, ux-qa, ux-doc, ux-pr-reviewer |
|
|
| `main_pm` | main-pm |
|
|
| `board` | product-owner, head-marketing, auditor |
|
|
| `marketing` | head-marketing |
|
|
|
|
## Status
|
|
|
|
| Status | Meaning |
|
|
|--------|---------|
|
|
| `active` | Currently working |
|
|
| `idle` | Available for work |
|
|
| `offline` | Not available |
|
|
|
|
## Capabilities
|
|
|
|
Example capabilities:
|
|
- `code_execution`
|
|
- `git_operations`
|
|
- `documentation`
|
|
- `testing`
|
|
|
|
## Model Configuration
|
|
|
|
Stored in `model_config` JSON:
|
|
- LLM provider
|
|
- Model name
|
|
- Temperature
|
|
- Other settings
|
|
|
|
The **provider** selects the agent backend, resolved through the `ProviderRegistry` (`roboco/llm/providers/`). `ModelProvider` is `ANTHROPIC` (default — Claude Code), `GROK` (xAI's official `grok` CLI, model `grok-build`, on a SuperGrok subscription), `GEMINI` (Google's official `gemini` CLI, OAuth login), `OPENAI` (OpenAI's official `codex` CLI, ChatGPT subscription), `KIMI` (Moonshot's official `kimi`/kimi-code CLI, Kimi subscription via OAuth device-code login), `LOCAL`, or `OLLAMA_CLOUD`. An agent with no dedicated provider falls back to the built-in Claude Code spawn. All four run on a mounted host subscription credential rather than a metered API key; Codex, Gemini, and Kimi are one-shot delivery-role runtimes only (no Intake/Secretary), while Grok additionally drives the interactive Intake and Secretary chats. Grok's `~/.grok` is auto-refreshed by the orchestrator; Kimi's `~/.kimi-code` is mounted read-write and shared across every Kimi agent, since Moonshot's refresh token is rotation-with-short-reuse-grace and every container redeems the same rotating chain. Kimi runs headless via `-p` with stream-json output, scopes tools through rendered deny-rules plus a `PreToolUse` bash-guard wrapper hook (no CLI-flag tool-removal equivalent), captures usage by summing `wire.jsonl`'s token buckets, and parks on rate-limit (exit 75) or an expired/missing credential (exit 78) exactly like Grok/Codex/Gemini so the orchestrator can pause and later revive it.
|
|
|
|
## Agent-Specific Fields
|
|
|
|
| Field | Description |
|
|
|-------|-------------|
|
|
| `current_task_id` | Currently assigned task |
|
|
| `journal_id` | Personal journal |
|
|
| `system_prompt` | Base prompt |
|
|
| `permissions` | Tool/verb permission scope |
|
|
| `metrics` | Performance data |
|