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. |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| test_async_memory_flush.py | ||
| test_background_command.py | ||
| test_background_process_notifications.py | ||
| test_base_topic_sessions.py | ||
| test_channel_directory.py | ||
| test_config.py | ||
| test_delivery.py | ||
| test_discord_bot_filter.py | ||
| test_discord_free_response.py | ||
| test_document_cache.py | ||
| test_email.py | ||
| test_homeassistant.py | ||
| test_hooks.py | ||
| test_interrupt_key_match.py | ||
| test_media_extraction.py | ||
| test_mirror.py | ||
| test_pairing.py | ||
| test_platform_base.py | ||
| test_resume_command.py | ||
| test_retry_response.py | ||
| test_run_progress_topics.py | ||
| test_send_image_file.py | ||
| test_session.py | ||
| test_session_hygiene.py | ||
| test_signal.py | ||
| test_slack.py | ||
| test_sticker_cache.py | ||
| test_telegram_documents.py | ||
| test_telegram_format.py | ||
| test_title_command.py | ||
| test_transcript_offset.py | ||
| test_update_command.py | ||
| test_whatsapp_connect.py | ||