Skills zhihu-cli
知乎 CLI (pyzhihu-cli):搜索、热榜、问题/回答、发想法/提问/文章、删自己的内容、点赞关注、通知。Agent 代执行 zhihu 命令,Cookie 仅存本地。
install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/baiguangmei/pyzhihu-cli" ~/.claude/skills/clawdbot-skills-zhihu-cli && rm -rf "$T"
manifest:
skills/baiguangmei/pyzhihu-cli/SKILL.mdsource content
zhihu-cli 技能
前提
- 已安装:
在 PATH 中(zhihu
/uv tool install pyzhihu-cli
/pipx install pyzhihu-cli
)。pip install pyzhihu-cli - 路径:配置与二维码路径 — Linux/macOS:
(如~/.zhihu-cli/
、~/.zhihu-cli/cookies.json
);Windows:~/.zhihu-cli/login_qrcode.png
(如%USERPROFILE%\.zhihu-cli\
、%USERPROFILE%\.zhihu-cli\cookies.json
)。%USERPROFILE%\.zhihu-cli\login_qrcode.png - 配置:登录态存于上述
;不得将 Cookie 上传或写入对话/日志。cookies.json - 登录方式:仅两种 — 扫码
、粘贴 Cookiezhihu login --qrcode
。zhihu login --cookie "z_c0=...; _xsrf=...; d_c0=..." - 扫码时:二维码会生成到上述路径的
。若用 OpenClaw 发给用户,须先复制到 OpenClaw 工作目录的 media 文件夹再login_qrcode.png
。openclaw message send --media <media 路径>
Instruction Scope
本技能仅限:在用户本机调用已安装的
zhihu 命令,执行搜索、热榜、问题/回答、发想法/提问/文章、删除自己的内容、点赞关注、收藏与通知等操作;在用户请求扫码登录且已配置 OpenClaw 时,可将二维码图片经 OpenClaw 发送至用户指定渠道。不包含:代用户将 Cookie 上传至任何第三方、访问非知乎域名、或超出上述命令范围的操作。
Credentials
- 知乎登录态:仅存于用户本机(Linux/macOS:
;Windows:~/.zhihu-cli/cookies.json
,权限 0600)。Agent 仅通过执行%USERPROFILE%\.zhihu-cli\cookies.json
命令间接使用,不得将 Cookie 内容上传、转发或写入对话/日志。zhihu - OpenClaw:若使用
发送二维码,需用户自行配置 OpenClaw 及渠道凭证;本技能不声明、不持有该部分凭证。openclaw message send
安装与更新
- 安装(任选其一):
uv tool install pyzhihu-clipipx install pyzhihu-clipip install pyzhihu-cli
- 更新:按安装方式执行
、uv tool upgrade pyzhihu-cli
或pipx upgrade pyzhihu-cli
。用户问「升级/更新 zhihu」时提示其执行对应命令;不确定安装方式时可三种都给出。pip install -U pyzhihu-cli - 版本:
查看当前版本。zhihu --version
Agent 规则
- 诉求 → 命令:按下表映射。
- 数据查询必须用 --json:凡执行数据查询类指令(如
、search
、hot
、question
、answers
、answer
、user
、user-answers
、user-articles
、feed
、topic
、collections
、notifications
等),必须带whoami
,以获取 API 返回的完整数据,便于解析、汇总或向用户展示;不得仅依赖终端表格等非结构化输出。--json - 需登录时:先
;未登录则zhihu status
或引导用户zhihu login --qrcode
。zhihu login --cookie "..." - 扫码登录:执行
后,若本轮未发过二维码且用户已配置 OpenClaw → 先将二维码复制到 OpenClaw 工作目录的zhihu login --qrcode
文件夹,再media
;保持登录进程不中断直到成功/失败/超时;用户说「重新登录/换号」则中断当前进程再重新执行登录。复制步骤:Linux/macOS:openclaw message send --channel <渠道> --target <目标> --media <media 路径>/login_qrcode.png --message "请用知乎 App 扫码并确认登录"
;Windows:mkdir -p ~/.openclaw/workspace/media && cp ~/.zhihu-cli/login_qrcode.png ~/.openclaw/workspace/media/
(若 OpenClaw 工作目录不同则替换为实际路径)。mkdir "%USERPROFILE%\.openclaw\workspace\media" 2>nul & copy "%USERPROFILE%\.zhihu-cli\login_qrcode.png" "%USERPROFILE%\.openclaw\workspace\media\login_qrcode.png" - 安全:Cookie 仅本地;优先扫码,避免在不可信处粘贴 Cookie;可提醒
清空。zhihu logout - 升级:
/uv tool upgrade pyzhihu-cli
/pipx upgrade pyzhihu-cli
。pip install -U pyzhihu-cli
诉求 → 命令 速查
| 诉求 | 命令 |
|---|---|
| 登录 / 扫码登录 | |
| Cookie 登录 | |
| 重新登录 / 换号 | 中断当前进程 → |
| 检查登录 | ;看资料 |
| 搜索 | |
| 热榜 | |
| 问题 | ;回答列表 |
| 回答详情 | |
| 用户 | ; / / / |
| 推荐 / 话题 | ; |
| 赞同 | ;取消 |
| 关注问题 | ;取消 |
| 发提问 | |
| 发想法 | |
| 发文章 | |
| 删提问/想法/文章 | / / [-y] |
| 收藏 / 通知 | ; |
| 退出 | |
| 版本 / 升级 | ;升级见上规则 6 |
执行流程
用户诉求 → 若「重新登录/换号」:中断当前 → zhihu login --qrcode → [发二维码] → 等完成 → 否则:查上表得命令 → 若该命令需登录:zhihu status → 未登录则 zhihu login --qrcode 或 --cookie → 若扫码且未发过图:复制到 media → openclaw message send --media ... → 保持进程 → 执行 zhihu <子命令>(数据查询类必须带 --json) → 整理结果或报错提示
登录方式
| 方式 | 命令 |
|---|---|
| 扫码 | :终端显示二维码并保存到本地(Linux/macOS:;Windows:);可经 OpenClaw 发图给用户。 |
| 手动 Cookie | (浏览器 F12 → Network → 请求头 Cookie 复制)。 |
常用示例
zhihu login --qrcode zhihu status zhihu search "Python" --json zhihu hot --limit 10 zhihu question 12345678 zhihu user someone zhihu vote 87654321 zhihu pin "标题" -c "<p>正文</p>" zhihu delete-pin 98765432 -y zhihu notifications -l 10 zhihu logout
正文支持 HTML 富文本(
ask 的 -d、pin 的 -c、article 的正文)。
OpenClaw 发二维码(仅扫码时)
- 确保二维码已生成(Linux/macOS:
;Windows:~/.zhihu-cli/login_qrcode.png
)。%USERPROFILE%\.zhihu-cli\login_qrcode.png - 复制到 OpenClaw 工作目录的
文件夹:media- Linux/macOS:
mkdir -p ~/.openclaw/workspace/media && cp ~/.zhihu-cli/login_qrcode.png ~/.openclaw/workspace/media/ - Windows(cmd):
mkdir "%USERPROFILE%\.openclaw\workspace\media" 2>nul & copy "%USERPROFILE%\.zhihu-cli\login_qrcode.png" "%USERPROFILE%\.openclaw\workspace\media\login_qrcode.png" - Windows(PowerShell):
(若 OpenClaw 工作目录不是默认的New-Item -ItemType Directory -Force "$env:USERPROFILE\.openclaw\workspace\media" | Out-Null; Copy-Item "$env:USERPROFILE\.zhihu-cli\login_qrcode.png" "$env:USERPROFILE\.openclaw\workspace\media\login_qrcode.png"
或~/.openclaw/workspace
,则替换为实际路径。)%USERPROFILE%\.openclaw\workspace
- Linux/macOS:
- 发送:
(Linux/macOS 用openclaw message send --channel <渠道> --target <目标> --media <工作目录>/media/login_qrcode.png --message "请用知乎 App 扫码并确认登录"
,Windows 用~/.openclaw/workspace/media/login_qrcode.png
或 PowerShell 中%USERPROFILE%\.openclaw\workspace\media\login_qrcode.png
)。$env:USERPROFILE\.openclaw\workspace\media\login_qrcode.png - 不中断
进程,等待用户完成。zhihu login --qrcode
错误处理
- 未登录 / 401 / 403:先登录(
或zhihu login --qrcode
),再执行原命令。--cookie - 超时 / 网络:提示重试或检查网络。
- 其他:根据 CLI 报错给简短原因与建议(如检查 ID、url_token)。