Knowledge

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

ArgumentRequiredDescription
knowledgeBaseIdYesUnique knowledge base identifier.

Options

OptionRequiredDescription
--file <value...>YesWorkspace 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

ArgumentRequiredDescription
knowledgeBaseIdYesUnique knowledge base identifier.

Options

OptionRequiredDescription
--definitions <json|@file>YesTag 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

ArgumentRequiredDescription
knowledgeBaseIdYesUnique knowledge base identifier.

Options

OptionRequiredDescription
--display-name <value>YesName tag filters and document reads use for this tag.
--field-type <value>NoValue 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>NoSlot 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

ArgumentRequiredDescription
knowledgeBaseIdYesUnique knowledge base identifier.
tagIdYesUnique tag definition identifier.

Options

OptionRequiredDescription
-y, --yesYesConfirm 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

ArgumentRequiredDescription
knowledgeBaseIdYesUnique knowledge base identifier.

Options

OptionRequiredDescription
--unusedNoWhether 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-unusedNoSend --unused as false.
-y, --yesYesConfirm 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

ArgumentRequiredDescription
knowledgeBaseIdYesUnique knowledge base identifier.

Options

OptionRequiredDescription
--field-type <value>YesValue 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

ArgumentRequiredDescription
knowledgeBaseIdYesUnique 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

ArgumentRequiredDescription
knowledgeBaseIdYesUnique knowledge base identifier.

Update tag

sim knowledge tags update <knowledgeBaseId> <tagId> [options]

Update Tag (OAuth login or personal API key required)

Arguments

ArgumentRequiredDescription
knowledgeBaseIdYesUnique knowledge base identifier.
tagIdYesUnique tag definition identifier.

Options

OptionRequiredDescription
--display-name <value>NoNew tag display name.
--field-type <value>NoNew 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

ArgumentRequiredDescription
knowledgeBaseIdYesUnique knowledge base identifier.
documentIdYesUnique knowledge document identifier.

Options

OptionRequiredDescription
--operation <value>YesWhat to do with the selected chunks. Accepted values: enable, disable, delete.
--chunk <value...>YesChunks 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, --yesYesConfirm this operation.

Create chunk

sim knowledge chunks create <knowledgeBaseId> <documentId> [options]

Create Chunk (OAuth login or personal API key required)

Arguments

ArgumentRequiredDescription
knowledgeBaseIdYesUnique knowledge base identifier.
documentIdYesUnique knowledge document identifier.

Options

OptionRequiredDescription
--content <value>YesText to embed. It is embedded on write, so the chunk is searchable immediately.
--enabledNoWhether the new chunk participates in search.
--no-enabledNoSend --enabled as false.

Delete chunk

sim knowledge chunks delete <knowledgeBaseId> <documentId> <chunkId> [options]

Delete Chunk (OAuth login or personal API key required)

Arguments

ArgumentRequiredDescription
knowledgeBaseIdYesUnique knowledge base identifier.
documentIdYesUnique knowledge document identifier.
chunkIdYesUnique chunk identifier.

Options

OptionRequiredDescription
-y, --yesYesConfirm this operation.

Get chunk

sim knowledge chunks get <knowledgeBaseId> <documentId> <chunkId>

Get Chunk (OAuth login or personal API key required)

Arguments

ArgumentRequiredDescription
knowledgeBaseIdYesUnique knowledge base identifier.
documentIdYesUnique knowledge document identifier.
chunkIdYesUnique chunk identifier.

List chunks

sim knowledge chunks list <knowledgeBaseId> <documentId> [options]

List Chunks (OAuth login or personal API key required)

Arguments

ArgumentRequiredDescription
knowledgeBaseIdYesUnique knowledge base identifier.
documentIdYesUnique knowledge document identifier.

Options

