前言¶
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 面板和工具封裝,開發者可以方便地在智能體中集成知乎的數據查詢與基礎交互功能。