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