Deploy to Cloudflare Pages / deploy (push) Failing after 25s
- scripts/deploy.sh: manual Cloudflare Pages deploy (same steps as CI) - scripts/refresh-evals.mjs: re-scrape Artificial Analysis + OpenCode Data into evals.js - evals.js now carries OpenCode Go list prices; Hy4 and LongCat 2.5 left empty rather than borrowing a neighbouring model's numbers - workflow creates the Pages project idempotently
103 lines
4.2 KiB
Markdown
103 lines
4.2 KiB
Markdown
# OpenCodeGoEvals
|
||
|
||
Benchmarks and plain-language notes for every model in the **OpenCode Go** catalog:
|
||
a task-by-task performance matrix, cost/value analysis, and a description of what each
|
||
model is actually targeted for (agentic work, coding, data analysis, image understanding,
|
||
deep research, high-volume chores).
|
||
|
||
Static site, no build step — it is plain HTML/CSS/ES modules, deployed to **Cloudflare Pages**.
|
||
|
||
## What's here
|
||
|
||
| Path | What it is |
|
||
|---|---|
|
||
| `site/index.html` | The site: performance matrix, price/value charts, model guide |
|
||
| `site/assets/data.js` | Model catalogue — pricing, context, modality, target descriptions, caveats |
|
||
| `site/assets/evals.js` | Benchmark scores (0–100) per model per task family |
|
||
| `site/assets/app.js` | Rendering logic for the matrix, charts and guide |
|
||
| `site/assets/style.css` | Styling |
|
||
| `MODELS.md` | The same model descriptions in Markdown |
|
||
| `wrangler.toml` | Cloudflare Pages project configuration |
|
||
| `.gitea/workflows/pages.yml` | CI: builds and deploys to Cloudflare Pages on every push to `main` |
|
||
|
||
## Data sources
|
||
|
||
- [OpenCode Go docs](https://opencode.ai/docs/go) — pricing, monthly allowances, privacy/retention, client support
|
||
- [OpenCode Data](https://opencode.ai/data) — catalog metadata, context windows, usage and retention stats
|
||
- [Artificial Analysis](https://artificialanalysis.ai) — benchmark scores and the Intelligence Index
|
||
- Vendor announcements — Google (Gemini 4 Argon), Reflection AI (Beam), Meituan (LongCat),
|
||
MiniMax (M3.1 Flash), xAI (Grok 4.7), StepFun (Step 5), Qwen, Zhipu, Moonshot, DeepSeek, Xiaomi, Tencent
|
||
|
||
Data snapshot date: **2026-10-21**. Re-run the collection script to refresh.
|
||
|
||
## Publishing to Cloudflare Pages
|
||
|
||
### 1. Create the Pages project
|
||
|
||
```bash
|
||
npm install
|
||
npx wrangler login # or export CLOUDFLARE_API_TOKEN
|
||
npx wrangler pages project create opencodogoevals
|
||
```
|
||
|
||
### 2. Give CI the credentials
|
||
|
||
Add these as repository secrets (Gitea: *Settings → Actions → Secrets*):
|
||
|
||
| Secret | Value |
|
||
|---|---|
|
||
| `CLOUDFLARE_API_TOKEN` | Cloudflare API token with **Cloudflare Pages: Edit** (and Account Settings: Read) |
|
||
| `CLOUDFLARE_ACCOUNT_ID` | The Cloudflare account that owns the Pages project |
|
||
|
||
The workflow in `.gitea/workflows/pages.yml` then:
|
||
|
||
1. checks out the repo and installs Wrangler,
|
||
2. stages `MODELS.md` next to the site,
|
||
3. creates the Pages project if it does not exist yet (idempotent),
|
||
4. deploys `site/` on every push to `main`, on a manual *Run workflow*, and hourly.
|
||
|
||
A runner must be registered on the Gitea instance for the workflow to execute.
|
||
|
||
### 3. Deploy manually (optional)
|
||
|
||
```bash
|
||
./scripts/deploy.sh # uses env vars or your wrangler login session
|
||
npm run deploy # same thing, wrangler only
|
||
npm run dev # local preview on http://localhost:8788
|
||
```
|
||
|
||
### Custom domain
|
||
|
||
Set it in Cloudflare Pages → *Custom domains*, then add a CNAME record pointing at
|
||
`<project>.pages.dev`.
|
||
|
||
## Local development
|
||
|
||
The site is static — open `site/index.html` directly, or use `npm run dev` for a
|
||
Cloudflare-compatible local server.
|
||
|
||
## Updating the data
|
||
|
||
1. `node scripts/refresh-evals.mjs` re-scrapes every model's benchmark scores from
|
||
Artificial Analysis and rewrites `site/assets/evals.js`. Model names, OpenCode Go
|
||
prices and free-tier flags come from `site/assets/data.js` (hand-maintained from the
|
||
Go docs), so the chart always shows Go pricing.
|
||
2. Descriptions, modalities, release dates and caveats live in `site/assets/data.js`;
|
||
update them there and regenerate `MODELS.md`.
|
||
3. Commit both files — CI publishes the site on push.
|
||
|
||
## Caveats
|
||
|
||
- Task-matrix cells use the best published evaluation per task family; when a model has
|
||
not been run on a benchmark the column falls back to another one, so the underlying
|
||
benchmark can differ between rows in a column. Hover a cell to see which one it is.
|
||
- Free-tier models (MiniMax M3.1 Flash Free, Beam Free, LongCat 2.5 Preview Free) are
|
||
limited-time offers.
|
||
- Contributor-tier models (Gemini 4 Argon, Muse Spark 1.3) may use your prompts and
|
||
completions for training — check the Go docs' privacy table.
|
||
- No Go model generates images; they are all text-output.
|
||
|
||
## License
|
||
|
||
MIT — see [LICENSE](LICENSE).
|