前言¶
DeepSeek Harness (DSH) 的核心在于插件化扩展能力。当智能体需要访问知乎的数据(如热榜、问答详情、用户信息)时,直接调用浏览器自动化或硬编码爬虫代码维护成本较高。zhengjy01/dsh-zhihu 插件通过包装本机已安装的 pyzhihu-cli,将其能力注入到 DSH 的工具集(Agent Tools)中,并提供 Web 可视化面板进行配置与登录。
安装与前置条件¶
使用本插件前,需确保系统已安装 pyzhihu-cli(Python 3.10+)。该插件本身依赖 DeepSeek Harness >= 0.1.5-rc.1。
- 安装 pyzhihu-cli:
推荐使用uv或pipx进行隔离安装:
uv tool install pyzhihu-cli
# 或
pipx install pyzhihu-cli
安装后,可在终端验证版本:
zhihu --version
- DSH 环境要求:
确保你的 DSH 版本满足peerDependencies要求(兼容 0.2.0-rc.2 及以上,最低 0.1.5-rc.1)。
核心功能¶
该插件主要完成以下工作:
- 工具包装:将本机的
zhihuCLI 命令包装为zhihu_*系列工具(如zhihu_search、zhihu_answer等),返回结构化的 JSON 数据。 - 默认只读模式:为了安全,写操作(发布、点赞、删除)默认不注册工具。模型无法看到这些工具,从而避免误操作。
- Web 可视化面板:提供侧栏悬浮球(“知”球)和设置页卡片,支持二维码扫码登录和配置查看。
- 认证处理:支持二维码扫码登录或直接粘贴 Cookie 登录,所有凭据仅在本地处理,不暴露给进程列表。
典型用法¶
1. 管理与认证¶
首次使用需登录。插件会调用 CLI 的登录逻辑。
- 检查状态:
查看插件状态、CLI 版本及登录情况(Cookie 是否包含z_c0/_xsrf)。
zhihu_status()
- 登录(推荐二维码):
CLI 生成二维码图片路径,由 Agent 展示给用户,用户扫码后插件检测认证状态。
// 返回二维码图片路径,可传入 read_image 查看或展示
zhihu_login()
- 登录(Cookie):
若环境受限无法扫码,可直接传入 Cookie 字符串。
zhihu_login({ mode: "cookie", cookie: "z_c0=...; _xsrf=...; d_c0=..." })
2. 读取操作¶
所有读取工具默认可用,每个命令均需先完成登录。
- 搜索与热榜:
zhihu_search({ query: "DeepSeek", type: "general" })
zhihu_hot()
- 问答详情:
获取问题及其回答列表。
zhihu_question({ id: "123456", answers: true })
获取回答正文及评论:
zhihu_answer({ id: "789012", comments: true })
- 用户与动态:
查看用户资料或动态 Feed。
zhihu_user({ id: "user123", include: "answers,articles" })
zhihu_feed({ withComments: true })
3. 写入操作(需手动开启)¶
默认情况下写入工具不存在。需在配置中关闭只读模式。
- 启用写权限:
通过工具调用或配置文件设置readOnly: false。
zhihu_config({ readOnly: false })
此时 `zhihu_publish`、`zhihu_vote`、`zhihu_follow_question`、`zhihu_delete` 等工具才会被注册。
- 发布内容:
zhihu_publish({ kind: "article", title: "标题", content: "正文" })
Web 可视化面板¶
插件在 DSH Web 界面中集成了两个入口:
- 侧栏悬浮球:右下角蓝色“知”球,点击展开 380px 的操作面板。
- 设置页卡片:在
settings.section中新增“知乎”配置卡片。
面板提供以下功能:
* 登录管理:显示当前登录状态,支持一键生成/刷新二维码。
* 配置调整:切换只读模式、设置代理、调整超时时间。
* 快捷查询:直接调用热榜搜索,点击链接跳转。
安全限制:面板 API 路径为 /api/dsh-zhihu/*,仅允许 localhost 或 127.0.0.1 访问,防止跨站请求伪造。
配置说明¶
配置项存储于 ~/.dsh/dsh-zhihu.json(权限 0600),主要参数如下:
| 配置项 | 默认值 | 说明 |
|---|---|---|
readOnly |
true |
为 true 时仅注册读取工具;为 false 时注册写工具 |
cliPath |
zhihu |
本地 CLI 命令名或绝对路径 |
timeoutMs |
90000 |
单次调用超时时间(毫秒) |
loginWaitMs |
15000 |
二维码登录等待扫描的超时时间(毫秒) |
proxy |
空 | 代理设置,留空继承环境变量,设为 none 强制不使用代理 |
cliHome |
~/.zhihu-cli |
CLI 的配置目录,插件会修改子进程的 HOME 指向此处 |
注意事项与限制¶
- 认证要求:所有
zhihu_*工具调用前必须处于已登录状态,否则会报错Not authenticated。 - CLI 模式差异:
- CLI 的
--json模式不支持评论、feed+comments、话题热榜。这些功能会回退到文本模式,结果包含在text字段中。 zhihu_search和zhihu_hot在 JSON 模式下不支持-a/--answers参数。
- CLI 的
- 风控风险:知乎存在反爬机制,插件仅为薄包装。请勿在短时间内发起高频请求,否则可能触发风控导致账号受限。
- 源码检查:安装前请检查源码与许可证,插件以当前 DSH 进程的权限运行,需确保信任该插件。
总结¶
zhengjy01/dsh-zhihu 是一个连接本地 pyzhihu-cli 与 DeepSeek Harness 的桥梁。它提供了结构化的知乎数据获取能力,并默认采用只读模式以保障账号安全。通过 Web 面板和工具封装,开发者可以方便地在智能体中集成知乎的数据查询与基础交互功能。