Watchlist Inbox
subscriptionPURPOSE: Manage a free per-key KOL-call watchlist inbox for watch / subscribe / alert / remind / notify / monitor intents — save symbols, check unread counts, then fetch content with signal when needed.
COVERS (by intent):
[subscription-watchlist] watch / subscribe / alert me / remind me / notify me / monitor a symbol for new KOL calls; save or update a KOL-call watchlist; list watched symbols and unread counts; check whether watched coins or stocks have unseen KOL calls; acknowledge counts I already saw
BOUNDARIES:
Choose subscription when the user asks to watch, subscribe, alert, remind, notify, monitor, list subscriptions, check alerts, show watched symbols, or check unread KOL-call counts. It returns symbols and unread counts with zero monthly quota cost.
For the actual calls and original posts, use signal(categories=["kol_call"], keywords=[...]) after list reports symbols with unread_count > 0; that follow-up signal call is billed as usual.
Phase 1 supports category="kol_call" only, covering both crypto and tradfi KOL calls. Use per-item asset_type="crypto"|"tradfi" only to disambiguate a symbol.
Delivery model: pull-based watchlist inbox for user "alert/remind/notify me" wording; users can check stored unread counts later.
USAGE:
set: action="set", items=[{"symbol":"BTC","asset_type":"crypto"},{"symbol":"AAPL","asset_type":"tradfi"}]; this adds new items, ignores duplicates, and preserves existing items
list: action="list" (free; returns the watchlist with unread_count and folds pending updates into shown; repeated list calls are stable until ack)
ack: action="ack", items=[{"symbol":"BTC","asset_type":"crypto"}] (free; clears shown only)
delete: action="delete" (clears the whole watchlist)
RETURNS: results.watchlist for set/list, results.acknowledged for ack, or results.status for delete. set watchlist rows include symbol and asset_kind; list watchlist rows also include pending, shown, unread_count, and latest_ts where relevant.
EXAMPLES:
"帮我盯一下 BTC 和 ETH 有新喊单就提醒" → action="set", items=[{"symbol":"BTC","asset_type":"crypto"},{"symbol":"ETH","asset_type":"crypto"}]
"watch / subscribe / alert me on NVDA KOL calls" → action="set", items=[{"symbol":"NVDA","asset_type":"tradfi"}]
"我的自选币有新动静吗 / check my alerts" → action="list"
"我订阅的信号有更新吗 / show my subscriptions" → action="list"
"BTC 的提醒我看过了" → action="ack", items=[{"symbol":"BTC","asset_type":"crypto"}]
"列出我的订阅" → action="list"
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| items | No | Watchlist items to set or ack. Required for set and ack. set never deletes existing items; use delete to clear the watchlist. Each item has a symbol and optional per-item asset_type for crypto/tradfi disambiguation. | |
| action | Yes | Action to perform: set | list | delete | ack. Use set for user wording like watch, subscribe, alert me, remind me, notify me, or monitor a KOL-call symbol; use list for check/show my alerts, subscriptions, watched symbols, or unread counts; delete removes all items; ack clears shown unread state for supplied items. | |
| category | No | Signal category for this watchlist inbox. Phase 1 supports only kol_call; omitted defaults to kol_call. |