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분 안에 에이전트를 연결하세요.
1. Personal Access Token 받기
Siftable에 로그인하고, 설정 → API 토큰으로 이동해서 새 토큰을 만드세요. 토큰은 범위 지정 가능 — 어떤 도메인에 접근할지 선택해요.
2. MCP 클라이언트 설정하기
에이전트의 MCP 설정에 Siftable을 추가하세요. 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 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
토큰 범위와 사용 가능한 쓰기 작업은 워크스페이스 구성 및 요금제에 따라 달라집니다. 계정의 현재 한도는 설정 → API 토큰 및 요금제에서 확인하세요.
MCP 연결
Siftable은 MCP에 Server-Sent Events (SSE) 트랜스포트를 사용해요. 엔드포인트:
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 파라미터를 받아요. 같은 키로 요청을 재시도하면 Siftable이 중복 생성 대신 원래 결과를 반환해요.
task_create(
title: "Review PR #247",
priority: "do_now",
idempotencyKey: "agent-run-42-task-pr247"
)
# Safe to retry. Same key = same result.
권한
토큰은 도메인별로 범위가 지정돼요. 캘린더 전용 토큰은 작업이나 사람을 읽을 수 없어요. 에이전트에 필요한 최소 접근 권한으로 토큰 범위를 지정하세요.
사용 가능한 범위:
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 capabilitiesSiftable 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 interactiveSiftable 터미널 코파일럿(sift interactive)을 실행해요. 할 일, 업무, 일정, 프로젝트, 인맥 정보를 파악하는 AI 어시스턴트예요.
sift mermaid터미널에 Mermaid 다이어그램(플로우차트, 시퀀스, 상태, 클래스, ER, C4, 아키텍처, 마인드맵)을 그려요. .mmd 파일이나 표준 입력을 읽어와요.
- 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 loginSiftable 인증을 진행해요.
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저장소 커밋 히스토리 조회
- 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 incrementalgit으로 변경된 파일을 감지해 코드베이스를 증분 인덱싱해요
- 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 collectCodex 일일 업무 리뷰를 위해 읽기 전용 Siftable 및 로컬 git 컨텍스트를 수집해요.
- 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그룹화된 지표(count, avg, sum, min, max, median, stddev, percentile, ratio)로 데이터셋 레코드를 집계해요.
- 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에이전트가 읽을 수 있는 데이터셋 스키마와 기능 규약을 보여줘요
- 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 diffCSV, 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저장된 데이터셋 diff 플랜 목록을 확인해요
- 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저장된 데이터셋 diff 플랜을 확인해요
- 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 importCSV, 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 joinleft.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 timeserieslag, 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
Evidence Graph 설정과 증명 워크플로우를 조율해요.
명령어 11개
sift evidence diff apply검토를 마친 Evidence Graph diff 플랜을 적용해요.
- Arguments
idrequired — Persisted diff plan ID- Flags
--yes— Confirm applying the reviewed diff plan without prompting
sift evidence diff impact저장된 diff 플랜이 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 diff 플랜 목록을 조회해요.
- 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 diff 플랜을 확인해요.
- Arguments
idrequired — Persisted diff plan ID
sift evidence extractEvidence 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 initEvidence 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 projectEvidence 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 importEvidence 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 verifyEvidence 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
Vault
보안 정보 저장소예요
명령어 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 searchVault 항목을 검색해요
- Arguments
queryrequired — Search query- Flags
--limit <value>— Maximum number of results
sift vault updateVault 항목의 메타데이터를 업데이트해요
- 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
대화형 코파일럿
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.
스킬
SKILL.md 스킬은 <root>/{.sift,.claude,.codex,.agents}/skills, ~/.claude|.codex|.agents/skills, ~/.config/sift/skills 및 패키지 내장 스킬에서 순서대로(프로젝트 > 사용자 > 내장) 찾아냅니다. 에이전트는 도구를 사용해 스킬을 실행하며, 시스템 프롬프트에는 최대 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을 설정하세요.
화면 및 소리 설정
/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에서 확인하세요.