Initial commit
This commit is contained in:
@@ -0,0 +1,130 @@
|
||||
# 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
|
||||
- 任何邮箱密码或平台密钥
|
||||
Reference in New Issue
Block a user