# 知乎神器 **Repository Path**: a554486321/zh_plus ## Basic Information - **Project Name**: 知乎神器 - **Description**: 知乎黑窗口 上班刷知乎 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-06-17 - **Last Updated**: 2026-08-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # zhihu-tui > 终端里的知乎 —— 纯文本浏览,键盘流操作,带一键隐私模式。 [![Python](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/) [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE) [![Platform](https://img.shields.io/badge/platform-Windows%20%7C%20macOS%20%7C%20Linux-lightgrey)](#安装) 在 CMD / PowerShell / 终端里刷知乎,不加载图片视频,像 vim 一样用键盘操作。支持推荐流、热榜、搜索、看回答、看评论。**按 `x` 秒切 Spring Boot 伪装界面**,老板走过来也不怕。 --- ## 截图 ### 推荐列表 ![推荐列表](docs/images/feed.png) 标题、赞数、评论数单行显示,滚到底自动加载更多。 ### 回答详情 + 评论 ![回答详情](docs/images/detail.png) 正文滚到底后按 `↓` / `j` 自动加载评论,继续滚到底加载下一页。 ### 隐私模式(按 `x`) ![隐私模式](docs/images/privacy-mode.png) 任意界面按 **`x`**,全屏切换为 Spring Boot 重启日志;再按 **`x`** 回到知乎界面。底部不显示该快捷键,避免暴露。 --- ## 特性 | 功能 | 说明 | |------|------| | 推荐流 | 登录后个性化推荐,默认首页 | | 热榜 | 全网热点,无需登录也能看 | | 搜索 | 关键词搜索问题 / 回答 / 文章 | | 纯文本 | 只看文字,速度快、省流量 | | 懒加载 | 列表、评论滚到底自动翻页 | | 隐私模式 | 按 `x` 切换 Spring Boot 伪装 | | 零浏览器 | 纯 API + x-zse-96 签名 | | 配置持久化 | Cookie 存 `~/.zhconfig.json` | --- ## Windows 安装(推荐) ### 前置条件 - [Python 3.10+](https://www.python.org/downloads/)(安装时勾选 **Add Python to PATH**) ### 一键安装 1. 下载 / 克隆本项目,解压到任意目录 2. 双击 **`wininstall.exe`**(或 `wininstall.bat`) 3. 按提示完成安装(自动 `pip install` + 配置用户 PATH) 4. **新开** CMD / PowerShell 窗口,输入: ```bash zh ``` ### 一键卸载 双击 **`winuninstall.exe`**(或 `winuninstall.bat`): - 自动从用户 PATH 移除安装目录 - 删除安装记录 - 可选删除 Cookie 配置 项目文件夹需手动删除。 > 开发者重新打包 exe:运行 `scripts\build_installer.ps1`(需 PyInstaller)。 --- ## macOS / Linux ```bash pip install -r requirements.txt cd zh-my python -m zhihu_tui ``` 设置别名: ```bash alias zh='cd /path/to/zh-my && python -m zhihu_tui' ``` --- ## 使用 ### 首次配置 Cookie ``` 1. 浏览器打开 https://www.zhihu.com 并登录 2. F12 → Application → Cookies → www.zhihu.com 3. 复制 d_c0 和 z_c0 4. 粘贴到 zh 窗口,格式: d_c0=xxx; z_c0=yyy 5. Enter 确认 → 进入推荐页 ``` Cookie 保存在 `~/.zhconfig.json`(Windows: `C:\Users\你的用户名\.zhconfig.json`)。 ### 快捷键 | 按键 | 功能 | |------|------| | `r` | 推荐流 | | `h` | 热榜 | | `/` | 搜索 | | `j` / `↓` | 下移 / 下滚 | | `k` / `↑` | 上移 / 上滚 | | `Enter` / `c` | 查看详情 | | `z` | 详情页返回 | | `s` | Cookie 设置 | | **`x`** | **隐私模式开/关(Spring Boot 伪装)** | | `Esc` | 搜索时返回列表 / 列表页退出 | | `q` | 退出 | ### 懒加载 - **推荐列表**:选中最后一条后再按 `↓`,加载下一页 - **回答详情**:正文滚到底再按 `↓` / `j`,加载评论;评论滚到底再按,加载下一页 --- ## 项目结构 ``` zh-my/ ├── wininstall.exe # Windows 一键安装(exe) ├── winuninstall.exe # Windows 一键卸载(exe) ├── wininstall.bat # 安装入口(bat 备用) ├── winuninstall.bat # 卸载入口(bat 备用) ├── install.bat # 旧版安装脚本(仍可用) ├── zh.bat # 启动入口(zh 命令) ├── requirements.txt ├── LICENSE ├── docs/images/ # README 配图 ├── scripts/ │ ├── wininstall.py │ ├── winuninstall.py │ ├── install.ps1 │ ├── uninstall.ps1 │ └── build_installer.ps1 # 打包 exe └── zhihu_tui/ ├── app.py # 主程序 + 隐私模式 ├── api.py # 知乎 API ├── sign.py # x-zse-96 签名 ├── text_utils.py # HTML 转纯文本 └── screens/ ├── feed.py # 列表页 ├── detail.py # 详情 + 评论 ├── disguise.py # 隐私模式(Spring Boot 日志) └── setup.py # Cookie 配置 ``` --- ## 技术原理 ### x-zse-96 签名 知乎 Web API 需要 `x-zse-96` 请求头。本项目将 [zhihu++](https://github.com/zly2006/zhihu-plus-plus) 的 Rust 签名实现移植为 Python(`sign.py`),纯位运算,无额外依赖。 ### API 端点 | 功能 | 端点 | |------|------| | 推荐流 | `api.zhihu.com/topstory/recommend` | | 热榜 | `api.zhihu.com/topstory/hot-lists/total` | | 搜索 | `www.zhihu.com/api/v4/search_v3` | | 回答详情 | `www.zhihu.com/api/v4/answers/{id}` | | 评论 | `www.zhihu.com/api/v4/answers/{id}/root_comments` | --- ## 常见问题 **Q: 热榜能看,推荐流失败?** A: 推荐流需要 Cookie,按 `s` 重新配置。 **Q: 隐私模式怎么用?** A: 任意界面按 `x`,再按 `x` 恢复。快捷键不在底部栏显示。 **Q: 怎么给朋友用?** A: 打包整个文件夹,让对方双击 `wininstall.exe` 即可。 **Q: 卸载后还能用 zh 命令?** A: 需新开终端窗口,PATH 才会刷新。 --- ## 开源协议 [MIT](LICENSE) — 自由使用、修改、分发。 ## 依赖 - [Textual](https://github.com/Textualize/textual) — TUI 框架 - [httpx](https://github.com/encode/httpx) — HTTP 客户端 ## 免责声明 本项目仅供学习交流。请遵守知乎用户协议,合理使用 API,勿高频请求。使用本项目产生的任何后果由使用者自行承担。