@mewbleh/nori
v1.0.0
Published
Headless, multi-channel personal AI agent
Maintainers
Readme
Nori
Nori is a production-ready, headless personal AI agent with a CLI/TUI, authenticated protocol-v4 Gateway, 48 model transports, and Telegram, WhatsApp, Discord, Slack, Matrix, Mattermost, IRC, LINE, Feishu/Lark, and Google Chat channels. Nori ships no web UI.
npm install --global @mewbleh/nori
nori setup
nori doctor --production
nori gateway runnori setup and nori onboard launch a keyboard-driven terminal wizard with
provider authentication, live searchable model selection, custom model entry,
channel selection, daemon choice, and review/cancel screens. For automation,
use --non-interactive --provider <id> --model <provider/model>; that mode
never prompts.
Run nori with no arguments or nori menu for the interactive terminal
control center. It links terminal chat, searchable default-model selection,
conversation browsing, approval and sender-pairing review, plugin management,
guided cron creation, and managed Git worktrees. The same workflows are
available as models select, sessions browse, approvals review,
pairing review, plugins manage, cron create, and worktrees. Static
list/get/action commands and --json remain prompt-free.
OpenAI supports API keys, browser OAuth, and Codex-compatible device login:
nori models auth login --provider openai --device-codeTelegram has a guided BotFather-token flow:
nori channels token telegramIt hides the pasted token, stores it in Nori's encrypted vault, and verifies the bot. Automation can save a reference without putting the value in shell history:
nori channels token telegram --token-env TELEGRAM_BOT_TOKEN
nori channels token telegram --token-file /run/secrets/telegramSpeech output supports OpenAI, OpenRouter, ElevenLabs, and Azure Speech. Transcription supports OpenAI, Groq, Deepgram, ElevenLabs, and SenseAudio. Remote MCP servers can use encrypted OAuth discovery, PKCE, token refresh, probes, and explicit tool filters.
nori mcp add docs --url https://mcp.example.com/mcp --auth oauth --no-probe
nori mcp login docsState is private under ~/.nori, persisted credentials are AES-256-GCM
encrypted, and consequential tools plus cross-chat messages are disabled by
default and approval-gated after enablement. Back up the entire state directory,
including its master key:
nori backup create --output ~/Backups --verifyThe optional browser tool runs pinned Chromium in a separate, non-root Docker container. It is disabled until you allow at least one domain, install the browser image, and enable it:
nori browser domains add example.com
nori browser install --yes
nori browser enableBrowser actions require single-use approvals and produce private traces,
screenshots, and redacted action journals. Run nori browser for its guided
manager.
Nori targets documented OpenClaw v2026.7.1 CLI and Gateway compatibility
within its declared provider and channel product scope. Version 1.0.0 is the
stable production release for that scope and does not claim adapter-for-adapter
OpenClaw parity. See the project, production runbook, and frozen compatibility
ledger at https://github.com/mewbleh/nori.
