{"skill":{"slug":"zeelin-zhihu-autopost","displayName":"ZeeLin 知乎自动发布","summary":"用户给出选题，小龙虾爬取信息、整理成一篇深度有创新的文章，展示给用户确认后一键发布到知乎。用户只需登录知乎并在确认后点击「确定」，Agent 负责选题调研、成文与浏览器端自动填入并发布。Keywords: Zeelin, ZeeLin, 知乎, 自动发布, 选题, 深度文章, 一键发布.","description":"---\nname: ZeeLin 知乎自动发布\ndescription: \"用户给出选题，小龙虾爬取信息、整理成一篇深度有创新的文章，展示给用户确认后一键发布到知乎。用户只需登录知乎并在确认后点击「确定」，Agent 负责选题调研、成文与浏览器端自动填入并发布。Keywords: Zeelin, ZeeLin, 知乎, 自动发布, 选题, 深度文章, 一键发布.\"\nuser-invocable: true\nmetadata: {\"openclaw\":{\"emoji\":\"📝\",\"skillKey\":\"zeelin-zhihu-autopost\"}}\n---\n\n# ZeeLin 知乎自动发布 📝\n\n用户给一个**选题** → 小龙虾**爬取信息、整理成深度有创新的文章** → 展示给用户 → 用户说**「确定」「发布」** → 小龙虾用脚本在知乎写文章页**自动填入标题和正文并点击发布**。你只需登录知乎并点一次确定。\n\n---\n\n## ⚠️ 避免 request timed out（必读）\n\n**严禁在同一轮内既「爬取+成文」又「写文件+exec 发布」**。单轮耗时过长会导致 request timed out。\n\n**必须拆成两轮：**\n- **第一轮**：只做爬取（web_fetch）+ 成文，把**标题和正文**发给用户，并说明：「请先登录知乎。确认无误后回复 **『发布』**，我再执行发布。」\n- **第二轮**：等用户回复「发布」后，只做「将正文写入 `/tmp/zhihu_body.md` + exec 发布脚本（带 timeout 90000）」，不再重复爬取或成文。\n\n即使用户一次说「爬取最新 AI 动态并发布到知乎」，你也**先只完成爬取和成文并展示**，等用户说「发布」后再执行发布。\n\n**飞书 / 易超时环境下的「轻量第一轮」**：当用户说「爬取最新动态」并写知乎时，第一轮**不要**做大量爬取+整篇长文（容易单轮超时）。改为：**至多 1～2 次 web_fetch**，然后产出**短稿（约 500～800 字）或「大纲 + 首段」**，先快速回复；并说明：「这是首稿/大纲，需要全文请回复『展开成全文』，要发布请回复『发布』。」用户回复后再补全或发布，可显著降低 request timed out。\n\n---\n\n## 何时触发\n\n- 「帮我发一篇知乎」「把这篇发到知乎」\n- 「做个知乎选题：XXX」「以 XXX 为题写一篇知乎文章并发布」\n- 「帮我写一篇知乎深度文，选题是 XXX，写好我确认后你发」\n- 「知乎自动发布」「用小龙虾发知乎」\n- **「爬取最新动态，写一篇知乎文章」**「爬取最新动态写知乎」「根据最新动态写一篇知乎」\n\n---\n\n## 知乎 API 在哪调\n\n- **开放平台**：https://dev.zhihu.com/ — 注册应用、OAuth 2.0 获取 `access_token`。**注意**：知乎发布 API 目前仅对内侧用户开放，多数用户无法使用。\n- **发布文章接口**（内侧）：一般为 `POST https://api.zhihu.com/v4/articles`。未开放前请用下方「网页端直接发布」。\n- **本 skill 发布方式**：\n  1. **API 发布**（仅内侧可用）：若环境变量已设置 `ZHIHU_ACCESS_TOKEN`，使用 `scripts/publish_via_api.sh`。\n  2. **网页端直接发布（推荐）**：使用 `scripts/publish_article.sh`，在**已打开的知乎写文章页**上填表并点击发布；配合 **Browser Relay** 可大幅缩短耗时、降低 request timed out（见下）。\n\n---\n\n## 网页端直接发布（Browser Relay，参考 ClawHub zhihu-post）\n\n与 [ClawHub 上的知乎发帖 skill](https://clawhub.ai/InuyashaYang/zhihu-post) 思路一致：**在网页端直接发布**，由 Agent 控制已打开的浏览器标签页完成填表与点击，无需知乎开放 API。\n\n**推荐流程（耗时短、不易超时）：**\n\n1. **安装 OpenClaw Browser Relay**：Chrome 扩展，让 Agent 控制你当前标签页。安装：`openclaw browser extension install`，在 Chrome 加载该扩展；详见 [Chrome extension (browser relay)](https://learnclawdbot.org/docs/tools/chrome-extension)。\n2. **先打开知乎写文章页**：在 Chrome 打开 https://www.zhihu.com ，登录后进入「创作」→「写文章」，停留在**空编辑器页**（有标题框和正文区）。\n3. **挂上 Relay**：在该标签页点击扩展图标，使 Badge 显示 **ON**（表示该页已交给 OpenClaw 控制）。\n4. **发布时**：用户说「发布」后，用 **已打开编辑器页** 的方式执行脚本，即传 `ZHIHU_ALREADY_ON_EDITOR=1`，脚本**不再**打开知乎、不再点击「写文章」，只做：snapshot → 填标题 → 填正文 → 点发布。整体耗时可从 30～90 秒降到约 10～20 秒，显著降低飞书等环境的 request timed out。\n\n**exec 示例（已打开写文章页时）：**\n\n```json\n{\"tool\": \"exec\", \"args\": {\"command\": \"ZHIHU_ALREADY_ON_EDITOR=1 bash ~/.openclaw/workspace/skills/zeelin-zhihu-autopost/scripts/publish_article.sh \\\"文章标题\\\" /tmp/zhihu_body.md\", \"timeout\": 60000}}\n```\n\n**可选：用 browser 工具分步发布**（不用 exec 脚本）：若当前已 attach 知乎写文章页，可依次调用：`browser` snapshot → 从 snapshot 中找标题输入框与正文编辑区的 ref → `browser` type/fill 填入标题和正文 → `browser` snapshot 找发布按钮 ref → `browser` click 发布。每一步为单独工具调用，适合希望完全用 browser 控制的场景。\n\n---\n\n## 使用前准备（必读）\n\n1. **用户需先登录知乎**（浏览器方式）：用 `exec` 或 `browser` 打开 https://www.zhihu.com ，让用户完成登录。若使用 **网页端直接发布 + Browser Relay**，用户在自己 Chrome 打开知乎写文章页并挂上扩展即可。\n2. **可选**：若已知「写文章」直达链接，可先打开写文章页；发布时传 `ZHIHU_ALREADY_ON_EDITOR=1` 可跳过导航，减少超时。\n\n---\n\n## 工作流程\n\n### Step 1：确认选题\n\n用户给出选题（一句话或一个方向）。若未给，询问：「请给一个知乎文章选题或方向。」\n\n### Step 2：爬取信息并成文\n\n- **优先用 web_fetch** 抓取与选题相关的网页（如科技媒体、知乎话题页等 URL），获取最新内容。若 **web_search 不可用**（如缺少 Brave API 密钥），**不要**因此放弃任务：用 web_fetch 抓取你已知的新闻/资讯链接，或基于已有知识成文。\n- 整理成一篇**深度、有创新、结构清晰**的文章（建议 1500～4000 字）：\n  - 标题：吸引点击、概括主题\n  - 正文：分段、小标题、有论据与观点，可适当引用来源\n- **不要**在未获得用户确认前就发布。\n\n### Step 3：展示并请用户确认\n\n把**标题**和**正文全文**发给用户，并说明：\n\n> 「这是根据选题整理的文章。请先登录知乎（若尚未登录）。确认无误后回复 **『确定』或『发布』**，我会帮你在知乎上自动填入并发布。」\n\n### Step 4：用户说「确定」或「发布」后\n\n**4.1 必须先写入正文文件（否则会报「正文文件不存在」）**\n\n在调用发布脚本**之前**，必须把确认后的**正文全文**写入一个文件，例如 `/tmp/zhihu_body.md` 或 workspace 内路径（如 `~/.openclaw/workspace/zhihu_draft_body.md`）。用 `write` 工具或 `exec` 写入均可，确保文件存在且内容为 Markdown 正文。\n\n**4.2 再执行发布脚本**\n\n先写正文到 `/tmp/zhihu_body.md`，再 exec 发布脚本。\n\n- **若已配置 ZHIHU_ACCESS_TOKEN（推荐）**：用 API 发布，耗时短、不易超时，timeout 可设 15000～30000：\n```json\n{\"tool\": \"exec\", \"args\": {\"command\": \"bash ~/.openclaw/workspace/skills/zeelin-zhihu-autopost/scripts/publish_via_api.sh \\\"文章标题\\\" /tmp/zhihu_body.md\", \"timeout\": 30000}}\n```\n- **未配置 token**：用浏览器脚本。若用户**已打开知乎写文章页并挂上 Browser Relay**，用 `ZHIHU_ALREADY_ON_EDITOR=1`，timeout 可设 60000；否则完整流程需 **timeout 90000 或 120000**：\n```json\n{\"tool\": \"exec\", \"args\": {\"command\": \"ZHIHU_ALREADY_ON_EDITOR=1 bash ~/.openclaw/workspace/skills/zeelin-zhihu-autopost/scripts/publish_article.sh \\\"文章标题\\\" /tmp/zhihu_body.md\", \"timeout\": 60000}}\n```\n或（未预先打开写文章页时）：\n```json\n{\"tool\": \"exec\", \"args\": {\"command\": \"bash ~/.openclaw/workspace/skills/zeelin-zhihu-autopost/scripts/publish_article.sh \\\"文章标题\\\" /tmp/zhihu_body.md\", \"timeout\": 90000}}\n```\n\n❌ 错误：未先写入文件就直接执行（会报「正文文件不存在」）；或浏览器方式未传 timeout 导致 request timed out。  \n✅ 正确：先写正文到 `/tmp/zhihu_body.md`，再 exec；已打开写文章页时加 `ZHIHU_ALREADY_ON_EDITOR=1` 可缩短耗时。\n\n### Step 5：回报结果\n\n根据 exec 输出告诉用户：发布成功 / 失败；若失败，提示用户检查是否已登录、是否在写文章页，或重试。\n\n---\n\n## exec 命令速查\n\n| 操作 | 命令与 timeout |\n|------|------|\n| **API 发布**（需 `ZHIHU_ACCESS_TOKEN`，仅内侧可用） | `bash .../publish_via_api.sh \"标题\" /tmp/zhihu_body.md`，args 加 `\"timeout\": 30000` |\n| **网页端发布（已打开写文章页 + Relay）** | `ZHIHU_ALREADY_ON_EDITOR=1 bash .../publish_article.sh \"标题\" /tmp/zhihu_body.md`，args 加 `\"timeout\": 60000` |\n| 浏览器发布（从零打开页） | `bash .../publish_article.sh \"标题\" /tmp/zhihu_body.md`，args 加 `\"timeout\": 90000` |\n| 浏览器发布（标题 + stdin） | `cat body.md \\| bash .../publish_article.sh \"标题\" -`，args 加 `\"timeout\": 90000` |\n\n- **API 脚本**：仅知乎内侧可用；直接 POST 开放平台接口，数秒内完成。\n- **网页端直接发布**：用户先在 Chrome 打开知乎写文章页并挂上 Browser Relay，再执行脚本时加 `ZHIHU_ALREADY_ON_EDITOR=1`，只做填表+点击，约 10～20 秒，不易超时。\n- **浏览器脚本（从零）**：打开知乎创作/写文章页 → 填入标题和正文 → 点击「发布」；耗时长，需 timeout 90000。\n\n---\n\n## 重要规则\n\n- **未确认不发布**：必须等用户明确说「确定」「发布」后再执行发布脚本。\n- **先写文件再发布**：执行 publish_article.sh 前，**必须先**将正文写入文件（如 `/tmp/zhihu_body.md`），再传该路径给脚本，否则会报「正文文件不存在」。\n- **发布必须用 exec**：用脚本统一完成打开页面、填入、点击发布，不要用 browser 工具一步步手动点。\n- **登录由用户完成**：不在脚本或 Agent 中输入知乎账号密码；只操作已登录状态下的写文章页。\n- **无 web_search 时照常成文**：若缺少 Brave Search API 密钥导致 web_search 不可用，用 web_fetch 抓取链接或基于知识成文，不要向用户报「需要 API 密钥」并停止任务。\n- **两轮发布防超时**：第一轮只成文并展示，等用户说「发布」后第二轮再写文件+exec；不要在同一轮内成文又发布，否则易 request timed out。\n\n---\n\n## 技术说明\n\n- 知乎写文章页：通常从 https://www.zhihu.com 进入创作中心 → 写文章；或已知直达链接时直接打开。\n- 脚本依赖 `openclaw browser`：打开页面、snapshot 找元素、type/fill、click 发布。\n- 若页面结构变化导致找不到标题/正文/发布按钮，脚本会输出错误信息，便于排查或更新选择器。\n- **若脚本报「未找到发布按钮」**：通常标题和正文已填入编辑器，请用户在**当前已打开的浏览器页面**中手动点击「发布」或「发表」即可完成发布。\n","tags":{"latest":"0.1.0"},"stats":{"comments":0,"downloads":311,"installsAllTime":0,"installsCurrent":0,"stars":0,"versions":1},"createdAt":1777523540593,"updatedAt":1778492805944},"latestVersion":{"version":"0.1.0","createdAt":1777523540593,"changelog":"Batch upload from OpenClaw workspace","license":"MIT-0"},"metadata":{"setup":[],"os":null,"systems":null},"owner":{"handle":"kelcey2023","userId":"s17d0yeqck74np9sh3ks2p1xx583hjnj","displayName":"kelcey2023","image":"https://avatars.githubusercontent.com/u/128341611?v=4"},"moderation":null}