Skip to main content

Command

Enum Command 

Source
pub enum Command {
Show 39 variants Serve(ServeArgs), Mcp { tier: String, profile: Option<String>, }, Store(StoreArgs), Update(UpdateArgs), Recall(RecallArgs), Search(SearchArgs), Get(GetArgs), List(ListArgs), Delete(DeleteArgs), Promote(PromoteArgs), Forget(ForgetArgs), Link(LinkArgs), Consolidate(ConsolidateArgs), Gc, Stats, Namespaces, Export, Import(ImportArgs), Resolve(ResolveArgs), Shell, Sync(SyncArgs), SyncDaemon(SyncDaemonArgs), AutoConsolidate(AutoConsolidateArgs), Completions(CompletionsArgs), Man, Mine(MineArgs), Archive(ArchiveArgs), Agents(AgentsArgs), Pending(PendingArgs), Backup(BackupArgs), Restore(RestoreArgs), Curator(CuratorArgs), Bench(BenchArgs), Doctor(DoctorCliArgs), Boot(BootArgs), Install(InstallArgs), Wrap(WrapArgs), Logs(LogsArgs), Audit(AuditArgs),
}

Variants§

§

Serve(ServeArgs)

Start the HTTP memory daemon

§

Mcp

Run as an MCP (Model Context Protocol) tool server over stdio

Fields

§tier: String

Feature tier: keyword (FTS only) or semantic (embeddings + FTS)

§profile: Option<String>

v0.6.4 — Tool surface profile. One of core, graph, admin, power, full, or a comma-separated custom list (e.g., core,graph,archive). Default core (5 tools). Resolution order: this CLI flag > AI_MEMORY_PROFILE env > [mcp].profile in config.toml > core. Set --profile full to reproduce v0.6.3 surface 1:1 (43 tools).

§

Store(StoreArgs)

Store a new memory

§

Update(UpdateArgs)

Update an existing memory by ID

§

Recall(RecallArgs)

Recall memories relevant to a context

§

Search(SearchArgs)

Search memories by text

§

Get(GetArgs)

Retrieve a memory by ID

§

List(ListArgs)

List memories

§

Delete(DeleteArgs)

Delete a memory by ID

§

Promote(PromoteArgs)

Promote a memory to long-term

§

Forget(ForgetArgs)

Delete memories matching a pattern

Link two memories

§

Consolidate(ConsolidateArgs)

Consolidate multiple memories into one

§

Gc

Run garbage collection

§

Stats

Show statistics

§

Namespaces

List all namespaces

§

Export

Export all memories as JSON

§

Import(ImportArgs)

Import memories from JSON (stdin)

§

Resolve(ResolveArgs)

Resolve a contradiction — mark one memory as superseding another

§

Shell

Interactive memory shell (REPL)

§

Sync(SyncArgs)

Sync memories between two database files

§

SyncDaemon(SyncDaemonArgs)

Run the peer-to-peer sync daemon — continuously exchange memories with one or more HTTP peers (Phase 3 Task 3b.1). The defining grand-slam capability: two agents on two machines form a live knowledge mesh with no cloud, no login, no SaaS.

§

AutoConsolidate(AutoConsolidateArgs)

Auto-consolidate short-term memories by namespace

§

Completions(CompletionsArgs)

Generate shell completions

§

Man

Generate man page

§

Mine(MineArgs)

Import memories from historical conversations (Claude, ChatGPT, Slack exports)

§

Archive(ArchiveArgs)

Manage the memory archive (list, restore, purge, stats)

§

Agents(AgentsArgs)

Register or list agents (Task 1.3)

§

Pending(PendingArgs)

List / approve / reject governance-pending actions (Task 1.9)

§

Backup(BackupArgs)

v0.6.0.0: snapshot the SQLite database to a timestamped backup file. Uses SQLite VACUUM INTO which is hot-backup safe (no daemon stop required). Writes a manifest.json alongside (sha256 + version).

§

Restore(RestoreArgs)

v0.6.0.0: restore the SQLite database from a backup file written by ai-memory backup. Verifies the manifest sha256 before replacing the current DB. The current DB is moved aside as a safety net before the replacement.

§

Curator(CuratorArgs)

v0.6.1: run the autonomous curator. --once runs a single sweep and prints a JSON report; --daemon loops with --interval-secs between cycles. Auto-tags memories without tags and flags contradictions against nearby siblings in the same namespace.

§

Bench(BenchArgs)

v0.6.3 (Pillar 3 / Stream E): run the canonical performance workload and print measured p50/p95/p99 against the budgets in PERFORMANCE.md. Each invocation seeds a disposable temp DB so the user’s main DB is untouched. Exits non-zero when any p95 exceeds its budget by more than the published 10% tolerance.

§

Doctor(DoctorCliArgs)

v0.6.3.1 (P7 / R7): operator-visible health dashboard. Reads Capabilities v2 (P1) + data integrity surfaces (P2) + recall observability (P3). With --remote <url> becomes a fleet doctor at T3+. Read-only — never mutates the database. Exits 0 on a healthy report, 2 on critical findings, and 1 on warnings when --fail-on-warn is passed.

§

Boot(BootArgs)

Issue #487: emit session-boot context. Universal primitive every AI-agent integration recipe (Claude Code SessionStart hook, Cursor / Cline / Continue / Windsurf system-message, Codex / Apps SDK / Agent SDK programmatic prepend, OpenClaw built-in, local models via LM Studio / Ollama / vLLM) calls before the agent’s first turn. Read-only, fast, never blocks. With --quiet (recommended for hooks) a missing DB exits 0 with empty stdout.

§

Install(InstallArgs)

Issue #487 PR-2: wire ai-memory boot and the ai-memory-mcp server into AI agents’ config files (Claude Code SessionStart hook, Cursor / Cline / Continue / Windsurf / OpenClaw MCP config). Default is --dry-run (prints the diff, writes nothing). Pass --apply to commit. Pass --uninstall --apply to remove a previously-installed managed block.

§

Wrap(WrapArgs)

Issue #487 PR-6: cross-platform Rust replacement for the bash / PowerShell wrappers PR-1 shipped in the integration recipes. Runs ai-memory boot in-process, builds a system message, then spawns the named agent CLI with the system message delivered via the strategy chosen by default_strategy(<agent>) (or an explicit --system-flag / --system-env / --message-file-flag override). Exit code is propagated from the wrapped agent.

§

Logs(LogsArgs)

Issue #487 PR-5: operator-facing CLI for the operational logging facility (tail, cat, archive, purge). Default-OFF — emits nothing useful unless [logging] enabled = true is set in config.toml.

§

Audit(AuditArgs)

Issue #487 PR-5: operator-facing CLI for the security audit trail (verify, tail, path). Default-OFF — emits nothing useful unless [audit] enabled = true is set in config.toml.

Trait Implementations§

Source§

impl FromArgMatches for Command

Source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from ArgMatches, parsing the arguments as needed. Read more
Source§

fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>

Instantiate Self from ArgMatches, parsing the arguments as needed. Read more
Source§

fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>

Assign values from ArgMatches to self.
Source§

fn update_from_arg_matches_mut<'b>( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>

Assign values from ArgMatches to self.
Source§

impl Subcommand for Command

Source§

fn augment_subcommands<'b>(__clap_app: Command) -> Command

Append to Command so it can instantiate Self via FromArgMatches::from_arg_matches_mut Read more
Source§

fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command

Append to Command so it can instantiate self via FromArgMatches::update_from_arg_matches_mut Read more
Source§

fn has_subcommand(__clap_name: &str) -> bool

Test whether Self can parse a specific subcommand

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,