DeepSeek Harness 插件:zhengjy01/dsh-zhihu(知乎 CLI 连接工具)

前言

DeepSeek Harness (DSH) 的核心在于插件化扩展能力。当智能体需要访问知乎的数据(如热榜、问答详情、用户信息)时,直接调用浏览器自动化或硬编码爬虫代码维护成本较高。zhengjy01/dsh-zhihu 插件通过包装本机已安装的 pyzhihu-cli,将其能力注入到 DSH 的工具集(Agent Tools)中,并提供 Web 可视化面板进行配置与登录。

安装与前置条件

使用本插件前,需确保系统已安装 pyzhihu-cli(Python 3.10+)。该插件本身依赖 DeepSeek Harness >= 0.1.5-rc.1。

  1. 安装 pyzhihu-cli:
    推荐使用 uv 或 pipx 进行隔离安装:
    uv tool install pyzhihu-cli
    # 或
    pipx install pyzhihu-cli
安装后,可在终端验证版本:
    zhihu --version
  1. DSH 环境要求:
    确保你的 DSH 版本满足 peerDependencies 要求(兼容 0.2.0-rc.2 及以上,最低 0.1.5-rc.1)。

核心功能

该插件主要完成以下工作:

  • 工具包装:将本机的 zhihu CLI 命令包装为 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 界面中集成了两个入口:

  1. 侧栏悬浮球:右下角蓝色“知”球,点击展开 380px 的操作面板。
  2. 设置页卡片:在 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 指向此处

注意事项与限制

  1. 认证要求:所有 zhihu_* 工具调用前必须处于已登录状态,否则会报错 Not authenticated。
  2. CLI 模式差异:
    • CLI 的 --json 模式不支持评论、feed+comments、话题热榜。这些功能会回退到文本模式,结果包含在 text 字段中。
    • zhihu_search 和 zhihu_hot 在 JSON 模式下不支持 -a/--answers 参数。
  3. 风控风险:知乎存在反爬机制,插件仅为薄包装。请勿在短时间内发起高频请求,否则可能触发风控导致账号受限。
  4. 源码检查:安装前请检查源码与许可证,插件以当前 DSH 进程的权限运行,需确保信任该插件。

总结

zhengjy01/dsh-zhihu 是一个连接本地 pyzhihu-cli 与 DeepSeek Harness 的桥梁。它提供了结构化的知乎数据获取能力,并默认采用只读模式以保障账号安全。通过 Web 面板和工具封装,开发者可以方便地在智能体中集成知乎的数据查询与基础交互功能。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