Chuyển tới nội dung chính

{/* Trang này được tạo tự động từ SKILL.md của kỹ năng bởi website/scripts/generate-skill-docs.py. Chỉnh sửa nguồn SKILL.md, không phải trang này. */}

Người theo dõi

Thăm dò ý kiến RSS, API JSON và GitHub bằng cách loại bỏ hình mờ.

Siêu dữ liệu kỹ năng

NguồnTùy chọn — cài đặt với
`Hermes skills install official/devops/watchers
`
Đường dẫn

optional-skills/devops/watchers ` | | Phiên bản |

1.0.0 ` | | Tác giả | Đại lý Hermes | | Giấy phép | MIT | | Nền tảng | Linux, macOS | | Thẻ |

cron

, `polling

, `rss

, `GitHub

, `http

, `automation

, monitoring |

Tham khảo: đầy đủ SKILL.md

thông tin

Sau đây là định nghĩa kỹ năng đầy đủ mà Hermes tải khi kỹ năng này được kích hoạt. Đây là những gì tác nhân coi là hướng dẫn khi kỹ năng được kích hoạt.

Người theo dõi

Thăm dò các nguồn bên ngoài trong một khoảng thời gian và chỉ phản ứng với các mục mới. Ba tập lệnh được tạo sẵn cộng với trình trợ giúp hình mờ được chia sẻ; nối chúng vào một công việc định kỳ (hoặc chạy chúng đặc biệt từ terminal).

Khi nào nên sử dụng

  • Người dùng muốn xem nguồn cấp dữ liệu RSS/Atom và được thông báo về các mục mới
  • Người dùng muốn xem các vấn đề/kéo/phát hành/cam kết của repo GitHub
  • Người dùng muốn thăm dò điểm cuối JSON tùy ý và nhận thông báo về các mục mới
  • Người dùng yêu cầu "người theo dõi X" hoặc "thông báo cho tôi khi X thay đổi"

Mô hình tinh thần

Người theo dõi chỉ là một tập lệnh:

  1. Lấy dữ liệu từ nguồn bên ngoài
  2. So sánh với tệp hình mờ của các ID đã thấy trước đó
  3. Viết lại hình mờ mới
  4. In các mục mới ra thiết bị xuất chuẩn (hoặc không có gì khi không thay đổi)

Các tập lệnh bên dưới xử lý cả ba. Nhân viên hỗ trợ chạy chúng thông qua công cụ đầu cuối — từ công việc định kỳ, webhook hoặc trò chuyện tương tác — và báo cáo những gì mới.

Kịch bản làm sẵn

Cả ba đều tồn tại trong

$Hermes_HOME/skills/devops/watchers/scripts/ sau khi kỹ năng được cài đặt. Mỗi lần đọc WATCHER_STATE_DIR ` (mặc định là

$Hermes_HOME/watcher-state/

) cho tệp trạng thái của nó, được khóa bởi đối số

--name

.

Kịch bảnNó xem gìChìa khóa trùng lặp
`watch_rss.py
`URL nguồn cấp dữ liệu RSS 2.0 hoặc Atom

<guid> ` /

<id> | | watch_http_JSON.py | Bất kỳ điểm cuối JSON nào đều trả về danh sách các đối tượng | Trường id có thể định cấu hình | | watch_GitHub.py ` | Sự cố / kéo / phát hành / cam kết của GitHub cho một repo |

id / sha ` |

Cả ba:

  • Lần chạy đầu tiên ghi lại đường cơ sở — không bao giờ phát lại nguồn cấp dữ liệu hiện có
  • Hình mờ là bộ ID giới hạn (tối đa 500) để giới hạn bộ nhớ
  • Định dạng đầu ra:

<title>\n<url>\n\n<optional body>

` cho mỗi mục

  • Thiết bị xuất chuẩn trống trên thông tin không mới — người gọi coi đó là im lặng
  • Thoát khác 0 khi tìm nạp lỗi

