apus wiki

Inspect and maintain the memory-wiki vault. Provided by the bundled optional memory-wiki plugin. Enable it before first use:

apus plugins enable memory-wiki
apus gateway restart

Related: Memory Wiki plugin, Memory Overview, CLI: memory

Common commands

apus wiki status
apus wiki doctor
apus wiki init
apus wiki ingest ./notes/alpha.md
apus wiki okf import ./knowledge-catalog/okf/bundles/ga4
apus wiki compile
apus wiki lint
apus wiki search "alpha"
apus wiki search "who should I ask about Teams?" --mode route-question
apus wiki get entity.alpha --from 1 --lines 80

apus wiki apply synthesis "Alpha Summary" \
  --body "Short synthesis body" \
  --source-id source.alpha

apus wiki apply metadata entity.alpha \
  --source-id source.alpha \
  --status review \
  --question "Still active?"

apus wiki bridge import
apus wiki unsafe-local import
apus wiki chatgpt import --export ./chatgpt-export --dry-run
apus wiki chatgpt rollback <run-id>

apus wiki obsidian status
apus wiki obsidian search "alpha"
apus wiki obsidian open syntheses/alpha-summary.md
apus wiki obsidian command workspace:quick-switcher
apus wiki obsidian daily

Agent selection

When plugins.entries.memory-wiki.config.vault.scope is agent, select the vault with the command's --agent <id> option:

apus wiki status --agent support
apus wiki search "refund policy" --agent support
apus wiki ingest ./campaign-notes.md --agent marketing

When --agent is omitted, CLI operations use the configured default agent, matching other agent-scoped CLI families. Pass the flag to select a different agent. Unknown agent ids fail before the vault operation starts. If no default can be resolved, the error tells you to pass --agent <id> or configure an agent. The option does not change the selected path when vault.scope is global.

Gateway clients remain explicit: pass agentId on vault-backed wiki.* requests in an agent-scoped multi-agent setup. A missing or unknown id is an error. Agent turns, wiki tools, memory corpus supplements, and compiled prompt digests already carry the active runtime agent context.

Commands

wiki status

Show vault mode and scope, resolved agent, health, and Obsidian CLI availability. Use this first to check whether the intended vault is initialized, bridge mode is healthy, or Obsidian integration is available.

When bridge mode is active and configured to read memory artifacts, this command queries the running Gateway so it sees the same active memory plugin context as agent/runtime memory.

wiki doctor

Run wiki health checks and report actionable fixes. Exits non-zero when unhealthy.

When bridge mode is active and configured to read memory artifacts, this command queries the running Gateway before building the report. Disabled bridge imports and bridge configs that do not read memory artifacts stay local/offline.

Typical issues:

wiki init

Create the wiki vault layout and starter pages, including top-level indexes and cache directories.

wiki ingest <path>

Import a local markdown or text file into the wiki sources/ folder as a source page. <path> must be a local file path; there is no URL ingest today. Rejects binary files.

Imported source pages carry provenance frontmatter (sourceType: local-file, sourcePath, ingestedAt). Ingest always recompiles the vault afterward.

Flags: --title <title> overrides the source title (default: derived from the filename).

wiki okf import <path>

Import an unpacked Open Knowledge Format bundle into wiki concept pages.

The importer reads every non-reserved .md concept document in the OKF directory tree, requires a non-empty type field, and treats unknown OKF type values as generic concepts. Reserved OKF index.md and log.md files are not imported as concepts.

OKF documents, including the bundle's index.md, must contain valid UTF-8. Malformed concept documents are skipped with an unreadable-entry warning; other valid concepts still import. Any import warning also prevents stale-page pruning, so a damaged source cannot remove its previously imported concept. An unreadable root index.md stops the import before concept pages are changed, because that file determines the bundle identity. Convert the affected source to UTF-8 and retry the import.

Imported pages are flattened under concepts/ so existing wiki compile, search, get, digest, and dashboard flows see them immediately. The original OKF concept ID, type, resource, tags, timestamp, source path, and full frontmatter are preserved in the page frontmatter. Internal OKF markdown links are rewritten to the generated wiki pages; broken or external links are left unchanged. Import always recompiles the vault afterward.

Examples:

apus wiki okf import ./bundles/ga4
apus wiki okf import ./bundles/ga4 --json
apus wiki search "BigQuery Table" --mode source-evidence --json
apus wiki get <path-from-json-result>

