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. 获取个人访问令牌
登录 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 使用 Personal Access Token。
设备流(CLI)
运行 exf auth login。CLI 会打开浏览器,你用 Google 登录并批准设备代码。系统会自动生成 PAT,并存储在 ~/.config/exf/ 中,无需复制粘贴令牌。
Personal Access Token(MCP 和 API)
MCP 客户端和程序化访问请在 设置 → API 令牌 中创建令牌,并通过 Authorization 请求头传入:
Authorization: Bearer sift_pat_your_token_here
令牌按具体领域授权(仅任务、仅日历、完全访问等)。CI 流水线可把 EXF_PAT 设为环境变量。
$ sift auth login $ sift auth status $ sift auth logout
令牌作用域和可用的写入操作取决于你的工作区配置和计划。请查看“设置” → “API 令牌”和“定价”,了解你账户的当前限制。
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
代码记忆
存储和检索关于代码库的事实。架构决策、规范、坑点、归属——跨会话持久的知识。
| 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 参数。如果你使用相同的 key 重试请求,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)
可用的写入操作取决于你的令牌作用域和当前工作区计划。在生产环境中依赖写入操作之前,请检查你签发的令牌和当前的定价页面。
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).
所有命令也支持全局标志:--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显示适合智能体的命令主题与工作流入口
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)
智能体
智能体别名。
6 条命令
sift agents create创建智能体别名
- 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禁用智能体别名
- Arguments
aliasrequired — Agent alias or ID
sift agents get获取智能体别名
- Arguments
aliasrequired — Agent alias or ID
sift agents list列出智能体别名
- Flags
--include-disabled— Include disabled aliases
sift agents update更新智能体别名
- 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列出分配给智能体别名的工作
- 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 blameGit blame 文件
- Arguments
filerequired — Relative file path- Flags
--root <value>— Repository root path
sift code expertise刷新代码库的开发者专家索引
- Arguments
reporequired — Repository ID
sift code history获取代码库的提交历史
- Arguments
reporequired — Repository ID- Flags
--limit <value>— Maximum number of results--path <value>— Filter by file path
sift code link将任务关联至代码(文件、提交或代码库)
- 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应用已保存的数据集差异计划
- 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显示智能体可读的数据集模式与能力契约
- 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按键值查找重复记录,不修改数据
- 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获取数据集详情和结构
- 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按键值对比两个数据集,不修改原始数据
- 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修改数据集模式(添加、更新或删除字段)
- 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查看内置数据集模板模式
- Arguments
templaterequired — Template name
sift datasets timeseries分析数据集时间序列(支持滞后、涨跌幅、滚动窗口、回撤、波动率及相关性)
- 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
证据
证据图谱配置与证明工作流编排。
11 个命令
sift evidence diff apply应用已审核的证据图谱差异计划
- Arguments
idrequired — Persisted diff plan ID- Flags
--yes— Confirm applying the reviewed diff plan without prompting
sift evidence diff impact解释已持久化差异计划对证据图谱的影响
- 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列出已持久化的证据图谱差异计划
- 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显示证据图谱差异计划(含领域感知摘要)
- Arguments
idrequired — Persisted diff plan ID
sift evidence extract创建证据图谱候选提取的智能体任务(不执行应用)
- 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创建证据图谱项目及基于数据集的工作表
- 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为研究方案创建确定性的智能体任务
- 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查看研究项目上下文和 CLI 就绪状态
- Arguments
project— Project ID
技能
可安装的 Siftable 技能包。
2 条命令
sift skills install将 Siftable 技能包安装至本地技能目录
- 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 技能包
任务
人工规划任务。
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 耦合边
- 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 耦合边
- 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列出保险库条目(仅元数据)
- 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
本地可执行任务运行器。
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 命令可启动终端助手,支持对话、运行工具、编辑代码、开启并行智能体分支、规划工作及渲染图表 — 全在终端内完成,直接操作你的文件系统和 Siftable 工作图谱。
$ sift interactive
运行要求与启动
- 需要安装 Bun。
sift interactive会重新调用 Bun;若未安装,将输出curl -fsSL https://bun.sh/install | bash。 - 需要身份验证 — 支持
--token、SIFT_TOKEN或sift auth login。 - 大脑在进程内运行 — 无需启动独立的守护进程。
- 写入范围限定在工作区根目录 — 即启动目录向上包含
.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 技能。智能体可通过工具调用技能,系统提示词中最多展示约 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
原生加速
性能关键路径(上下文压缩、长线程记忆、文件系统扫描、合并编排、图像处理)通过 Bun FFI 加载的原生 Zig 模块运行,且均配有同步的 TypeScript 回退方案。本软件包内置 macOS (Apple Silicon) 和 Linux (x64) 的预构建库;其他平台将使用回退方案。设置 SIFT_NO_NATIVE=1 可强制使用回退方案,设置 SIFT_CONTEXT_COMPACTION=1 可启用实时上下文 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。