feat(skills): enable Hermes in unified Skills management

Wire hermes through SkillApps struct, DAO SQL, command parser, and
SKILLS_APP_IDS. Add a Skills entry to the Hermes toolbar. Simplify
skill_sync test fixtures to use SkillApps::default().
This commit is contained in:
Jason
2026-04-20 22:40:25 +08:00
parent 0be75668cc
commit 1227e29d8b
6 changed files with 40 additions and 34 deletions
+9
View File
@@ -1388,6 +1388,15 @@ function App() {
>
{activeApp === "hermes" ? (
<>
<Button
variant="ghost"
size="sm"
onClick={() => setCurrentView("skills")}
className="text-muted-foreground hover:text-foreground hover:bg-black/5 dark:hover:bg-white/5"
title={t("skills.manage")}
>
<Wrench className="w-4 h-4" />
</Button>
<Button
variant="ghost"
size="sm"
+3 -2
View File
@@ -24,16 +24,17 @@ export const APP_IDS: AppId[] = [
"hermes",
];
/** App IDs shown in Skills panels (excludes OpenClaw and Hermes — neither supports Skills) */
/** App IDs shown in Skills panels (excludes OpenClaw — it doesn't support Skills) */
export const SKILLS_APP_IDS: AppId[] = [
"claude",
"codex",
"gemini",
"opencode",
"hermes",
];
/** App IDs shown in MCP panels (excludes OpenClaw) */
export const MCP_APP_IDS: AppId[] = [...SKILLS_APP_IDS, "hermes"];
export const MCP_APP_IDS: AppId[] = [...SKILLS_APP_IDS];
export const APP_ICON_MAP: Record<AppId, AppConfig> = {
claude: {