Sentio Platform
Build, modify, or troubleshoot Sentio projects across processors, Sentio SQL in Data Studio, alerting, and dashboards. Use for tasks involving @sentio/sdk ha...
Sentio
@sentioxyz
Install
$ openclaw skills install @sentioxyz/sentio-platformsentio-platform
Use npx @sentio/cli@latest for SQL, data queries, alerts, endpoints, and project management.
Setup
- Check login status:
npx @sentio/cli@latest login --status - If not logged in, ask the user for api key and run:
npx @sentio/cli@latest login --api-key <key>
SQL
- Execute:
sentio data sql --project <owner>/<slug> --query "SELECT * FROM transfer LIMIT 10" - Async:
sentio data sql --project <owner>/<slug> --query "..." --async - Fetch async result:
sentio data sql --project <owner>/<slug> --result <execution-id> - Paginate:
sentio data sql --project <owner>/<slug> --cursor <cursor> - From file:
sentio data sql --project <owner>/<slug> --file query.yaml - No cache: add
--no-cache; control TTL with--cache-ttl-secs <s>and--cache-refresh-ttl-secs <s> - Specific processor version:
--version <version>
Data queries
- List events:
sentio data events --project <owner>/<slug> - List metrics:
sentio data metrics --project <owner>/<slug> - Query event:
sentio data query --project <owner>/<slug> --event Transfer --aggr total --group-by timestamp - Query metric:
sentio data query --project <owner>/<slug> --metric burn --aggr avg --filter meta.chain=1 - Query price:
sentio data query --project <owner>/<slug> --price ETH - With functions:
--func 'topk(5)',--func 'delta(1m)' - Time range:
--start <time> --end <time> --step <seconds> - Limit/offset:
--limit <count> --offset <count> - Timezone:
--timezone <tz> - File format docs:
sentio data query --doc
Alerts
- List:
sentio alert list --project <owner>/<slug> - Get:
sentio alert get <rule-id> --project <owner>/<slug> - Create metric:
sentio alert create --project <owner>/<slug> --type METRIC --subject "Burn spike" --metric burn --aggr avg --op '>' --threshold 100 - Create event:
sentio alert create --project <owner>/<slug> --type METRIC --subject "Transfer anomaly" --event Transfer --filter amount>0 --aggr total --func 'delta(1m)' --op '>' --threshold 100 - Create log:
sentio alert create --project <owner>/<slug> --type LOG --subject "Large transfers" --query 'amount:>1000' --op '>' --threshold 0 - Create SQL:
sentio alert create --project <owner>/<slug> --type SQL --subject "Alert" --query 'select timestamp, amount from transfer where amount > 1000' --time-column timestamp --value-column amount --sql-aggr MAX --op '>' --threshold 1000 - From file:
sentio alert create --project <owner>/<slug> --file alert.yaml - Update:
sentio alert update <rule-id> --project <owner>/<slug> --file updated.yaml - Delete:
sentio alert delete <rule-id> --project <owner>/<slug> - Duration/interval:
--for 5m --interval 1m; between condition:--op between --threshold 10 --threshold2 100 - File format docs:
sentio alert create --doc
Endpoints
- Create:
sentio endpoint create --project <owner>/<slug> --query "SELECT * FROM t WHERE amount > \${min}" --args '{"min":"int"}' - List:
sentio endpoint list --project <owner>/<slug> - Get:
sentio endpoint get --project <owner>/<slug> --id <id> - Test:
sentio endpoint test --project <owner>/<slug> --id <id> --args '{"min":1000}' - Delete:
sentio endpoint delete --project <owner>/<slug> --id <id>
Dashboards
- List:
sentio dashboard list --project <owner>/<slug> - Create:
sentio dashboard create --project <owner>/<slug> --title "My Dashboard" - Create from file:
sentio dashboard create --project <owner>/<slug> --file dashboard.json - Export:
sentio dashboard export <dashboardId> --project <owner>/<slug> - Import:
sentio dashboard import <dashboardId> --project <owner>/<slug> --file dashboard.json - Import from stdin:
sentio dashboard import <dashboardId> --project <owner>/<slug> --stdin - Import override layout:
sentio dashboard import <dashboardId> --project <owner>/<slug> --file dashboard.json --override-layouts - Add SQL panel:
sentio dashboard add-panel <dashboardId> --project <owner>/<slug> --panel-name "Top Holders" --type TABLE --sql "SELECT * FROM CoinBalance ORDER BY balance DESC LIMIT 50" - Add event panel:
sentio dashboard add-panel <dashboardId> --project <owner>/<slug> --panel-name "Transfer Count" --type LINE --event Transfer --aggr total - Add metric panel:
sentio dashboard add-panel <dashboardId> --project <owner>/<slug> --panel-name "ETH Price" --type LINE --metric cbETH_price - Panel with filters/groups:
--filter amount>1000 --group-by meta.address --func 'topk(5)' - Panel time range:
--time-range-start -24h --time-range-end now --time-range-step 3600 - Chart types:
TABLE,LINE,BAR,PIE,QUERY_VALUE,AREA,BAR_GAUGE,SCATTER - Event aggr options:
total,unique,AAU,DAU,WAU,MAU - Metric aggr options:
avg,sum,min,max,count
Dashboard import JSON format
When constructing or editing dashboard.json for import, refer to references/openapi.swagger.json for the full schema. Key structure:
{
"dashboardId": "<target-dashboard-id>",
"dashboardJson": {
"name": "My Dashboard",
"panels": {
"<panelId>": {
"id": "<panelId>",
"name": "Panel Name",
"chart": {
"type": "<ChartType>",
"datasourceType": "<DataSourceType>",
"sqlQuery": "SELECT ...", // for SQL panels
"queries": [...], // for metric/event panels
"formulas": [...],
"config": { ... }
}
}
},
"layouts": { ... }
},
"overrideLayouts": false
}
Chart.typevalues:TABLE,LINE,BAR,PIE,QUERY_VALUE,AREA,BAR_GAUGE,SCATTERChart.datasourceType: determines query shape — SQL panels usesqlQuerystring; metric/event panels usequeriesarraypanelsis a map keyed by panel ID; each panel contains achartobjectlayoutscontrols responsive grid placement; omit or setoverrideLayouts: trueto auto-arrange- See
references/openapi.swagger.jsondefinitionsweb_service.Dashboard,web_service.Panel,web_service.Chart,common.Queryfor complete field lists
Project management
- List projects:
sentio project list - Get project:
sentio project get <owner>/<slug> - Create project:
sentio project create --owner <owner> --name <name> --type sentio --visibility private - Delete project:
sentio project delete <owner>/<slug> - Project types:
sentio,subgraph,action
Processor management
- Status:
sentio processor status --project <owner>/<slug> - Source files:
sentio processor source --project <owner>/<slug> - Activate pending version:
sentio processor activate-pending --project <owner>/<slug> - Pause:
sentio processor pause --project <owner>/<slug> --reason "maintenance" -y - Resume:
sentio processor resume --project <owner>/<slug> - Stop:
sentio processor stop --project <owner>/<slug> - Logs:
sentio processor logs --project <owner>/<slug> --limit 100 - Follow logs:
sentio processor logs --project <owner>/<slug> -f - Filter logs:
--log-type execution --level ERROR --query "timeout"
Price
- Get price:
sentio price get --coin ETHor--symbol ETHor--address 0x... --chain 1 - Historical price:
sentio price get --coin ETH --timestamp <unix-ts> - Batch prices:
sentio price batch --file prices.yaml - List supported coins:
sentio price coins - Check latest available prices:
sentio price check-latest
Simulation
- Run transaction simulation:
sentio simulation run --project <owner>/<slug> --file sim.yaml - Run bundle simulation:
sentio simulation run-bundle --project <owner>/<slug> --chain-id <id> --file bundle.yaml - List simulations:
sentio simulation list --project <owner>/<slug> - Get simulation:
sentio simulation get <simulation-id> --project <owner>/<slug> - Get bundles:
sentio simulation bundle --project <owner>/<slug> - Fetch call traces:
sentio simulation trace --project <owner>/<slug>
Notes
- All commands accept
--api-key <key>or use saved credentials fromsentio login. - All commands accept
--token <token>for bearer token auth. - Use
--jsonor--yamlfor machine-readable output. - Use
--project <owner>/<slug>to target a project, or--owner+--nameseparately, or--project-id <id>. - For long SQL queries, use
--asyncthen fetch with--result <id>. - SQL alert queries must include a time column and a numeric value column; use
$startTime/$endTimeplaceholders. references/openapi.swagger.jsoncontains the full Sentio REST API spec — read it when constructing dashboard JSON payloads, debugging CLI calls, or building custom integrations. Key definitions for dashboards:web_service.ImportDashboardRequest,web_service.Dashboard,web_service.Panel,web_service.Chart,common.Query.
Top skills in this category
description: 将用户讲稿一键生成乔布斯风极简科技感竖屏HTML演示稿。当用户需要生成PPT、演示文稿、Slides、幻灯片,或要求科技风/极简风/乔布斯风格的演示时触发此技能。输出为单个可直接运行的HTML文件。
@wwlyzzyorg将讲稿一键生成乔布斯风极简科技感竖屏HTML演示稿
Feishu Evolver Wrapper
@autogame-17(Depreciated: This skill is no longer maintained; its related functions have been absorbed by the Evolver main body.) Feishu-integrated wrapper for the capability-evolver. Manages the evolution loop lifecycle (start/stop/ensure), sends rich Feishu card reports, and provides...
Resume Assistant
@wscatsAssist job seekers by polishing, customizing, scoring, and exporting resumes with detailed checklist reviews and multi-format support.
Smart Model Switching
@millibusAuto-route tasks to the cheapest Claude model that works correctly. Three-tier progression: Haiku → Sonnet → Opus. Classify before responding. HAIKU (default): factual Q&A, greetings, reminders, status checks, lookups, simple file ops, heartbeats, casual chat, 1-2 sentence tasks. ESCALATE TO SONNET: code >10 lines, analysis, comparisons, planning, reports, multi-step reasoning, tables, long writing >3 paragraphs, summarization, research synthesis, most user conversations. ESCALATE TO OPUS: architecture decisions, complex debugging, multi-file refactoring, strategic planning, nuanced judgment, deep research, critical production decisions. Rule: If a human needs >30 seconds of focused thinking, escalate. If Sonnet struggles with complexity, go to Opus. Save 50-90% on API costs by starting cheap and escalating only when needed.
Writing Plans
@zlc000190Use when you have a spec or requirements for a multi-step task, before touching code