hermes-agent/website/sidebars.ts
Teknium 05394f2f28
feat(spotify): interactive setup wizard + docs page (#15130)
Previously 'hermes auth spotify' crashed with 'HERMES_SPOTIFY_CLIENT_ID
is required' if the user hadn't manually created a Spotify developer
app and set env vars. Now the command detects a missing client_id and
walks the user through the one-time app registration inline:

- Opens https://developer.spotify.com/dashboard in the browser
- Tells the user exactly what to paste into the Spotify form
  (including the correct default redirect URI, 127.0.0.1:43827)
- Prompts for the Client ID
- Persists HERMES_SPOTIFY_CLIENT_ID to ~/.hermes/.env so subsequent
  runs skip the wizard
- Continues straight into the PKCE OAuth flow

Also prints the docs URL at both the start of the wizard and the end
of a successful login so users can find the full guide.

Adds website/docs/user-guide/features/spotify.md with the complete
setup walkthrough, tool reference, and troubleshooting, and wires it
into the sidebar under User Guide > Features > Advanced.

Fixes a stale redirect URI default in the hermes_cli/tools_config.py
TOOL_CATEGORIES entry (was 8888/callback from the PR description
instead of the actual DEFAULT_SPOTIFY_REDIRECT_URI value
43827/spotify/callback defined in auth.py).
2026-04-24 05:30:05 -07:00

622 lines
23 KiB
TypeScript

import type {SidebarsConfig} from '@docusaurus/plugin-content-docs';
const sidebars: SidebarsConfig = {
docs: [
{
type: 'category',
label: 'Getting Started',
collapsed: true,
items: [
'getting-started/quickstart',
'getting-started/installation',
'getting-started/termux',
'getting-started/nix-setup',
'getting-started/updating',
'getting-started/learning-path',
],
},
{
type: 'category',
label: 'Using Hermes',
collapsed: true,
items: [
'user-guide/cli',
'user-guide/tui',
'user-guide/configuration',
'user-guide/sessions',
'user-guide/profiles',
'user-guide/git-worktrees',
'user-guide/docker',
'user-guide/security',
'user-guide/checkpoints-and-rollback',
],
},
{
type: 'category',
label: 'Features',
collapsed: true,
items: [
'user-guide/features/overview',
'user-guide/features/tool-gateway',
{
type: 'category',
label: 'Core',
items: [
'user-guide/features/tools',
'user-guide/features/skills',
'user-guide/features/memory',
'user-guide/features/memory-providers',
'user-guide/features/context-files',
'user-guide/features/context-references',
'user-guide/features/personality',
'user-guide/features/skins',
'user-guide/features/plugins',
'user-guide/features/built-in-plugins',
],
},
{
type: 'category',
label: 'Automation',
items: [
'user-guide/features/cron',
'user-guide/features/delegation',
'user-guide/features/code-execution',
'user-guide/features/hooks',
'user-guide/features/batch-processing',
],
},
{
type: 'category',
label: 'Media & Web',
items: [
'user-guide/features/voice-mode',
'user-guide/features/browser',
'user-guide/features/vision',
'user-guide/features/image-generation',
'user-guide/features/tts',
],
},
{
type: 'category',
label: 'Management',
items: [
'user-guide/features/web-dashboard',
'user-guide/features/dashboard-plugins',
],
},
{
type: 'category',
label: 'Advanced',
items: [
'user-guide/features/rl-training',
'user-guide/features/spotify',
],
},
{
type: 'category',
label: 'Skills',
collapsed: true,
items: [
'user-guide/skills/godmode',
'user-guide/skills/google-workspace',
{
type: 'category',
label: 'Bundled (by default)',
collapsed: true,
items: [
{
type: 'category',
label: 'apple',
collapsed: true,
items: [
'user-guide/skills/bundled/apple/apple-apple-notes',
'user-guide/skills/bundled/apple/apple-apple-reminders',
'user-guide/skills/bundled/apple/apple-findmy',
'user-guide/skills/bundled/apple/apple-imessage',
],
},
{
type: 'category',
label: 'autonomous-ai-agents',
collapsed: true,
items: [
'user-guide/skills/bundled/autonomous-ai-agents/autonomous-ai-agents-claude-code',
'user-guide/skills/bundled/autonomous-ai-agents/autonomous-ai-agents-codex',
'user-guide/skills/bundled/autonomous-ai-agents/autonomous-ai-agents-hermes-agent',
'user-guide/skills/bundled/autonomous-ai-agents/autonomous-ai-agents-opencode',
],
},
{
type: 'category',
label: 'creative',
collapsed: true,
items: [
'user-guide/skills/bundled/creative/creative-architecture-diagram',
'user-guide/skills/bundled/creative/creative-ascii-art',
'user-guide/skills/bundled/creative/creative-ascii-video',
'user-guide/skills/bundled/creative/creative-baoyu-comic',
'user-guide/skills/bundled/creative/creative-baoyu-infographic',
'user-guide/skills/bundled/creative/creative-creative-ideation',
'user-guide/skills/bundled/creative/creative-design-md',
'user-guide/skills/bundled/creative/creative-excalidraw',
'user-guide/skills/bundled/creative/creative-manim-video',
'user-guide/skills/bundled/creative/creative-p5js',
'user-guide/skills/bundled/creative/creative-pixel-art',
'user-guide/skills/bundled/creative/creative-popular-web-designs',
'user-guide/skills/bundled/creative/creative-songwriting-and-ai-music',
],
},
{
type: 'category',
label: 'data-science',
collapsed: true,
items: [
'user-guide/skills/bundled/data-science/data-science-jupyter-live-kernel',
],
},
{
type: 'category',
label: 'devops',
collapsed: true,
items: [
'user-guide/skills/bundled/devops/devops-webhook-subscriptions',
],
},
{
type: 'category',
label: 'dogfood',
collapsed: true,
items: [
'user-guide/skills/bundled/dogfood/dogfood-dogfood',
],
},
{
type: 'category',
label: 'email',
collapsed: true,
items: [
'user-guide/skills/bundled/email/email-himalaya',
],
},
{
type: 'category',
label: 'gaming',
collapsed: true,
items: [
'user-guide/skills/bundled/gaming/gaming-minecraft-modpack-server',
'user-guide/skills/bundled/gaming/gaming-pokemon-player',
],
},
{
type: 'category',
label: 'github',
collapsed: true,
items: [
'user-guide/skills/bundled/github/github-codebase-inspection',
'user-guide/skills/bundled/github/github-github-auth',
'user-guide/skills/bundled/github/github-github-code-review',
'user-guide/skills/bundled/github/github-github-issues',
'user-guide/skills/bundled/github/github-github-pr-workflow',
'user-guide/skills/bundled/github/github-github-repo-management',
],
},
{
type: 'category',
label: 'mcp',
collapsed: true,
items: [
'user-guide/skills/bundled/mcp/mcp-native-mcp',
],
},
{
type: 'category',
label: 'media',
collapsed: true,
items: [
'user-guide/skills/bundled/media/media-gif-search',
'user-guide/skills/bundled/media/media-heartmula',
'user-guide/skills/bundled/media/media-songsee',
'user-guide/skills/bundled/media/media-youtube-content',
],
},
{
type: 'category',
label: 'mlops',
collapsed: true,
items: [
'user-guide/skills/bundled/mlops/mlops-models-audiocraft',
'user-guide/skills/bundled/mlops/mlops-training-axolotl',
'user-guide/skills/bundled/mlops/mlops-research-dspy',
'user-guide/skills/bundled/mlops/mlops-huggingface-hub',
'user-guide/skills/bundled/mlops/mlops-inference-llama-cpp',
'user-guide/skills/bundled/mlops/mlops-evaluation-lm-evaluation-harness',
'user-guide/skills/bundled/mlops/mlops-inference-obliteratus',
'user-guide/skills/bundled/mlops/mlops-inference-outlines',
'user-guide/skills/bundled/mlops/mlops-models-segment-anything',
'user-guide/skills/bundled/mlops/mlops-training-trl-fine-tuning',
'user-guide/skills/bundled/mlops/mlops-training-unsloth',
'user-guide/skills/bundled/mlops/mlops-inference-vllm',
'user-guide/skills/bundled/mlops/mlops-evaluation-weights-and-biases',
],
},
{
type: 'category',
label: 'note-taking',
collapsed: true,
items: [
'user-guide/skills/bundled/note-taking/note-taking-obsidian',
],
},
{
type: 'category',
label: 'productivity',
collapsed: true,
items: [
'user-guide/skills/bundled/productivity/productivity-google-workspace',
'user-guide/skills/bundled/productivity/productivity-linear',
'user-guide/skills/bundled/productivity/productivity-maps',
'user-guide/skills/bundled/productivity/productivity-nano-pdf',
'user-guide/skills/bundled/productivity/productivity-notion',
'user-guide/skills/bundled/productivity/productivity-ocr-and-documents',
'user-guide/skills/bundled/productivity/productivity-powerpoint',
],
},
{
type: 'category',
label: 'red-teaming',
collapsed: true,
items: [
'user-guide/skills/bundled/red-teaming/red-teaming-godmode',
],
},
{
type: 'category',
label: 'research',
collapsed: true,
items: [
'user-guide/skills/bundled/research/research-arxiv',
'user-guide/skills/bundled/research/research-blogwatcher',
'user-guide/skills/bundled/research/research-llm-wiki',
'user-guide/skills/bundled/research/research-polymarket',
'user-guide/skills/bundled/research/research-research-paper-writing',
],
},
{
type: 'category',
label: 'smart-home',
collapsed: true,
items: [
'user-guide/skills/bundled/smart-home/smart-home-openhue',
],
},
{
type: 'category',
label: 'social-media',
collapsed: true,
items: [
'user-guide/skills/bundled/social-media/social-media-xurl',
],
},
{
type: 'category',
label: 'software-development',
collapsed: true,
items: [
'user-guide/skills/bundled/software-development/software-development-plan',
'user-guide/skills/bundled/software-development/software-development-requesting-code-review',
'user-guide/skills/bundled/software-development/software-development-subagent-driven-development',
'user-guide/skills/bundled/software-development/software-development-systematic-debugging',
'user-guide/skills/bundled/software-development/software-development-test-driven-development',
'user-guide/skills/bundled/software-development/software-development-writing-plans',
],
},
],
},
{
type: 'category',
label: 'Optional (installable)',
collapsed: true,
items: [
{
type: 'category',
label: 'autonomous-ai-agents',
collapsed: true,
items: [
'user-guide/skills/optional/autonomous-ai-agents/autonomous-ai-agents-blackbox',
'user-guide/skills/optional/autonomous-ai-agents/autonomous-ai-agents-honcho',
],
},
{
type: 'category',
label: 'blockchain',
collapsed: true,
items: [
'user-guide/skills/optional/blockchain/blockchain-base',
'user-guide/skills/optional/blockchain/blockchain-solana',
],
},
{
type: 'category',
label: 'communication',
collapsed: true,
items: [
'user-guide/skills/optional/communication/communication-one-three-one-rule',
],
},
{
type: 'category',
label: 'creative',
collapsed: true,
items: [
'user-guide/skills/optional/creative/creative-blender-mcp',
'user-guide/skills/optional/creative/creative-concept-diagrams',
'user-guide/skills/optional/creative/creative-meme-generation',
'user-guide/skills/optional/creative/creative-touchdesigner-mcp',
],
},
{
type: 'category',
label: 'devops',
collapsed: true,
items: [
'user-guide/skills/optional/devops/devops-cli',
'user-guide/skills/optional/devops/devops-docker-management',
],
},
{
type: 'category',
label: 'dogfood',
collapsed: true,
items: [
'user-guide/skills/optional/dogfood/dogfood-adversarial-ux-test',
],
},
{
type: 'category',
label: 'email',
collapsed: true,
items: [
'user-guide/skills/optional/email/email-agentmail',
],
},
{
type: 'category',
label: 'health',
collapsed: true,
items: [
'user-guide/skills/optional/health/health-fitness-nutrition',
'user-guide/skills/optional/health/health-neuroskill-bci',
],
},
{
type: 'category',
label: 'mcp',
collapsed: true,
items: [
'user-guide/skills/optional/mcp/mcp-fastmcp',
'user-guide/skills/optional/mcp/mcp-mcporter',
],
},
{
type: 'category',
label: 'migration',
collapsed: true,
items: [
'user-guide/skills/optional/migration/migration-openclaw-migration',
],
},
{
type: 'category',
label: 'mlops',
collapsed: true,
items: [
'user-guide/skills/optional/mlops/mlops-accelerate',
'user-guide/skills/optional/mlops/mlops-chroma',
'user-guide/skills/optional/mlops/mlops-clip',
'user-guide/skills/optional/mlops/mlops-faiss',
'user-guide/skills/optional/mlops/mlops-flash-attention',
'user-guide/skills/optional/mlops/mlops-guidance',
'user-guide/skills/optional/mlops/mlops-hermes-atropos-environments',
'user-guide/skills/optional/mlops/mlops-huggingface-tokenizers',
'user-guide/skills/optional/mlops/mlops-instructor',
'user-guide/skills/optional/mlops/mlops-lambda-labs',
'user-guide/skills/optional/mlops/mlops-llava',
'user-guide/skills/optional/mlops/mlops-modal',
'user-guide/skills/optional/mlops/mlops-nemo-curator',
'user-guide/skills/optional/mlops/mlops-peft',
'user-guide/skills/optional/mlops/mlops-pinecone',
'user-guide/skills/optional/mlops/mlops-pytorch-fsdp',
'user-guide/skills/optional/mlops/mlops-pytorch-lightning',
'user-guide/skills/optional/mlops/mlops-qdrant',
'user-guide/skills/optional/mlops/mlops-saelens',
'user-guide/skills/optional/mlops/mlops-simpo',
'user-guide/skills/optional/mlops/mlops-slime',
'user-guide/skills/optional/mlops/mlops-stable-diffusion',
'user-guide/skills/optional/mlops/mlops-tensorrt-llm',
'user-guide/skills/optional/mlops/mlops-torchtitan',
'user-guide/skills/optional/mlops/mlops-whisper',
],
},
{
type: 'category',
label: 'productivity',
collapsed: true,
items: [
'user-guide/skills/optional/productivity/productivity-canvas',
'user-guide/skills/optional/productivity/productivity-memento-flashcards',
'user-guide/skills/optional/productivity/productivity-siyuan',
'user-guide/skills/optional/productivity/productivity-telephony',
],
},
{
type: 'category',
label: 'research',
collapsed: true,
items: [
'user-guide/skills/optional/research/research-bioinformatics',
'user-guide/skills/optional/research/research-domain-intel',
'user-guide/skills/optional/research/research-drug-discovery',
'user-guide/skills/optional/research/research-duckduckgo-search',
'user-guide/skills/optional/research/research-gitnexus-explorer',
'user-guide/skills/optional/research/research-parallel-cli',
'user-guide/skills/optional/research/research-qmd',
'user-guide/skills/optional/research/research-scrapling',
],
},
{
type: 'category',
label: 'security',
collapsed: true,
items: [
'user-guide/skills/optional/security/security-1password',
'user-guide/skills/optional/security/security-oss-forensics',
'user-guide/skills/optional/security/security-sherlock',
],
},
{
type: 'category',
label: 'web-development',
collapsed: true,
items: [
'user-guide/skills/optional/web-development/web-development-page-agent',
],
},
],
},
],
},
],
},
{
type: 'category',
label: 'Messaging Platforms',
collapsed: true,
items: [
'user-guide/messaging/index',
'user-guide/messaging/telegram',
'user-guide/messaging/discord',
'user-guide/messaging/slack',
'user-guide/messaging/whatsapp',
'user-guide/messaging/signal',
'user-guide/messaging/email',
'user-guide/messaging/sms',
'user-guide/messaging/homeassistant',
'user-guide/messaging/mattermost',
'user-guide/messaging/matrix',
'user-guide/messaging/dingtalk',
'user-guide/messaging/feishu',
'user-guide/messaging/wecom',
'user-guide/messaging/wecom-callback',
'user-guide/messaging/weixin',
'user-guide/messaging/bluebubbles',
'user-guide/messaging/qqbot',
'user-guide/messaging/open-webui',
'user-guide/messaging/webhooks',
],
},
{
type: 'category',
label: 'Integrations',
collapsed: true,
items: [
'integrations/index',
'integrations/providers',
'user-guide/features/mcp',
'user-guide/features/acp',
'user-guide/features/api-server',
'user-guide/features/honcho',
'user-guide/features/provider-routing',
'user-guide/features/fallback-providers',
'user-guide/features/credential-pools',
],
},
{
type: 'category',
label: 'Guides & Tutorials',
collapsed: true,
items: [
'guides/tips',
'guides/local-llm-on-mac',
'guides/daily-briefing-bot',
'guides/team-telegram-assistant',
'guides/python-library',
'guides/use-mcp-with-hermes',
'guides/use-soul-with-hermes',
'guides/use-voice-mode-with-hermes',
'guides/build-a-hermes-plugin',
'guides/automate-with-cron',
'guides/automation-templates',
'guides/cron-troubleshooting',
'guides/work-with-skills',
'guides/delegation-patterns',
'guides/github-pr-review-agent',
'guides/webhook-github-pr-review',
'guides/migrate-from-openclaw',
'guides/aws-bedrock',
],
},
{
type: 'category',
label: 'Developer Guide',
collapsed: true,
items: [
'developer-guide/contributing',
{
type: 'category',
label: 'Architecture',
items: [
'developer-guide/architecture',
'developer-guide/agent-loop',
'developer-guide/prompt-assembly',
'developer-guide/context-compression-and-caching',
'developer-guide/gateway-internals',
'developer-guide/session-storage',
'developer-guide/provider-runtime',
],
},
{
type: 'category',
label: 'Extending',
items: [
'developer-guide/adding-tools',
'developer-guide/adding-providers',
'developer-guide/adding-platform-adapters',
'developer-guide/memory-provider-plugin',
'developer-guide/context-engine-plugin',
'developer-guide/creating-skills',
'developer-guide/extending-the-cli',
],
},
{
type: 'category',
label: 'Internals',
items: [
'developer-guide/tools-runtime',
'developer-guide/acp-internals',
'developer-guide/cron-internals',
'developer-guide/environments',
'developer-guide/trajectory-format',
],
},
],
},
{
type: 'category',
label: 'Reference',
items: [
'reference/cli-commands',
'reference/slash-commands',
'reference/profile-commands',
'reference/environment-variables',
'reference/tools-reference',
'reference/toolsets-reference',
'reference/mcp-config-reference',
'reference/skills-catalog',
'reference/optional-skills-catalog',
'reference/faq',
],
},
],
};
export default sidebars;