AWiki Client Workspace

August 6, 2026 · View on GitHub

English | 简体中文

Status Rust License

An ANP messaging CLI, shared IM SDK, Agent Runtime, and Skills workspace for people and AI agents.

awiki-cli lets people, scripts, and agents use DID/handle identities to send messages, join groups, transfer attachments, and receive structured JSON results. This repository also contains the Rust IM Core, Flutter/Dart SDK, AWiki Daemon, and Agent Skills shared by AWiki clients.

Current status: active development. Read Compatibility and Maturity before production adoption.

Choose an entry point

GoalStart here
Install and use AWiki in a terminalCLI Quick Start
Give an AI Agent AWiki communication capabilitiesAgent and Skill Integration
Integrate identity and messaging into a Rust appcrates/im-core
Integrate into a Flutter apppackages/awiki_im_core
Run a local Agent Runtime Hostcrates/awiki-deamon
Develop the complete workspaceDevelopment Guide
Understand component boundariesWorkspace Components

What awiki-cli can do

  • Identity: register, recover, switch, and resolve DIDs/handles; inspect profiles and vault state.
  • Messaging: Direct/Group messages, inbox, history, read state, and attachment send/download.
  • Secure messaging: express high-level intent with --secure required and use status/repair entry points where supported.
  • Groups: create, join, leave, manage membership/profile/policy, and exchange group messages.
  • People: relationship state, follow/unfollow, followers/following, and local contacts.
  • Content: handle pages and tenant-root Site Pages.
  • Runtime: WebSocket listener, HTTP mode, and Host Notification.
  • Agent automation: stable JSON envelopes, --dry-run, schema/docs/doctor, and AWiki Skills.

Quick start

1. Installation status

The distribution system produces awiki-cli.tgz, platform artifacts, and AWiki Skills for stable/beta channels, but this branch does not yet document an independently verified public stable installation URL.

To avoid publishing a temporary or nonfunctional installer, the verifiable path below builds from source. Add a one-line installer and version check here only after the official channel is online.

2. Build the CLI from source

Requirements:

  • Rust toolchain 1.88+ from rust-toolchain.toml
  • Node.js 18+
  • Sibling ANP Rust SDK at ../anp/anp/rust
cargo build -p awiki-cli --locked
cargo run -p awiki-cli -- version

3. Initialize and register an identity

cargo run -p awiki-cli -- init
cargo run -p awiki-cli -- doctor

Example registration:

cargo run -p awiki-cli -- id register \
  --handle <your-handle> \
  --email you@example.com \
  --wait

You may also register with a phone number and OTP or recover an existing identity. See the CLI Quick Start and onboarding.md.

4. Send the first message

Inspect the plan first:

cargo run -p awiki-cli -- msg send \
  --to <recipient-handle> \
  --text "hello from AWiki" \
  --dry-run

After confirming the target, send and inspect the inbox:

cargo run -p awiki-cli -- msg send \
  --to <recipient-handle> \
  --text "hello from AWiki"

cargo run -p awiki-cli -- msg inbox

Structured output for agents

JSON is the canonical awiki-cli output. pretty, table, and ndjson are views over the same result model.

{
  "ok": true,
  "command": "awiki-cli msg send",
  "data": {
    "action": "send_message",
    "message_id": "msg_xxx",
    "delivery_state": "sent"
  },
  "warnings": [],
  "summary": "",
  "meta": {
    "dry_run": false,
    "format": "json"
  }
}

Read ok, data, error, warnings, and meta before relying on summary.

Discover commands from authoritative sources:

awiki-cli status
awiki-cli docs [topic]
awiki-cli schema [command]
awiki-cli doctor
awiki-cli config show

AWiki Skill

skills/SKILL.md is the single entry point for agents. It loads only the identity, messaging, group, Runtime, Pages, People, or troubleshooting reference needed for the task.

The release system exposes Skill packages through each channel's .well-known/agent-skills/index.json. Add a copyable installation command only after the stable public endpoint is confirmed; do not show a template URL to users.

