Skip to main content

معلومات المصدر

المستودع
dabit3/sonic-agent
آخر نشاط في المصدر
١٩ سبتمبر ٢٠٢٦ في ١٦:٠٢
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٠
التفرعات
٠

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

مستكشف الملفات
3 ملفات

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
sonic-agent
description
Configure, extend, or contribute to Sonic Agent.
version
2.2.0
author
Sonic Agent + Teknium
license
MIT
platforms
["linux","macos","windows"]
metadata
{"sonic":{"tags":["sonic","setup","configuration","multi-agent","spawning","cli","gateway","development"],"homepage":"https://github.com/dabit3/sonic-agent","related_skills":["claude-code","codex","opencode"]}}
# Sonic Agent Sonic Agent is an open-source AI agent framework by Nous Research that runs in your terminal, messaging platforms, and IDEs. It belongs to the same category as Claude Code (Anthropic), Codex (OpenAI), and OpenClaw — autonomous coding and task-execution agents that use tool calling to interact with your system. Sonic works with any LLM provider (OpenRouter, Anthropic, OpenAI, DeepSeek, local models, and 15+ others) and runs on Linux, macOS, and WSL. What makes Sonic different: - **Self-improving through skills** — Sonic learns from experience by saving reusable procedures as skills. When it solves a complex problem, discovers a workflow, or gets corrected, it can persist that knowledge as a skill document that loads into future sessions. Skills accumulate over time, making the agent better at your specific tasks and environment. - **Persistent memory across sessions** — remembers who you are, your preferences, environment details, and lessons learned. Pluggable memory backends (built-in, Honcho, Mem0, and more) let you choose how memory works. - **Multi-platform gateway** — the same agent runs on Telegram, Discord, Slack, WhatsApp, Signal, Matrix, Email, and 10+ other platforms with full tool access, not just chat. - **Provider-agnostic** — swap models and providers mid-workflow without changing anything else. Credential pools rotate across multiple API keys automatically. - **Profiles** — run multiple independent Sonic instances with isolated configs, sessions, skills, and memory. - **Extensible** — plugins, MCP servers, custom tools, webhook triggers, cron scheduling, and the full Python ecosystem. People use Sonic for software development, research, system administration, data analysis, content creation, home automation, and anything else that benefits from an AI agent with persistent context and full system access. **This skill helps you work with Sonic Agent effectively** — setting it up, configuring features, spawning additional agent instances, troubleshooting issues, finding the right commands and settings, and understanding how the system works when you need to extend or contribute to it. **Docs:** https://lightning-agent.nousresearch.com/docs/ ## Scope & Verification This skill is a concise operating guide, not the complete source of truth for every Sonic feature. If a Sonic feature, command, or setting is not mentioned here, do not treat that absence as evidence that it does not exist. Check the live repository and official docs before giving a negative answer. Good verification targets: - CLI commands: `sonic --help`, `sonic <command> --help`, and `sonic_cli/main.py` - User documentation: https://lightning-agent.nousresearch.com/docs/ - Source tree: https://github.com/NousResearch/hermes-agent ## Quick Start ```bash # Install curl -fsSL https://raw.githubusercontent.com/dabit3/sonic-agent/main/scripts/install.sh | bash # Interactive chat (default) sonic # Single query sonic chat -q "What is the capital of France?" # Setup wizard sonic setup # Change model/provider sonic model # Check health sonic doctor ``` --- ## CLI Reference ### Global Flags ``` sonic [flags] [command] --version, -V Show version --resume, -r SESSION Resume session by ID or title --continue, -c [NAME] Resume by name, or most recent session --worktree, -w Isolated git worktree mode (parallel agents) --skills, -s SKILL Preload skills (comma-separate or repeat) --profile, -p NAME Use a named profile --yolo Skip dangerous command approval --pass-session-id Include session ID in system prompt ``` No subcommand defaults to `chat`. ### Chat ``` sonic chat [flags] -q, --query TEXT Single query, non-interactive -m, --model MODEL Model (e.g. anthropic/claude-sonnet-4) -t, --toolsets LIST Comma-separated toolsets --provider PROVIDER Force provider (openrouter, anthropic, nous, etc.) -v, --verbose Verbose output -Q, --quiet Suppress banner, spinner, tool previews --checkpoints Enable filesystem checkpoints (/rollback) --source TAG Session source tag (default: cli) ``` ### Configuration ``` sonic setup [section] Interactive wizard (model|terminal|gateway|tools|agent) sonic model Interactive model/provider picker sonic config View current config sonic config edit Open config.yaml in $EDITOR sonic config set KEY VAL Set a config value sonic config path Print config.yaml path sonic config env-path Print .env path sonic config check Check for missing/outdated config sonic config migrate Update config with new options sonic auth Interactive credential manager sonic auth add PROVIDER Add OAuth or API-key credential (e.g. nous, openai-codex, qwen-oauth) sonic auth list List stored credentials sonic auth remove PROVIDER Remove a stored credential sonic doctor [--fix] Check dependencies and config sonic status [--all] Show component status ``` ### Tools & Skills ``` sonic tools Interactive tool enable/disable (curses UI) sonic tools list Show all tools and status sonic tools enable NAME Enable a toolset sonic tools disable NAME Disable a toolset sonic skills list List installed skills sonic skills search QUERY Search the skills hub sonic skills install ID Install a skill (ID can be a hub identifier OR a direct https://…/SKILL.md URL; pass --name to override when frontmatter has no name) sonic skills inspect ID Preview without installing sonic skills config Enable/disable skills per platform sonic skills check Check for updates sonic skills update Update outdated skills sonic skills uninstall N Remove a hub skill sonic skills publish PATH Publish to registry sonic skills browse Browse all available skills sonic skills tap add REPO Add a GitHub repo as skill source ``` ### MCP Servers ``` sonic mcp serve Run Sonic as an MCP server sonic mcp add NAME Add an MCP server (--url or --command) sonic mcp remove NAME Remove an MCP server sonic mcp list List configured servers sonic mcp test NAME Test connection sonic mcp configure NAME Toggle tool selection ``` How the built-in MCP client connects servers (stdio/HTTP), auto-discovers their tools, and exposes them as first-class tools, plus catalog install (`sonic mcp install <name>`): `skill_view(name="sonic-agent", file_path="references/native-mcp.md")`. ### Gateway (Messaging Platforms) ``` sonic gateway run Start gateway foreground sonic gateway install Install as background service sonic gateway start/stop Control the service sonic gateway restart Restart the service sonic gateway status Check status sonic gateway setup Configure platforms ``` Supported platforms: Telegram, Discord, Slack, WhatsApp, Signal, Email, SMS, Matrix, Mattermost, Home Assistant, DingTalk, Feishu, WeCom, BlueBubbles (iMessage), Weixin (WeChat), API Server, Webhooks. Open WebUI connects via the API Server adapter. Platform docs: https://lightning-agent.nousresearch.com/docs/user-guide/messaging/ ### Sessions ``` sonic sessions list List recent sessions sonic sessions browse Interactive picker sonic sessions export OUT Export to JSONL sonic sessions rename ID T Rename a session sonic sessions delete ID Delete a session sonic sessions prune Clean up old sessions (--older-than N days) sonic sessions stats Session store statistics ``` ### Cron Jobs ``` sonic cron list List jobs (--all for disabled) sonic cron create SCHED Create: '30m', 'every 2h', '0 9 * * *' sonic cron edit ID Edit schedule, prompt, delivery sonic cron pause/resume ID Control job state sonic cron run ID Trigger on next tick sonic cron remove ID Delete a job sonic cron status Scheduler status ``` ### Webhooks ``` sonic webhook subscribe N Create route at /webhooks/<name> sonic webhook list List subscriptions sonic webhook remove NAME Remove a subscription sonic webhook test NAME Send a test POST ``` Full setup, route config, payload templating, and event-driven agent-run patterns: `skill_view(name="sonic-agent", file_path="references/webhooks.md")`. ### Profiles ``` sonic profile list List all profiles sonic profile create NAME Create (--clone, --clone-all, --clone-from) sonic profile use NAME Set sticky default sonic profile delete NAME Delete a profile sonic profile show NAME Show details sonic profile alias NAME Manage wrapper scripts sonic profile rename A B Rename a profile sonic profile export NAME Export to tar.gz sonic profile import FILE Import from archive ``` ### Credential Pools ``` sonic auth add Interactive credential wizard sonic auth list [PROVIDER] List pooled credentials sonic auth remove P INDEX Remove by provider + index sonic auth reset PROVIDER Clear exhaustion status ``` ### Other ``` sonic insights [--days N] Usage analytics sonic update Update to latest version sonic pairing list/approve/revoke DM authorization sonic plugins list/install/remove Plugin management sonic honcho setup/status Honcho memory integration (requires honcho plugin) sonic memory setup/status/off Memory provider config sonic completion bash|zsh Shell completions sonic acp ACP server (IDE integration) sonic claw migrate Migrate from OpenClaw sonic uninstall Uninstall Sonic ``` --- ## Slash Commands (In-Session) Type these during an interactive chat session. New commands land fairly often; if something below looks stale, run `/help` in-session for the authoritative list or see the [live slash commands reference](https://lightning-agent.nousresearch.com/docs/reference/slash-commands). The registry of record is `sonic_cli/commands.py` — every consumer (autocomplete, Telegram menu, Slack mapping, `/help`) derives from it. ### Session Control ``` /new (/reset) Fresh session /clear Clear screen + new session (CLI) /retry Resend last message /undo Remove last exchange /title [name] Name the session /compress Manually compress context /stop Kill background processes /rollback [N] Restore filesystem checkpoint /snapshot [sub] Create or restore state snapshots of Sonic config/state (CLI) /background <prompt> Run prompt in background /queue <prompt> Queue for next turn /steer <prompt> Inject a message after the next tool call without interrupting /agents (/tasks) Show active agents and running tasks /resume [name] Resume a named session /goal [text|sub] Set a standing goal Sonic works on across turns until achieved (subcommands: status, pause, resume, clear) /redraw Force a full UI repaint (CLI) ``` ### Configuration ``` /config Show config (CLI) /model [name] Show or change model /personality [name] Set personality /reasoning [level] Set reasoning (none|minimal|low|medium|high|xhigh|show|hide) /verbose Cycle: off → new → all → verbose /voice [on|off|tts] Voice mode /yolo Toggle approval bypass /busy [sub] Control what Enter does while Sonic is working (CLI) (subcommands: queue, steer, interrupt, status) /indicator [style] Pick the TUI busy-indicator style (CLI) (styles: kaomoji, emoji, unicode, ascii) /footer [on|off] Toggle gateway runtime-metadata footer on final replies /skin [name] Change theme (CLI) /statusbar Toggle status bar (CLI) ``` ### Tools & Skills ``` /tools Manage tools (CLI) /toolsets List toolsets (CLI) /skills Search/install skills (CLI) /skill <name> Load a skill into session /reload-skills Re-scan ~/.sonic/skills/ for added/removed skills /reload Reload .env variables into the running session (CLI) /reload-mcp Reload MCP servers /cron Manage cron jobs (CLI) /curator [sub] Background skill maintenance (status, run, pin, archive, …) /kanban [sub] Multi-profile collaboration board (tasks, links, comments) /plugins List plugins (CLI) ``` ### Gateway ``` /approve Approve a pending command (gateway) /deny Deny a pending command (gateway) /restart Restart gateway (gateway) /sethome Set current chat as home channel (gateway) /update Update Sonic to latest (gateway) /topic [sub] Enable or inspect Telegram DM topic sessions (gateway) /platforms (/gateway) Show platform connection status (gateway) ``` ### Utility ``` /branch (/fork) Branch the current session /fast Toggle priority/fast processing /browser Open CDP browser connection /history Show conversation history (CLI) /save Save conversation to file (CLI) /copy [N] Copy the last assistant response to clipboard (CLI) /paste Attach clipboard image (CLI) /image Attach local image file (CLI) ``` ### Info ``` /help Show commands /commands [page] Browse all commands (gateway) /usage Token usage /insights [days] Usage analytics /status Session info (gateway) /profile Active profile info /debug Upload debug report (system info + logs) and get shareable links ``` ### Exit ``` /quit (/exit, /q) Exit CLI ``` --- ## Key Paths & Config ``` ~/.sonic/config.yaml Main configuration ~/.sonic/.env API keys and secrets (under $SONIC_HOME if set) $SONIC_HOME/skills/ Installed skills ~/.sonic/sessions/ Gateway routing index, request dumps, *.jsonl transcripts (and optional per-session JSON snapshots when sessions.write_json_snapshots: true) ~/.sonic/state.db Canonical session store (SQLite + FTS5) ~/.sonic/logs/ Gateway and error logs ~/.sonic/auth.json OAuth tokens and credential pools ~/.sonic/sonic-agent/ Source code (if git-installed) ``` Profiles use `~/.sonic/profiles/<name>/` with the same layout. ### Config Sections Edit with `sonic config edit` or `sonic config set section.key value`. | Section | Key options | |---------|-------------| | `model` | `default`, `provider`, `base_url`, `api_key`, `context_length` | | `agent` | `max_turns` (90), `tool_use_enforcement` | | `terminal` | `backend` (local/docker/ssh/modal), `cwd`, `timeout` (180) | | `compression` | `enabled`, `threshold` (0.50), `target_ratio` (0.20) | | `display` | `skin`, `tool_progress`, `show_reasoning`, `show_cost` | | `stt` | `enabled`, `provider` (local/groq/openai/mistral) | | `tts` | `provider` (edge/elevenlabs/openai/minimax/mistral/neutts) | | `memory` | `memory_enabled`, `user_profile_enabled`, `provider` | | `security` | `tirith_enabled`, `website_blocklist` | | `delegation` | `model`, `provider`, `base_url`, `api_key`, `max_iterations` (50), `reasoning_effort` | | `checkpoints` | `enabled`, `max_snapshots` (50) | Full config reference: https://lightning-agent.nousresearch.com/docs/user-guide/configuration ### Providers 20+ providers supported. Set via `sonic model` or `sonic setup`. | Provider | Auth | Key env var | |----------|------|-------------| | OpenRouter | API key | `OPENROUTER_API_KEY` | | Anthropic | API key | `ANTHROPIC_API_KEY` | | Nous Portal | OAuth | `sonic auth` | | OpenAI Codex | OAuth | `sonic auth` | | GitHub Copilot | Token | `COPILOT_GITHUB_TOKEN` | | Google Gemini | API key | `GOOGLE_API_KEY` or `GEMINI_API_KEY` | | DeepSeek | API key | `DEEPSEEK_API_KEY` | | xAI / Grok | API key | `XAI_API_KEY` | | Hugging Face | Token | `HF_TOKEN` | | Z.AI / GLM | API key | `GLM_API_KEY` | | MiniMax | API key | `MINIMAX_API_KEY` | | MiniMax CN | API key | `MINIMAX_CN_API_KEY` | | Kimi / Moonshot | API key | `KIMI_API_KEY` | | Alibaba / DashScope | API key | `DASHSCOPE_API_KEY` | | Xiaomi MiMo | API key | `XIAOMI_API_KEY` | | Kilo Code | API key | `KILOCODE_API_KEY` | | OpenCode Zen | API key | `OPENCODE_ZEN_API_KEY` | | OpenCode Go | API key | `OPENCODE_GO_API_KEY` | | Qwen OAuth | OAuth | `sonic auth add qwen-oauth` | | Custom endpoint | Config | `model.base_url` + `model.api_key` in config.yaml | | GitHub Copilot ACP | External | `COPILOT_CLI_PATH` or Copilot CLI | Full provider docs: https://lightning-agent.nousresearch.com/docs/integrations/providers ### Toolsets Enable/disable via `sonic tools` (interactive) or `sonic tools enable/disable NAME`. | Toolset | What it provides | |---------|-----------------|
عرض على GitHub
ملف SKILL.md هذا كبير جدا، لذلك يعرض SkillsMP القسم الاول فقط هنا. عرض على GitHub