wiki compile

Rebuild indexes, related blocks, dashboards, and the compiled query/prompt snapshot. The snapshot is persisted in Apus's shared SQLite plugin state and kept in memory for synchronous prompt projection; it does not create cache files in the vault.

If render.createDashboards is enabled, compile also refreshes report pages.

wiki lint

Lint the vault and write a report covering:

Run this after meaningful wiki updates.

wiki search <query>

Search wiki content. Behavior depends on config:

Use wiki search for wiki-specific ranking and provenance. For one broad shared recall pass, prefer apus memory search when the active memory plugin exposes shared search.

Search modes:

Examples:

apus wiki search "bgroux" --mode find-person
apus wiki search "who knows Teams rollout?" --mode route-question
apus wiki search "maintainer-whois" --mode source-evidence
apus wiki search "strong route Teams" --mode raw-claim --json

Text output includes Claim: and Evidence: lines when a result matches a structured claim. JSON output additionally exposes matchedClaimId, matchedClaimStatus, matchedClaimConfidence, evidenceKinds, and evidenceSourceIds for agent-side drilldown.

wiki get <lookup>

Read a wiki page by id or relative path. Compiled claim IDs are resolved first. After vault activation, an existing, visible canonical Markdown path reads only the requested page. A fresh CLI process still validates the compiled snapshot against the vault; missing indexes or snapshots can trigger automatic compilation. Missing or invalid candidates, extensionless paths, basenames, and page IDs retain their existing lookup fallbacks and may scan the vault.

Wiki-page reads support large files and hard links. Reads refuse paths that escape the vault or pass through a symbolic link inside it.

apus wiki get entity.alpha
apus wiki get syntheses/alpha-summary.md --from 1 --lines 80

wiki apply

Apply narrow mutations without freeform page surgery:

Both accept --source-id, --contradiction, --question (each repeatable), --confidence <n> (0-1), and --status <status>. apply metadata also accepts --clear-confidence to remove a stored confidence value. This is the supported way to evolve wiki pages so managed generated blocks stay intact.

wiki bridge import

Import public memory artifacts from the active memory plugin into bridge-backed source pages. Use this in bridge mode to pull the latest exported memory artifacts into the wiki vault.

For active bridge artifact reads, the CLI routes the import through Gateway RPC so it uses the runtime memory plugin context. If bridge imports are disabled or artifact reads are off, the command keeps the local/offline zero-import behavior. Index refresh after import is gated by ingest.autoCompile.

wiki unsafe-local import

Import from explicitly configured local paths (unsafeLocal.paths) in unsafe-local mode. Intentionally experimental and same-machine only. Index refresh after import is gated by ingest.autoCompile.

wiki chatgpt import

Import a ChatGPT export into draft wiki source pages.

apus wiki chatgpt import --export ./chatgpt-export
apus wiki chatgpt import --export ./conversations.json --dry-run
Flag Default Description
--export <path> (required) ChatGPT export directory or conversations.json path.
--dry-run false Preview created/updated/skipped counts without writing pages.

A non-dry-run import that changes any page records an import run id, printed in the summary, needed for rollback.

wiki chatgpt rollback <run-id>

Roll back a previously applied ChatGPT import run, removing pages it created and restoring pages it overwrote. Pages changed after import are moved under the run's .apus-wiki/import-runs/<run-id>/recovered/ directory instead of being deleted. Recovery paths remain in the command result on retries and later alreadyRolledBack responses. Interrupted runs remain rolling_back while target recovery or derived-artifact compilation is incomplete. A persisted process-restart fence separates those phases: after it, retries rebuild indexes and compiled caches without rewriting source pages or moving later pathname writes. A later normal compile may refresh machine-managed Related blocks. This covers in-process failure and process restart after ordinary filesystem calls return, not kernel or host power-loss ordering.

wiki obsidian ...

Obsidian helper commands for vaults running in Obsidian-friendly mode: status, search, open, command, daily. These require the official obsidian CLI on PATH when obsidian.useOfficialCli is enabled.

Configuration validation rejects obsidian.useOfficialCli: true when vault.scope is agent because obsidian.vaultName is one global setting, not a per-agent mapping. Obsidian-friendly Markdown rendering remains available.

Practical usage guidance

Configuration tie-ins

apus wiki behavior is shaped by:

See Memory Wiki plugin for the full config model.

Related