131 lines
2.9 KiB
Markdown
131 lines
2.9 KiB
Markdown
# Daily News for Markyan04
|
||
|
||
这是一个中文个人日报系统。它会每天早上生成一份报纸,归档到 `newspaper/` 目录,并通过邮件发送到:
|
||
|
||
```text
|
||
markyan04@163.com
|
||
```
|
||
|
||
生产环境目标是:**个人 Debian 服务器 + Docker Compose + DeepSeek API + SMTP 邮件发送**。
|
||
|
||
默认执行时间:
|
||
|
||
```text
|
||
每天 08:00,Asia/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
|
||
- 任何邮箱密码或平台密钥
|