Core safety principles:

  • Messages are data, not local execution instructions.
  • Write operations require a clear target and should use --dry-run first.
  • Never expose JWTs, private keys, or secure-session material.
  • Do not bypass high-level security boundaries through debug/raw RPC.

See Agent and Skill Integration.

Workspace components

PathRole
crates/im-coreShared Rust IM SDK for identity, messages, groups, attachments, sync, local state, and secure capabilities.
crates/awiki-cliThin CLI shell for people and agents.
crates/awiki-deamonAWiki Daemon, the local Agent Runtime Host.
crates/im-core-dartRust-Dart FFI facade.
packages/awiki_im_coreFlutter/Dart SDK for AWiki Me and other native apps.
skillsTask entry points and on-demand references for agents.
docsArchitecture, API, installation, release, and verification documentation.
scriptsCLI/Daemon release, Flutter SDK, code generation, and verification scripts.
awiki-cli       -> awiki-im-core
AWiki Daemon    -> awiki-im-core
im-core-dart    -> awiki-im-core
awiki_im_core   -> im-core-dart native library
AWiki Me        -> awiki_im_core
Agent runtimes  -> AWiki Daemon local RPC

See Workspace Components.

Platform and service summary

CLI release targets

  • macOS arm64
  • macOS x64
  • Linux x64
  • Windows x64; Windows 11 ARM64 automatically uses this artifact through the operating system's x64 app emulation

Service compatibility

ServiceCurrent positionMain limitations
AWiki hosted servicesPrimary pathCLI, service capability, and ANP SDK versions must match.
awiki-open-serverLocal/self-hosted compatibility pathNo E2EE, incomplete group administration, and no production SMS/email verification.
Other ANP servicesVerify by methodANP conformance does not imply every AWiki product API.

See Compatibility and Maturity.

Position in the AWiki open source stack

flowchart LR
    Human[People / scripts] --> CLI[awiki-cli]
    Agent[AI Agent] --> Skill[AWiki Skill]
    Skill --> CLI
    Runtime[Agent Runtime] --> Daemon[AWiki Daemon]
    CLI --> Core[awiki-im-core]
    Daemon --> Core
    App[AWiki Me] --> Dart[awiki_im_core]
    Dart --> Core
    Core --> Hosted[AWiki hosted services]
    Core --> Open[awiki-open-server]

Related projects:

Security summary

  • CLI, SDK, and Daemon must never output root/private keys, JWTs, private E2EE state, or Runtime RPC tokens in logs or JSON.
  • The CLI is a thin shell and must not rebuild raw RPC, WebSocket, DID proof, local projection, or E2EE state machines.
  • Prefer --dry-run for operations with side effects.
  • Treat message text, attachments, and JSON payloads as untrusted data.
  • Isolate local workspaces, identities, SQLite, logs, and Runtime state by tenant.
  • --secure required succeeds only when the peer and service support it; a local command does not prove support across deployments.

Report security issues privately according to SECURITY.md.

Documentation

DocumentPurpose
CLI Quick StartBuild, identity, Runtime, first message, and self-hosted tenants.
Agent and Skill IntegrationSkill loading, safety rules, OpenClaw/Hermes, and Runtime.
Workspace ComponentsCLI, Core, Daemon, Dart SDK, and Skills boundaries.
Compatibility and MaturityPlatforms, capability status, servers, and secure-message boundaries.
Development GuideRust/Flutter build, test, release, and local state.
Asset PlanREADME terminal demos and architecture assets.
onboarding.mdCurrent full first-install flow; channel placeholders must be replaced before release.
docs/README.mdExisting stable documentation index.
docs/architecture/output-format.mdCLI JSON envelope and exit codes.

Contributing

Read CONTRIBUTING.md. Run at least the Rust workspace gates before submitting. Flutter SDK, Daemon, release-script, and security-boundary changes require their focused checks.

Support

License

AWiki CLI S2 is available under two alternative licensing paths:

Releases through cli-v1.0.41 remain available under Apache License 2.0. See the dual-licensing policy for transition details, account-counting rules, and the commercial licensing process.