Initial commit

This commit is contained in:
2026-07-05 17:59:02 +08:00
commit 11ea2ddb9a
18 changed files with 5549 additions and 0 deletions
+130
View File
@@ -0,0 +1,130 @@
# Daily News for Markyan04
这是一个中文个人日报系统。它会每天早上生成一份报纸,归档到 `newspaper/` 目录,并通过邮件发送到:
```text
markyan04@163.com
```
生产环境目标是:**个人 Debian 服务器 + Docker Compose + DeepSeek API + SMTP 邮件发送**。
默认执行时间:
```text
每天 08:00Asia/Shanghai 时区
```
## 目录说明
- `AGENTS.md`:日报编辑约束,主要给 agent / 生成器读取。
- `config/newspaper.yaml`:日报结构、栏目顺序、栏目权重。
- `config/sources.yaml`:新闻来源、来源分层、新闻质量规则。
- `config/delivery.yaml`:收件人、归档、SMTP、定时任务配置。
- `.env.example`:服务器上的 `.env` 配置模板。
- `docker-compose.yml`:一次性运行和每日定时运行的 Docker 服务。
- `docs/debian-docker-deployment.md`:完整 Debian 部署说明。
- `newspaper/`:每天生成并发送的报纸归档目录。
## Debian 快速部署
把仓库复制到服务器,例如:
```bash
sudo mkdir -p /srv/apps/newspaper
sudo chown -R "$USER":"$USER" /srv/apps/newspaper
rsync -av --exclude .env ./ /srv/apps/newspaper/
cd /srv/apps/newspaper
```
创建 `.env`
```bash
cp .env.example .env
nano .env
```
填写必要配置:
```text
DEEPSEEK_API_KEY=
DEEPSEEK_BASE_URL=https://api.deepseek.com
DEEPSEEK_MODEL=deepseek-v4-pro
GITHUB_TOKEN=
NEWSPAPER_SMTP_HOST=smtp.163.com
NEWSPAPER_SMTP_PORT=465
NEWSPAPER_SMTP_USERNAME=
NEWSPAPER_SMTP_PASSWORD=
NEWSPAPER_FROM_EMAIL=
NEWSPAPER_FROM_NAME=Daily News for Markyan04
NEWSPAPER_SMTP_SECURITY=ssl
NEWSPAPER_SCHEDULE_TIME=08:00
TZ=Asia/Shanghai
```
说明:
- `DEEPSEEK_API_KEY` 填你的 DeepSeek API Key。
- `GITHUB_TOKEN` 可不填;填一个只读 token 可以提高 GitHub Search API 限额,让开源项目跟踪更稳定。
- 如果用 163 邮箱发件,`NEWSPAPER_SMTP_PASSWORD` 应该填邮箱授权码,不是网页登录密码。
- `.env` 里有密钥,不能提交到仓库。
## 构建和检查
```bash
docker compose build
docker compose run --rm newspaper hongyu-daily check-config
```
## 只生成,不发送
```bash
docker compose run --rm newspaper hongyu-daily generate
```
生成后检查:
```bash
ls -lh newspaper/
```
应该看到类似:
```text
YYYY-MM-DD-daily-news-for-markyan04.md
YYYY-MM-DD-daily-news-for-markyan04.html
YYYY-MM-DD-daily-news-for-markyan04.meta.json
```
## 生成并立即发送一次
```bash
docker compose run --rm newspaper hongyu-daily run
```
## 启动每日定时任务
```bash
docker compose up -d scheduler
docker compose logs -f scheduler
```
启动后,`scheduler` 服务会常驻运行,并在每天 08:00 生成和发送日报。
## 停止定时任务
```bash
docker compose down
```
## 密钥注意事项
不要提交这些内容:
- `.env`
- SMTP 授权码
- DeepSeek API Key
- Cookie
- Session token
- 任何邮箱密码或平台密钥