Cách sử dụng

Chạy trình theo dõi trực tiếp từ công cụ đầu cuối:

Python $Hermes_HOME/skills/devops/watchers/scripts/watch_rss.py \

--name hn --url https://news.ycombinator.com/rss --max 5

`
``Xem repo GitHub (đặt
`GitHub_TOKEN
` trong

~/.Hermes/.env
` để tránh giới hạn tốc độ ẩn danh 60 req/hr):

``` bash
Python $Hermes_HOME/skills/devops/watchers/scripts/watch_GitHub.py \

--name Hermes-issues --repo NousResearch/Hermes-agent --scope issues

`
``Thăm dò API JSON tùy ý:

``` bash
Python $Hermes_HOME/skills/devops/watchers/scripts/watch_http_JSON.py \

--name API --url https://API.example.com/events \
--id-field event_id --items-path data.events

`

## Nối dây vào cron

Yêu cầu nhân viên lên lịch công việc định kỳ với lời nhắc như:`> Cứ sau 15 phút, hãy chạy
`watch_rss.py --name hn --url https://news.ycombinator.com/rss

. Nếu nó in bất cứ điều gì, hãy tóm tắt các tiêu đề và cung cấp chúng. Nếu nó không in gì, hãy giữ im lặng.

Tác nhân gọi tập lệnh thông qua công cụ đầu cuối bên trong vòng lặp tác nhân của công việc định kỳ; không cần thay đổi cờ

--script
` tích hợp của cron.

## Tệp trạng thái

Mọi người xem đều viết

$Hermes_HOME/watcher-state/&lt;name>.JSON

. Kiểm tra:

``` bash
cat $Hermes_HOME/watcher-state/hn.JSON

`
``Buộc phát lại (lần chạy tiếp theo được coi là cuộc thăm dò đầu tiên):

`bash
rm $Hermes_HOME/watcher-state/hn.JSON

`

## Viết của riêng bạn

Cả ba tập lệnh đều sử dụng cùng một mẫu: tải hình mờ, tìm nạp, tìm khác biệt, lưu, phát ra.
`scripts/_watermark.py
` là người trợ giúp được chia sẻ; nhập nó để nhận bản ghi nguyên tử + bộ ID giới hạn + đường cơ sở chạy lần đầu miễn phí. Xem bất kỳ tập lệnh tham khảo nào trong số ba tập lệnh tham khảo để biết cần ít bản soạn sẵn.

## Những cạm bẫy thường gặp
1. **In tiêu đề "không có mục mới" mỗi tích tắc.** Người gọi dựa vào thiết bị xuất chuẩn trống = im lặng. Nếu bạn in bất cứ thứ gì trên một vùng đồng bằng trống, bạn sẽ spam kênh. Các tập lệnh được gửi sẽ xử lý việc này; tập lệnh tùy chỉnh cũng phải như vậy.

2. **Dự kiến ​​lần chạy đầu tiên sẽ phát ra các vật phẩm.** Điều đó sẽ không xảy ra — lần chạy đầu tiên sẽ ghi lại đường cơ sở. Nếu bạn cần bản tóm tắt ban đầu, hãy xóa tệp trạng thái sau lần chạy đầu tiên hoặc thêm cờ

--prime-with-latest N
` trong tập lệnh của riêng bạn.
3. **Tăng trưởng hình mờ không giới hạn.** Trình trợ giúp được chia sẻ giới hạn ở mức 500 ID. Nâng cao nó cho thức ăn có tỷ lệ khuấy cao; hạ thấp nó trên các hệ thống tập tin bị hạn chế.
4. **Đặt thư mục trạng thái ở nơi hộp cát của tác nhân không thể ghi.**

$Hermes_HOME/watcher-state/
` luôn có thể ghi. Phần phụ trợ Docker/Modal có thể không thấy đường dẫn máy chủ tùy ý.