OptionRequiredDescription
--search <value>NoCase-insensitive substring match against chunk content.
--enabled <value>NoRestrict to enabled or disabled chunks. all returns both. Accepted values: true, false, all.
--sort-by <value>NoField used to sort the result. Accepted values: chunkIndex, tokenCount, enabled.
--sort-order <value>NoSort direction. Accepted values: asc, desc.
--limit <n>NoMaximum items to return (0 for everything). Defaults to 100.
--cursor <value>NoContinue 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

ArgumentRequiredDescription
knowledgeBaseIdYesUnique knowledge base identifier.
documentIdYesUnique knowledge document identifier.
chunkIdYesUnique chunk identifier.

Options

OptionRequiredDescription
--content <value>NoReplacement text. Changing it re-embeds the chunk and re-derives its token and character counts.
--enabledNoWhether the chunk participates in search. Disabling keeps it indexed.
--no-enabledNoSend --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

ArgumentRequiredDescription
knowledgeBaseIdYesUnique knowledge base identifier.

Options

OptionRequiredDescription
--operation <value>YesWhether the selected documents become enabled or disabled for search. Accepted values: enable, disable.
--document <value...>NoDocuments to update, by identifier. (space-separated, or @path / @- with one value per line; @@value for a literal leading @).
--select-allNoApply to every document in the knowledge base.
--enabled-filter <value>NoWith selectAll, restrict the update to documents in this state. Accepted values: all, enabled, disabled.

Delete document

sim knowledge documents delete <knowledgeBaseId> <documentId> [options]

Arguments

ArgumentRequiredDescription
knowledgeBaseIdYesUnique knowledge base identifier.
documentIdYesUnique knowledge document identifier.

Options

OptionRequiredDescription
-y, --yesYesConfirm this operation.

Get document

sim knowledge documents get <knowledgeBaseId> <documentId>

Arguments

ArgumentRequiredDescription
knowledgeBaseIdYesUnique knowledge base identifier.
documentIdYesUnique knowledge document identifier.

List documents

sim knowledge documents list <knowledgeBaseId> [options]

Arguments

ArgumentRequiredDescription
knowledgeBaseIdYesUnique knowledge base identifier.

Options

