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ền hooks: createOpenRouterDevtools() vào new 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:

  1. Cài CLI: npm install -g @openrouter/cli

  2. 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
});
  1. 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 4983 bậ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".

Via: OpenRouter DevTools docs, Claude Code integration, Codex CLI integration, npm @openrouter/cli.