Morning Intelligence Butler is a small open-source morning briefing assistant. It combines Traditional Chinese news summaries, Gmail triage, live market prices, and follow-up items into one concise report.
Shortest path from clone to a real report:
- Install locally.
- Verify the install.
- Generate a demo bundle.
- Run the tool on your own input.
pip install -e .
morning-butler-smoke
morning-butler --generate-demo demo-kit
morning-butler --input demo-kit/sample_report.json --output morning-report.txtIf you prefer the module form:
python -m morning_butler --input demo-kit/sample_report.jsonMost morning tools are either too noisy or too weak. This project is designed to be:
- practical
- conservative by default
- easy to automate
- pleasant to read
- safe with mail cleanup
Each morning it can help you:
- see today’s important mail first
- summarize what needs attention
- list safe cleanup actions
- identify follow-up items before the day starts
- produce a short report you can scan quickly
- export text, JSON, Markdown, or HTML
- save the result directly to a file
For demos, tests, or offline runs, set MORNING_BUTLER_MARKET_FIXTURE to a JSON object with gold, oil, and usd_twd values.
export MORNING_BUTLER_MARKET_FIXTURE='{"gold":"USD 4,796.65/oz","oil":"USD 97.79/bbl","usd_twd":"31.623"}'
morning-butler --input demo-kit/sample_report.jsonThis keeps the market section stable without touching the live fetch flow.
Text mode:
晨報
產生時間:2026-04-14T08:00:00+08:00
摘要:2 封重要信件、2 則新聞、3 筆市場行情、2 項清理動作、2 項靈感與待解鎖事項
=
重要信件
- 回覆供應商發票事宜
- 確認 10:30 會議的行事曆邀請
新聞重點
- 台灣市場開盤走高
- AI 工具持續加速
市場行情
- 國際黃金:即時價格
- 布蘭特原油:即時價格
- 美元/台幣:即時匯率
清理動作
- 已將 24 封促銷信移到垃圾桶
- 略過 3 封已加星號郵件與 2 封含附件郵件
靈感與待解鎖事項
- 在 11:00 前回覆供應商
- 確認 10:30 的行事曆邀請
Markdown mode:
# 晨報
產生時間:2026-04-14T08:00:00+08:00
**摘要:**2 封重要信件、2 則新聞、3 筆市場行情、2 項清理動作、2 項靈感與待解鎖事項
## 重要信件
- 回覆供應商發票事宜
- 確認 10:30 會議的行事曆邀請
## 新聞重點
- 台灣市場開盤走高
- AI 工具持續加速
## 市場行情
- 國際黃金:USD 2,350/oz
- 布蘭特原油:USD 84.20/bbl
- 美元/台幣:32.12
## 清理動作
- 已將 24 封促銷信移到垃圾桶
- 略過 3 封已加星號郵件與 2 封含附件郵件
## 靈感與待解鎖事項
- 在 11:00 前回覆供應商
- 確認 10:30 的行事曆邀請HTML mode:
<!doctype html>
<html lang="zh-Hant">
<head>...</head>
<body>
<h1>晨報</h1>
<p class="summary">2 封重要信件 · 2 則新聞 · 3 筆市場行情 · 2 項清理動作 · 2 項靈感與待解鎖事項</p>
<section><h2>市場行情</h2><ul>...</ul></section>
</body>
</html>Run the smoke test after installing:
pip install -e .
morning-butler-smoke
python scripts/smoke_test.pyBefore cutting a release, run the local release verification flow:
morning-butler-release-checkThis runs pytest, the smoke test, builds a wheel, installs that wheel into a fresh virtual environment, and runs the installed smoke test again.
See RELEASE.md for the full pre-publish checklist.
Create a full sample bundle:
morning-butler --generate-demo
morning-butler --generate-demo demo-kitThe bundle includes sample input plus rendered text, Markdown, HTML, and JSON outputs.
把你自己的晨報 JSON 丟進去即可。 工具會自動抓取即時的國際黃金、布蘭特原油與美元/台幣。
morning-butler --input your_report.json
morning-butler --format json --input your_report.json --output report.json
morning-butler --format markdown --input your_report.json --output report.md
morning-butler --format html --input your_report.json --output report.htmlFor pipelines, stdin also works:
cat your_report.json | morning-butler --input - --format textCreate a starter sample file when you need one:
morning-butler --write-sample
morning-butler --write-sample my_sample.jsonSee INPUT_SCHEMA.md for the expected input shape and field meanings.
For common errors and fixes, see TROUBLESHOOTING.md.
- Never hard-delete mail
- Skip starred mail by default
- Skip mail with attachments by default
- Favor explicit summaries over long dumps
- Make the morning report readable in under a minute
- Surface follow-ups, not just summaries
- Support output formats that are easy to reuse elsewhere
- Keep file output simple and predictable
- News source connectors
- Gmail summary integration
- Telegram delivery
- Scheduled execution
- Configurable cleanup rules
- Richer Markdown / HTML output variants
This is an early public foundation release. It is intended to grow into a reusable morning briefing workflow.
See CHANGELOG.md for versioned release notes and verification-focused changes.