Revert "feat(catalog): restore website install links to Desktop"

This reverts commit cf59980e2c.
This commit is contained in:
teknium1
2026-09-18 23:50:42 -07:00
committed by Teknium
parent 007e80ee0f
commit 3eb9712180
6 changed files with 8 additions and 70 deletions

View File

@@ -34,21 +34,6 @@ def mod():
return module
@pytest.mark.parametrize("directory,source,prefix", [
("skills", "built-in", "NousResearch/hermes-agent/skills"),
("optional-skills", "optional", "official"),
])
def test_local_skills_publish_exact_install_target(mod, tmp_path, monkeypatch, directory, source, prefix):
skill = tmp_path / directory / "creative" / "nested" / "example"
skill.mkdir(parents=True)
(skill / "SKILL.md").write_text("---\nname: Different Display Name\n---\nExample.")
monkeypatch.setattr(mod, "REPO_ROOT", str(tmp_path))
[entry] = mod.extract_local_skills()
expected = f"{prefix}/creative/nested/example"
assert entry["installIdentifier"] == expected
assert entry["installCmd"] == f"hermes skills install {expected}"
# --------------------------------------------------------------------------
# _source_url
# --------------------------------------------------------------------------

View File

@@ -311,11 +311,6 @@ def extract_local_skills():
elif isinstance(cmds, str) and cmds.strip():
commands = [cmds.strip()]
rel_id = rel.replace(os.sep, "/")
install_identifier = (
f"official/{rel_id}" if source_label == "optional"
else f"NousResearch/hermes-agent/skills/{rel_id}"
)
skills.append({
"name": fm.get("name", os.path.basename(root)),
"description": fm.get("description", ""),
@@ -331,8 +326,6 @@ def extract_local_skills():
"envVars": env_vars,
"commands": commands,
"docsPath": _docs_page_path(rel, source_label),
"installIdentifier": install_identifier,
"installCmd": f"hermes skills install {install_identifier}",
})
return skills
@@ -443,7 +436,6 @@ def extract_unified_index_skills():
"docsPath": "",
"identifier": identifier,
"installCmd": install_cmd,
"installIdentifier": install_cmd.removeprefix("hermes skills install "),
"sourceUrl": source_url,
})

View File

