mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-04-25 00:51:20 +00:00
fix: stop hermes update from nagging about llm-wiki's wiki.path (#11222)
llm-wiki was the only shipped skill using metadata.hermes.config, which caused 'hermes update' and 'hermes config migrate' to prompt for a wiki directory on every run — even for users who have never touched the skill — because 'enabled' is opt-out (all shipped skills count as enabled unless explicitly disabled). Declining the prompt didn't persist anything, so the nag fired again on every update. Switch llm-wiki to the env var + runtime default pattern that obsidian and google-workspace already use: WIKI_PATH env var, default $HOME/wiki. No prompting infrastructure, no config.yaml touch, no nag loop. Changes: - skills/research/llm-wiki/SKILL.md: remove metadata.hermes.config, document WIKI_PATH env var in the Wiki Location section, update the orientation snippet and initialization guidance. - Docs: replace llm-wiki's wiki.path examples with a generic 'myplugin.path' placeholder across configuration.md, features/skills.md, and creating-skills.md so users don't try to set skills.config.wiki.path expecting llm-wiki to use it. - skills-catalog.md: mention WIKI_PATH instead of skills.config.wiki.path. E2E verified: discover_all_skill_config_vars() and get_missing_skill_config_vars() both return 0 entries after this change, so the prompt branch in migrate_config() no longer fires. The metadata.hermes.config feature stays in place for third-party skills that genuinely need structured config, but built-ins now prefer env vars.
This commit is contained in:
parent
6c34bf3d00
commit
80855f964e
5 changed files with 27 additions and 37 deletions
|
|
@ -186,18 +186,18 @@ Skills can declare non-secret settings that are stored in `config.yaml` under th
|
|||
metadata:
|
||||
hermes:
|
||||
config:
|
||||
- key: wiki.path
|
||||
description: Path to the LLM Wiki knowledge base directory
|
||||
default: "~/wiki"
|
||||
prompt: Wiki directory path
|
||||
- key: wiki.domain
|
||||
description: Domain the wiki covers
|
||||
- key: myplugin.path
|
||||
description: Path to the plugin data directory
|
||||
default: "~/myplugin-data"
|
||||
prompt: Plugin data directory path
|
||||
- key: myplugin.domain
|
||||
description: Domain the plugin operates on
|
||||
default: ""
|
||||
prompt: Wiki domain (e.g., AI/ML research)
|
||||
prompt: Plugin domain (e.g., AI/ML research)
|
||||
```
|
||||
|
||||
Each entry supports:
|
||||
- `key` (required) — dotpath for the setting (e.g., `wiki.path`)
|
||||
- `key` (required) — dotpath for the setting (e.g., `myplugin.path`)
|
||||
- `description` (required) — explains what the setting controls
|
||||
- `default` (optional) — default value if the user doesn't configure it
|
||||
- `prompt` (optional) — prompt text shown during `hermes config migrate`; falls back to `description`
|
||||
|
|
@ -208,8 +208,8 @@ Each entry supports:
|
|||
```yaml
|
||||
skills:
|
||||
config:
|
||||
wiki:
|
||||
path: ~/my-research
|
||||
myplugin:
|
||||
path: ~/my-data
|
||||
```
|
||||
|
||||
2. **Discovery:** `hermes config migrate` scans all enabled skills, finds unconfigured settings, and prompts the user. Settings also appear in `hermes config show` under "Skill Settings."
|
||||
|
|
@ -217,14 +217,14 @@ Each entry supports:
|
|||
3. **Runtime injection:** When a skill loads, its config values are resolved and appended to the skill message:
|
||||
```
|
||||
[Skill config (from ~/.hermes/config.yaml):
|
||||
wiki.path = /home/user/my-research
|
||||
myplugin.path = /home/user/my-data
|
||||
]
|
||||
```
|
||||
The agent sees the configured values without needing to read `config.yaml` itself.
|
||||
|
||||
4. **Manual setup:** Users can also set values directly:
|
||||
```bash
|
||||
hermes config set skills.config.wiki.path ~/my-wiki
|
||||
hermes config set skills.config.myplugin.path ~/my-data
|
||||
```
|
||||
|
||||
:::tip When to use which
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue