Web UI
sivtr web 在统一 archive(archive.db)之上提供本地 web UI 和只读 JSON API。用它浏览终端和 Agent session,或运行按 BM25 相关性排序的全文搜索,而不必打开 TUI。
启动 server
Section titled “启动 server”sivtr web然后在浏览器打开 http://127.0.0.1:8080。
| 选项 | 含义 |
|---|---|
--port <PORT> |
要绑定的 TCP 端口(默认 8080) |
--host <HOST> |
仅 loopback 绑定地址(默认 127.0.0.1)。非 loopback 值会被拒绝。 |
- Session 浏览器 — 按 provider 过滤 session、打开一个 session、复制它的 refs,供
sivtr show使用。 - 搜索 — 在任意位置按
/聚焦搜索框;可以选择 BM25、semantic 或 hybrid 排序。BM25 按 source 排序;source=all先拼 agent 列表再拼 terminal 列表。 - Usage 与活跃度 — dashboard 展示按 catalog 计算的 token 成本、未定价事件、archive 数量和活跃日期。
JSON API
Section titled “JSON API”同样的表面也可以作为只读 JSON API 使用:
| Endpoint | 用途 |
|---|---|
GET /api/v1/health |
Server 健康检查 |
GET /api/v1/providers |
列出已注册 provider |
GET /api/v1/sessions?provider=&limit=&offset= |
列出 session,支持可选过滤 |
GET /api/v1/sessions/{provider}/{session_id} |
单个完整 session |
GET /api/v1/search?q=&source=all|all:agent|all:terminal|<selector>&limit=&semantic=&hybrid= |
BM25、semantic 或 hybrid 搜索 |
GET /api/v1/usage?provider=&session_id=&since=&until= |
Token 用量与成本 |
GET /api/v1/stats?provider=&since=&until= |
活跃度、结果、项目、隐私和 usage 统计 |
server 只绑定 loopback(127.0.0.1、localhost、::1)。非 loopback 的 --host 会被拒绝,因此未认证的 UI 不会暴露到网络。HTTP API 是只读的;启动时可能通过 ensure_fresh() 刷新本地 archive。在 loopback 绑定下数据也不会离开本机。server 还会校验浏览器的 Host header,以防范 DNS rebinding。
修改 --port 也会改变接受的 Host,所以请求必须指向 server 实际绑定的同一个 host:port。