Files
2026-07-13 12:22:33 +08:00

33 lines
1.7 KiB
Markdown

---
summary: "OpenCode provider notes: browser cookies, local SQLite usage, and parsing."
read_when:
- Adding or modifying the OpenCode provider
- Debugging OpenCode usage parsing or cookie import
---
# OpenCode provider
## Data sources
- Browser cookies from `opencode.ai`.
- OpenCode Go local history from `~/.local/share/opencode/opencode.db` on macOS and Linux.
- `POST https://opencode.ai/_server` with server function IDs:
- `workspaces` (`def39973159c7f0483d8793a822b8dbb10d067e12c65455fcb4608459ba0234f`)
- `subscription.get` (`7abeebee372f304e050aaaf92be863f4a86490e382f8c79db68fd94040d691b4`)
## Usage mapping
- Primary window: rolling 5-hour usage (`rollingUsage.usagePercent`, `rollingUsage.resetInSec`).
- Secondary window: optional weekly usage (`weeklyUsage.usagePercent`, `weeklyUsage.resetInSec`).
- Resets computed as `now + resetInSec`.
## Notes
- Responses are `text/javascript` with serialized objects; parse via regex.
- Missing workspace ID or rolling usage fields should raise parse errors; omitted weekly usage stays absent.
- OpenCode web Auto imports Chrome first, then Dia when their cookie stores exist; Keychain preflight stays scoped
to each candidate browser. Other browsers stay on Manual Cookie import until CodexBar has an explicit browser
selector.
- Set `CODEXBAR_OPENCODE_WORKSPACE_ID` to skip workspace lookup and force a specific workspace.
- Workspace override accepts a raw `wrk_…` ID or a full `https://opencode.ai/workspace/...` URL.
- Cached cookies: Keychain cache `com.steipete.codexbar.cache` (account `cookie.opencode`, source + timestamp). Browser
import only runs when the cached cookie fails.
- OpenCode Go auto mode tries web usage first, then derives quota windows from local `opencode-go` assistant costs.