Keep upstream's reviewed catalog as the only plugin name index. Catalog pins and custom update sources share staged PM validation. Publish code and dependencies with recovery after process death. Reject a concurrent enablement change before publishing disabled code. Use the manifest loader's supported version in the installer. Keep probe cooldowns for timeouts, not TLS failures that a CA change fixes. Preserve the backup, uninstall, browser and memory-provider repairs. Verified with the canonical runner on native Windows ARM64, real Git repositories, local TLS endpoints and UV dependency generations. Desktop catalog tests and both TypeScript checks pass. The full suite and native release builds were not run. No remote push.
212 lines
5.9 KiB
TypeScript
212 lines
5.9 KiB
TypeScript
import {themes as prismThemes} from 'prism-react-renderer';
|
|
import type {Config} from '@docusaurus/types';
|
|
import type * as Preset from '@docusaurus/preset-classic';
|
|
|
|
const config: Config = {
|
|
title: 'Hermes Agent',
|
|
tagline: 'The self-improving AI agent',
|
|
favicon: 'img/favicon.ico',
|
|
|
|
url: 'https://hermes-agent.nousresearch.com',
|
|
baseUrl: '/docs/',
|
|
|
|
organizationName: 'NousResearch',
|
|
projectName: 'hermes-agent',
|
|
|
|
onBrokenLinks: 'warn',
|
|
|
|
markdown: {
|
|
mermaid: true,
|
|
hooks: {
|
|
onBrokenMarkdownLinks: 'warn',
|
|
},
|
|
},
|
|
|
|
i18n: {
|
|
defaultLocale: 'en',
|
|
locales: ['en', 'zh-Hans'],
|
|
localeConfigs: {
|
|
en: {
|
|
label: 'English',
|
|
},
|
|
'zh-Hans': {
|
|
label: '简体中文',
|
|
htmlLang: 'zh-Hans',
|
|
},
|
|
},
|
|
},
|
|
|
|
themes: [
|
|
'@docusaurus/theme-mermaid',
|
|
],
|
|
|
|
plugins: [
|
|
[
|
|
'@docusaurus/plugin-client-redirects',
|
|
{
|
|
// Static-host redirects for renamed doc pages (GitHub Pages can't
|
|
// do server-side redirects). Paths are relative to baseUrl (/docs/).
|
|
redirects: [
|
|
{
|
|
// Renamed in #44470 (Automation Blueprints terminology rebrand)
|
|
from: '/guides/automation-templates',
|
|
to: '/guides/automation-blueprints',
|
|
},
|
|
{
|
|
// Moved when the Plugins subcategory was created under
|
|
// Developer Guide > Extending (docs restructure, July 2026)
|
|
from: '/guides/build-a-hermes-plugin',
|
|
to: '/developer-guide/plugins',
|
|
},
|
|
{
|
|
// Users guess these short paths from abbreviated links and hit
|
|
// raw 404s (consumer-onboarding audit finding #1, Aug 2026).
|
|
from: '/quickstart',
|
|
to: '/getting-started/quickstart',
|
|
},
|
|
{
|
|
from: '/installation',
|
|
to: '/getting-started/installation',
|
|
},
|
|
],
|
|
},
|
|
],
|
|
],
|
|
|
|
presets: [
|
|
[
|
|
'classic',
|
|
{
|
|
docs: {
|
|
routeBasePath: '/', // Docs at the root of /docs/
|
|
sidebarPath: './sidebars.ts',
|
|
editUrl: 'https://github.com/NousResearch/hermes-agent/edit/main/website/',
|
|
},
|
|
blog: false,
|
|
theme: {
|
|
customCss: './src/css/custom.css',
|
|
},
|
|
} satisfies Preset.Options,
|
|
],
|
|
],
|
|
|
|
themeConfig: {
|
|
image: 'img/hermes-agent-banner.png',
|
|
// Algolia DocSearch (replaces @easyops-cn/docusaurus-search-local).
|
|
// The local plugin shipped a ~16 MB client-side lunr index that every
|
|
// visitor downloaded and hydrated before their first result; DocSearch
|
|
// answers from Algolia's servers with no client index at all. These are
|
|
// public search-only credentials — safe to commit (the admin key is not
|
|
// in the repo). Index is populated by the Algolia Crawler configured at
|
|
// crawler.algolia.com; contextualSearch scopes results to the active
|
|
// locale via the docusaurus_tag/lang facets the crawler records carry.
|
|
algolia: {
|
|
appId: '2JLBVEYZN5',
|
|
apiKey: '8fda2a49223ce185ac30c2dbf6898a07',
|
|
indexName: 'hermes docs',
|
|
contextualSearch: true,
|
|
},
|
|
colorMode: {
|
|
defaultMode: 'dark',
|
|
respectPrefersColorScheme: true,
|
|
},
|
|
docs: {
|
|
sidebar: {
|
|
hideable: true,
|
|
autoCollapseCategories: true,
|
|
},
|
|
},
|
|
navbar: {
|
|
title: 'Hermes Agent',
|
|
logo: {
|
|
alt: 'Hermes Agent',
|
|
src: 'img/logo.png',
|
|
srcDark: 'img/logo-dark.png',
|
|
},
|
|
items: [
|
|
{
|
|
type: 'docSidebar',
|
|
sidebarId: 'docs',
|
|
position: 'left',
|
|
label: 'Docs',
|
|
},
|
|
{
|
|
to: '/skills',
|
|
label: 'Skills',
|
|
position: 'left',
|
|
},
|
|
{
|
|
to: '/plugins',
|
|
label: 'Plugins',
|
|
position: 'left',
|
|
},
|
|
{
|
|
href: 'https://hermes-agent.nousresearch.com/',
|
|
label: 'Download',
|
|
position: 'left',
|
|
},
|
|
{
|
|
type: 'localeDropdown',
|
|
position: 'right',
|
|
},
|
|
{
|
|
href: 'https://hermes-agent.nousresearch.com',
|
|
label: 'Home',
|
|
position: 'right',
|
|
},
|
|
{
|
|
href: 'https://github.com/NousResearch/hermes-agent',
|
|
label: 'GitHub',
|
|
position: 'right',
|
|
},
|
|
{
|
|
href: 'https://discord.gg/NousResearch',
|
|
label: 'Discord',
|
|
position: 'right',
|
|
},
|
|
],
|
|
},
|
|
footer: {
|
|
style: 'dark',
|
|
links: [
|
|
{
|
|
title: 'Docs',
|
|
items: [
|
|
{ label: 'Getting Started', to: '/getting-started/quickstart' },
|
|
{ label: 'User Guide', to: '/user-guide/cli' },
|
|
{ label: 'Developer Guide', to: '/developer-guide/architecture' },
|
|
{ label: 'Reference', to: '/reference/cli-commands' },
|
|
],
|
|
},
|
|
{
|
|
title: 'Community',
|
|
items: [
|
|
{ label: 'Discord', href: 'https://discord.gg/NousResearch' },
|
|
{ label: 'GitHub Issues', href: 'https://github.com/NousResearch/hermes-agent/issues' },
|
|
{ label: 'Skills Hub', href: 'https://agentskills.io' },
|
|
],
|
|
},
|
|
{
|
|
title: 'More',
|
|
items: [
|
|
{ label: 'Desktop Download', href: 'https://hermes-agent.nousresearch.com/' },
|
|
{ label: 'GitHub', href: 'https://github.com/NousResearch/hermes-agent' },
|
|
{ label: 'Nous Research', href: 'https://nousresearch.com' },
|
|
],
|
|
},
|
|
],
|
|
copyright: `Built by <a href="https://nousresearch.com">Nous Research</a> · MIT License · ${new Date().getFullYear()}`,
|
|
},
|
|
prism: {
|
|
theme: prismThemes.github,
|
|
darkTheme: prismThemes.dracula,
|
|
additionalLanguages: ['bash', 'yaml', 'json', 'python', 'toml'],
|
|
},
|
|
mermaid: {
|
|
theme: {light: 'neutral', dark: 'dark'},
|
|
},
|
|
} satisfies Preset.ThemeConfig,
|
|
};
|
|
|
|
export default config;
|