Revert "docs(catalog): restore native browsing and install guidance"

This reverts commit 8b551a1ab3.
This commit is contained in:
teknium1
2026-09-18 23:50:38 -07:00
committed by Teknium
parent 086628ad8a
commit 007e80ee0f
4 changed files with 15 additions and 162 deletions

View File

@@ -221,39 +221,13 @@ When you have two or more [profiles](./profiles.md), the config-backed settings
The app also surfaces the broader Hermes management surface so you don't have to drop to a terminal:
- **Skills** — open **Capabilities → Skills** to manage [skills](./features/skills.md). **Installed** shows the selected profile's actual skills and enable/disable state. **Browse** searches the same full published catalog as the public Skills Hub, with native list and detail views.
- **Plugins** — **Capabilities → Plugins** uses the same **Installed / Browse** layout. Installed combines actual app-level desktop plugins with agent plugins from the selected profile; Browse shows the public [Plugin Catalog](./features/plugin-catalog.md). Search stays at the top, and the tab switch and actions share one row on both pages.
- **Skills** — browse, install, and manage [skills](./features/skills.md). The Skills tab lists your installed skills with enable/disable toggles, and below them the full built-in optional-skills catalog that ships with Hermes — each entry has a one-click **Install** button that flips the row into the installed list once it finishes.
- **Memory graph (Star Map)** — type `/journey` (aliases `/learning`, `/memory-graph`) in chat to open an interactive constellation of learned skills and memories over time, with a playback scrubber. Nodes can be edited or deleted right from the panel (skills are archived, memories removed). See [Learning Journey](./features/memory.md#learning-journey-journey).
- **Cron** — view and manage [scheduled jobs](../reference/cli-commands.md#hermes-cron).
- **Profiles** — switch between [Hermes profiles](./profiles.md) (isolated config/skills/sessions).
- **Messaging** — set up gateway channels. Telegram has a **Quick setup** card: click **Create with QR**, scan the code (or open the link) in Telegram, and Hermes creates the bot, detects your user ID for the allowlist, saves the credentials, and restarts the gateway for you. Any credential save, clear, or enable toggle keeps a **Restart now** banner on the page until the gateway has actually restarted; if a restart fails, the banner stays so you can retry or restart manually.
- **Agents** and **Command Center** — orchestration surfaces for multi-agent work.
#### Where Browse gets its data
These are native Desktop views, **not embedded website pages**. Desktop and
the public website consume the same generated CDN snapshots:
| Catalog | Public docs alias | Desktop fetch URL |
|---|---|---|
| Skills | [`/docs/api/skills.json`](https://hermes-agent.nousresearch.com/docs/api/skills.json) | `https://nousresearch.github.io/hermes-agent/docs/api/skills.json` |
| Plugins | [`/docs/api/plugins.json`](https://hermes-agent.nousresearch.com/docs/api/plugins.json) | `https://nousresearch.github.io/hermes-agent/docs/api/plugins.json` |
The skills snapshot combines `skills/`, `optional-skills/`, and the centralized
skills index. The plugin snapshot comes from `plugin-catalog/*.yaml` and cached star
counts; the same publish supplies the installer's removed-entry list. Browsing does not make live
GitHub API calls or fetch plugin/skill source repositories. **Installed** is
separate: its state comes from the selected profile's backend and the app's
desktop-plugin registry, not those public snapshots.
The public hubs' **Install in Hermes** buttons open `hermes://skill/install`
or `hermes://plugin/install` links and require confirmation in Desktop. Use
an updated Desktop build for the skill route and plugin catalog parameters;
the cards retain copyable CLI commands if the app is missing or too old. See
[skill links](./features/skills.md#install-from-the-website) and
[plugin links](./features/plugins.md#one-click-install-links-desktop) for the
parameters and review flow.
### Bot Mode (built in)
**Bot Mode** ships with the app and is on by default: a "one chat per agent"
@@ -504,8 +478,8 @@ hot-reloads every save. Manage installed plugins live in **Capabilities → Plug
See [Desktop Plugin SDK](../developer-guide/desktop-plugin-sdk.md) for the full
reference. (This is separate from the [web dashboard plugin system](./features/extending-the-dashboard.md).)
**Capabilities → Plugins → Installed** shows the actual installed state:
**one list entry per plugin**, with Desktop and Agent controls in its detail pane.
**Capabilities → Plugins** is the one place for everything that extends
Hermes: **one row per plugin**, with two switch columns.
- A plugin can extend **this app**, **the agent**, or **both** — the badge on
each row says which, inferred from what the package contains (`plugin.yaml`
@@ -532,14 +506,13 @@ reference. (This is separate from the [web dashboard plugin system](./features/e
[Accent Picker](https://github.com/NousResearch/hermes-desktop-accent-picker)
install from their own repos via **Install from Git**.
Switch to **Browse** for the native [Plugin Catalog](./features/plugin-catalog.md).
Both Browse and **Install from Git** open the review-then-install dialog. For
an agent-plugin catalog install, the backend resolves the catalog name to its
reviewed pin; a link's `sha` is display metadata, not an override. This does
not guarantee a pinned standalone desktop-plugin install. **Install from Git**
also offers **Pin to commit** for agent-plugin installs (a full 40-character
SHA, including private repositories); pinned agent plugins show a
`pinned @ <sha8>` badge. Old `Settings → Plugins` links redirect here.
Discovery sits underneath: the live [Plugin Catalog](./features/plugin-catalog.md)
picker installs reviewed entries at their pinned commit into the selected
profile, and **Install from Git** takes any other repository through the same
review-then-install dialog; its optional **Pin to commit** field installs one
exact 40-character commit SHA (private repos included), and pinned plugins
carry a `pinned @ <sha8>` badge in the list. Old `Settings → Plugins` links
redirect here.
## Troubleshooting

View File

@@ -17,33 +17,13 @@ hermes plugins install <name>
Browse it visually at **[/docs/plugins](/plugins)** — entries are shelved by
category (Memory, Desktop, Platforms, Web & Browser, Tools, Voice, Automation,
Models), with search, tier filters (Official / Community), capability chips, and
**Install in Hermes** buttons and copyable CLI commands for every entry.
In Desktop, open **Capabilities → Plugins → Browse** for the native catalog
view. It is not an embedded website. **Installed** is a separate tab backed
by the app's desktop-plugin registry and the selected profile's agent-plugin
state, rather than catalog metadata. Skills uses the same **Installed / Browse**
layout; search stays at the top and the tab switch and actions share one row.
copyable install commands for every entry.
The catalog complements — it does not replace — the existing
[plugin system](plugins.md). Anything you can install from the catalog is a
normal plugin under the hood; the catalog just adds discovery and a review
layer on top.
### Published browse data
The website and Desktop read the same generated CDN snapshot:
[`https://hermes-agent.nousresearch.com/docs/api/plugins.json`](https://hermes-agent.nousresearch.com/docs/api/plugins.json).
Desktop fetches it through
`https://nousresearch.github.io/hermes-agent/docs/api/plugins.json`; the public
docs alias serves the same data. The docs build reads `plugin-catalog/*.yaml`
and adds cached repository star counts. It also publishes the installer's
removed-entry list. Neither
Browse view crawls source repositories or queries the GitHub API live.
This browse snapshot is distinct from the installer's
[`plugin-catalog.json`](#live-refresh), which resolves catalog names and pins.
## What's in an entry
Each catalog entry is a small YAML file in the
@@ -101,24 +81,6 @@ repository. Review the code of anything you give credentials to.
## Installing from the catalog
On the website, **Install in Hermes** opens a protocol link of this form:
```text
hermes://plugin/install?repo=owner%2Frepo&catalog_name=example-plugin&sha=0123456789abcdef0123456789abcdef01234567
```
`repo` is URL-encoded, including any `#subdir`. Desktop asks you to review the
source, destination and components before confirming; the link does not
auto-install. For the agent-plugin component, the backend resolves
`catalog_name` to its reviewed pin. The link's `sha` is **display metadata
only**, not authority to choose or override a commit, and it is not a pin
guarantee for a standalone desktop plugin.
Use an updated Desktop build for the catalog parameters (and for the public
Skills Hub's new `hermes://skill/install?identifier=...` route). Older builds
may only understand repository-only plugin links. The expanded cards retain
CLI commands, so you can install by catalog name without Desktop:
```bash
# Install a reviewed catalog entry by name (checks out the pinned SHA)
hermes plugins install <name>

View File

@@ -191,11 +191,10 @@ plugin; choose a new exact commit explicitly with
profile-local install metadata contains no config values, environment values,
secrets, or capability grants.
The same agent-plugin pin is available in Hermes Desktop: **Capabilities →
Plugins → Install from Git** has a *Pin to commit* field that takes the full
40-character SHA, and **Installed** shows a `pinned @ <sha8>` badge on pinned
agent plugins. This does not guarantee a pinned standalone desktop-plugin
install. `hermes plugins list` prints
The same pin is available in Hermes Desktop: **Skills → Plugins → Install from
Git** has a *Pin to commit* field that takes the full 40-character SHA, and the
plugins list shows a `pinned @ <sha8>` badge on every pinned install so a team
can confirm everyone is running the same commit. `hermes plugins list` prints
the pin in its Source column (`git pinned@<sha8>`). Pins work for private
repositories too, through the same stored credentials described below.
@@ -381,24 +380,6 @@ hermes plugins disable my-plugin # remove from allow-list + add to d
hermes plugins capabilities [my-plugin] # declared vs granted capabilities
```
### Installed and Browse in Desktop
Open **Capabilities → Plugins**. **Installed** reads the app's desktop-plugin
registry and the selected profile's actual agent-plugin state, combining both
halves in one row where appropriate. It is not a list of catalog entries
assumed to be installed. **Browse** is a native catalog view, not an embedded
website; it uses the same **Installed / Browse** tabs as Skills, with search
at the top and the tab switch and actions on one row.
Desktop and the public [Plugin Catalog](/plugins) consume the same CDN
snapshot, [`/docs/api/plugins.json`](https://hermes-agent.nousresearch.com/docs/api/plugins.json).
The public alias serves the same data as Desktop's fetch URL,
`https://nousresearch.github.io/hermes-agent/docs/api/plugins.json`. The docs
build generates it from `plugin-catalog/*.yaml` and cached star counts. The
same publish also supplies the removed-entry list used by the installer.
Browsing does not query GitHub live or fetch source repos;
the installer retrieves code only as part of the separate install flow.
### One-click install links (Desktop)
Hermes Desktop registers the `hermes://` URL scheme, so a website, README, or
@@ -425,23 +406,6 @@ Plugins → Install from Git**. Legacy `hermes://plugin-agent/…` and
`hermes://plugin-desktop/…` URLs route into the same dialog. In dev builds
(`npm run dev`) the scheme is `hermes-dev://`.
The public [Plugin Catalog](/plugins) includes **Install in Hermes** on every
card. Catalog links carry `catalog_name`, a URL-encoded `repo` (including
`#subdir` when present), and `sha`:
```text
hermes://plugin/install?repo=owner%2Frepo&catalog_name=example-plugin&sha=0123456789abcdef0123456789abcdef01234567
```
The SHA parameter is display metadata only. For the agent-plugin install,
the backend resolves `catalog_name` to its reviewed pin when you confirm;
the link cannot override that pin. Do not treat the displayed SHA as a pin
guarantee for a standalone desktop plugin. These catalog parameters require
an updated Desktop build; older builds may only understand the repository
link. If the app is missing or too old, update Desktop or use the copyable
`hermes plugins install <catalog-name>` command in the expanded card to retain
catalog resolution.
Websites need no SDK — a normal anchor works:
```html

View File

@@ -17,52 +17,6 @@ See also:
- [Bundled Skills Catalog](../../reference/skills-catalog.md)
- [Official Optional Skills Catalog](../../reference/optional-skills-catalog.md)
## Browse and install in Desktop
Open **Capabilities → Skills** and switch between **Installed** and **Browse**.
Search stays at the top; the tab switch and actions share one row.
**Installed** reads the selected profile's actual skills and enabled state;
it is not inferred from the public catalog. **Browse** is a native catalog UI,
not an embedded website or a second, smaller catalog.
Desktop and the public [Skills Hub](/skills) read the same published CDN
snapshot: [`/docs/api/skills.json`](https://hermes-agent.nousresearch.com/docs/api/skills.json).
The public docs alias serves the same snapshot as Desktop's fetch URL,
`https://nousresearch.github.io/hermes-agent/docs/api/skills.json`. The docs
build generates it from bundled `skills/`, `optional-skills/`, and the
centralized skills index. Browsing does not crawl GitHub or query upstream
marketplaces live; installation still retrieves the selected skill through
its source's installer.
### Install from the website
The Skills Hub has an **Install in Hermes** button on each installable card. It opens the
installed Hermes Desktop app with a URL-encoded, source-qualified skill target:
for example, `official/...` for optional skills or `clawhub/...` for ClawHub.
Bundled skills use an explicit repository path rather than an ambiguous bare
name. When an older snapshot lacks that explicit bundled target, the website
omits its install link and native Browse disables installation rather than
resolving an ambiguous name. The next docs publish supplies those targets.
The same target is used by native Browse and the card's CLI fallback:
```text
hermes://skill/install?identifier=official%2Fsecurity%2F1password
```
Hermes shows **Install “skill-name”?** with separate **Source** and **Install to**
rows. Cancel makes no changes. After confirmation, the same dialog shows
**Installing…**, then **Installed** and a completion notification. Errors stay
in the dialog so you can read them and retry. Installation uses the existing
Skills Hub pipeline, including security scanning, action logs, and installed-list
refresh. If you switch profile or connection while the confirmation is open,
reopen the link for the new destination. Changes apply to
new sessions; a link cannot bypass scanning or select a different profile.
The public links use `hermes://`, not the development-only `hermes-dev://`
scheme. The `skill/install` route requires an updated Desktop build. If the
app is missing or the link is not recognized, update Desktop or expand the
card to copy its CLI install command instead.
## Starting with a blank slate
By default every profile is seeded with the bundled skill catalog, and each `hermes update` adds any newly bundled skills. If you want a profile with **no bundled skills** — and that stays empty across updates — you have two paths: