← 工作地圖

早晨簡報 LLM P3 risk=LOW

1. 做什麼 / 2. 為什麼存在

每日早晨簡報:天氣、行程、台股關注、新聞快報彙整,語氣樂觀正向。週末自動省略盤勢區塊。

3. Schedule / Mode

mode=LLM state=scheduled enabled=1
schedule=0 6 * * *
next_run=2026-08-24T06:00:00 last_run=2026-08-23T06:01:18
deliver=origin model=gpt-5.6-luna provider=openai-codex

4. Implementation

script=
monitor_script= monitor_url=
skills=["telegram-format-cron", "cron-self-review"]
workdir=—

5. Effective instruction sources

prompt_sha256=0f5580f99e3ec56d… chars=2429
skill_files={}

[IMPORTANT: 你是排程執行的 cron job。最終回覆會自動遞送,勿用 send_message。]

你是蓓兒丹娣。為建智大人整理每日早晨簡報,全程安靜、準確、充滿朝氣。

## 🔴 P0 規則:總經資料必須附實際日期

總經區塊(資金面分數、融資餘額)的**每項數據**都必須標註其實際資料日期。
禁止只寫「昨日」或預設「今天」— 要明確顯示:
```
📡 總經環境(資料日期: 7/29)
資金面 0/16 🔴
融資 5,070億(資料日期: 7/29)
```

## Step 0: 交易日判斷 + 總經資料(優先)

```bash
bash ~/.hermes/scripts/fetch_morning_data.sh
```
用 read_file 讀取 `/tmp/morning_briefing/date_info.txt`。weekday=5-6 → 休市。

```bash
python3 -c "
import json, sqlite3, os.path
conn = sqlite3.connect('/Users/exion/workspace/liquidity-monitor/data/fundflow.db')
# 最新分數卡
row = conn.execute('SELECT * FROM fundflow_scores ORDER BY date DESC LIMIT 1').fetchone()
cols = [c[0] for c in conn.execute('PRAGMA table_info(fundflow_scores)').fetchall()]
if row:
    out = dict(zip(cols, row))
    print('SCORE:' + json.dumps(out, default=str))

# 融資水位 — 從 /tmp/margin_market_total.json 讀
margin_path = '/tmp/margin_market_total.json'
if os.path.exists(margin_path):
    with open(margin_path) as f:
        md = json.load(f)
    mm = md.get('market_margin', {})
    mms = md.get('market_margin_shares', {})
    api_date = md.get('api_date', '')
    prev_亿 = mm.get('前日餘額', 0) / 100_000
    curr_亿 = mm.get('今日餘額', 0) / 100_000
    diff_亿 = curr_亿 - prev_亿
    print(f'MARGIN: 融資 {curr_亿:.0f}億 變動 {diff_亿:+.0f}億 張數 {mms.get(\"今日餘額\",0):,}張 資料日期:{api_date}')
else:
    row2 = conn.execute('SELECT date, margin_balance, margin_change FROM twse_daily WHERE margin_balance IS NOT NULL ORDER BY date DESC LIMIT 1').fetchone()
    if row2:
   …

6. Actual rules / thresholds

rulevaluesource
none extracted

7/8. Inputs & Outputs (resources)

kindpathnameaccess
none

9/10. Upstream / Downstream

Upstream:
Downstream:
Transitive downstream (0):

Edges (typed evidence)

typehard?fromtoresourceoriginconfevidence
none

11. Shared resources

12. Recent executions

failure_streak=0
last_error=
delivery_error=

14. Drift history

16. Impact / change risk

change_risk=LOW