Skip to content

Chat commands

Text commands and slash-command aliases supported by mikan across chat platforms.

Login and credentials

/login opens a 15-minute capability link for API keys, OAuth, and shared vault profiles. It is available only in a DM/private conversation.

Sessions

session opens the current session viewer; /new resets the current DM session while retaining old files for inspection.

Administration

/admin opens the 30-minute admin portal; model, sandbox limits, office visibility, reply policy, skills, events, and conversation state can be inspected there.

CommandPurpose and scope
/login / /pi-loginOpen a 15-minute login/vault link. DM only.
session / /session / /pi-sessionOpen the current session viewer. DM only.
/desktop / /pi-desktopOpen a 24-hour private link to this conversation’s desktop: watch or use the browser the agent drives, take control of it, or open a terminal. Needs oci:*.
/new / /pi-newReset the current session. DM only.
/compact [instructions] / /pi-compactSummarize older messages to free up context; DMs and channels. The instructions say what the summary keeps. Earlier messages stay in the session history.
/model / /pi-model [provider/model[:thinking]]Show or switch the current conversation model. Thinking levels: off, minimal, low, medium, high, xhigh, max.
stop / /stopStop the matching active run. On Slack, prefer text form so thread-local routing stays accurate.
/pi-auto-reply <on|off|jev>Reply to every message in the current Slack channel (on), only to mentions (off), or when Jev judges a message addresses mikan (jev).
/admin / /pi-adminOpen the 30-minute admin portal.
/sandbox / /pi-sandboxShow the current sandbox limits plus this office’s visibility.
/pi-sandbox boostApply configured boost limits until the managed sandbox runtime stops.
/pi-sandbox visibilityReport the office’s effective visibility and where it came from.
/pi-sandbox visibility <private|default>Narrow this public channel to a private office, or clear that override. See Office visibility below.

/pi-sandbox applies to managed sandbox runtimes only: in host or container:<name> mode it replies that the command needs oci:*.

Visibility follows the Slack conversation type (ADR 0008): public channels are public offices, readable by every other office under /workspace/public/ and allowed to write shared MEMORY.md and skills/; private channels, DMs, group DMs, and externally shared channels are private offices, visible only to themselves. /pi-sandbox visibility is the admin escape hatch for the one adjustment the model allows: treating a public channel as private. The same switch is in the admin portal per office.

WordEffect
defaultClear the override; follow the Slack conversation type.
privateTreat this public channel as private. Has no further effect on a DM or private channel, which are already private.

The change takes effect on the next message, when the sandbox container is replaced with the new mounts; only the workspace and vault files carry over. A switch is refused while the conversation is busy. See Configuration for the underlying office.visibility field.

All vault commands are DM-only:

CommandEffect
/login shared listList shared login profiles.
/login shared create <name>Open a login link that creates a shared profile.
/login shared update <name>Open a login link that updates a shared profile.
/login shared delete <name>Delete a shared profile.
/login copy <name>Copy a shared profile into the current conversation vault. Matching values are overwritten.

Shared profiles are operator-managed credentials. Automatic inheritance through sandbox.defaultSharedVault is restricted to eligible membership-trust image conversations; open-trigger surfaces do not inherit it.

The admin, login/vault, and session portals use the same HTTP server. Configure a public base URL for production:

  1. Set the externally reachable URL:

    Terminal window
    export LINK_URL="https://mikan.example.com"
  2. Optionally select the listen port; when LINK_URL exists, the default is 8181:

    Terminal window
    export LINK_PORT=8181
  3. For local-only testing, set only LINK_PORT. mikan binds to 127.0.0.1 and returns links under http://localhost:<port>.

Capability URLs are bearer secrets. Do not paste them into shared channels, logs, or issue trackers. Login links expire after 15 minutes and are consumed when credentials are written; admin links last 30 minutes; session links last 24 hours. A process restart invalidates every outstanding link.

See Portal auth and capability model for route-level permissions.