# Linux Do Research

> 统一的网络优先 LINUX DO 研究流程，覆盖论坛搜索、K12 帖子、主题证据、回复/楼层、链接、附件、收藏和浏览器辅助验证。先使用纯网络搜索/reader；只有在网络证据不完整、不可信、被阻断，或用户明确要求 Edge/浏览器/当前标签页/收藏/登录可见细节时，才使用 Microsoft Edge/浏览器插件兜底。

- Skill: `wesperez/linux-do-research` (Agent Skill, multi-file: 9 files)
- Install (CLI): `npx skillmds@latest add wesperez/linux-do-research`
- Raw SKILL.md: https://api.skillmd.com/api/skills/wesperez/linux-do-research/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Research & Search
- Author: WesPerez (https://skillmd.com/u/wesperez)
- Updated: 2026-09-21
- Page: https://skillmd.com/skills/wesperez/linux-do-research

---


# LINUX DO 研究

## 核心规则

把本技能作为 LINUX DO 研究的单一入口。除非用户给出特定的现有浏览器标签页、收藏页或当前标签页目标且无法表示为 URL 或搜索查询，否则始终先从纯网络方法开始。

在此环境中，对 LINUX DO 和 `r.jina.ai` 的网络请求从本地代理 `http://127.0.0.1:10808` 加命令级超时开始。不要在初始阶段等待通常会超时的直连请求。

优先使用网络搜索和 reader 页面，因为它们更安静、更安全，也更容易审计。只有网络方法无法产生足够的原始可验证证据，或用户明确要求浏览器/当前标签页/收藏/登录可见论坛工作时，才使用 Microsoft Edge/浏览器插件兜底。

网络阶段不要使用 Edge、Chrome、浏览器插件、cookies、localStorage、sessionStorage、保存的密码或论坛认证 headers。

使用浏览器兜底时，默认使用 Microsoft Edge。优先接管用户现有的 Edge 标签页。除非用户明确要求 Chrome，否则不要使用 Chrome。记录每个临时创建的标签页，只关闭能证明由本任务创建的标签页，并在最终答复报告标签页处理情况。

不要把浏览器/插件标签页导航到 `https://linux.do/t/topic/<id>.json`。这些页面在浏览器路径里经常被 Cloudflare 阻断，会浪费时间。使用普通主题 URL 和定向楼层 URL（`/<floor>`），提取 DOM 可见内容。网络阶段如果无需浏览器凭据即可访问，仍可尝试 shell/network JSON。

## 必读材料

执行 LINUX DO 研究前读取 `references/network_workflow.md`，尤其是在声明楼层覆盖、下载附件或决定是否需要浏览器兜底前。

使用浏览器自动化前读取 `references/edge_tab_lifecycle.md`。

声明已读取所有楼层/回复前读取 `references/discourse_extraction.md`。

下载附件或跟随链接前读取 `references/attachments_and_links.md`。

使用 `references/research_audit_template.md`，但只启用本次实际涉及的区块；没有收藏、附件、下载或浏览器动作时，不创建对应的空审计。

## 工作流

1. 从用户请求中明确研究目标：
   - 精确主题 URL 或 topic ID；
   - 搜索词和同义词；
   - 收藏页、当前 Edge 标签页标题、所有楼层、指定链接、附件或教程；
   - 他们需要每个楼层/附件/链接，还是只要聚焦答案。
2. 不使用浏览器插件发现候选 URL：
   - 可用时通过代理支持的 `curl` 使用搜索引擎；
   - 使用 `site:linux.do` 查询和精确引用标题；
   - 把搜索摘要只当发现线索，不当最终证据。
3. 通过网络方法读取原始主题内容：
   - 尝试 `https://r.jina.ai/http://linux.do/t/topic/<id>`；
   - 对缺失范围尝试 `/7`、`/14`、`/30` 等定向楼层 URL；
   - 仅当无需浏览器凭据即可访问时，从 shell/network 尝试直接 Discourse JSON。
4. 下结论前跟踪网络覆盖：
   - 标题、URL、可见帖子数或最高楼层；
   - 实际读取的楼层；
   - 只看到占位符的楼层；
   - 发现的链接和附件；
   - 剩余缺口以及它们为什么重要。
5. 只有在这些具体缺口出现时才升级到浏览器兜底：
   - 用户明确要求使用 Edge/浏览器、现有标签页、收藏、登录态或插件读取；
   - 网络输出只有摘要/片段，没有原帖文本；
   - 重要楼层缺失、被 cloaked，或只作为占位符可见；
   - 关键附件、图片、链接教程或 CDN 跳转无法脱离浏览器解析；
   - 问题需要强证据，而网络路径留下实质缺口；
   - 直连被 Cloudflare 阻断，Jina/搜索缓存陈旧、不完整或相互矛盾。
6. 如果需要浏览器兜底，审计打开的 Edge 标签页：
   - 通过标题/URL 识别用户拥有的目标标签页；
   - 如果现有标签页能满足任务，不要重复打开。
7. 高效读取浏览器页面：
   - 从当前主题提取 DOM；
   - 如果楼层被 cloaked/lazy-loaded，打开一个定向临时主题位置标签页，例如 `/7` 或 `/10`，提取缺失范围，然后关闭它。
8. 跟踪最终覆盖：
   - 记录标题、URL、预期帖子数/最高楼层（如果可见）；
   - 记录成功读取的楼层号；
   - 记录缺口以及如何补齐；
   - 缺口解决前不要声称完整覆盖。
9. 只在有用时跟随链接：
   - 优先处理链接教程、来源帖子、附件链接，以及作为操作说明提到的链接；
   - 避免跑到无关讨论中。
10. 只在需要时下载附件：
   - 先尝试网络安全读取；
   - 如果 Cloudflare 阻断直连，通过 Edge 解析论坛短 URL；
   - 如果解析后的 CDN URL 不需要 cookies，再下载；
   - 校验文件路径、大小和结构。
11. 用证据总结发现：
   - 使用的网络方法，以及是否需要浏览器兜底；
   - 主题和楼层覆盖；
   - 附件和下载文件；
   - 回复中的关键警告/说明；
   - 未解决缺口。

## 浏览器安全

永远不要提取浏览器 cookies、localStorage、sessionStorage、保存的密码、profile 文件或认证 headers。除非明确要求，否则不要发帖、点赞、收藏、回复、上传或以其他方式修改论坛状态。

用户主动提供临时论坛 session 并明确授权时，只把它用于当前任务中确需登录的受限主题或附件解析：使用内存或 `/run` 下 `0600` 的精确临时 cookie 文件，串行低频请求，不写入技能、脚本、shell 历史或长期配置，任务结束立即删除。公开主题和公开附件仍优先走 reader/CDN；session 失效或出现验证码时停止自动重试，不尝试绕过挑战。

应用级 `429` 不应直接终止研究，也不能一律当成代理故障。论坛原始页面、分类/主题 JSON 和公开附件是主证据；reader 只传递论坛原文，外部搜索缓存只用于发现。先记录 `Retry-After`、账号状态和请求范围。可信 `Retry-After` 必须优先遵从；没有可信值时，先保持同一身份和出口等待 30 秒后重试一次，任务确实需要且总等待预算仍有余量时可再等 30 秒，总计不超过 60 秒。明确账号/全局限流时降频、缓存和合并请求。等待后仍疑似出口级限制时，匿名、公开、幂等的 `GET/HEAD` 才可串行尝试至多三个彼此独立且已验证的网络路径；携带 session 的请求每次事件只换一个已验证出口做一次 A/B，避免账号短时间跨多 IP。所有路径仍为 `429` 时停止继续轮换，但继续通过论坛分类/主题 JSON、公开 CDN、已有原文或 `Retry-After` 后续跑完成研究；不得并发扫出口或无限换 IP。连接失败、超时、TLS/出口阻断也只做有上限的换出口重试。

## 最终审计

最终答复前：

- 报告使用的网络方法以及是否使用本地代理；
- 报告读取过的 URL 和精确楼层覆盖；
- 报告跟随的链接和尝试/下载的附件；
- 报告创建或下载的文件，包含绝对路径和大小；
- 报告清理行为或保留的产物；
- 报告是否需要浏览器升级，或为何刻意未使用；
- 仅在实际使用浏览器时运行 Edge 标签页审计，关闭已知由任务创建且不再需要的临时标签页，并报告打开、关闭和保留情况；
- 未使用浏览器时只报告“未使用浏览器”，不枚举或审计用户标签页；
- 报告下载和生成文件；
- 报告是否实际读取了用户请求的所有楼层/收藏。

