zhihu-tui

module
v0.0.0-...-c024317 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 24, 2026 License: Apache-2.0

README

zhihu-tui

一个用 Go 编写的知乎命令行工具,重点提供适合长文阅读和评论互动的终端 TUI。

[!IMPORTANT] 本项目是非官方客户端,与知乎无隶属或合作关系。请遵守知乎的服务条款及所在地法律法规,不要将本项目用于绕过访问控制、批量抓取或其他滥用行为。

功能

  • 全屏关注流 TUI:连续阅读回答、问题、文章和想法,支持评论、点赞与浏览器打开原文。
  • 内容浏览:搜索、热榜、回答、评论、推荐流和用户主页。
  • 互动与创作:点赞、关注问题、回复评论、发布提问/想法/文章、上传图片和删除自己的内容。
  • 通知:浏览、标记已读及终端常驻监控。
  • 认证:支持 Cookie 登录和二维码登录轮询。
  • 纯 Go 实现:除 github.com/rivo/uniseg 外不依赖第三方运行时。

安装

需要 Go 1.25 或更高版本。

go install github.com/JimChengLin/zhihu-tui/cmd/zhihu@latest

也可以从源码构建:

git clone https://github.com/JimChengLin/zhihu-tui.git
cd zhihu-tui
go build -o zhihu ./cmd/zhihu

快速开始

# 二维码登录;扫码链接同时保存到 ~/.zhihu-cli/login_qrcode.txt
zhihu login --qrcode

# 或手动保存 Cookie(至少包含 z_c0、_xsrf、d_c0)
zhihu login --cookie "z_c0=...; _xsrf=...; d_c0=..."

# 检查登录状态并进入关注流 TUI
zhihu status
zhihu feed --tui

Cookie 仅保存在本机 ~/.zhihu-cli/cookies.json,权限为 0600。本项目不会将 Cookie 上传给项目维护者或第三方服务。

常用命令

zhihu search "Go 语言" --limit 5
zhihu hot --limit 20
zhihu answers 123456 --limit 5
zhihu answer 789 --comments --limit 10
zhihu feed --tui
zhihu user url-token
zhihu user-answers url-token
zhihu notifications --monitor
zhihu notifications mark-read --all-tabs
zhihu vote 789
zhihu follow-question 123456
zhihu reply-comment 789 "回复内容" --resource-type pin --resource-id 123456
zhihu ask "问题标题" -d "问题描述" -t 100
zhihu pin "想法标题" -c "正文"
zhihu article "文章标题" "正文"

查看完整命令列表及参数:

zhihu --help
zhihu <command> --help

删除命令必须显式传入 -y

zhihu delete-question 123456 -y
zhihu delete-pin 123456 -y
zhihu delete-article 123456 -y
zhihu delete-comment 123456 -y

关注流 TUI

登录后运行:

zhihu feed --tui

该模式读取关注流并用全屏终端界面展示内容。接近已加载内容末尾时会自动预取下一页;终端宽度达到 120 列时自动切换为列表与正文双栏,缩回窄窗口后恢复单栏。

按键 操作
j / k、方向键 向下 / 向上滚动正文
f / bSpace / Ctrl-FCtrl-B 向下 / 向上翻页
d / u 向下 / 向上翻半页
Ctrl-E / Ctrl-Y 向下 / 向上滚动一行
n / ph / l、左右方向键 切换动态
g / G 跳到第一条 / 最后一条已加载动态
c 在正文与评论区之间切换
v 点赞 / 取消点赞当前回答或焦点评论
z 切换专注阅读模式
o 用默认浏览器打开当前动态
r 刷新关注流
? 显示完整帮助
q / Ctrl-C 退出

正文中的图片当前显示为 ▣ 图片 N 占位。

通知监控

监控模式默认展示最新 10 条通知,然后每 60 秒刷新一次,仅输出新增通知:

zhihu notifications --monitor
zhihu notifications --monitor -l 50
zhihu notifications --monitor --interval 30

发现新通知并发送终端响铃后,程序会将 defaultfollowvote_thank 三个通知页签标记为已读。

开发

go test ./...

项目主要目录:

cmd/zhihu/          命令行入口
internal/auth/      Cookie 与二维码登录
internal/client/    知乎 API 客户端
internal/cli/       命令解析与执行
internal/display/   终端文本展示
internal/feedtui/   关注流 TUI

API 来源与致谢

本项目的部分知乎 API 路径、请求参数和认证流程借鉴了 BAIGUANGMEI/zhihu-cli。感谢原项目作者公开实现与研究成果。

参考项目采用 Apache License 2.0 发布。本项目在遵守其许可证的前提下进行独立的 Go 实现,并在 NOTICE 中保留来源与归属说明。

License

本项目基于 Apache License 2.0 发布。

Directories

Path Synopsis
cmd
zhihu command
internal
cli

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL