mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-04-25 00:51:20 +00:00
Follow-up to WideLee's salvaged PR #11582. Back-compat for QQ_HOME_CHANNEL → QQBOT_HOME_CHANNEL rename: - gateway/config.py reads QQBOT_HOME_CHANNEL, falls back to QQ_HOME_CHANNEL with a one-shot deprecation warning so users on the old name aren't silently broken. - cron/scheduler.py: _HOME_TARGET_ENV_VARS['qqbot'] now maps to the new name; _get_home_target_chat_id falls back to the legacy name via a _LEGACY_HOME_TARGET_ENV_VARS table. - hermes_cli/status.py + hermes_cli/setup.py: honor both names when displaying or checking for missing home channels. - hermes_cli/config.py: keep legacy QQ_HOME_CHANNEL[_NAME] in _EXTRA_ENV_KEYS so .env sanitization still recognizes them. Scope cleanup: - Drop qrcode from core dependencies and requirements.txt (remains in messaging/dingtalk/feishu extras). _qqbot_render_qr already degrades gracefully when qrcode is missing, printing a 'pip install qrcode' tip and falling back to URL-only display. - Restore @staticmethod on QQAdapter._detect_message_type (it doesn't use self). Revert the test change that was only needed when it was converted to an instance method. - Reset uv.lock to origin/main; the PR's stale lock also included unrelated changes (atroposlib source URL, hermes-agent version bump, fastapi additions) that don't belong. Verified E2E: - Existing user (QQ_HOME_CHANNEL set): gateway + cron both pick up the legacy name; deprecation warning logs once. - Fresh user (QQBOT_HOME_CHANNEL set): gateway + cron use new name, no warning. - Both set: new name wins on both surfaces. Targeted tests: 296 passed, 4 skipped (qqbot + cron + hermes_cli).
36 lines
633 B
Text
36 lines
633 B
Text
# NOTE: This file is maintained for convenience only.
|
|
# The canonical dependency list is in pyproject.toml.
|
|
# Preferred install: pip install -e ".[all]"
|
|
|
|
# Core dependencies
|
|
openai
|
|
python-dotenv
|
|
fire
|
|
httpx
|
|
rich
|
|
tenacity
|
|
prompt_toolkit
|
|
pyyaml
|
|
requests
|
|
jinja2
|
|
pydantic>=2.0
|
|
PyJWT[crypto]
|
|
debugpy
|
|
|
|
# Web tools
|
|
firecrawl-py
|
|
parallel-web>=0.4.2
|
|
|
|
# Image generation
|
|
fal-client
|
|
|
|
# Text-to-speech (Edge TTS is free, no API key needed)
|
|
edge-tts
|
|
|
|
# Optional: For cron expression parsing (cronjob scheduling)
|
|
croniter
|
|
|
|
# Optional: For messaging platform integrations (gateway)
|
|
python-telegram-bot[webhooks]>=22.6
|
|
discord.py>=2.0
|
|
aiohttp>=3.9.0
|