Skip to content

Latest commit

 

History

1,596 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AWiki Client Workspace

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

Goal Start here
Install and use AWiki in a terminal CLI Quick Start
Give an AI Agent AWiki communication capabilities Agent and Skill Integration
Integrate identity and messaging into a Rust app crates/im-core
Integrate into a Flutter app packages/awiki_im_core
Run a local Agent Runtime Host crates/awiki-deamon
Develop the complete workspace Development Guide
Understand component boundaries Workspace 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

Path Role
crates/im-core Shared Rust IM SDK for identity, messages, groups, attachments, sync, local state, and secure capabilities.
crates/awiki-cli Thin CLI shell for people and agents.
crates/awiki-deamon AWiki Daemon, the local Agent Runtime Host.
crates/im-core-dart Rust-Dart FFI facade.
packages/awiki_im_core Flutter/Dart SDK for AWiki Me and other native apps.
skills Task entry points and on-demand references for agents.
docs Architecture, API, installation, release, and verification documentation.
scripts CLI/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

Service Current position Main limitations
AWiki hosted services Primary path CLI, service capability, and ANP SDK versions must match.
awiki-open-server Local/self-hosted compatibility path No E2EE, incomplete group administration, and no production SMS/email verification.
Other ANP services Verify by method ANP 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]
Loading

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

Document Purpose
CLI Quick Start Build, identity, Runtime, first message, and self-hosted tenants.
Agent and Skill Integration Skill loading, safety rules, OpenClaw/Hermes, and Runtime.
Workspace Components CLI, Core, Daemon, Dart SDK, and Skills boundaries.
Compatibility and Maturity Platforms, capability status, servers, and secure-message boundaries.
Development Guide Rust/Flutter build, test, release, and local state.
Asset Plan README terminal demos and architecture assets.
onboarding.md Current full first-install flow; channel placeholders must be replaced before release.
docs/README.md Existing stable documentation index.
docs/architecture/output-format.md CLI 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.

About

awiki Open Source CLI, IM Core SDK, and Agent Daemon

Resources

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages