diff --git a/.agent/skills/doc_refresher/SKILL.md b/.agent/skills/doc_refresher/SKILL.md deleted file mode 100644 index 3b4ad9b4..00000000 --- a/.agent/skills/doc_refresher/SKILL.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -name: doc_refresher -description: 自动同步和刷新项目文档,确保 Markdown 文件与当前代码功能状态完全一致。 ---- - -# Documentation Refresher Skill - -此技能用于在项目架构发生重大调整(如功能下线、重心转移)后,自动重写和更新项目的所有 Markdown 文档。 - -## 核心任务 - -1. **代码扫描**:分析 `run.py` 和核心逻辑,识别哪些功能是“活跃的”,哪些功能是“暂停/移除的”。 -2. **术语统一**:确保所有文档使用一致的语气(例如从“监控机器人”转向“天气查询机器人”)。 -3. **多语言同步**:确保 `_ZH.md` 与英文版文档内容同步。 - -## 更新准则 - -- **状态准确性**:如果功能已在代码中被注释(如监控引擎、模拟交易),文档必须明确标注为“已暂停”或直接移除。 -- **示例更新**:更新文档中的 Telegram 指令示例,移除已下线的指令(如 `/signal`, `/portfolio`)。 -- **流程简化**:针对当前“天气查询模式”,简化安装和运行流程说明。 - -## 使用流程 - -1. 查看 `run.py` 确认当前运行模式。 -2. 遍历项目根目录下所有的 `.md` 文件。 -3. 对每个文件内容进行重构,保持格式美观。 -4. 校验多语言版本的一致性。 diff --git a/src/bot/runtime_coordinator.py b/src/bot/runtime_coordinator.py index 901129bd..cef1ac87 100644 --- a/src/bot/runtime_coordinator.py +++ b/src/bot/runtime_coordinator.py @@ -154,7 +154,7 @@ class StartupCoordinator: def _start_trade_alert_loop(self) -> LoopStatus: enabled = _env_bool("TELEGRAM_ALERT_PUSH_ENABLED", True) chat_ids = get_telegram_chat_ids_from_env() - interval = max(60, _env_int("TELEGRAM_ALERT_PUSH_INTERVAL_SEC", 300)) + interval = max(60, _env_int("TELEGRAM_ALERT_PUSH_INTERVAL_SEC", 1800)) cities_count = _parse_csv_count(os.getenv("TELEGRAM_ALERT_CITIES")) details = { "mode": "critical-alerts-and-focus-digest", @@ -163,19 +163,19 @@ class StartupCoordinator: "chat_targets": len(chat_ids), "alert_cooldown_sec": max( 60, - _env_int("TELEGRAM_ALERT_PUSH_COOLDOWN_SEC", 1800), + _env_int("TELEGRAM_ALERT_PUSH_COOLDOWN_SEC", 21600), ), "mispricing_interval_sec": max( - max(60, _env_int("TELEGRAM_ALERT_PUSH_COOLDOWN_SEC", 1800)), - _env_int("TELEGRAM_ALERT_MISPRICING_INTERVAL_SEC", 7200), + max(60, _env_int("TELEGRAM_ALERT_PUSH_COOLDOWN_SEC", 21600)), + _env_int("TELEGRAM_ALERT_MISPRICING_INTERVAL_SEC", 43200), ), - "min_trigger_count": max(1, _env_int("TELEGRAM_ALERT_MIN_TRIGGER_COUNT", 2)), - "min_severity": str(os.getenv("TELEGRAM_ALERT_MIN_SEVERITY") or "medium").strip().lower(), + "min_trigger_count": max(1, _env_int("TELEGRAM_ALERT_MIN_TRIGGER_COUNT", 3)), + "min_severity": str(os.getenv("TELEGRAM_ALERT_MIN_SEVERITY") or "high").strip().lower(), "mispricing_only": _env_bool("TELEGRAM_ALERT_MISPRICING_ONLY", True), "focus_digest_enabled": _env_bool("TELEGRAM_MARKET_FOCUS_DIGEST_ENABLED", True), "focus_digest_interval_sec": max( 300, - _env_int("TELEGRAM_MARKET_FOCUS_DIGEST_INTERVAL_SEC", 1800), + _env_int("TELEGRAM_MARKET_FOCUS_DIGEST_INTERVAL_SEC", 21600), ), "focus_push_start_local_hour": min( 23, diff --git a/src/utils/telegram_push.py b/src/utils/telegram_push.py index b7c2483d..3055f9b1 100644 --- a/src/utils/telegram_push.py +++ b/src/utils/telegram_push.py @@ -1228,24 +1228,24 @@ def start_trade_alert_push_loop(bot: Any, config: Dict[str, Any]) -> Optional[th logger.warning("telegram market monitor loop skipped: TELEGRAM_CHAT_IDS is not set") return None - interval_sec = max(60, _env_int("TELEGRAM_ALERT_PUSH_INTERVAL_SEC", 300)) + interval_sec = max(60, _env_int("TELEGRAM_ALERT_PUSH_INTERVAL_SEC", 1800)) cities = _parse_city_list(os.getenv("TELEGRAM_ALERT_CITIES")) state_path = _state_file() - alert_cooldown_sec = max(60, _env_int("TELEGRAM_ALERT_PUSH_COOLDOWN_SEC", 1800)) + alert_cooldown_sec = max(60, _env_int("TELEGRAM_ALERT_PUSH_COOLDOWN_SEC", 21600)) mispricing_interval_sec = max( alert_cooldown_sec, - _env_int("TELEGRAM_ALERT_MISPRICING_INTERVAL_SEC", 7200), + _env_int("TELEGRAM_ALERT_MISPRICING_INTERVAL_SEC", 43200), ) - min_trigger_count = max(1, _env_int("TELEGRAM_ALERT_MIN_TRIGGER_COUNT", 2)) - min_severity = str(os.getenv("TELEGRAM_ALERT_MIN_SEVERITY") or "medium").strip().lower() + min_trigger_count = max(1, _env_int("TELEGRAM_ALERT_MIN_TRIGGER_COUNT", 3)) + min_severity = str(os.getenv("TELEGRAM_ALERT_MIN_SEVERITY") or "high").strip().lower() if min_severity not in SEVERITY_RANK: - min_severity = "medium" + min_severity = "high" mispricing_only = _env_bool("TELEGRAM_ALERT_MISPRICING_ONLY", True) focus_digest_enabled = _env_bool("TELEGRAM_MARKET_FOCUS_DIGEST_ENABLED", True) focus_digest_top_n = max(3, min(8, _env_int("TELEGRAM_MARKET_FOCUS_DIGEST_TOP_N", 5))) focus_digest_interval_sec = max( 300, - _env_int("TELEGRAM_MARKET_FOCUS_DIGEST_INTERVAL_SEC", 1800), + _env_int("TELEGRAM_MARKET_FOCUS_DIGEST_INTERVAL_SEC", 21600), ) def _runner() -> None: try: