Actions — Catalog
The action set is server-driven — it is the Scriptum template catalog filtered per selection, resolved live by ListAvailableActions. This page snapshots what ships today; the authoritative list is always what dodil data actions list -b <bucket> -o json returns. Don’t hard-code these ids — enumerate them.
At the time of writing, dodil data actions list returns 13 actions. Each carries an action_id, an invoke mode (sync inline vs async streamed), and a params_form describing its typed form inputs.
The 13 shipping actions
| Action id | Purpose | Selection | Invoke |
|---|---|---|---|
object_qa | Ask a question grounded in one document’s contents | Object | sync |
summarization | Multi-level document summarization with keyword extraction | Object | sync |
classification | Classify documents by type, topic, language, and sensitivity | Object | sync |
entity_pii_extraction | Extract structured entities and detect PII from any document | Object | sync |
invoice_parsing | Extract structured invoice fields (vendor, buyer, line items, totals, taxes) | Object | sync |
financial_statement_extraction | Extract aggregate financial KPIs (revenue, net income, balance-sheet items) | Object | sync |
translation | Translate a document to a target language (Seed-X PPO 7B) | Object | sync |
objects_compare | Compare N objects (N ≥ 2) on a chosen focus | Objects (N) | async |
objects_synthesis | Synthesize a single report across N selected objects | Objects (N) | async |
collection_topic_map | Cluster a sample from a vector collection into named topics | Collection | async |
chunks_synthesize_answer | Generate a cited answer grounded in N selected chunks | Chunks (N) | async |
table_qa | Ask a question in natural language against one K3 table | Table | async |
plan_and_run | Free-form agentic entry — the model writes and runs a Scriptum plan | None (agentic) | async |
Selection is the selection shape the action accepts — and what ListAvailableActions filters on. Verified live: a --table selection offers only table_qa + plan_and_run; a single --key selection offers the seven Object actions + plan_and_run; objects_compare / objects_synthesis need N ≥ 2 keys; and plan_and_run is offered for every selection, since it is agentic.
Params and models
Each action’s params_form declares typed inputs, enum choices, defaults, and required flags. Common shapes seen in the live catalog:
llm_model— anLlmModelenum offeringkimi-k2.5,kimi-k2.6,kimi-k3; the default iskimi-k2.5. Q&A / synthesis / topic-map actions expose it.max_tokens— output cap (e.g. default4096).question— required onobject_qa,table_qa,chunks_synthesize_answer.translationruns on a dedicated Seed-X PPO 7B model, not theLlmModelenum.- Object actions on media declare a
whisper-large-v3-turbotranscribe model andmax_input_chars/chunk_sizebounds.
Object-selection actions also carry accepted_content_types / accepted_extensions — the file kinds they run on (text, HTML, markdown, PDF, docx, xlsx, plus audio/* and video/* for the media-aware ones). The menu greys out actions whose accept-list doesn’t match the selected object.
Read the exact form for any action from the live catalog:
dodil data actions list -b kb-prod -o json \
| jq '.actions[] | select(.actionId == "summarization") | .paramsForm'See also
- Actions — Overview — the selection model and lifecycle
- CLI Guide —
dodil data actions list·run - API Reference —
AvailableAction/params_formon the wire - Pipelines — Templates — the same Scriptum catalog, used automatically on ingest