OptionRequiredDescription
--limit <n>NoMaximum items to return (0 for everything). Defaults to 100.
--search <value>NoCase-insensitive substring match against the document filename.
--enabled-filter <value>NoFilter by whether documents are enabled for search. Accepted values: all, enabled, disabled.
--sort-by <value>NoField 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>NoSort direction. Accepted values: asc, desc.
--cursor <value>NoContinue from nextCursor returned by a previous result.
--tag-filters <value>NoA JSON-encoded array of at most 10 tag filters, using the same display-name shape as knowledge search: [&#123;"tagName":"category","operator":"eq","value":"billing"&#125;]. 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

ArgumentRequiredDescription
knowledgeBaseIdYesUnique knowledge base identifier.
documentIdYesUnique knowledge document identifier.

Options

OptionRequiredDescription
--filename <value>NoNew filename for the document.
--enabledNoWhether the document participates in search. Disabling keeps it indexed.
--no-enabledNoSend --enabled as false.
--tag1 <value>NoNew value for tag slot 1.
--tag2 <value>NoNew value for tag slot 2.
--tag3 <value>NoNew value for tag slot 3.
--tag4 <value>NoNew value for tag slot 4.
--tag5 <value>NoNew value for tag slot 5.
--tag6 <value>NoNew value for tag slot 6.
--tag7 <value>NoNew value for tag slot 7.
--number1 <value>NoNew value for number tag slot 1.
--number2 <value>NoNew value for number tag slot 2.
--number3 <value>NoNew value for number tag slot 3.
--number4 <value>NoNew value for number tag slot 4.
--number5 <value>NoNew value for number tag slot 5.
--date1 <value>NoNew value for date tag slot 1, formatted YYYY-MM-DD.
--date2 <value>NoNew value for date tag slot 2, formatted YYYY-MM-DD.
--boolean1NoNew value for boolean tag slot 1.
--no-boolean1NoSend --boolean1 as false.
--boolean2NoNew value for boolean tag slot 2.
--no-boolean2NoSend --boolean2 as false.
--boolean3NoNew value for boolean tag slot 3.
--no-boolean3NoSend --boolean3 as false.
--retry-processingNoRequeue 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

ArgumentRequiredDescription
knowledgeBaseIdYesKnowledge base to upload into
pathYesLocal file to upload

Options

OptionRequiredDescription
--name <name>NoStore it under a different name.
--tag <value...>NoDocument tags, in tag1 through tag7 order.
--recipe <name>NoDocument processing recipe. Accepted values: default, plain, markdown, code.
--lang <code>NoDocument language tag: hyphen-separated letter and digit subtags, for example en or en-US.

Create knowledge base

sim knowledge create [options]

Options

OptionRequiredDescription
--name <value>YesHuman-readable knowledge base name.
--description <value>NoOptional knowledge base description.
--chunking-config <json|@file>NoChunking configuration; defaults are applied when omitted. (JSON, or @path / @- to read a file or stdin).
--folder <value>NoFolder 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

ArgumentRequiredDescription
knowledgeBaseIdYesUnique knowledge base identifier.

Options

OptionRequiredDescription
--connector-type <value>YesRegistered connector type.
--credential-id <value>NoOAuth credential identifier for connectors that require OAuth.
--api-key <value>NoWrite-only API key for connectors that use API-key authentication.
--source-config <json|@file>YesConnector-specific source selection and filtering configuration. (JSON, or @path / @- to read a file or stdin).
--sync-interval-minutes <value>NoScheduled 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

ArgumentRequiredDescription
knowledgeBaseIdYesKnowledge base that owns the connector.
connectorIdYesConnector selected for the operation.

Options

OptionRequiredDescription
--delete-documentsNoAlso permanently delete documents produced by this connector.
--no-delete-documentsNoSend --delete-documents as false.
-y, --yesYesConfirm this operation.

Get knowledge connector

sim knowledge connectors get <knowledgeBaseId> <connectorId>

Get Knowledge Connector (OAuth login or personal API key required)

Arguments

ArgumentRequiredDescription
knowledgeBaseIdYesKnowledge base that owns the connector.
connectorIdYesConnector 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

ArgumentRequiredDescription
knowledgeBaseIdYesKnowledge base that owns the connector.
connectorIdYesConnector selected for the operation.

Options

OptionRequiredDescription
--include-excludedNoInclude documents explicitly excluded by a user.
--no-include-excludedNoSend --include-excluded as false.
--limit <n>NoMaximum items to return (0 for everything). Defaults to 100.
--cursor <value>NoContinue 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

ArgumentRequiredDescription
knowledgeBaseIdYesKnowledge base that owns the connector.
connectorIdYesConnector selected for the operation.

Options

OptionRequiredDescription
--operation <value>YesWhether to restore or exclude the selected documents. Accepted values: restore, exclude.
--document <value...>YesConnector 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

ArgumentRequiredDescription
knowledgeBaseIdYesUnique knowledge base identifier.

Options

OptionRequiredDescription
--sort-by <value>NoField used to sort the result. Accepted values: connectorType, createdAt, updatedAt.
--sort-order <value>NoSort direction. Accepted values: asc, desc.
--limit <n>NoMaximum 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

ArgumentRequiredDescription
knowledgeBaseIdYesKnowledge base that owns the connector.
connectorIdYesConnector selected for the operation.

Options

OptionRequiredDescription
--rehydrateNoRe-fetch and re-index every existing connector document.
--no-rehydrateNoSend --rehydrate as false.

Update knowledge connector

sim knowledge connectors update <knowledgeBaseId> <connectorId> [options]

Update Knowledge Connector (OAuth login or personal API key required)

Arguments

ArgumentRequiredDescription
knowledgeBaseIdYesKnowledge base that owns the connector.
connectorIdYesConnector selected for the operation.

Options

OptionRequiredDescription
--source-config <json|@file>NoReplacement 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>NoNew scheduled synchronization interval in minutes.
--status <value>NoNew connector state. Accepted values: active, paused.

Create a knowledge folder at a path

sim knowledge folders create <path>

Arguments

ArgumentRequiredDescription
pathYesFolder path as shown in the app; the leading / is optional

Delete folder

sim knowledge folders delete <path> [options]

Arguments

ArgumentRequiredDescription
pathYesFolder path as shown in the app; the leading / is optional

Options

OptionRequiredDescription
--recursiveNoDelete the folder and its descendants.
-y, --yesYesConfirm this operation.

List knowledge folders

sim knowledge folders list [options]

Also available as sim knowledge folders ls.

Options

OptionRequiredDescription
--parent <value>NoDirect parent folder path.
--search <value>NoCase-insensitive substring match against the folder name.
--sort-by <value>NoField 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>NoSort 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

ArgumentRequiredDescription
pathYesFolder path as shown in the app; the leading / is optional
destinationYesFolder path as shown in the app; the leading / is optional

Delete knowledge base

sim knowledge delete <knowledgeBaseId> [options]

Arguments

ArgumentRequiredDescription
knowledgeBaseIdYesUnique knowledge base identifier.

Options

OptionRequiredDescription
-y, --yesYesConfirm this operation.

Get knowledge base

sim knowledge get <knowledgeBaseId>

Arguments

ArgumentRequiredDescription
knowledgeBaseIdYesUnique knowledge base identifier.

List knowledge bases

sim knowledge list [options]

Options

OptionRequiredDescription
--scope <value>NoLifecycle 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>NoFolder path as shown in the app; the leading / is optional.
--search <value>NoCase-insensitive substring match against the resource name.
--sort-by <value>NoField 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>NoSort direction. Accepted values: asc, desc.
--limit <n>NoMaximum items to return (0 for everything). Defaults to 0.

Restore an archived knowledge base

sim knowledge restore <knowledgeBaseId>

Arguments

ArgumentRequiredDescription
knowledgeBaseIdYesUnique knowledge base identifier.

Search knowledge

sim knowledge search [options]

Options

OptionRequiredDescription
--kb <value...>YesKnowledge base ID (repeatable) (space-separated, or @path / @- with one value per line; @@value for a literal leading @).
--query <value>NoText to search for.
--top-k <value>NoMaximum number of search results to return. Must be a whole number between 1 and 100.
--tag-filters <json|@file>NoTag filters as [{"tagName":"...","operator":"...","value":"..."}] (JSON, or @path / @- to read a file or stdin).
--search-mode <value>NoSearch algorithm. Accepted values: vector, hybrid.
--reranker-enabledNoRe-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-enabledNoSend --reranker-enabled as false.
--reranker-model <value>NoReranking 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>NoHow 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

ArgumentRequiredDescription
knowledgeBaseIdYesUnique knowledge base identifier.

Options

OptionRequiredDescription
--name <value>NoNew knowledge base name.
--description <value>NoNew knowledge base description.
--chunking-config <json|@file>NoNew document chunking configuration. (JSON, or @path / @- to read a file or stdin).
--folder <value>NoFolder path as shown in the app; the leading / is optional.

Move a knowledge base to a folder

sim knowledge mv <knowledgeBaseId> <folder>

Arguments

ArgumentRequiredDescription
knowledgeBaseIdYesUnique knowledge base identifier.
folderYesFolder 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

ArgumentRequiredDescription
knowledgeBaseIdYesKnowledge base to export

Options

OptionRequiredDescription
-o, --output-file <path>NoWrite the bundle to this path instead of the name the server suggests; pass - to stream it to stdout.
--forceNoOverwrite --output-file if it already exists.
--no-vectorsNoLeave 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

ArgumentRequiredDescription
pathNoFolder path to list; defaults to the root folder

Options

OptionRequiredDescription
--search <text>NoFilter folders and resources by name.
--limit <n>NoMaximum combined items to return (0 for everything). Defaults to 0.

Create a knowledge directory at a path

sim knowledge mkdir <path>

Arguments

ArgumentRequiredDescription
pathYesFolder path to create; the leading / is optional