255
CLI 命令
278
API 端點
32
資源領域
1
套 core operation(兩 transport 共用)
cairn — agent session
$ cairn orders list --status pending_payment orders (3/3) — page 1/1 ord_8K2… pending_pay 玉山主峰3日 · 王小明 $ cairn orders assign ord_8K2 --assignee usr_op7 ✓ 訂單 ord_8K2 已派發 $ cairn control room-auto-pair-preview dep_44 auto-pair 建議分組(2 組) [1] shared:王小明、李大華
為什麼是 cairn
不是把資料庫包一層 REST,而是把整套營運語意(金流、權限、稽核)原封不動端到 API。
Dual-transport,零漂移
每個操作有後台 server action 與 /api/v1 兩個 transport,委派同一個 @cairn/core operation、同權限、同模組閘、同稽核。後台做得到的,API 一定做得到。
Agent-native
OAuth device-flow 登入、穩定的 { ok, data } / { ok, error } envelope、自我描述的 cairn help。為 AI agent 與自動化而生,不是事後補的整合層。
權限即邊界
resource.action RBAC 經 better-auth 強制;owner-scope(sales 只能動自己的單)與 child↔parent 綁定在 server 端重推,絕不信任 client。
文件自 code 生成
這個站的每條命令與端點都從 command registry 與路由樹生成。code 一改,文件跟著動——你看到的永遠是真的。
快速上手
CLI 不存帳密。cairn login 走 OAuth 2.0 Device Authorization Grant:CLI 取得 device code → 你在瀏覽器 /device 核准 → CLI 換得 bearer token 存本機。 之後每個請求帶 Authorization: Bearer …。對 production 的寫入需 --confirm。
cairn target add wildtw https://wildtw.example.com
cairn target use wildtw
cairn login # 開瀏覽器核准 device code
cairn whoami
# 下單、派工、請款核可——都是一行
cairn orders create --trip trp_… --departure dep_… --email a@b.c \
--party-size 2 --payment-method atm --travelers '[{"fullName":"王小明"}]'
cairn orders assign ord_… --assignee usr_…
cairn payment-requests approve pay_… --confirm回應外殼
# 成功
{ "ok": true, "data": <payload> }
# 失敗
{ "ok": false,
"error": { "code": "validation",
"message": "…",
"issues": [ … ] } }方案模組閘
部分端點需租戶已啟用對應模組,否則 403 module_disabled。
| lodging | 訂房產品線 |
| climbing | 登山(資格審核、出團前期限) |
| accounting | 進階會計(內外帳、結算、損益、供應商) |
| lottery | 抽籤名額分配 |
| overseas | 海外 |
錯誤碼
| HTTP | code | 意義 |
|---|---|---|
| 401 | unauthorized | 未帶 / 無效 bearer token |
| 403 | forbidden | 通過認證但無此權限 |
| 403 | module_disabled | 租戶未啟用該方案模組 |
| 404 | not_found | 資源不存在或不在你的 owner-scope 內 |
| 409 | conflict | 狀態機 / 業務規則衝突 |
| 409 | invariant | 金流不變式違反 |
| 422 | validation | 輸入驗證失敗(附 issues[]) |
| 500 | internal | 伺服器內部錯誤(細節不外洩) |
533 個操作,等你叫
按 ⌘K 搜尋任何命令或端點,或從參考頁讀起。