MCP Server, CLI & API Reference
Connect any MCP-compatible agent — or use the CLI directly from your terminal. One platform, two interfaces, 60+ tools across every domain in the workspace.
快速開始
5 分鐘內連接你嘅 agent。
1. 攞一個個人存取 Token
登入 Siftable,去設定 → API Tokens,建立一個新 token。Token 有範圍限定——你揀 token 可以存取邊啲範疇。
2. 設定你嘅 MCP 客戶端
將 Siftable 加入你嘅 agent 嘅 MCP 設定。兼容 Claude Code、Cursor、Windsurf,同任何兼容 MCP 嘅客戶端。
{ "mcpServers": { "siftable": { "url": "https://siftable.io/api/v1/mcp/sse", "headers": { "Authorization": "Bearer sift_pat_your_token_here" } } } }
3. 驗證連接
叫你嘅 agent 列出你嘅項目或任務。如果有返數據,就連接成功。
# Agent calls: project_list() task_list(status: "in_progress") calendar_list_events(startDate: "2026-02-17", endDate: "2026-02-23") # Agent now has your full operational context.
CLI Installation
The Siftable CLI gives you the full command surface — 169 commands across every domain — from your terminal. Same API, same data, same permissions, plus an interactive copilot. The binary installs as sift (with siftable and the exf compatibility alias).
1. Install
npm install -g @siftable/cli # npm · current: @siftable/cli@0.5.29 bun install -g @siftable/cli # bun pnpm add -g @siftable/cli # pnpm # or run without installing npx @siftable/cli <command>
2. Authenticate
The CLI uses device flow authentication — it opens your browser, you approve, and a token is stored locally.
$ sift auth login
Your verification code: ZFMV-SBGJ
Opening browser...
If the browser didn't open, visit: https://siftable.io/app/device?code=ZFMV-SBGJ
Waiting for authorization...
Logged in successfully!
3. Run your first command
$ sift projects list NAME STATUS TASKS Siftable active 12 Marketing Site active 4 Mobile App planning 0 $ sift projects context <id> # Full project context: tasks, signals, notes, members.
Every CLI command supports --json for machine-readable output. Pipe it into jq, feed it to scripts, or let agents parse it directly.
認證
Siftable 支援兩種認證方式。用裝置流程進行互動式 CLI 工作階段,或者用個人存取權杖畀 MCP 用戶端同 CI/CD。
裝置流程 (CLI)
執行 exf auth login。CLI 會打開你嘅瀏覽器,你用 Google 登入並批准裝置代碼。PAT 會自動生成並儲存喺 ~/.config/exf/ 入面。唔使複製貼上任何權杖。
個人存取權杖 (MCP & API)
對於 MCP 用戶端同程式化存取,喺設定 → API 權杖度建立一個權杖。喺 Authorization 標頭傳入佢:
Authorization: Bearer sift_pat_your_token_here
權杖會限定喺特定領域(淨係限任務、淨係限日曆、完全存取權等)。對於 CI 流水線,將 EXF_PAT 設為環境變數。
$ sift auth login $ sift auth status $ sift auth logout
Token 權限範圍同可用嘅寫入操作取決於你嘅工作區設定同計劃。請去「設定」→「API Tokens」同「定價」睇吓你帳戶目前嘅限制。
MCP 連接
Siftable 使用 Server-Sent Events (SSE) 傳輸嚟做 MCP。端點係:
https://siftable.io/api/v1/mcp/sse
兼容任何支援 SSE 傳輸嘅 MCP 客戶端:Claude Code、Claude Desktop、Cursor、Windsurf、Continue,同使用 MCP SDK 嘅自訂實作。
任務
| MCP Tool | CLI | Access | Description |
|---|---|---|---|
| task_list | sift tasks list |
READ | List tasks with filters: status (inbox, next_action, in_progress, waiting_for, completed, archived), phase, project, limit. |
| task_get | sift tasks get |
READ | Get a single task with full details: description, due date, priority, project, linked code. |
| task_create | sift tasks create |
WRITE | Create a task. Accepts title, description, priority (do_now, schedule, delegate, someday), project, due date. |
| task_update | sift tasks update |
WRITE | Update task fields: title, description, status, priority, due date, project assignment. |
| task_complete | sift tasks complete |
WRITE | Mark a task as completed. |
| task_delete | sift tasks delete |
DELETE | Permanently delete a task. |
$ sift tasks list --status in_progress TITLE STATUS PRIORITY DUE Ship CLI docs in_progress do_now 2026-02-27 Fix device flow auth in_progress do_now - $ sift tasks create --title "Review PR #312" --priority do_now --json {"id":"abc-123","title":"Review PR #312","status":"inbox","priority":"do_now"}
日曆
| MCP Tool | CLI | Access | Description |
|---|---|---|---|
| calendar_list_events | sift calendar list |
READ | List events in a date range. Returns title, start/end times, location, description. Supports limit. |
| calendar_create_event | sift calendar create |
WRITE | Create a calendar event. Requires title, startTime, endTime (ISO 8601). Optional: description, location. |
| calendar_update_event | sift calendar update |
WRITE | Update an existing event's title, times, description, or location. |
| calendar_delete_event | sift calendar delete |
DELETE | Remove an event from the calendar. |
$ sift calendar list --start 2026-02-24 --end 2026-02-28 TITLE START END LOCATION Team standup Feb 25 09:00 Feb 25 09:30 Zoom Product review Feb 26 14:00 Feb 26 15:00 Conf Room B $ sift calendar create --title "Ship CLI v0.3" \ --start 2026-02-27T10:00:00Z --end 2026-02-27T10:30:00Z
項目
| MCP Tool | CLI | Access | Description |
|---|---|---|---|
| project_list | sift projects list |
READ | List projects. Filter by status (planning, active, on_hold, blocked, completed). Include archived. |
| project_get_context | sift projects context |
READ | Full project context: tasks, notes, members, signals. The richest single call for understanding a project. |
| project_create | sift projects create |
WRITE | Create a project with name, summary, status, and emoji. |
| project_update | sift projects update |
WRITE | Update project name, summary, status, or emoji. |
| project_archive | sift projects archive |
WRITE | Archive a completed or inactive project. |
知識庫
| MCP Tool | CLI | Access | Description |
|---|---|---|---|
| note_search | sift notes search |
READ | Semantic + full-text search across notes. Filter by project. |
| note_list | sift notes list |
READ | List notes. Filter by type (note, concept, meeting, reference, daily, dataset) and project. |
| note_get | sift notes get |
READ | Get full note content by ID. |
| note_create | sift notes create |
WRITE | Create a note with title, markdown content, type, and optional project. |
| note_update | sift notes update |
WRITE | Update note title, content, or type. |
| note_delete | sift notes delete |
DELETE | Delete a note. |
Datasets
Structured datasets support grounded summaries, grouped analysis, ranking, bucketing, time-series work, import/export, schema changes, and record mutations from the same CLI and MCP-backed platform.
| Capability | CLI | Access | Description |
|---|---|---|---|
| Browse and inspect | sift datasets list, get, query, summarize |
READ | List datasets, inspect schema, query records, and get row-count and sample summaries. |
| Grounded analysis | sift datasets analyze, aggregate, compare |
READ | Generate natural-language insights, grouped metrics, and side-by-side segment comparisons. |
| Ranking and bucketing | sift datasets rank, bucket |
READ | Sort or score records, then bucket numeric or date fields into ranges with metrics per bucket. |
| Time series and plots | sift datasets timeseries, plot |
READ | Compute lag, pct-change, rolling windows, drawdown, or normalize plotting payloads from derived results. |
| Import and export | sift datasets import, export |
WRITE | Bring CSVs in, append to existing datasets, or export filtered results back to CSV. |
| Create and materialize | sift datasets create, materialize |
WRITE | Create datasets directly or turn a derived result into a new scratch dataset. |
| Schema and records | sift datasets schema, add, update-record, delete-record |
WRITE | Modify field definitions, add rows, update rows, and delete rows with explicit commands. |
| Derived workflows | sift datasets join, compute |
READ | Join dataset slices and compute derived fields before materializing or plotting the result. |
$ sift datasets list $ sift datasets summarize <dataset-id> $ sift datasets analyze <dataset-id> --focus-fields BMI,Outcome $ sift datasets aggregate <dataset-id> --group-by Outcome \ --metrics '[{"operation":"count","as":"rows"},{"operation":"avg","field":"BMI","as":"avg_bmi"}]' $ sift datasets compare <dataset-id> --segment-field Outcome \ --metrics '[{"operation":"avg","field":"Glucose","as":"avg_glucose"}]' $ sift datasets rank <dataset-id> --sorts '[{"field":"BMI","direction":"desc"}]' --limit 10 $ sift datasets bucket <dataset-id> --field Age --bucket-count 5 \ --metrics '[{"operation":"count","as":"rows"}]'
人脈
| MCP Tool | CLI | Access | Description |
|---|---|---|---|
| people_search | sift people search |
READ | Search contacts by name. Returns relationship type, company, contact info, interaction history. |
| — | sift people list |
READ | List all contacts. CLI-only convenience wrapper. |
| person_create | sift people create |
WRITE | Create a contact with name, relationship, company, and contact details. |
| person_update | sift people update |
WRITE | Update a contact's details, relationship, or company. |
| person_delete | sift people delete |
DELETE | Delete a contact. |
代碼庫
為語義代碼搜索索引你嘅倉庫。Siftable 將你嘅代碼解析為符號同嵌入,方便快速檢索。
| MCP Tool | CLI | Access | Description |
|---|---|---|---|
| codebase_list | sift codebase list |
READ | List all indexed repositories. |
| codebase_register | sift codebase register |
WRITE | Register a repository for indexing. Set root path, name, include/exclude patterns. |
| codebase_status | sift codebase status |
READ | Check indexing status for a repository. |
| codebase_index | sift codebase |
WRITE | Full index: scan and upload all files matching patterns. |
| codebase_index_incremental | sift codebase incremental |
WRITE | Git-aware incremental index. Only processes changed files since last index. |
| codebase_search | sift codebase search |
READ | Semantic code search. Filter by repository, language, symbol type (function, class, interface, type, export, impl). |
| codebase_snapshot_status | sift codebase snapshot |
READ | Get the latest index snapshot for a repository, optionally filtered by branch or materialized for download. |
| codebase_delete | sift codebase delete |
DELETE | Delete a repository and all indexed code data. |
| code_who_knows | sift code who-knows |
READ | Find developers with expertise in a code area. Based on git history and contribution patterns. |
| code_compute_expertise | sift code expertise |
WRITE | Refresh the expertise index for a repository. |
| code_history | sift code history |
READ | Get commit history. Filter by file path. |
| git_blame_symbol | sift code blame |
READ | Git blame for a file or line range. Shows who last modified each line. |
$ sift code history <repo-id> --path src/auth/service.ts $ sift code blame src/auth/service.ts --root . $ sift code expertise <repo-id> $ sift code who-knows <repo-id> src/auth $ sift code link <task-id> --repo <repo-id> --file src/auth/service.ts
代碼記憶
儲存同檢索關於你代碼庫嘅事實。架構決定、慣例、陷阱、擁有權——跨 session 持續存在嘅知識。
| MCP Tool | CLI | Access | Description |
|---|---|---|---|
| code_memory_store | sift code memory store |
WRITE | Store a fact. Categories: architecture, integration, convention, entrypoint, gotcha, ownership. Optional: file path, repository. |
| code_memory_search | sift code memory search |
READ | Semantic search over stored code facts. Filter by category or repository. |
| code_memory_list | sift code memory list |
READ | List all stored code memories. Filter by repository. |
| code_memory_delete | sift code memory delete |
DELETE | Delete a stored code memory by ID. |
文檔
| MCP Tool | CLI | Access | Description |
|---|---|---|---|
| upload_document | sift documents upload |
WRITE | Upload a PDF, Markdown, or text file into Knowledge. Set by file path or inline content. Auto-detects type. |
Vault
Encrypted secret storage. Store API keys, credentials, OAuth tokens, SSH keys, and sensitive notes. Values are encrypted at rest and audit-logged on read.
| MCP Tool | CLI | Access | Description |
|---|---|---|---|
| vault_create | sift vault create |
WRITE | Store a new encrypted secret. Types: env_var, credential, oauth_token, ssh_key, certificate, note. |
| vault_list | sift vault list |
READ | List vault entries (metadata only — never decrypted values). Filter by type or category. |
| vault_search | sift vault search |
READ | Search vault entries by name, slug, or description. Returns metadata only. |
| vault_update | sift vault update |
WRITE | Update vault entry metadata: name, tags, category, description. |
$ sift vault create --name "Stripe API Key" --json # Interactive prompt for sensitive payload values $ sift vault list NAME TYPE CATEGORY CREATED Stripe API Key env_var payments 2026-02-25 GitHub PAT credential devtools 2026-02-20 $ sift vault read <id> # Retired: opens no secret. Use the first-party web Vault.
Workflows
Cross-domain recipes that combine multiple tools. These patterns work identically via MCP or CLI.
Link Code to Tasks
Connect implementation work to the task that motivated it. Agents and teammates can trace why code changed.
task_create(title: "Implement device flow auth", priority: "do_now")
# ... implement the feature ...
task_link_code(taskId: "abc-123", repositoryId: "repo-456",
commitSha: "5cf5f22", filePath: "src/services/deviceAuthService.ts",
notes: "Fixed verification_uri to use /app/device")
task_complete(taskId: "abc-123")
$ sift tasks create --title "Implement device flow auth" --priority do_now $ sift code link abc-123 --repo repo-456 \ --commit 5cf5f22 --file src/services/deviceAuthService.ts $ sift tasks complete abc-123
Project Onboarding
New to a project? Pull the full context in three commands.
# 1. Get the big picture $ sift projects context <id> # 2. See what's in flight $ sift tasks list --project <id> --status in_progress # 3. Check code conventions $ sift code memory search "architecture and conventions"
End-of-Day Review
Summarize what happened today. Works great as an agent prompt or a manual check.
# Agent calls: calendar_list_events(startDate: "2026-02-26", endDate: "2026-02-26") task_list(status: "completed", limit: 20) task_list(status: "in_progress") # Agent now has: today's meetings, completed tasks, and remaining work. # It can draft a standup summary, update project status, or flag blockers.
$ sift calendar list --start 2026-02-26 --end 2026-02-26 $ sift tasks list --status completed --limit 20 --json | jq '.[] | .title' $ sift tasks list --status in_progress
Store a Debug Discovery
Found a gotcha? Store it so your future self (or your agent) doesn't rediscover it the hard way.
$ sift code memory store \ --fact "Device flow verification_uri must use /app/device (SPA path), not /device (marketing homepage)" \ --category gotcha \ --file src/services/deviceAuthService.ts
冪等性
寫入操作(task_create、note_create、calendar_create_event 等)接受可選嘅 idempotencyKey 參數。如果你用相同嘅鍵重試請求,Siftable 返回原始結果而唔係建立重複。
task_create(
title: "Review PR #247",
priority: "do_now",
idempotencyKey: "agent-run-42-task-pr247"
)
# Safe to retry. Same key = same result.
權限
Token 按範疇限定。一個只限日曆嘅 token 讀唔到任務或人脈。將你嘅 token 限定到你嘅 agent 需要嘅最低存取權限。
可用嘅範圍:
tasks:read/tasks:write— Task listing, CRUD, and completioncalendar:read/calendar:write— Event listing and creationprojects:read/projects:write— Project management and contextknowledge:read/knowledge:write— Notes, search, document uploadpeople:read/people:write— Contact search and CRM updateswork:read/work:write— Agent work queue itemsorg:read— Workspace org metadatamcp:*— All MCP operations (recommended for IDE and agent use)
可用嘅寫入操作取決於你嘅 token 權限範圍同目前嘅工作區計劃。喺正式環境依賴寫入操作之前,請先檢查你發出嘅 token 同目前嘅定價頁面。
CLI 指令參考
All 169 commands from @siftable/cli@0.5.29, generated from the oclif manifest so this page cannot drift from sift --help. Every command also accepts the global flags (--json, --token, --api-url, --workspace, --no-input).
所有指令都支援呢啲全域 flag:--json (原始 JSON 輸出)、--token / SIFT_TOKEN、--api-url / SIFT_API_URL (預設係 https://siftable.io)、--workspace / SIFT_WORKSPACE_ID,同埋 --no-input (停用提示)。具破壞性嘅指令需要加上 --confirm 或者 -y。
一般
頂層指令同診斷。
6 個指令
sift capabilities顯示 Siftable CLI 嘅功能同埋就緒狀態
sift codebase為代碼庫建立索引(掃描同埋上傳檔案)
- Arguments
id— Repository ID- Flags
--exclude <value>— Comma-separated exclude glob patterns--include <value>— Comma-separated include glob patterns--incremental— Git-aware incremental index (changed files only)--path <value>— Absolute path to repository root
sift commands顯示啱 Agent 用嘅指令主題同埋工作流入口
sift doctor診斷本地 Siftable CLI 設定,唔會顯示敏感資料
sift interactive啟動 Siftable 終端機副駕駛 (sift interactive) —— 一個喺進程入面幫你處理任務、工作、日曆、項目同人脈嘅 AI 助手。
sift mermaid喺終端機渲染 Mermaid 圖表(流程圖、時序圖、狀態圖、類別圖、ER、C4、架構圖、心智圖)。支援讀取 .mmd 檔案或 stdin。
- Arguments
file— Path to a .mmd file (omit to read stdin)- Flags
--ascii— Use ASCII glyphs instead of Unicode box drawing--color <none|truecolor>— Color mode--height <value>— Fit into an exact N-row pane (pads/clips)--max-height <value>— Bound the diagram to N rows (no padding)--max-width <value>— Bound the diagram to N columns (no padding)--overflow <allow|clip|error>— What to do when the diagram exceeds the bounds--unicode— Use Unicode box drawing (default)--width <value>— Fit into an exact N-column pane (pads/clips)
Agents
Agent 別名。
6 個指令
sift agents create建立 Agent 別名
- Flags
--alias <value>— Stable alias slug, e.g. codex--capabilities <value>— Capabilities JSON object--hidden— Hide from normal user-visible lists--name <value>— Display name--operator <value>— Linked daemon/operator ID--permissions <value>— Default permissions JSON object--type <value>— Agent type
sift agents disable停用 Agent 別名
- Arguments
aliasrequired — Agent alias or ID
sift agents get獲取 Agent 別名
- Arguments
aliasrequired — Agent alias or ID
sift agents list列出 Agent 別名
- Flags
--include-disabled— Include disabled aliases
sift agents update更新 Agent 別名
- Arguments
aliasrequired — Agent alias or ID- Flags
--capabilities <value>— Capabilities JSON object--hidden— Hide from normal user-visible lists--name <value>— Display name--operator <value>— Linked daemon/operator ID--permissions <value>— Default permissions JSON object--status <active|disabled>— Alias status--type <value>— Agent type--visible— Show in normal user-visible lists
sift agents work列出分配畀 Agent 別名嘅工作
- Arguments
aliasrequired — Agent alias or ID- Flags
--limit <value>— Maximum results--status <value>— Work item status
認證
認證指令。
3 個指令
sift auth login喺 Siftable 進行認證
sift auth logout移除已儲存嘅認證
sift auth status顯示認證狀態
日曆
日曆活動。
4 個指令
sift calendar create建立日曆活動
- Flags
--description <value>— Event description--end <value>— End time (ISO 8601)--location <value>— Event location--start <value>— Start time (ISO 8601)--title <value>— Event title
sift calendar delete刪除日曆活動
- Arguments
idrequired — Event ID- Flags
-y, --yes— Skip confirmation
sift calendar list列出日曆活動
- Flags
--end <value>— End date (ISO 8601)--limit <value>— Maximum number of results--start <value>— Start date (ISO 8601)
sift calendar update更新日曆活動
- Arguments
idrequired — Event ID- Flags
--description <value>— Event description--end <value>— End time (ISO 8601)--location <value>— Event location--start <value>— Start time (ISO 8601)--title <value>— Event title
代碼
代碼工具。
9 個指令
sift code blame查看檔案嘅 Git blame
- Arguments
filerequired — Relative file path- Flags
--root <value>— Repository root path
sift code expertise更新儲存庫嘅開發者專長索引
- Arguments
reporequired — Repository ID
sift code history攞儲存庫嘅 commit 歷史
- Arguments
reporequired — Repository ID- Flags
--limit <value>— Maximum number of results--path <value>— Filter by file path
sift code link將任務連結到代碼(檔案、commit 或儲存庫)
- Arguments
task-idrequired — Task ID- Flags
--commit <value>— Commit SHA--file <value>— File path--notes <value>— Notes about the link--repo <value>— Repository ID
sift code memory delete刪除已儲存嘅代碼庫資訊
- Arguments
idrequired — Memory ID- Flags
-y, --yes— Skip confirmation
sift code memory list列出已儲存嘅代碼庫資訊
- Flags
--limit <value>— Maximum number of results--repo <value>— Repository ID
sift code memory search搜尋已儲存嘅代碼庫資料
- Arguments
queryrequired — Search query- Flags
--category <architecture|integration|convention|entrypoint|gotcha|ownership>— Filter by category--limit <value>— Maximum number of results--repo <value>— Repository ID
sift code memory store儲存代碼庫資料
- Flags
--category <architecture|integration|convention|entrypoint|gotcha|ownership>— Fact category--fact <value>— Fact to store (1-2 sentences)--file <value>— Related file path--repo <value>— Repository ID
sift code who-knows搵返熟嗰個代碼範疇嘅專家
- Arguments
reporequired — Repository IDarearequired — Path, glob, or symbol- Flags
--limit <value>— Maximum number of results
代碼庫
代碼索引同搜尋。
7 個指令
sift codebase delete刪除儲存庫同埋所有已索引嘅數據
- Arguments
idrequired — Repository ID- Flags
-y, --yes— Skip confirmation
sift codebase incremental根據 git 識別到嘅變更檔案,進行增量索引
- Arguments
idrequired — Repository ID- Flags
--exclude <value>— Comma-separated exclude glob patterns--include <value>— Comma-separated include glob patterns--path <value>— Absolute path to repository root
sift codebase list列出已索引嘅儲存庫
sift codebase register註冊代碼庫嚟進行索引
- Flags
--auto-index— Enable automatic indexing--name <value>— Repository name--path <value>— Absolute path to repository root--project <value>— Project ID to associate
sift codebase search語義代碼搜尋
- Arguments
queryrequired — Search query- Flags
--language <value>— Filter by language--limit <value>— Maximum number of results--project <value>— Project ID--repo <value>— Repository ID--symbol-type <function|class|interface|type|export|impl>— Filter by symbol type
sift codebase snapshot攞返儲存庫最新嘅索引快照
- Arguments
idrequired — Repository ID- Flags
--branch <value>— Filter by branch--materialize— Generate a download URL for the snapshot
sift codebase status檢查儲存庫嘅索引狀態
- Arguments
idrequired — Repository ID
Codex
Codex 自動化輔助工具。
1 個指令
sift codex daily-review collect收集唯讀嘅 Siftable 同埋本地 git 上下文,用嚟做 Codex 每日工作回顧
- Flags
--calendar-days <value>— Calendar lookahead days--limit <value>— Maximum records per source--skip-git— Skip local git summary
數據集
結構化數據集。
41 個指令
sift datasets add新增紀錄到數據集
- Arguments
idrequired — Dataset ID- Flags
--record <value>— Record as JSON object, e.g. '{"name":"Alice","age":"30"}'--records <value>— Multiple records as JSON array
sift datasets aggregate用分組指標(數量、平均值、總和、最小值、最大值、中位數、標準差、百分位數、比例)嚟聚合數據集紀錄
- Arguments
idrequired — Dataset ID- Flags
--filters <value>— JSON array of filters--group-by <value>— Comma-separated field names to group by--having <value>— JSON array of having clauses [{metric, operator, value}]--limit <value>— Max rows--metrics <value>— JSON array of metrics [{operation, field, as}]--sorts <value>— JSON array of sorts
sift datasets analyze為數據集生成有根據嘅自然語言分析
- Arguments
idrequired — Dataset ID- Flags
--filters <value>— JSON array of filters--focus-fields <value>— Comma-separated field names to focus analysis on--max-insights <value>— Max insights to generate--mode <descriptive|operational>— Analysis mode--signal-limit <value>— Max decision signals to return
sift datasets apply-diff套用儲存咗嘅數據集 diff 計劃
- Arguments
planrequired — Path to a local diff plan or persisted diff plan ID- Flags
--yes— Confirm applying the saved diff plan without prompting
sift datasets archive封存數據集,但唔會刪除佢嘅實體表
- Arguments
idrequired — Dataset ID- Flags
-y, --yes— Confirm dataset archival without prompting
sift datasets bucket將數字或日期欄位分做唔同範圍,並計算每個範圍嘅聚合指標
- Arguments
idrequired — Dataset ID- Flags
--boundaries <value>— Comma-separated boundary values (omit for auto-bucketing)--bucket-count <value>— Number of auto-buckets (default: 5)--field <value>— Field to bucket--filters <value>— JSON array of filters--metrics <value>— JSON array of metrics
sift datasets cleanup針對有生命週期標籤嘅臨時數據集,計劃或執行清理
- Flags
--dry-run— Return a deterministic cleanup plan without deleting datasets--lifecycle <value>— Lifecycle kind to clean, e.g. scratch, benchmark, research-run--limit <value>— Maximum lifecycle datasets to inspect--now <value>— Deterministic timestamp for tests and scheduled cleanup--older-than <value>— Only include datasets older than this duration, e.g. 12h, 7d--orphaned— Include stale dataset notes that no longer have a backing dataset row--tag <value>— Lifecycle tag to clean, e.g. benchmark-y, --yes— Confirm deletion when applying cleanup with --no-dry-run
sift datasets compare並排比較分類欄位入面唔同部分嘅指標
- Arguments
idrequired — Dataset ID- Flags
--filters <value>— JSON array of filters--limit <value>— Max segment values to compare--metrics <value>— JSON array of metrics--segment-field <value>— Categorical field to segment by--segment-values <value>— Comma-separated segment values (auto-discovers if omitted)
sift datasets compute根據數據集或者之前嘅衍生結果,計算出衍生欄位
- Arguments
id— Dataset ID- Flags
--computed-fields <value>— JSON array of computed fields, e.g. '[{"as":"spread","expression":"right.Close-left.Close"}]'--filters <value>— JSON array of filters--limit <value>— Maximum rows--order-by <value>— JSON array of order clauses--select <value>— Comma-separated fields to include--sorts <value>— JSON array of output sorts--source-result <value>— Inline JSON for a prior derived result--source-result-file <value>— Path to a JSON file containing a prior derived result
sift datasets contract顯示 agent 睇得明嘅數據集 schema 同功能合約
- Arguments
idrequired — Dataset ID- Flags
--resolve <value>— Comma-separated semantic field references to resolve--template <value>— Validate contract against a built-in template
sift datasets create建立數據集
- Flags
--description <value>— Dataset description--fields <value>— Field definitions as JSON array, e.g. '[{"name":"age","type":"number"}]'--lifecycle <value>— Lifecycle kind for generated datasets, e.g. scratch, benchmark, research-run--metadata <value>— Dataset metadata as JSON object--note-id <value>— Link to an existing note--run-id <value>— Lifecycle run identifier--scratch— Shortcut for --lifecycle scratch --tags scratch--tags <value>— Comma-separated lifecycle tags--title <value>— Dataset title--ttl <value>— Lifecycle TTL duration, e.g. 12h, 7d, 30d
sift datasets dedupe喺唔改動數據嘅情況下,透過 key 搵出重複嘅資料集紀錄
- Arguments
idrequired — Dataset ID- Flags
--key <value>— Field name used to group duplicates--limit <value>— Maximum records to scan in one bounded pass
sift datasets delete永久刪除資料集同埋佢嘅實體表
- Arguments
idrequired — Dataset ID- Flags
-y, --yes— Confirm dataset deletion without prompting
sift datasets delete-record喺資料集刪除一條紀錄
- Arguments
idrequired — Dataset IDrecord-idrequired — Record ID- Flags
-y, --yes— Skip confirmation
sift datasets diff預覽 CSV、JSON 或 JSONL 檔案嘅資料集行數變更
- Arguments
idrequired — Dataset ID- Flags
--batch-size <value>— Records per backend batch--from-file <value>— Path to CSV, JSON, or JSONL rows to compare--persist— Persist the diff plan in Siftable for later review/apply--save-plan <value>— Write an applyable diff plan JSON file--template <sources|people|events|claims|evidence_sources|evidence_source_fragments|evidence_claims|evidence_people|evidence_organizations|evidence_places|evidence_artifacts|evidence_events|evidence_relationships|evidence_contradictions>— Built-in template name--upsert-by <value>— Field name used to match existing rows
sift datasets diff-plans list列出已儲存嘅資料集差異計劃
- Flags
--dataset-id <value>— Filter by dataset ID--limit <value>— Maximum plans to return--status <draft|validated|applied|rejected|expired>— Filter by plan status
sift datasets diff-plans show顯示已儲存嘅資料集差異計劃
- Arguments
idrequired — Diff plan ID
sift datasets export將特定範圍嘅資料集紀錄匯出成 CSV、JSON、JSONL 或 Markdown
- Arguments
idrequired — Dataset ID- Flags
--filters <value>— JSON array of filters--format <csv|json|jsonl|markdown>— Export format--limit <value>— Max rows to export-o, --output <value>— Output file path (writes to stdout if omitted)--sorts <value>— JSON array of sorts
sift datasets facets顯示資料集欄位嘅特定範圍分面摘要
- Arguments
idrequired — Dataset ID- Flags
--fields <value>— Comma-separated field names to facet--limit <value>— Maximum values per facet
sift datasets formula-plan計算公式欄位,並預覽可供審核嘅資料集更新
- Arguments
idrequired — Dataset ID- Flags
--computed-fields <value>— JSON array of computed fields, e.g. '[{"as":"score","expression":"confidence * reliability"}]'--filters <value>— JSON array of filters for compute source--limit <value>— Maximum rows to compute and plan--order-by <value>— JSON array of order clauses--save-plan <value>— Write an applyable diff plan JSON file--select <value>— Comma-separated fields to include in compute source--sorts <value>— JSON array of output sorts--target-fields <value>— Comma-separated computed field names to write; defaults to every computed field alias--template <sources|people|events|claims>— Built-in template name for validation--upsert-by <value>— Field used to match rows for update
sift datasets get獲取資料集詳情同埋 schema
- Arguments
idrequired — Dataset ID
sift datasets impact解釋數據集公式、圖表、視圖、品質同埋實體化嘅影響
- Arguments
idrequired — Dataset ID- Flags
--from-plan <value>— Persisted diff plan ID to inspect--operation <value>— Committed dataset operation ID to inspect
sift datasets import將 CSV、JSON 或者 JSONL 嘅資料行匯入去新或者現有嘅數據集
- Arguments
filerequired — Path to CSV, JSON, or JSONL file- Flags
--batch-size <value>— Records per backend batch--dataset-id <value>— Import into existing dataset instead of creating a new one--description <value>— Dataset description--dry-run— Validate and plan the import without writing--lifecycle <value>— Lifecycle kind for generated datasets, e.g. scratch, benchmark, research-run--metadata <value>— Dataset metadata as JSON object when creating a new dataset--run-id <value>— Lifecycle run identifier--scratch— Shortcut for --lifecycle scratch --tags scratch--tags <value>— Comma-separated lifecycle tags--template <sources|people|events|claims|evidence_sources|evidence_source_fragments|evidence_claims|evidence_people|evidence_organizations|evidence_places|evidence_artifacts|evidence_events|evidence_relationships|evidence_contradictions>— Built-in template name--title <value>— Dataset title (defaults to filename)--ttl <value>— Lifecycle TTL duration, e.g. 12h, 7d, 30d--upsert-by <value>— Field name used to update matching rows instead of creating duplicates--yes— Confirm mutating imports without prompting
sift datasets join用 left.Close 同 right.Close 呢類別名範圍欄位,將數據集連接返自己
- Arguments
idrequired — Dataset ID- Flags
--join-keys <value>— JSON array of join keys, e.g. '[{"leftField":"Date","rightField":"Date"}]'--join-type <inner|left|right>— Join type--left-alias <value>— Left alias--left-filters <value>— JSON array of left-side filters--limit <value>— Maximum joined rows--right-alias <value>— Right alias--right-filters <value>— JSON array of right-side filters--select <value>— Comma-separated alias-scoped fields to return--sorts <value>— JSON array of sorts
sift datasets list列出數據集
- Flags
--limit <value>— Maximum number of results
sift datasets lookup透過精確鍵值配對嚟查找數據集紀錄
- Arguments
idrequired — Dataset ID- Flags
--key <value>— Field name to match--limit <value>— Maximum matching records--value <value>— Exact value to match
sift datasets materialize將衍生結果實體化做一個新嘅臨時數據集
- Flags
--description <value>— Dataset description--source-result <value>— Inline JSON for a derived result--source-result-file <value>— Path to a JSON file containing a derived result--title <value>— Title of the new dataset
sift datasets pivot根據分組數據集指標建立樞紐分析式摘要
- Arguments
idrequired — Dataset ID- Flags
--cols <value>— Column field--filters <value>— JSON array of filters--limit <value>— Maximum grouped cells to request--metrics <value>— JSON metrics array; defaults to count--rows <value>— Row field
sift datasets plot驗證同埋標準化嚟自衍生結果嘅輕量化圖表數據
- Flags
--chart-type <line|bar|scatter>— Chart type--series-field <value>— Optional series field--source-result <value>— Inline JSON for a derived result--source-result-file <value>— Path to a JSON file containing a derived result--x-field <value>— X-axis field--y-fields <value>— Comma-separated Y-axis fields
sift datasets profile顯示數據集嘅受限分析資訊
- Arguments
idrequired — Dataset ID- Flags
--sample-limit <value>— Number of sample rows to include
sift datasets query查詢數據集入面嘅紀錄
- Arguments
idrequired — Dataset ID- Flags
--cursor <value>— Pagination cursor from previous query--filters <value>— Filter conditions as JSON array, e.g. '[{"field":"status","value":"active"}]'--include-deleted— Include soft-deleted records--limit <value>— Maximum number of records--sorts <value>— Sort spec as JSON array, e.g. '[{"field":"name","direction":"asc"}]'
sift datasets rank根據排序或者加權數字公式幫數據集紀錄排名
- Arguments
idrequired — Dataset ID- Flags
--filters <value>— JSON array of filters--formula <value>— JSON formula object {weights: [{field, weight}]}--limit <value>— Max rows--sorts <value>— JSON array of sorts
sift datasets reconcile根據 key 比較兩個數據集,唔會改動任何一邊
- Arguments
leftrequired — Left dataset IDrightrequired — Right dataset ID- Flags
--left-key <value>— Left dataset key field--limit <value>— Maximum rows to scan from each dataset--right-key <value>— Right dataset key field; defaults to --left-key
sift datasets schema修改數據集 schema(新增、更新或者刪除欄位)
- Arguments
idrequired — Dataset ID- Flags
--field <value>— Field definition as JSON, e.g. '{"name":"email","type":"text"}'--field-id <value>— Field ID (required for update/delete)--operation <add_field|update_field|delete_field>— Schema operation
sift datasets search喺指定嘅文字欄位入面搜尋數據集紀錄
- Arguments
idrequired — Dataset IDqueryrequired — Search text- Flags
--fields <value>— Comma-separated fields to search; defaults to profile columns--filters <value>— JSON array of base filters applied to every field search--limit <value>— Maximum merged records--per-field-limit <value>— Maximum records to request per searched field
sift datasets summarize攞數據集摘要(行數、欄位、樣本行)
- Arguments
idrequired — Dataset ID
sift datasets templates list列出內置數據集範本
sift datasets templates show顯示內置數據集範本嘅 schema
- Arguments
templaterequired — Template name
sift datasets timeseries用 lag、pct_change、rolling windows、drawdown、volatility 同 correlation 嚟分析數據集時間序列
- Arguments
idrequired — Dataset ID- Flags
--date-field <value>— Date field name--filters <value>— JSON array of filters--limit <value>— Maximum output rows--metrics <value>— JSON array of metric definitions--order-direction <asc|desc>— Time ordering--pivot— Emit explicit pivoted output--segment-field <value>— Optional segment field--segment-values <value>— Comma-separated segment values--transforms <value>— JSON array of transform definitions
sift datasets update-record更新數據集入面嘅紀錄
- Arguments
idrequired — Dataset IDrecord-idrequired — Record ID- Flags
--fields <value>— Field updates as JSON object, e.g. '{"status":"done"}'
sift datasets validate用內置範本嚟驗證數據集
- Arguments
idrequired — Dataset ID- Flags
--template <sources|people|events|claims|evidence_sources|evidence_source_fragments|evidence_claims|evidence_people|evidence_organizations|evidence_places|evidence_artifacts|evidence_events|evidence_relationships|evidence_contradictions>— Built-in template name
文件
上傳文件。
1 個指令
sift documents upload將文件(PDF、Markdown 或者純文字)上傳做筆記
- Arguments
filerequired — Path to file- Flags
--project <value>— Project ID--title <value>— Note title (defaults to filename)--type <note|concept|meeting|reference|daily|dataset>— Note type
事件
由時間線事實支持嘅研究事件。
3 個指令
sift events attach-person將參與者加落去現有嘅研究事件入面
- Arguments
eventrequired — Existing temporal fact IDpersonrequired — Person UUID to attach- Flags
--role <value>— Participant role--yes— Confirm participant attachment without prompting
sift events create建立一個有參與者嘅研究事件時間線事實
- Flags
--body <value>— Event notes/body--confidence <low|medium|high>— Confidence level--entity <value>— Participant/entity as type:uuid or type:uuid:role; repeatable--org <value>— Organization UUID participant; repeatable--person <value>— Person UUID participant; repeatable--precision <millisecond|minute|hour|day|month|year|decade|century|millennium|mega_year|era>— Temporal precision--source <value>— Source entity as type:uuid or type:uuid:role; repeatable--source-label <value>— Source/provenance label--source-note <value>— Source/provenance note--source-url <value>— Source/provenance URL--timestamp <value>— ISO timestamp--title <value>— Event title--visibility <org_public|private|restricted>— Timeline visibility--year <value>— Historical year CE--year-end <value>— Historical end year CE
sift events list列出研究事件時間線嘅事實資料
- Flags
--cursor <value>— Pagination cursor--end <value>— End boundary--entity <value>— Filter by entity ref type:uuid--limit <value>— Maximum events--order <asc|desc>— Sort order--person <value>— Filter by person UUID--q <value>— Text search query--start <value>— Start boundary
證據
Evidence Graph 設定同埋證明工作流編排。
11 個指令
sift evidence diff apply套用已審核嘅 Evidence Graph 差異計劃
- Arguments
idrequired — Persisted diff plan ID- Flags
--yes— Confirm applying the reviewed diff plan without prompting
sift evidence diff impact解釋已儲存差異計劃對 Evidence Graph 嘅影響
- Arguments
idrequired — Persisted diff plan ID, or local when using --from-file- Flags
--from-file <value>— Local diff plan JSON file to explain without API access
sift evidence diff list列出已儲存嘅 Evidence Graph 差異計劃
- Flags
--dataset-id <value>— Filter by evidence dataset ID--limit <value>— Maximum plans to return--project <value>— Filter locally by Evidence Graph project ID when present on plans--status <draft|validated|applied|rejected|expired>— Filter by plan status
sift evidence diff show顯示 Evidence Graph 差異計劃同埋具備領域知識嘅摘要
- Arguments
idrequired — Persisted diff plan ID
sift evidence extract建立唔使套用嘅 Agent 工作,用嚟提取 Evidence Graph 候選資料
- Flags
--agent <value>— Assigned agent alias--context <value>— Additional input context JSON object--context-file <value>— Additional input context JSON file--dry-run— Preview work item payload without writing--no-apply— Keep extraction in proposed/diff-first mode--pack <company-origin|family-history|investigation|compliance-evidence|account-history|codebase-history>— Evidence workflow pack--project <value>— Project ID--source-dataset <value>— Evidence sources dataset ID--targets <value>— Comma-separated extraction targets--yes— Confirm work item creation without prompting
sift evidence init建立 Evidence Graph 項目同埋以數據集為基礎嘅工作表
- Arguments
namerequired — Evidence Graph project name- Flags
--dry-run— Preview project/dataset creation without writing--pack <company-origin|family-history|investigation|compliance-evidence|account-history|codebase-history>— Evidence workflow pack--yes— Confirm creation without prompting
sift evidence plan喺寫入受信任狀態之前,先計劃 Evidence Graph 工作流
- Arguments
goalrequired — Evidence Graph goal- Flags
--pack <company-origin|family-history|investigation|compliance-evidence|account-history|codebase-history>— Evidence workflow pack--project <value>— Existing project ID--source-dataset <value>— Existing evidence sources dataset ID
sift evidence project試行 Evidence Graph 時間線同埋關係投影
- Flags
--dry-run— Preview projection without writing--from-file <value>— Local diff plan JSON file to project from without API access--from-plan <value>— Persisted diff plan ID to project from--pack <company-origin|family-history|investigation|compliance-evidence|account-history|codebase-history>— Evidence workflow pack--project <value>— Evidence Graph project ID
sift evidence proof report由數據集支援嘅證據包生成 Evidence Graph 證明報告
- Flags
--format <json|markdown>— Report format--from-file <value>— Evidence packet JSON file to report on--project <value>— Evidence Graph project ID for report metadata
sift evidence sources import將 Evidence Graph 來源分類帳嘅資料行匯入數據集支援嘅來源表
- Arguments
filerequired — Path to CSV, JSON, or JSONL source ledger rows- Flags
--batch-size <value>— Records per backend batch--dataset-id <value>— Evidence sources dataset ID--dry-run— Validate and plan source import without writing--upsert-by <value>— Field name used to update matching source rows--yes— Confirm mutating imports without prompting
sift evidence verify驗證 Evidence Graph 嘅出處、評論、投影同埋引用不變量
- Flags
--from-file <value>— Evidence packet JSON file to verify--project <value>— Evidence Graph project ID for report metadata
圖譜
實體圖搜尋同鄰近節點。
5 個指令
sift graph between解釋兩個實體之間嘅有界圖路徑
- Arguments
sourcerequired — Source entity reference as type:uuidtargetrequired — Target entity reference as type:uuid- Flags
--depth <value>— Maximum path depth, backend clamps to 1-5--frontier-limit <value>— Maximum links to inspect per path expansion, backend clamps to 1-1000
sift graph explain解釋兩個實體之間嘅有界圖路徑
- Arguments
sourcerequired — Source entity reference as type:uuidtargetrequired — Target entity reference as type:uuid- Flags
--depth <value>— Maximum path depth, backend clamps to 1-5--frontier-limit <value>— Maximum links to inspect per path expansion, backend clamps to 1-1000
sift graph neighbors顯示某個實體喺圖入面嘅鄰近節點
- Arguments
entityrequired — Entity reference as type:uuid- Flags
--depth <value>— Graph depth, backend clamps to 1-3--limit <value>— Maximum graph items, backend clamps to 1-200
sift graph preview預覽單個圖譜實體
- Arguments
entityrequired — Entity reference as type:uuid
sift graph search搜尋可用嚟連結嘅圖譜實體
- Arguments
queryrequired — Search query- Flags
--limit <value>— Maximum results--types <value>— Comma-separated entity types
筆記
知識庫筆記。
7 個指令
sift notes bulk-delete預覽或者批量刪除筆記
- Flags
--archived— Filter by archived state--confirm— Execute deletion instead of preview--ids <value>— Comma-separated note IDs--title-contains <value>— Title substring filter--title-equals <value>— Exact title filter--title-starts-with <value>— Title prefix filter--type <note|concept|meeting|reference|daily|dataset>
sift notes create建立筆記
- Flags
--content <value>— Note content (markdown)--metadata <value>— Note metadata as JSON--metadata-file <value>— Read note metadata JSON from a file--project <value>— Project ID--title <value>— Note title--type <note|concept|meeting|reference|daily|dataset>— Note type
sift notes delete刪除筆記
- Arguments
idrequired — Note ID- Flags
-y, --yes— Skip confirmation
sift notes get獲取筆記完整內容
- Arguments
idrequired — Note ID
sift notes list列出筆記
- Flags
--archived— Filter by archived state--limit <value>— Maximum number of results--project <value>— Filter by project ID--title-contains <value>— Title substring filter--title-equals <value>— Exact title filter--title-starts-with <value>— Title prefix filter--type <note|concept|meeting|reference|daily|dataset>— Filter by note type
sift notes search搜尋筆記
- Arguments
queryrequired — Search query- Flags
--limit <value>— Maximum number of results--project <value>— Filter by project ID
sift notes update更新筆記
- Arguments
idrequired — Note ID- Flags
--content <value>— Note content (markdown)--metadata <value>— Replace note metadata with this JSON object--metadata-file <value>— Read replacement note metadata JSON from a file--title <value>— Note title--type <note|concept|meeting|reference|daily|dataset>— Note type
組織
組織同埋公司。
5 個指令
sift organizations bulk-delete預覽或批量刪除組織
- Flags
--confirm— Execute deletion instead of preview--contains <value>— Name substring filter--equals <value>— Exact name filter--ids <value>— Comma-separated organization IDs--relationship <value>— Filter by relationship status--starts-with <value>— Name prefix filter--type <value>— Filter by organization type
sift organizations create建立組織
- Flags
--domain <value>— Domain (e.g. acme.com)--industry <value>— Industry--linkedin-url <value>— LinkedIn page URL--location <value>— Location--name <value>— Organization name--notes <value>— Notes--relationship-status <value>— Relationship status (e.g. prospect, customer, partner, vendor)--type <value>— Organization type (e.g. company, nonprofit, government, school)--website <value>— Website URL
sift organizations delete刪除組織
- Arguments
idrequired — Organization ID- Flags
-y, --yes— Skip confirmation
sift organizations search搜尋組織
- Arguments
query— Optional fuzzy search query- Flags
--contains <value>— Name substring filter--equals <value>— Exact name filter--limit <value>— Maximum number of results--relationship <value>— Filter by relationship status--starts-with <value>— Name prefix filter--type <value>— Filter by organization type
sift organizations update更新組織
- Arguments
idrequired — Organization ID- Flags
--domain <value>— Domain (e.g. acme.com)--industry <value>— Industry--linkedin-url <value>— LinkedIn page URL--location <value>— Location--name <value>— Organization name--notes <value>— Notes--relationship-status <value>— Relationship status--type <value>— Organization type--website <value>— Website URL
人脈
人物同聯絡人。
11 個指令
sift people bulk-delete預覽或者批量刪除聯絡人
- Flags
--confirm— Execute deletion instead of preview--contains <value>— Name substring filter--equals <value>— Exact name filter--has-no-email— Only contacts without an email--ids <value>— Comma-separated person IDs--relationship <value>— Filter by relationshipToUser--starts-with <value>— Name prefix filter
sift people create建立聯絡人
- Flags
--birth-year <value>— Birth year--birthday <value>— Birthday (YYYY-MM-DD)--company <value>— Company name (auto-links to organization if exists)--email <value>— Email address--estimated-age <value>— Estimated age--job-title <value>— Job title--linkedin-url <value>— LinkedIn profile URL--location <value>— Location--mbti <value>— MBTI type (e.g. INTJ, ENFP)--name <value>— Full name--notes <value>— Notes about this person--phone <value>— Phone number--relationship <value>— Relationship to user (e.g. friend, colleague, client, mentor)--website <value>— Personal website
sift people delete刪除聯絡人
- Arguments
idrequired — Person ID- Flags
-y, --yes— Skip confirmation
sift people get獲取個人檔案,包括特徵同關係
- Arguments
idrequired — Person ID
sift people graph顯示以人為中心嘅關係圖
- Arguments
idrequired — Person ID- Flags
--depth <value>— Relationship graph depth--include-inactive— Include inactive relationship edges
sift people kinship解釋兩個人之間嘅親屬關係或者關係距離
- Arguments
egoPersonIdrequired — Ego/source person IDtargetPersonIdrequired — Target person ID- Flags
--max-depth <value>— Maximum relationship depth
sift people list列出聯絡人
- Flags
--contains <value>— Name substring filter--equals <value>— Exact name filter--has-no-email— Only contacts without an email--limit <value>— Maximum number of results--relationship <value>— Filter by relationshipToUser--starts-with <value>— Name prefix filter
sift people relate建立或者更新兩個人之間嘅關係
- Arguments
personAIdrequired — First person IDpersonBIdrequired — Second person ID- Flags
--dry-run— Preview the relationship payload without writing--notes <value>— Relationship notes--type <value>— Relationship type, e.g. colleague, sibling, spouse, collaborator-y, --yes— Apply without prompting
sift people search搜尋聯絡人
- Arguments
queryrequired — Search query- Flags
--contains <value>— Name substring filter--equals <value>— Exact name filter--has-no-email— Only contacts without an email--limit <value>— Maximum number of results--relationship <value>— Filter by relationshipToUser--starts-with <value>— Name prefix filter
sift people timeline列出同某人有關嘅時間線紀錄
- Arguments
idrequired — Person ID- Flags
--limit <value>— Maximum facts to return--order <asc|desc>— Sort order--role <value>— Filter by entity role, comma-separated
sift people update更新聯絡人
- Arguments
idrequired — Person ID- Flags
--birth-year <value>— Birth year--birthday <value>— Birthday (YYYY-MM-DD)--company <value>— Company name--email <value>— Email address--estimated-age <value>— Estimated age--job-title <value>— Job title--linkedin-url <value>— LinkedIn profile URL--location <value>— Location--mbti <value>— MBTI type (e.g. INTJ, ENFP)--name <value>— Full name--notes <value>— Notes about this person--phone <value>— Phone number--relationship <value>— Relationship to user--website <value>— Personal website
項目
項目管理。
7 個指令
sift projects archive封存項目
- Arguments
idrequired — Project ID- Flags
-y, --yes— Skip confirmation
sift projects context獲取項目背景資訊(任務、筆記、訊號)
- Arguments
idrequired — Project ID
sift projects create建立項目
- Flags
--emoji <value>— Single emoji--name <value>— Project name--status <planning|active|on_hold|blocked|completed>— Project status--summary <value>— Project summary
sift projects list列出項目
- Flags
--include-archived— Include archived projects--status <planning|active|on_hold|blocked|completed>— Filter by status
sift projects planning獲取項目嘅標準 CSN 計劃快照
- Arguments
idrequired — Project ID
sift projects planning-recompute重新計算項目嘅標準 CSN 計劃快照
- Arguments
idrequired — Project ID
sift projects update更新項目
- Arguments
idrequired — Project ID- Flags
--emoji <value>— Single emoji--name <value>— Project name--status <planning|active|on_hold|blocked|completed>— Project status--summary <value>— Project summary
食譜
內置嘅研究工作流食譜。
2 個指令
sift recipes list列出內置嘅研究工作流食譜
sift recipes show顯示內置嘅研究工作流食譜
- Arguments
idrequired — Recipe ID
研究
研究工作流嘅計劃同編排。
4 個指令
sift research init建立研究項目同埋標準數據集
- Arguments
namerequired — Research project name- Flags
--dry-run— Preview project/dataset creation without writing--template <historical-research>— Research template--yes— Confirm creation without prompting
sift research plan喺寫入數據之前,先計劃好確定性嘅研究工作流
- Arguments
goalrequired — Research goal- Flags
--project <value>— Existing project ID--source-dataset <value>— Existing sources dataset ID
sift research run為研究方案建立確定性嘅 agent 工作
- Arguments
reciperequired — Research run recipe- Flags
--agent <value>— Assigned agent alias--context <value>— Additional input context JSON object--context-file <value>— Additional input context JSON file--dry-run— Preview work item payload without writing--project <value>— Project ID--source-dataset <value>— Source dataset ID--yes— Confirm work item creation without prompting
sift research status檢查研究項目嘅 context 同埋 CLI 準備狀況
- Arguments
project— Project ID
技能
可以安裝嘅 Siftable skillpack。
2 個指令
sift skills install將 Siftable skillpack 安裝到本地嘅 skills 目錄
- Arguments
idrequired — Skillpack ID- Flags
--force— Replace an existing installed skill--target <value>— Installed skills directory-y, --yes— Confirm replacing an existing skill
sift skills list列出可以安裝嘅 Siftable skillpack
任務
人類計劃任務。
11 個指令
sift tasks bulk-delete預覽或者批量刪除任務
- Flags
--confirm— Execute deletion instead of preview--done— Filter by completed state--ids <value>— Comma-separated task IDs--phase <draft|open|in_flight|review|blocked|done|cancelled>--title-contains <value>— Title substring filter--title-equals <value>— Exact title filter--title-starts-with <value>— Title prefix filter--when <now|today|soon|later>
sift tasks complete將任務標記為已完成
- Arguments
idrequired — Task ID
sift tasks coupling-create喺同一個項目入面嘅任務之間建立 CSN coupling edge
- Arguments
idrequired — Source task IDtargetrequired — Target task ID- Flags
--note <value>— Optional note--strength <value>— Coupling strength (0-1)--type <info|resource>— Coupling type
sift tasks coupling-delete喺任務度刪除 CSN coupling edge
- Arguments
idrequired — Task IDedgeIdrequired — Coupling edge ID- Flags
-y, --yes— Skip confirmation
sift tasks coupling-list列出任務嘅 CSN 耦合邊緣
- Arguments
idrequired — Task ID
sift tasks create建立人類計劃任務
- Flags
--acceptance-criteria <value>— Acceptance criteria (semicolon-separated text, e.g. "tests pass; docs updated")--description <value>— Task description--due <value>— Due date (ISO 8601)--effort <trivial|small|medium|large|epic|unknown>— Effort estimate--phase <draft|open|in_flight|review|blocked|done|cancelled>— Lifecycle phase--priority <do_now|schedule|delegate|someday>— Priority level--project <value>— Project ID--scope <value>— Scope boundaries (JSON object with include/exclude arrays)--title <value>— Task title
sift tasks delete刪除任務
- Arguments
idrequired — Task ID- Flags
-y, --yes— Skip confirmation
sift tasks get獲取人類計劃任務詳情
- Arguments
idrequired — Task ID
sift tasks list列出人類計劃任務
- Flags
--effort <trivial|small|medium|large|epic|unknown>— Filter by effort--limit <value>— Maximum number of results--phase <draft|open|in_flight|review|blocked|done|cancelled>— Filter by phase--project <value>— Filter by project ID--status <inbox|next_action|in_progress|waiting_for|completed|archived>— Filter by status--title-contains <value>— Title substring filter--title-equals <value>— Exact title filter--title-starts-with <value>— Title prefix filter
sift tasks planning-update更新任務嘅 CSN 計劃欄位
- Arguments
idrequired — Task ID- Flags
--cynefin-confidence <value>— Cynefin confidence (0-1)--cynefin-domain <clear|complicated|complex|chaotic|aporetic>— Cynefin domain--cynefin-rationale <value>— Why this domain fits--cynefin-source <user|assistant|classifier>— Source of the planning classification--duration-model <value>— Duration model JSON, e.g. {"kind":"point","days":2}--reversibility <value>— Reversibility score (0-1)
sift tasks update更新人類計劃任務
- Arguments
idrequired — Task ID- Flags
--acceptance-criteria <value>— Acceptance criteria (semicolon-separated text, e.g. "tests pass; docs updated")--blocked-reason <value>— Reason task is blocked--description <value>— Task description--due <value>— Due date (ISO 8601)--effort <trivial|small|medium|large|epic|unknown>— Effort estimate--phase <draft|open|in_flight|review|blocked|done|cancelled>— Lifecycle phase--priority <do_now|schedule|delegate|someday>— Priority level--project <value>— Project ID--scope <value>— Scope boundaries (JSON object with include/exclude arrays)--status <inbox|next_action|in_progress|waiting_for|completed|archived>— Task status--title <value>— Task title
時間線
時間線事實同敘述。
4 個指令
sift timeline create建立用戶編寫嘅時間線事實
- Flags
--body <value>— Fact body or notes--confidence <low|medium|high>— Confidence level--entity <value>— Participant/entity as type:uuid or type:uuid:role; repeatable--fact-type <value>— Fact type--precision <millisecond|minute|hour|day|month|year|decade|century|millennium|mega_year|era>— Temporal precision--source-label <value>— Source/provenance label--source-note <value>— Source/provenance note--source-url <value>— Source/provenance URL--timestamp <value>— ISO timestamp--title <value>— Fact title--visibility <org_public|private|restricted>— Timeline visibility--year <value>— Historical year CE--year-end <value>— Historical end year CE
sift timeline delete撤回時間線事實
- Arguments
idrequired — Timeline fact ID- Flags
--yes— Confirm retraction without prompting
sift timeline list用範圍過濾器列出時間線事實
- Flags
--cursor <value>— Pagination cursor--end <value>— End boundary, ISO timestamp or supported historical boundary--entity <value>— Entity filter as type:uuid--entity-role <value>— Comma-separated entity roles--fact-types <value>— Comma-separated fact types--limit <value>— Maximum items to return--order <asc|desc>— Sort order--q <value>— Text search query--source-types <value>— Comma-separated source types--start <value>— Start boundary, ISO timestamp or supported historical boundary
sift timeline narrative為時間線事實生成敘述摘要或者解釋
- Flags
--action <summarize|changed_since|led_to|what_next|cross_object>— Narrative action--entity <value>— Entity scope as type:uuid--entity-roles <value>— Comma-separated entity roles--fact-type <value>— Fact type filter--limit <value>— Maximum timeline facts to include--participant <value>— Participant filter as type:uuid--prompt <value>— Question or custom narrative prompt--q <value>— Text query filter--related-entity <value>— Related entity as type:uuid--source-type <value>— Source type filter
保險庫
秘密保險庫。
5 個指令
sift vault create儲存新嘅加密秘密
- Flags
--category <value>— Category--description <value>— Description--name <value>— Secret name--payload <value>— JSON payload to encrypt--slug <value>— Machine-friendly identifier--tags <value>— Comma-separated tags--type <env_var|credential|oauth_token|ssh_key|certificate|note>— Entry type--url <value>— Associated URL
sift vault list列出保險庫紀錄(只限 metadata)
- Flags
--category <value>— Filter by category--limit <value>— Maximum number of results--type <env_var|credential|oauth_token|ssh_key|certificate|note>— Filter by entry type
sift vault readRetired: Vault plaintext reveal is unavailable from the CLI
- Arguments
idrequired — Vault entry ID
sift vault search搜尋保險庫項目
- Arguments
queryrequired — Search query- Flags
--limit <value>— Maximum number of results
sift vault update更新保險庫項目嘅元數據
- Arguments
idrequired — Vault entry ID- Flags
--category <value>— Category--description <value>— Description--name <value>— Entry name--tags <value>— Comma-separated tags--url <value>— Associated URL
工作
執行代理工作隊列。
12 個指令
sift work block將工作項目標示為受阻
- Arguments
idrequired — Work item ID- Flags
--artifacts <value>— Artifact refs JSON array--claim-token <value>— Claim token returned by work claim--lease <value>— Lease seconds--owner <value>— Claim owner identity--reason <value>— Block or failure reason--summary <value>— Result summary--verification-results <value>— Verification evidence JSON array: [{"command","exitCode","output"?}]
sift work cancel取消工作項目
- Arguments
idrequired — Work item ID- Flags
--artifacts <value>— Artifact refs JSON array--claim-token <value>— Claim token returned by work claim--lease <value>— Lease seconds--owner <value>— Claim owner identity--reason <value>— Block or failure reason--summary <value>— Result summary--verification-results <value>— Verification evidence JSON array: [{"command","exitCode","output"?}]
sift work claim領取下一個可用嘅可執行代理工作項目
- Arguments
id— Optional specific work item ID- Flags
--agent <value>— Agent alias to claim for--lease <value>— Lease seconds--owner <value>— Claim owner identity
sift work complete核准並完成可執行代理工作項目
- Arguments
idrequired — Work item ID- Flags
--artifacts <value>— Artifact refs JSON array--claim-token <value>— Claim token returned by work claim--lease <value>— Lease seconds--owner <value>— Claim owner identity--reason <value>— Block or failure reason--summary <value>— Result summary--verification-results <value>— Verification evidence JSON array: [{"command","exitCode","output"?}]
sift work create建立可執行代理工作項目
- Flags
--acceptance-criteria <value>— Acceptance criteria JSON array or semicolon-separated text--agent <value>— Assigned agent alias--allowed-actions <value>— Allowed actions JSON object--context <value>— Input context JSON object--project <value>— Linked project ID--prompt <value>— Agent prompt or instructions--rank <value>— Queue rank--task <value>— Parent human planning task ID--title <value>— Executable work item title--verify <value>— Verification commands separated by semicolons--write-scope <value>— Write scope JSON object
sift work fail將工作項目標記做失敗
- Arguments
idrequired — Work item ID- Flags
--artifacts <value>— Artifact refs JSON array--claim-token <value>— Claim token returned by work claim--lease <value>— Lease seconds--owner <value>— Claim owner identity--reason <value>— Block or failure reason--summary <value>— Result summary--verification-results <value>— Verification evidence JSON array: [{"command","exitCode","output"?}]
sift work get攞執行代理工作項目嘅詳情
- Arguments
idrequired — Work item ID
sift work heartbeat延長工作項目租約
- Arguments
idrequired — Work item ID- Flags
--artifacts <value>— Artifact refs JSON array--claim-token <value>— Claim token returned by work claim--lease <value>— Lease seconds--owner <value>— Claim owner identity--reason <value>— Block or failure reason--summary <value>— Result summary--verification-results <value>— Verification evidence JSON array: [{"command","exitCode","output"?}]
sift work list列出執行代理工作項目
- Flags
--agent <value>— Filter by assigned agent alias--limit <value>— Maximum results--project <value>— Filter by project ID--status <value>— Filter by status--task <value>— Filter by parent human planning task ID
sift work release將攞咗嘅工作項目放返入隊列
- Arguments
idrequired — Work item ID- Flags
--artifacts <value>— Artifact refs JSON array--claim-token <value>— Claim token returned by work claim--lease <value>— Lease seconds--owner <value>— Claim owner identity--reason <value>— Block or failure reason--summary <value>— Result summary--verification-results <value>— Verification evidence JSON array: [{"command","exitCode","output"?}]
sift work review將執行代理工作標記做需要人工審核
- Arguments
idrequired — Work item ID- Flags
--artifacts <value>— Artifact refs JSON array--claim-token <value>— Claim token returned by work claim--lease <value>— Lease seconds--owner <value>— Claim owner identity--reason <value>— Block or failure reason--summary <value>— Result summary--verification-results <value>— Verification evidence JSON array: [{"command","exitCode","output"?}]
sift work start將工作項目標記做執行中
- Arguments
idrequired — Work item ID- Flags
--artifacts <value>— Artifact refs JSON array--claim-token <value>— Claim token returned by work claim--lease <value>— Lease seconds--owner <value>— Claim owner identity--reason <value>— Block or failure reason--summary <value>— Result summary--verification-results <value>— Verification evidence JSON array: [{"command","exitCode","output"?}]
sift work verifyRun the LLM verifier against a work item's acceptance criteria and record a verifier run. Promotion to verified requires passing verification-command evidence plus a verified verdict.
- Arguments
idrequired — Work item ID- Flags
--history— List prior verifier runs instead of running a new one--model <value>— Verifier model override--reps <value>— Repeated evaluations per criterion (1-8, default 3)
Worker
喺本地執行工作嘅 runner。
1 個指令
sift worker run領取可執行工作,執行本地 worker 指令,同埋回報需要審核嘅產出
- Flags
--agent <value>— Agent alias to claim work for--command <value>— Local command to run for the claimed work item--cwd <value>— Fallback working directory for the local command--lease <value>— Lease seconds--owner <value>— Worker owner fingerprint
互動式 Copilot
sift interactive 指令會啟動一個終端機 copilot,可以同你傾偈、執行工具、改 code、開平行 agent 分支、計劃工作,仲可以畫圖 — 全部喺終端機搞掂,直接操作你嘅檔案系統同 Siftable 工作圖譜。
$ sift interactive
要求同啟動
- 需要安裝 Bun。
sift interactive會重新執行 Bun;如果未裝,佢會顯示curl -fsSL https://bun.sh/install | bash。 - 需要身份驗證 — 可以用
--token、SIFT_TOKEN或者sift auth login。 - 「大腦」會喺進程內運行 — 唔使另外啟動 daemon。
- 寫入範圍只限於工作區根目錄 (workspace root) — 即係你啟動目錄入面最近嗰個有
.git嘅資料夾。呢個係/status報告嘅範圍,亦係原生寫入路徑強制執行嘅邊界。
介面
The composer is a full readline-capable text area. Enter submits; Shift+Enter / Ctrl+J insert a newline; submitting while the agent is busy queues your message. !command runs via bash -lc into the transcript (a bare !cd <path> changes the session directory; output clipped to ~4000 chars). Large or structured pastes become a collapsed chip; pasted images are validated, normalized, and attached. ? on an empty composer shows hotkeys.
斜線指令
輸入 / 就可以打開指令選單。隱藏指令仲係可以輸入,但唔會喺選單度出現。
| Command | Group | Description |
|---|---|---|
/help, /hotkeys, /status | Session | Command list, keyboard shortcuts, and current model/scope/queue status |
/cwd [path] | Session | Show or change the working directory (recomputes the workspace root) |
/copy [last|all|explorer] | Session | Copy the latest reply, whole transcript, or latest explorer report to the clipboard |
/clear, /quit | Session | Reset the transcript; exit |
/threads [clear], /compact | Session | Manage the persisted thread; force a context compaction (requires context compaction enabled) |
/model [id] [effort] | Model | Open the model picker or select a model and reasoning effort directly |
/codex [login|on|use|off|logout|status] | Model | Control the Codex (ChatGPT) engine; default subcommand is status |
/key <provider> <key>, /key vault <provider> | Model | Store a provider API key, or hydrate it from Siftable Vault |
/login | Model | Siftable device-code login from inside the TUI |
/explorer | Model | Configure the repo Explorer (context-gathering backend) |
/skills [name] | Skills | List discovered skills, or print one skill's body |
/branches | Branches | Open the parallel-agent branches hub |
/spawn <title> [--rw <globs>|--rw-any|--ro] | Branches | Start a child agent branch in its own git worktree with an access mode |
/merge, /rebase, /sendback, /reject | Branches | Land, replay, resume, or reject a child branch |
/work | Work | Open the work-queue hub (board of agents and items by status) |
/plan [objective | work [--apply] [--after SRC:DST] [--limit N] | view] | Work | Plan from an objective, or compute a precedence DAG over the agent work queue as a Mermaid graph |
/handoff <title> [--agent ..] [--files ..] [--acceptance ..] [--verify ..] | Work | Create a Siftable work item from the current context |
/proof <claim>, /remember <fact> --category <..> | Work | Gather code/test evidence; store durable code memory |
/crew [list|show|new|run], /collab | Crews | Manage and run multi-agent crews; show in-process collaboration sessions |
/mermaid [request|file.mmd|source], /view | Diagrams | Render Mermaid (NL request, file, or source) in the terminal; open the pannable viewer |
/theme, /sounds [on|off] | Appearance | Open the appearance picker; toggle UI sounds |
模型同引擎
The model picker (/model) is two-stage: choose a model, then a reasoning effort (saved to ~/.siftable/prefs.json). The catalog includes GPT-5.6 Sol, Terra, and Luna (ChatGPT plan via the Codex engine — /codex login / /codex on select Sol by default), Claude Opus 4.8 (OpenRouter or direct Anthropic with ANTHROPIC_API_KEY), Claude Sonnet 4.6 / Haiku 4.5, Gemini 3.x Flash / Flash-Lite, GPT-5.4 mini / nano, and Morph v3 Large (apply-only). Codex drives the OpenAI codex app-server sidecar (ChatGPT device-code login). All other providers route through the bundled OpenFunction agent via <PROVIDER>_API_KEY. /key vault <provider> hydrates a key from Siftable Vault behind an approval prompt; the secret is never printed or written to disk.
Repo Explorer
/explorer configures repository context gathering before a turn. Modes: auto, off, deterministic, scout, fanout, warpgrep. Pick a scout model and budget (cheap/normal/deep). warpgrep needs MORPH_API_KEY (auto-hydrated from Vault when available). Settings persist in prefs.json.
技能
系統會喺 <root>/{.sift,.claude,.codex,.agents}/skills、~/.claude|.codex|.agents/skills、~/.config/sift/skills 同埋套件內置嘅路徑搵 SKILL.md 技能(優先次序:項目 > 用戶 > 內置)。Agent 可以透過工具調用技能,系統提示詞入面最多會列出大約 50 個技能。
鍵盤快捷鍵
覆蓋層會優先接收鍵盤輸入,所以快捷鍵係跟唔同模式而定。
- Enter submit (queues if busy) · Shift+Enter/Ctrl+J newline · Tab complete a lone
/foo· ↑/↓ prompt history - Esc abort turn → clear draft → deselect · Ctrl+C abort → clear → deselect → quit (never copies) · Ctrl+D quit on empty draft
- Cmd/Super+A select all · Cmd+C/Ctrl+Shift+C copy selection or latest reply · Ctrl+O Explorer diagnostics · ? hotkeys
- Approval gate: y/Enter allow once · a always · b bypass-all · n/Esc deny
原生加速
影響效能嘅關鍵路徑 (好似係 context 壓縮、長對話記憶、檔案系統掃描、合併編排、圖像處理) 都係經 Bun FFI 載入原生 Zig 模組嚟行,每個模組都有同步嘅 TypeScript fallback。個 package 內置咗 macOS (Apple Silicon) 同 Linux (x64) 嘅預建庫;其他平台會用 fallback。設定 SIFT_NO_NATIVE=1 可以強制用 fallback,而 SIFT_CONTEXT_COMPACTION=1 就可以啟用即時 context-token 計量器,仲有對話持久化同恢復功能。
外觀同音效
/theme 提供 10 款配色方案(預設係 "sieve" — 炭灰色底配暖琥珀色),設定會儲存喺 ~/.siftable/appearance.json。/sounds 可以開關 UI 音效(預設係關閉),設定會儲存喺 ~/.siftable/sounds.json,亦可以用 SIFT_SOUNDS 嚟覆蓋。
The copilot is read-only by default; write/edit tools are scoped to the workspace root and gated by a four-way approval prompt (allow once / always / bypass-all / deny). With nothing listening, requests deny. Auto-approve environment overrides are always scrubbed at launch.
完整指南,包括晒所有斜線指令、快捷鍵、環境變數同埋設定檔:GitHub 上嘅 docs/interactive.md。