hermes - ✅(Solved) Fix feat(cron): support comma-separated multi-target deliver values [1 pull requests, 1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
NousResearch/hermes-agent#11602Fetched 2026-04-18 05:59:58
View on GitHub
Comments
0
Participants
1
Timeline
1
Reactions
0
Author
Participants
Timeline (top)
cross-referenced ×1

Fix Action

Fixed

PR fix notes

PR #11601: feat(cron): support comma-separated multi-target deliver values

Description (problem / solution / changelog)

Summary

Allow cron jobs to deliver output to multiple platforms simultaneously by specifying comma-separated deliver values.

Motivation

Previously extracted from #10091 (weixin live adapter PR) but deferred to Batch 4 per #11571. This is a standalone extraction of just the cron multi-target delivery feature.

Usage Examples

  • deliver: feishu,weixin — deliver to both Feishu and Weixin home channels
  • deliver: telegram:channel1,discord:channel2 — deliver to specific channels on multiple platforms
  • deliver: origin,weixin — deliver to origin chat AND Weixin home channel

Changes

  • Split _resolve_delivery_target into _resolve_single_delivery_target (handles one platform) and _resolve_delivery_targets (parses comma-separated list)
  • _resolve_delivery_target remains as backward-compatible wrapper
  • _deliver_result now loops over all resolved targets, collecting errors rather than failing fast
  • Duplicate targets are deduplicated by (platform, chat_id, thread_id)

Testing

  • tests/cron/test_scheduler.py delivery tests: 26 passed

Closes #11602

Changed files

  • cron/scheduler.py (modified, +131/-95)
RAW_BUFFERClick to expand / collapse

Feature Request

Currently cron jobs only support a single delivery target via the deliver field. Users who want the same cron output sent to multiple platforms (e.g. both Feishu and Weixin) must create duplicate cron jobs.

Proposed Solution

Support comma-separated deliver values so one cron job can deliver to multiple targets simultaneously.

Examples

  • deliver: feishu,weixin
  • deliver: telegram:-1001234567890, discord:#general
  • deliver: origin,weixin

Implementation Notes

This was originally part of #10091 but deferred to Batch 4 per #11571. Extracted as standalone feature.

Related

  • #10091 (original PR containing this feature)
  • #11571 (Batch-3 salvage PR that deferred this to Batch 4)

extent analysis

TL;DR

To support multiple delivery targets for cron jobs, modify the deliver field to accept comma-separated values.

Guidance

  • Review the original PR #10091 for initial implementation details and consider building upon that work.
  • Update the deliver field parsing logic to split comma-separated values into an array or list of targets.
  • Modify the cron job execution logic to iterate over the list of targets and deliver the output to each one.
  • Test the updated implementation with various combinations of delivery targets to ensure compatibility and correctness.

Example

# Example of parsing comma-separated deliver values
deliver_values = "feishu,weixin".split(",")
print(deliver_values)  # Output: ["feishu", "weixin"]

Notes

The proposed solution assumes that the underlying delivery mechanism can handle multiple targets. Additional error handling and logging may be necessary to ensure robustness.

Recommendation

Apply workaround by modifying the deliver field to accept comma-separated values, as this is a targeted solution to the specific problem of supporting multiple delivery targets for cron jobs.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

hermes - ✅(Solved) Fix feat(cron): support comma-separated multi-target deliver values [1 pull requests, 1 participants]