Problem or Use Case
Feature Request: Per-Group Profile Routing for Feishu (Same App ID)
What problem does this solve?
Today, a single Feishu app (one appId + appSecret) can serve multiple groups. Currently, channel_prompts allows per-group ephemeral system prompts, but there is no way to route each group to a dedicated Hermes Profile with:
- Independent memory
- Independent session history
- Independent personality / display settings
- While sharing a common Skills library
This would enable a powerful multi-tenant pattern: one Feishu app, multiple groups, each with its own persona + memory, all sharing the same skill set.
Proposed Solution
Introduce a channel_profiles configuration option in the Feishu (and generically applicable) gateway config, alongside channel_prompts:
feishu:
appId: cli_xxx
appSecret: xxx
channel_profiles:
oc_group_a:
profile: laotao # routes to profile "laotao"
oc_group_b:
profile: analyst # routes to profile "analyst"
oc_group_c:
profile: assistant # routes to profile "assistant"
# Skills shared across all profiles
skills:
external_dirs:
- /shared/skills
### Proposed Solution
How it would work
1. Gateway receives a message from Feishu group oc_group_a
2. Looks up channel_profiles[oc_group_a].profile → resolves to "laotao"
3. Spawns or routes to the Hermes agent running under profile "laotao"
4. Profile laotao has its own:
- ~/.hermes/profiles/laotao/memory/
- ~/.hermes/profiles/laotao/sessions/
- ~/.hermes/profiles/laotao/config.yaml (personality, toolsets, etc.)
5. Skills in /shared/skills are loaded via skills.external_dirs
Alternative: Shared memory + Independent personalities
If full profile isolation is too heavy, an intermediate solution would be:
- Keep a shared memory backend across groups
- Allow per-group ephemeral prompts (already supported via channel_prompts)
- Add per-group personality via display.personality in channel_profiles[chat_id]
Prior Art
- Discord: channel_prompts already exists for ephemeral prompts
- Discord/Telegram: auto_skill binding per channel exists
- The missing piece is profile-level routing
### Alternatives Considered
_No response_
### Feature Type
Gateway / messaging improvement
### Scope
Small (single file, < 50 lines)
### Contribution
- [ ] I'd like to implement this myself and submit a PR
### Debug Report (optional)
```shell
Problem or Use Case
Feature Request: Per-Group Profile Routing for Feishu (Same App ID)
What problem does this solve?
Today, a single Feishu app (one appId + appSecret) can serve multiple groups. Currently,
channel_promptsallows per-group ephemeral system prompts, but there is no way to route each group to a dedicated Hermes Profile with:This would enable a powerful multi-tenant pattern: one Feishu app, multiple groups, each with its own persona + memory, all sharing the same skill set.
Proposed Solution
Introduce a
channel_profilesconfiguration option in the Feishu (and generically applicable) gateway config, alongsidechannel_prompts: