介绍
# Reddit Readonly
用于 Clawdbot 的 Reddit 只读浏览。
## 此技能的用途
- 在一个或多个 subreddit 中查找帖子(热/新/top/争议/上升) - 通过查询搜索帖子(在特定 subreddit 内或全局) - 获取评论上下文 - 生成 *精选永久链接列表*,以便用户打开 Reddit 并手动回复
## 硬性规则
- **仅限只读。** 此技能从不发布、回复、投票或进行管理。 - 请礼貌地发送请求: - 首先优先使用较小的限制(5–10)。 - 仅在需要时进行扩展。 - 向用户返回结果时,始终包含 **永久链接**。
## 输出格式
所有命令将 JSON 打印到 stdout。
- 成功:`{ "ok": true, "data": ... }` - 失败:`{ "ok": false, "error": { "message": "...", "details": "..." } }`
## 命令
### 1) 列出 subreddit 中的帖子
```bash node {baseDir}/scripts/reddit-readonly.mjs posts <subreddit> \ --sort hot|new|top|controversial|rising \ --time day|week|month|year|all \ --limit 10 \ --after <token> ```
### 2) 搜索帖子
```bash # Search within a subreddit node {baseDir}/scripts/reddit-readonly.mjs search <subreddit> "<query>" --limit 10
# Search all of Reddit node {baseDir}/scripts/reddit-readonly.mjs search all "<query>" --limit 10 ```
### 3) 获取帖子的评论
```bash # By post id or URL node {baseDir}/scripts/reddit-readonly.mjs comments <post_id|url> --limit 50 --depth 6 ```
### 4) 跨 subreddit 的最新评论
```bash node {baseDir}/scripts/reddit-readonly.mjs recent-comments <subreddit> --limit 25 ```
### 5) 帖子主题包(帖子 + 评论)
```bash node {baseDir}/scripts/reddit-readonly.mjs thread <post_id|url> --commentLimit 50 --depth 6 ```
### 6) 查找机会(多 subreddit 辅助工具)
当用户描述如下条件时使用此功能: “在过去 48 小时内,在 r/a、r/b 和 r/c 中查找关于 X 的帖子,排除 Y”。
```bash node {baseDir}/scripts/reddit-readonly.mjs find \ --subreddits "python,learnpython" \ --query "fastapi deployment" \ --include "docker,uvicorn,nginx" \ --exclude "homework,beginner" \ --minScore 2 \ --maxAgeHours 48 \ --perSubredditLimit 25 \ --maxResults 10 \ --rank new ```
## 建议的代理工作流
1. **明确范围**(如果需要):subreddit + 主题关键词 + 时间范围。 2. 使用较小的限制,从 `find`(或 `posts`/`search`)开始。 3. 对于 1-3 个有前景的项目,通过 `thread` 获取上下文。 4. 向用户展示精选列表: - 标题、subreddit、评分、创建时间 - 永久链接 - 匹配的简要原因 5. 如果被询问,用自然语言建议 *起草回复的思路*,但提醒用户手动发布。
## 故障排除
- 如果 Reddit 返回 HTML,请重新运行命令(脚本会检测到这一点并返回错误)。 - 如果请求反复失败,请减小 `--limit` 和/或通过环境变量设置更慢的频率:
```bash export REDDIT_RO_MIN_DELAY_MS=800 export REDDIT_RO_MAX_DELAY_MS=1800 export REDDIT_RO_TIMEOUT_MS=25000 export REDDIT_RO_USER_AGENT='script:clawdbot-reddit-readonly:v1.0.0 (personal)' ```