From 8383076791f2c0d34f3a249f43f95e8a3906c0a7 Mon Sep 17 00:00:00 2001 From: mao qinghui <2760376727@qq.com> Date: Sun, 2 Aug 2026 22:02:06 +0800 Subject: [PATCH] fix(hermes): use SOUL.md instead of AGENTS.md for Hermes prompt filename (#5779) * fix(hermes): use SOUL.md instead of AGENTS.md for Hermes prompt filename * test(hermes): add regression test for SOUL.md prompt filename --------- Co-authored-by: mmm-05610 Co-authored-by: Jason --- src-tauri/src/prompt_files.rs | 18 +++++++++++++++++- src/components/prompts/PromptFormPanel.tsx | 2 +- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src-tauri/src/prompt_files.rs b/src-tauri/src/prompt_files.rs index 6d4a44aae..c3cf6968d 100644 --- a/src-tauri/src/prompt_files.rs +++ b/src-tauri/src/prompt_files.rs @@ -33,13 +33,29 @@ pub fn prompt_file_path(app: &AppType) -> Result { AppType::Claude => "CLAUDE.md", AppType::Codex => "AGENTS.md", AppType::Gemini => "GEMINI.md", - AppType::GrokBuild | AppType::OpenCode | AppType::OpenClaw | AppType::Hermes => "AGENTS.md", + AppType::GrokBuild | AppType::OpenCode | AppType::OpenClaw => "AGENTS.md", + AppType::Hermes => "SOUL.md", AppType::ClaudeDesktop => unreachable!("handled above"), }; Ok(base_dir.join(filename)) } +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn hermes_prompt_file_uses_soul_md() { + let path = prompt_file_path(&AppType::Hermes).expect("Hermes prompt path"); + + assert_eq!( + path.file_name().and_then(|name| name.to_str()), + Some("SOUL.md") + ); + } +} + fn get_base_dir_with_fallback( primary_path: PathBuf, fallback_dir: &str, diff --git a/src/components/prompts/PromptFormPanel.tsx b/src/components/prompts/PromptFormPanel.tsx index b9bc9db09..e1d92e27c 100644 --- a/src/components/prompts/PromptFormPanel.tsx +++ b/src/components/prompts/PromptFormPanel.tsx @@ -32,7 +32,7 @@ const PromptFormPanel: React.FC = ({ grokbuild: "AGENTS.md", opencode: "AGENTS.md", openclaw: "AGENTS.md", - hermes: "AGENTS.md", + hermes: "SOUL.md", }; const filename = filenameMap[appId]; const [name, setName] = useState("");