mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-04-27 01:11:40 +00:00
1. Markdown → mrkdwn conversion (format_message override): - **bold** → *bold*, *italic* → _italic_ - ## Headers → *Headers* (bold) - [link](url) → <url|link> - ~~strike~~ → ~strike~ - Code blocks and inline code preserved unchanged - Placeholder-based approach (same pattern as Telegram) 2. Message length splitting: - send() now calls format_message() + truncate_message() - Long responses split at natural boundaries (newlines, spaces) - Code blocks properly closed/reopened across chunks - Chunk indicators (1/N) appended for multi-part messages 3. Reaction-based acknowledgment: - 👀 (eyes) reaction added on message receipt - Replaced with ✅ (white_check_mark) when response is complete - Graceful error handling (missing scopes, already-reacted) - Serves as visual feedback since Slack has no bot typing API 4. User identity resolution: - Resolves Slack user IDs to display names via users.info API - LRU-style in-memory cache (one API call per user) - Fallback chain: display_name → real_name → user_id - user_name now included in MessageEvent source 5. Expanded slash commands (/hermes <subcommand>): - Added: compact, compress, resume, background, usage, insights, title, reasoning, provider, rollback - Arguments preserved (e.g. /hermes resume my session) 6. reply_broadcast config option: - When gateway.slack.reply_broadcast is true, first response in a thread also appears in the main channel - Disabled by default — thread = session stays clean 30 new tests covering all features. |
||
|---|---|---|
| .. | ||
| platforms | ||
| __init__.py | ||
| channel_directory.py | ||
| config.py | ||
| delivery.py | ||
| hooks.py | ||
| mirror.py | ||
| pairing.py | ||
| run.py | ||
| session.py | ||
| status.py | ||
| sticker_cache.py | ||