TL;DR
OpenRouter vừa tung @openrouter/cli — bộ CLI chính chủ gồm DevTools Viewer (web UI telemetry real-time trên localhost:4983) và StatusLine tích hợp Claude Code (hiện provider, model, cost tích luỹ ngay trong terminal). Cài 1 dòng npm i -g @openrouter/cli, chạy openrouter devtools là xong. Được hook thẳng vào @openrouter/sdk nên capture async, zero-impact, và block chặn ở production bằng check NODE_ENV.
Có gì mới
Trước giờ dev AI agent phải tự hack console.log hoặc dùng APM generic (Datadog, Sentry) — những tool không hiểu ngữ nghĩa LLM: không biết token prompt vs completion, không inspect được tool call, không so sánh được 2 run. @openrouter/cli trám đúng khoảng trống đó:
- DevTools Viewer — web UI local bật bằng 1 lệnh, auto-refresh mỗi khi agent chạy.
- StatusLine — widget trong Claude Code status bar, show live provider · model · cumulative cost · cache discount.
- SDK hooks — install
@openrouter/devtools --save-dev, truyềnhooks: createOpenRouterDevtools()vàonew OpenRouter({...})là đủ.
Tất cả 100% chạy trên máy dev, không ship data ra đâu. Telemetry lưu ở .devtools/openrouter-generations.json.
Vì sao quan trọng
AI agent đang từ demo lên production, và thứ đang chặn đa số team không phải là model — mà là visibility. Mỗi step agent gọi LLM là một hộp đen: tại sao nó chọn tool này? Token đi đâu mất? Run hôm nay tốn gấp 3 lần hôm qua là vì prompt dài hay model đổi provider? Không có trace tốt, debug agent giống đoán mò.
@openrouter/cli xử lý đúng vấn đề đó với cách tiếp cận đúng: first-party (hook thẳng vào SDK, không proxy), dev-only (không phải APM nặng), và không phá app (async, graceful degradation khi fail).
Fact kỹ thuật
| Thuộc tính | Giá trị |
|---|---|
| Package CLI | @openrouter/cli (global install) |
| Package SDK hooks | @openrouter/devtools (dev dep) |
| Default port | 4983 |
| Config file | ~/.openrouter/claude-code-proxy.json |
| Telemetry storage | .devtools/openrouter-generations.json |
| Operations captured | chat.send(), chat.createResponses(), embeddings.create() |
| Production guard | Throw error nếu NODE_ENV === 'production' |
| Fast-mode support | Claude Code v2.1.96+ (2.5× nhanh hơn cho Opus 4.7) |
| Số model có sẵn | 300+ qua OpenRouter SDK |
Per-step capture bao gồm: model, messages, parameters (temperature, max_tokens...), generated content, prompt + completion tokens, provider, finish reason, tool calls, start/end timestamps, duration ms, status, và error stack nếu fail.
Cách dùng nhanh
Ba bước:
- Cài CLI:
npm install -g @openrouter/cli - Wire hooks vào SDK trong code:
import { createOpenRouterDevtools } from '@openrouter/devtools';
import { OpenRouter } from '@openrouter/sdk';
const hooks = process.env.NODE_ENV === 'development'
? createOpenRouterDevtools()
: undefined;
const sdk = new OpenRouter({
apiKey: process.env.OPENROUTER_API_KEY,
hooks
});- Bật viewer:
openrouter devtools→ browser tự mởlocalhost:4983.
Với Claude Code, chỉ cần thêm openrouter statusline và update ~/.claude/settings.json theo scripts từ repo openrouter-examples — cost sẽ hiện ngay trong status bar.
So sánh với các giải pháp hiện có
| Giải pháp | First-party | Agent-aware | 100% local | Cost tracking |
|---|---|---|---|---|
@openrouter/cli | ✅ | ✅ (tool calls, finish reason) | ✅ | ✅ (statusline) |
ccusage / ccstatusline | ❌ | Partial (Claude Code only) | ✅ | ✅ |
| claude-code-router | ❌ | Partial | ✅ | Partial |
| Datadog / Sentry | ❌ | ❌ (LLM-blind) | ❌ | ❌ |
Use cases
- Prompt iteration — tweak prompt, xem delta token + cost per run.
- Tool-call debug — inspect payload & response của từng function call trong agent loop.
- Multi-run compare — đặt cạnh 2 run (GPT-5 vs Claude Opus 4.7) so latency + cost.
- Claude Code daily driver — statusline show live spend, không còn mù mờ tiền chảy đi đâu.
- Codex CLI swap model — sửa
~/.codex/config.tomlđổi sang model khác qua OpenRouter, không cần reinstall.
Limitations & pricing
- Dev-only. CLI throw error nếu chạy production — đừng nhầm đây là APM.
- Scope hẹp. Chỉ capture
chat.send,chat.createResponses,embeddings.create. Các SDK op khác hiện bị ignore. - Pre-release. API surface có thể đổi — pin version trước khi prod.
- Port conflict. Nếu
4983bận, phải config lại qua~/.openrouter/claude-code-proxy.json. - Giá. CLI miễn phí. Token bill theo rate chuẩn của từng model qua credits OpenRouter. Fast mode Claude Code bill thêm multiplier của Anthropic.
What's next
Pre-release nghĩa là OpenRouter đang gather feedback để mở rộng. Hướng đi khả dĩ: capture thêm SDK ops (streaming, batching), diff tooling sâu hơn giữa các run, và có thể cloud-sync telemetry cho team (hiện 100% local). Kết hợp với roadmap 2026 của OpenRouter — Auto Exacto adaptive routing (3/2026), video generation GA (15/4/2026) — thì toolchain cho dev agent đang dày lên rất nhanh.
Nếu bạn đang build AI agent bằng Claude Code, Codex CLI, hoặc @openrouter/sdk, cài @openrouter/cli hôm nay mất 30 giây và đổi được bàn làm việc từ "đoán" sang "thấy".
Nguồn: OpenRouter DevTools docs, Claude Code integration, Codex CLI integration, npm @openrouter/cli.