sim knowledge is also spelled sim kb.
Every command below also accepts the global options.
Index files the workspace already stores
sim knowledge from-workspace-files create <knowledgeBaseId> [options]Index files the workspace already stores (OAuth login or personal API key required)
Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
Options
| Option | Required | Description |
|---|---|---|
--file <value...> | Yes | Workspace file ID or key (repeatable) (space-separated, or @path / @- with one value per line; @@value for a literal leading @). |
Declare the tag definitions a knowledge base needs
sim knowledge tags save <knowledgeBaseId> [options]Declare the tag definitions a knowledge base needs (OAuth login or personal API key required)
Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
Options
| Option | Required | Description |
|---|---|---|
--definitions <json|@file> | Yes | Tag definitions: [{"tagSlot":"tag1","displayName":"category","fieldType":"text"}] (JSON, or @path / @- to read a file or stdin). |
Create tag
sim knowledge tags create <knowledgeBaseId> [options]Create Tag (OAuth login or personal API key required)
Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
Options
| Option | Required | Description |
|---|---|---|
--display-name <value> | Yes | Name tag filters and document reads use for this tag. |
--field-type <value> | No | Value type stored in the slot; it decides which slots are usable and which filter operators apply. Defaults to text, so a number, date, or boolean slot must name its type here. Slot capacity per type: text 7, number 5, date 2, boolean 3. Accepted values: text, number, date, boolean. |
--tag-slot <value> | No | Slot to store the tag in. Omit to take the next free slot for the field type; a slot that does not belong to the field type, or one already in use, is rejected. Accepted values: tag1, tag2, tag3, tag4, tag5, tag6, tag7, number1, number2, number3, number4, number5, date1, date2, boolean1, boolean2, boolean3. |
Delete tag
sim knowledge tags delete <knowledgeBaseId> <tagId> [options]Delete Tag (OAuth login or personal API key required)
Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
tagId | Yes | Unique tag definition identifier. |
Options
| Option | Required | Description |
|---|---|---|
-y, --yes | Yes | Confirm this operation. |
Remove tag definitions no document still uses
sim knowledge tags cleanup <knowledgeBaseId> [options]Remove tag definitions no document still uses (OAuth login or personal API key required)
Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
Options
| Option | Required | Description |
|---|---|---|
--unused | No | Whether to remove only the tag definitions no document in the knowledge base still carries a value for. Defaults to true. Pass --no-unused to delete every definition on the knowledge base, which also clears its slot on every document and chunk and is not recoverable. |
--no-unused | No | Send --unused as false. |
-y, --yes | Yes | Confirm this operation. |
Show which tag slot a create would take for a field type
sim knowledge tags next-slot <knowledgeBaseId> [options]Show which tag slot a create would take for a field type (OAuth login or personal API key required)
Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
Options
| Option | Required | Description |
|---|---|---|
--field-type <value> | Yes | Value type stored in the slot; it decides which slots are usable and which filter operators apply. Slot capacity per type: text 7, number 5, date 2, boolean 3. Accepted values: text, number, date, boolean. |
List tags
sim knowledge tags list <knowledgeBaseId>Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
Show how many documents and chunks carry each tag
sim knowledge tags usage <knowledgeBaseId>Show how many documents and chunks carry each tag (OAuth login or personal API key required)
Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
Update tag
sim knowledge tags update <knowledgeBaseId> <tagId> [options]Update Tag (OAuth login or personal API key required)
Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
tagId | Yes | Unique tag definition identifier. |
Options
| Option | Required | Description |
|---|---|---|
--display-name <value> | No | New tag display name. |
--field-type <value> | No | New value type for the tag. Accepted values: text, number, date, boolean. |
Enable, disable, or delete many chunks at once
sim knowledge chunks batch-update <knowledgeBaseId> <documentId> [options]Enable, disable, or delete many chunks at once (OAuth login or personal API key required)
Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
documentId | Yes | Unique knowledge document identifier. |
Options
| Option | Required | Description |
|---|---|---|
--operation <value> | Yes | What to do with the selected chunks. Accepted values: enable, disable, delete. |
--chunk <value...> | Yes | Chunks to operate on, by identifier. An id naming no chunk in the document is reported in errors and does not fail the request. (space-separated, or @path / @- with one value per line; @@value for a literal leading @). |
-y, --yes | Yes | Confirm this operation. |
Create chunk
sim knowledge chunks create <knowledgeBaseId> <documentId> [options]Create Chunk (OAuth login or personal API key required)
Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
documentId | Yes | Unique knowledge document identifier. |
Options
| Option | Required | Description |
|---|---|---|
--content <value> | Yes | Text to embed. It is embedded on write, so the chunk is searchable immediately. |
--enabled | No | Whether the new chunk participates in search. |
--no-enabled | No | Send --enabled as false. |
Delete chunk
sim knowledge chunks delete <knowledgeBaseId> <documentId> <chunkId> [options]Delete Chunk (OAuth login or personal API key required)
Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
documentId | Yes | Unique knowledge document identifier. |
chunkId | Yes | Unique chunk identifier. |
Options
| Option | Required | Description |
|---|---|---|
-y, --yes | Yes | Confirm this operation. |
Get chunk
sim knowledge chunks get <knowledgeBaseId> <documentId> <chunkId>Get Chunk (OAuth login or personal API key required)
Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
documentId | Yes | Unique knowledge document identifier. |
chunkId | Yes | Unique chunk identifier. |
List chunks
sim knowledge chunks list <knowledgeBaseId> <documentId> [options]List Chunks (OAuth login or personal API key required)
Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
documentId | Yes | Unique knowledge document identifier. |
Options
| Option | Required | Description |
|---|---|---|
--search <value> | No | Case-insensitive substring match against chunk content. |
--enabled <value> | No | Restrict to enabled or disabled chunks. all returns both. Accepted values: true, false, all. |
--sort-by <value> | No | Field used to sort the result. Accepted values: chunkIndex, tokenCount, enabled. |
--sort-order <value> | No | Sort direction. Accepted values: asc, desc. |
--limit <n> | No | Maximum items to return (0 for everything). Defaults to 100. |
--cursor <value> | No | Continue from nextCursor returned by a previous result. |
Update chunk
sim knowledge chunks update <knowledgeBaseId> <documentId> <chunkId> [options]Update Chunk (OAuth login or personal API key required)
Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
documentId | Yes | Unique knowledge document identifier. |
chunkId | Yes | Unique chunk identifier. |
Options
| Option | Required | Description |
|---|---|---|
--content <value> | No | Replacement text. Changing it re-embeds the chunk and re-derives its token and character counts. |
--enabled | No | Whether the chunk participates in search. Disabling keeps it indexed. |
--no-enabled | No | Send --enabled as false. |
Enable or disable every matching document
sim knowledge documents batch-update <knowledgeBaseId> [options]Enable or disable every matching document (OAuth login or personal API key required)
Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
Options
| Option | Required | Description |
|---|---|---|
--operation <value> | Yes | Whether the selected documents become enabled or disabled for search. Accepted values: enable, disable. |
--document <value...> | No | Documents to update, by identifier. (space-separated, or @path / @- with one value per line; @@value for a literal leading @). |
--select-all | No | Apply to every document in the knowledge base. |
--enabled-filter <value> | No | With selectAll, restrict the update to documents in this state. Accepted values: all, enabled, disabled. |
Delete document
sim knowledge documents delete <knowledgeBaseId> <documentId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
documentId | Yes | Unique knowledge document identifier. |
Options
| Option | Required | Description |
|---|---|---|
-y, --yes | Yes | Confirm this operation. |
Get document
sim knowledge documents get <knowledgeBaseId> <documentId>Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
documentId | Yes | Unique knowledge document identifier. |
List documents
sim knowledge documents list <knowledgeBaseId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
Options
| Option | Required | Description |
|---|---|---|
--limit <n> | No | Maximum items to return (0 for everything). Defaults to 100. |
--search <value> | No | Case-insensitive substring match against the document filename. |
--enabled-filter <value> | No | Filter by whether documents are enabled for search. Accepted values: all, enabled, disabled. |
--sort-by <value> | No | Field used to sort the result. Sorting by filename is case-sensitive and follows the storage collation, so do not rely on a case-insensitive order. Accepted values: filename, fileSize, tokenCount, chunkCount, uploadedAt, processingStatus, enabled. |
--sort-order <value> | No | Sort direction. Accepted values: asc, desc. |
--cursor <value> | No | Continue from nextCursor returned by a previous result. |
--tag-filters <value> | No | A JSON-encoded array of at most 10 tag filters, using the same display-name shape as knowledge search: [{"tagName":"category","operator":"eq","value":"billing"}]. Every filter must hold, including two that name the same tag. A name that is not defined in this knowledge base is rejected, never ignored. |
Update document
sim knowledge documents update <knowledgeBaseId> <documentId> [options]Update Document (OAuth login or personal API key required)
Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
documentId | Yes | Unique knowledge document identifier. |
Options
| Option | Required | Description |
|---|---|---|
--filename <value> | No | New filename for the document. |
--enabled | No | Whether the document participates in search. Disabling keeps it indexed. |
--no-enabled | No | Send --enabled as false. |
--tag1 <value> | No | New value for tag slot 1. |
--tag2 <value> | No | New value for tag slot 2. |
--tag3 <value> | No | New value for tag slot 3. |
--tag4 <value> | No | New value for tag slot 4. |
--tag5 <value> | No | New value for tag slot 5. |
--tag6 <value> | No | New value for tag slot 6. |
--tag7 <value> | No | New value for tag slot 7. |
--number1 <value> | No | New value for number tag slot 1. |
--number2 <value> | No | New value for number tag slot 2. |
--number3 <value> | No | New value for number tag slot 3. |
--number4 <value> | No | New value for number tag slot 4. |
--number5 <value> | No | New value for number tag slot 5. |
--date1 <value> | No | New value for date tag slot 1, formatted YYYY-MM-DD. |
--date2 <value> | No | New value for date tag slot 2, formatted YYYY-MM-DD. |
--boolean1 | No | New value for boolean tag slot 1. |
--no-boolean1 | No | Send --boolean1 as false. |
--boolean2 | No | New value for boolean tag slot 2. |
--no-boolean2 | No | Send --boolean2 as false. |
--boolean3 | No | New value for boolean tag slot 3. |
--no-boolean3 | No | Send --boolean3 as false. |
--retry-processing | No | Requeue a failed or stuck document for processing. Send it alone — no other field may accompany it — and it answers with a queue acknowledgement rather than the document. |
Upload a document to a knowledge base
sim knowledge documents upload <knowledgeBaseId> <path> [options]Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Knowledge base to upload into |
path | Yes | Local file to upload |
Options
| Option | Required | Description |
|---|---|---|
--name <name> | No | Store it under a different name. |
--tag <value...> | No | Document tags, in tag1 through tag7 order. |
--recipe <name> | No | Document processing recipe. Accepted values: default, plain, markdown, code. |
--lang <code> | No | Document language tag: hyphen-separated letter and digit subtags, for example en or en-US. |
Create knowledge base
sim knowledge create [options]Options
| Option | Required | Description |
|---|---|---|
--name <value> | Yes | Human-readable knowledge base name. |
--description <value> | No | Optional knowledge base description. |
--chunking-config <json|@file> | No | Chunking configuration; defaults are applied when omitted. (JSON, or @path / @- to read a file or stdin). |
--folder <value> | No | Folder path as shown in the app; the leading / is optional. |
Create knowledge connector
sim knowledge connectors create <knowledgeBaseId> [options]Create Knowledge Connector (OAuth login or personal API key required)
Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
Options
| Option | Required | Description |
|---|---|---|
--connector-type <value> | Yes | Registered connector type. |
--credential-id <value> | No | OAuth credential identifier for connectors that require OAuth. |
--api-key <value> | No | Write-only API key for connectors that use API-key authentication. |
--source-config <json|@file> | Yes | Connector-specific source selection and filtering configuration. (JSON, or @path / @- to read a file or stdin). |
--sync-interval-minutes <value> | No | Scheduled synchronization interval in minutes; zero disables scheduling. |
Delete knowledge connector
sim knowledge connectors delete <knowledgeBaseId> <connectorId> [options]Delete Knowledge Connector (OAuth login or personal API key required)
Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Knowledge base that owns the connector. |
connectorId | Yes | Connector selected for the operation. |
Options
| Option | Required | Description |
|---|---|---|
--delete-documents | No | Also permanently delete documents produced by this connector. |
--no-delete-documents | No | Send --delete-documents as false. |
-y, --yes | Yes | Confirm this operation. |
Get knowledge connector
sim knowledge connectors get <knowledgeBaseId> <connectorId>Get Knowledge Connector (OAuth login or personal API key required)
Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Knowledge base that owns the connector. |
connectorId | Yes | Connector selected for the operation. |
List knowledge connector documents
sim knowledge connectors documents list <knowledgeBaseId> <connectorId> [options]List Knowledge Connector Documents (OAuth login or personal API key required)
Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Knowledge base that owns the connector. |
connectorId | Yes | Connector selected for the operation. |
Options
| Option | Required | Description |
|---|---|---|
--include-excluded | No | Include documents explicitly excluded by a user. |
--no-include-excluded | No | Send --include-excluded as false. |
--limit <n> | No | Maximum items to return (0 for everything). Defaults to 100. |
--cursor <value> | No | Continue from nextCursor returned by a previous result. |
Update knowledge connector documents
sim knowledge connectors documents update <knowledgeBaseId> <connectorId> [options]Update Knowledge Connector Documents (OAuth login or personal API key required)
Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Knowledge base that owns the connector. |
connectorId | Yes | Connector selected for the operation. |
Options
| Option | Required | Description |
|---|---|---|
--operation <value> | Yes | Whether to restore or exclude the selected documents. Accepted values: restore, exclude. |
--document <value...> | Yes | Connector document identifiers to update. (space-separated, or @path / @- with one value per line; @@value for a literal leading @). |
List knowledge connectors
sim knowledge connectors list <knowledgeBaseId> [options]List Knowledge Connectors (OAuth login or personal API key required)
Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
Options
| Option | Required | Description |
|---|---|---|
--sort-by <value> | No | Field used to sort the result. Accepted values: connectorType, createdAt, updatedAt. |
--sort-order <value> | No | Sort direction. Accepted values: asc, desc. |
--limit <n> | No | Maximum items to return (0 for everything). Defaults to 0. |
Queue a knowledge connector synchronization
sim knowledge connectors sync <knowledgeBaseId> <connectorId> [options]Queue a knowledge connector synchronization (OAuth login or personal API key required)
Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Knowledge base that owns the connector. |
connectorId | Yes | Connector selected for the operation. |
Options
| Option | Required | Description |
|---|---|---|
--rehydrate | No | Re-fetch and re-index every existing connector document. |
--no-rehydrate | No | Send --rehydrate as false. |
Update knowledge connector
sim knowledge connectors update <knowledgeBaseId> <connectorId> [options]Update Knowledge Connector (OAuth login or personal API key required)
Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Knowledge base that owns the connector. |
connectorId | Yes | Connector selected for the operation. |
Options
| Option | Required | Description |
|---|---|---|
--source-config <json|@file> | No | Replacement source selection and filtering configuration. Updating a runnable connector queues synchronization; paused connectors remain paused. (JSON, or @path / @- to read a file or stdin). |
--sync-interval-minutes <value> | No | New scheduled synchronization interval in minutes. |
--status <value> | No | New connector state. Accepted values: active, paused. |
Create a knowledge folder at a path
sim knowledge folders create <path>Arguments
| Argument | Required | Description |
|---|---|---|
path | Yes | Folder path as shown in the app; the leading / is optional |
Delete folder
sim knowledge folders delete <path> [options]Arguments
| Argument | Required | Description |
|---|---|---|
path | Yes | Folder path as shown in the app; the leading / is optional |
Options
| Option | Required | Description |
|---|---|---|
--recursive | No | Delete the folder and its descendants. |
-y, --yes | Yes | Confirm this operation. |
List knowledge folders
sim knowledge folders list [options]Also available as sim knowledge folders ls.
Options
| Option | Required | Description |
|---|---|---|
--parent <value> | No | Direct parent folder path. |
--search <value> | No | Case-insensitive substring match against the folder name. |
--sort-by <value> | No | Field used to sort the result. Sorting by name is case-sensitive and follows the storage collation, so do not rely on a case-insensitive order. Accepted values: name, createdAt, updatedAt. |
--sort-order <value> | No | Sort direction. Accepted values: asc, desc. |
Rename or move a knowledge folder
sim knowledge folders move <path> <destination>Also available as sim knowledge folders mv.
Arguments
| Argument | Required | Description |
|---|---|---|
path | Yes | Folder path as shown in the app; the leading / is optional |
destination | Yes | Folder path as shown in the app; the leading / is optional |
Delete knowledge base
sim knowledge delete <knowledgeBaseId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
Options
| Option | Required | Description |
|---|---|---|
-y, --yes | Yes | Confirm this operation. |
Get knowledge base
sim knowledge get <knowledgeBaseId>Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
List knowledge bases
sim knowledge list [options]Options
| Option | Required | Description |
|---|---|---|
--scope <value> | No | Lifecycle scope: active or archived knowledge bases. Use Restore Knowledge Base to recover archived entries. Folder paths resolve only active folders, so filtering by an archived folder returns no matches. Accepted values: active, archived. |
--folder <value> | No | Folder path as shown in the app; the leading / is optional. |
--search <value> | No | Case-insensitive substring match against the resource name. |
--sort-by <value> | No | Field used to sort the result. Sorting by name is case-sensitive and follows the storage collation, so do not rely on a case-insensitive order. Accepted values: name, createdAt, updatedAt. |
--sort-order <value> | No | Sort direction. Accepted values: asc, desc. |
--limit <n> | No | Maximum items to return (0 for everything). Defaults to 0. |
Restore an archived knowledge base
sim knowledge restore <knowledgeBaseId>Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
Search knowledge
sim knowledge search [options]Options
| Option | Required | Description |
|---|---|---|
--kb <value...> | Yes | Knowledge base ID (repeatable) (space-separated, or @path / @- with one value per line; @@value for a literal leading @). |
--query <value> | No | Text to search for. |
--top-k <value> | No | Maximum number of search results to return. Must be a whole number between 1 and 100. |
--tag-filters <json|@file> | No | Tag filters as [{"tagName":"...","operator":"...","value":"..."}] (JSON, or @path / @- to read a file or stdin). |
--search-mode <value> | No | Search algorithm. Accepted values: vector, hybrid. |
--reranker-enabled | No | Re-order retrieved chunks with a reranking model before truncating to topK. Ignored for a tag-only search, and billed as an additional search unit. Reranking is best-effort — a provider failure falls back to vector ordering, so check rerankerStatus on the response. |
--no-reranker-enabled | No | Send --reranker-enabled as false. |
--reranker-model <value> | No | Reranking model to use when rerankerEnabled is true. Defaults to rerank-v4.0-fast. Accepted values: rerank-v4.0-pro, rerank-v4.0-fast, rerank-v3.5. |
--reranker-input-count <value> | No | How many candidate chunks to retrieve before reranking. Defaults to four times topK, capped at 100. A larger pool costs more retrieval work but gives the reranker more to choose from. |
Update knowledge base
sim knowledge update <knowledgeBaseId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
Options
| Option | Required | Description |
|---|---|---|
--name <value> | No | New knowledge base name. |
--description <value> | No | New knowledge base description. |
--chunking-config <json|@file> | No | New document chunking configuration. (JSON, or @path / @- to read a file or stdin). |
--folder <value> | No | Folder path as shown in the app; the leading / is optional. |
Move a knowledge base to a folder
sim knowledge mv <knowledgeBaseId> <folder>Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
folder | Yes | Folder path as shown in the app; the leading / is optional |
Export a knowledge base as a .simkb.zip bundle
sim knowledge export <knowledgeBaseId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Knowledge base to export |
Options
| Option | Required | Description |
|---|---|---|
-o, --output-file <path> | No | Write the bundle to this path instead of the name the server suggests; pass - to stream it to stdout. |
--force | No | Overwrite --output-file if it already exists. |
--no-vectors | No | Leave chunk vectors out of the bundle, so an import re-embeds every chunk. |
List knowledge resources and child folders together
sim knowledge ls [path] [options]Arguments
| Argument | Required | Description |
|---|---|---|
path | No | Folder path to list; defaults to the root folder |
Options
| Option | Required | Description |
|---|---|---|
--search <text> | No | Filter folders and resources by name. |
--limit <n> | No | Maximum combined items to return (0 for everything). Defaults to 0. |
Create a knowledge directory at a path
sim knowledge mkdir <path>Arguments
| Argument | Required | Description |
|---|---|---|
path | Yes | Folder path to create; the leading / is optional |