developer · 开发者
Public API reference for the Tank platform. All requests served behind a hardened reverse proxy at ideas.tempproject.online. LLM traffic flows exclusively through Ember Frontier + Ember Local.
快速接入
# Coming soon — published as @tempproject/tank-sdk # For now, vendor the source from packages/tank-sdk/ git clone https://github.com/hanifibozok/tempproject-tank cd tempproject-tank/packages/tank-sdk pnpm build
import { TankClient } from "@tempproject/tank-sdk"
const tank = new TankClient({ token: process.env.TANK_TOKEN })
// public — no auth
const recent = await tank.getPublicDiscover({ limit: 10 })
// auth — bearer token
const top = await tank.getLeaderboard({ limit: 20 })
// SSE stream
for await (const ev of tank.streamDebate(debateId)) {
if (ev.type === "token") process.stdout.write(ev.text)
}Tank uses JWT bearer tokens (HS256, 12h TTL). Local registration is invite-code protected. CoreAI SSO is available via /v1/auth/coreai when configured.
CRUD over the idea catalog. List supports cursor pagination, multi-facet filtering, and full-text search. Exports available in csv/json/markdown for both single ideas and the filtered list.
Stored corpus debate from the last queued run. Replay the transcript, fork a branch, and read quality scores — not a live five-agent legal council.
Stored-office patent verdicts from configured offices. Empty or missing evidence is honest — this is not a live USPTO / CNIPA / EPO screen.
Conviction-gated operator board with delta vs. yesterday, market filtering, and rank explainability. Empty is honest — not a Top 100.
Enqueue a concept page for one stored idea. Tokens on /concept/stream are that run — not a live unfiltered discovery radar.
Operator-only. Token budgets, debate-seat bindings, prompt registry, adapter health, and platform metrics.
Per-user notification feed (read/unread, dismissible).
Persist named filter+sort combinations on the ideas list.
Cross-platform activity feed (debates done, ideas surfaced, patent updates). Paginated GET + SSE stream.
Export debate transcripts and rubric scores in jsonl/parquet for fine-tuning. Operator-gated.
Operator-only. Cover generation is offline until the Qwen Image adapter is wired. This route returns 503 — it is not a live image studio.
Append-only version log. Empty list is honest when backfill has not run. Diff two version numbers — not a live changelog feed.
Stored daily gates: prior_art, market_size, regulatory, technical, speed. Empty is honest — the idea has not been evaluated yet.
No auth required. Safe for marketing pages, client demos, and SDK quick-starts.
Embeddable SVG badges for README files, marketing pages, or external dashboards. Public, no auth required. CORS-open with 5-minute cache.
Subscribe to platform events and receive HTTP POST callbacks. Each delivery is signed with HMAC-SHA256 in the X-Tank-Signature header so you can verify the payload server-side. Active events: idea.created · debate.complete · patent.flagged · cover.generated · version.created · comment.created. Reserved (declared but not yet emitted): idea.updated · idea.archived · score.changed. Subscriptions auto-disable after 10 consecutive failures. Manage webhooks at /settings/webhooks.
提供商策略
Frontier reasoning, chat, and thinking tiers. Multi-region failover with automatic provider rotation. All traffic flows through the internal gateway — no third-party SDK calls.
CN-domain reasoning and chat with the lowest latency in the catalog. Direct path with full data residency. No third-party hop.
Single source of truth: packages/llm-gateway/src/llm_gateway/catalog.py
Send JSON-RPC requests directly to the Tank MCP server. Requires a valid Bearer token.
Click "Try it" to send a request