@@ -2,7 +2,6 @@ import React, { useState, useMemo, useCallback, useRef, useEffect } from "react"
import Layout from "@theme/Layout";
import Link from "@docusaurus/Link";
import styles from "./styles.module.css";
import { pluginCatalogInstallUrl } from "../../../../apps/shared/src/catalog-install";
interface PluginCapabilities {
providesTools?: string[];
@@ -191,7 +190,6 @@ function PluginCard({
const hookCount = caps.providesHooks?.length || 0;
const middlewareCount = caps.providesMiddleware?.length || 0;
const pinUrl = `${plugin.repo.replace(/\.git$/, "").replace(/\/$/, "")}/tree/${plugin.sha}`;
const installUrl = pluginCatalogInstallUrl(plugin);
return (
<div
@@ -290,7 +288,7 @@ function PluginCard({
))}
</div>
{onPick ? (
{onPick && (
<button
className={styles.pickBtn}
onClick={(e) => {
@@ -300,14 +298,6 @@ function PluginCard({
>
+ Add to this Agent
</button>
) : (
<a
className={styles.pickBtn}
href={installUrl}
onClick={(e) => e.stopPropagation()}
>
Install in Hermes
</a>
)}
{expanded && (
@@ -584,7 +574,7 @@ export default function PluginCatalogPage() {
</span>
</nav>
<p className={styles.heroSub}>
Reviewed, SHA-pinned plugins. Open in Hermes Desktop to review and install, or copy the CLI command.
Reviewed, SHA-pinned plugins you can install with one command.
{loadError && (
<span style={{ color: "#f87171", marginLeft: 8 }}>
· failed to load catalog ({loadError})

View File

@@ -905,19 +905,11 @@
color: var(--ifm-color-primary);
font-size: 0.85rem;
font-weight: 600;
text-align: center;
text-decoration: none;
cursor: pointer;
transition: background 0.15s ease, color 0.15s ease;
}
.pickBtn:hover {
background: var(--ifm-color-primary);
color: var(--ifm-color-emphasis-0);
text-decoration: none;
}
.pickBtn:focus-visible {
outline: 2px solid var(--ifm-color-primary);
outline-offset: 2px;
color: #fff;
}

View File

@@ -2,7 +2,6 @@ import React, { useState, useMemo, useCallback, useRef, useEffect } from "react"
import Layout from "@theme/Layout";
import Link from "@docusaurus/Link";
import styles from "./styles.module.css";
import { skillCatalogInstallIdentifier, skillCatalogInstallUrl } from "../../../../apps/shared/src/catalog-install";
interface Skill {
name: string;
@@ -20,7 +19,6 @@ interface Skill {
commands?: string[];
docsPath?: string;
identifier?: string;
installIdentifier?: string;
installCmd?: string;
/** Clickable URL to the skill's origin (repo / detail page). Synthesized
* in extract-skills.py for community skills that have no generated docs
@@ -302,7 +300,6 @@ function SkillCard({
}) {
const src = SOURCE_CONFIG[skill.source] || SOURCE_CONFIG["optional"];
const icon = CATEGORY_ICONS[skill.category] || "\u{1F4E6}";
const installUrl = skillCatalogInstallUrl(skill);
return (
<div
@@ -354,16 +351,6 @@ function SkillCard({
))}
</div>
{!onPick && installUrl && (
<a
className={styles.pickBtn}
href={installUrl}
onClick={(e) => e.stopPropagation()}
>
Install in Hermes
</a>
)}
{expanded && (
<div className={styles.cardDetail}>
{skill.overview && (
@@ -432,9 +419,9 @@ function SkillCard({
</div>
)}
<div className={styles.installHint}>
<code>{skill.installCmd || `hermes skills install ${skillCatalogInstallIdentifier(skill) || skill.name}`}</code>
<code>{skill.installCmd || `hermes skills install ${skill.name}`}</code>
<CopyButton
text={skill.installCmd || `hermes skills install ${skillCatalogInstallIdentifier(skill) || skill.name}`}
text={skill.installCmd || `hermes skills install ${skill.name}`}
/>
</div>
{onPick ? (
@@ -534,8 +521,8 @@ export default function SkillsDashboard() {
{
type: "hermes-skill-pick",
name: skill.name,
identifier: skillCatalogInstallIdentifier(skill) || skill.name,
installCmd: skill.installCmd || `hermes skills install ${skillCatalogInstallIdentifier(skill) || skill.name}`,
identifier: skill.identifier || skill.name,
installCmd: skill.installCmd || `hermes skills install ${skill.name}`,
source: skill.source,
},
"*"
@@ -713,7 +700,7 @@ export default function SkillsDashboard() {
<strong className={styles.heroAccent}>
{data ? allSkillsLocal.length.toLocaleString() : "…"}
</strong>{" "}
skills across {sources.length - 1} registries. Open in Hermes Desktop to review and install, or copy the CLI command.
skills across {sources.length - 1} registries
{loadError && (
<span style={{ color: "#f87171", marginLeft: 8 }}>
· failed to load catalog ({loadError})

View File

@@ -1030,8 +1030,6 @@
color: var(--ifm-color-primary);
font-size: 0.85rem;
font-weight: 600;
text-align: center;
text-decoration: none;
cursor: pointer;
transition: background 0.15s ease, color 0.15s ease;
}
@@ -1040,10 +1038,4 @@
background: var(--ifm-color-primary);
/* --ifm-background-color is transparent in light mode (#91491). */
color: var(--ifm-color-emphasis-0, #f7f8fa);
text-decoration: none;
}
.pickBtn:focus-visible {
outline: 2px solid var(--ifm-color-primary);
outline-offset: 2px;
}