# RobotDaily Selection & Delivery Notes

## Selection bias

RobotDaily is intentionally biased toward papers that are:

- recent (default 2-day lookback, fallback 4-day lookback)
- practical or system-oriented
- likely to matter for real robots / real deployment / data engines / robust representation learning
- not pure survey or tutorial content

## Domain buckets

### 具身智能

Prefer papers mentioning robot, embodied, humanoid, manipulation, navigation, locomotion, grasping, sim2real, or real-robot evaluation.

### 表征学习

Prefer papers mentioning representation learning, latent space, embeddings, world models, self-supervised learning, object-centric features, or pretraining that supports downstream control.

### 强化学习

Prefer papers mentioning reinforcement learning, offline RL, policy optimization, reward design, imitation learning, decision making, or control policies.

## Delivery modes

### thread

- Uses OpenClaw CLI only.
- Creates one new Discord thread/forum post per day.
- Best option when you already have OpenClaw Discord configured and want a thread-style mobile reading flow.

Required env:

- `DISCORD_DELIVERY_MODE=thread`
- `DISCORD_ACCOUNT_ID=codex` (or the configured account id)
- `DISCORD_GUILD_ID=<guild id>`
- `DISCORD_PARENT_CHANNEL_ID=<forum or text channel id>`

### channel

- Creates one new dated text channel per day.
- Current OpenClaw build exposes channel-create in capabilities, but not as a public CLI subcommand.
- This mode therefore uses raw Discord REST for channel creation, then OpenClaw CLI for posting.

Required env:

- `DISCORD_DELIVERY_MODE=channel`
- `DISCORD_ACCOUNT_ID=codex`
- `DISCORD_GUILD_ID=<guild id>`
- `DISCORD_TARGET_CHANNEL_NAME=robotdaily` (optional prefix; defaults to `robotdaily`)
- `DISCORD_CATEGORY_ID=<category id>` (optional but recommended)
- `DISCORD_BOT_TOKEN=<bot token>`

### fixed-channel (best match for `RobotDaily`)

- Reuses one stable channel name such as `robotdaily`.
- If the channel already exists, it posts there directly.
- If the channel is missing, it creates it through Discord REST and then posts into it.

Required env:

- `DISCORD_DELIVERY_MODE=fixed-channel`
- `DISCORD_ACCOUNT_ID=codex`
- `DISCORD_GUILD_ID=<guild id>`
- `DISCORD_TARGET_CHANNEL_NAME=robotdaily`
- `DISCORD_BOT_TOKEN=<bot token>` only when the channel may need to be created

### existing-channel

- Reuses one fixed channel id.
- Best option when the target channel already exists and you know its id.

Required env:

- `DISCORD_DELIVERY_MODE=existing-channel`
- `DISCORD_TARGET_CHANNEL_ID=<channel id>`

## Entry point

Use `scripts/run_daily.py` as the only orchestration entry point.
