mcpField
Z
Zhihu

Zhihu

ローカル
github.com/KrisTHL181その他29今日更新

Zhihu について

Zhihu は、Zhihu の閲覧、検索、ダウンロード、投稿、分析をターミナルから行う非公式 CLI ツールキットです。複数アカウントに対応し、README には zhihu-mcp サーバーのオプションエントリーポイントも記載されています。

主な機能

  1. 01フィード、ランキング、質問、コメントの閲覧
  2. 02検索と Markdown 形式でのダウンロード
  3. 03記事と回答の投稿・編集
  4. 04交流、コレクション管理、メッセージ送信
  5. 05データのエクスポートと収益・コンテンツ分析
  6. 06複数アカウントプロファイルの保存と切り替え

活用シーン

  1. 01ターミナルから Zhihu の内容を検索してオフラインで読む
  2. 02Markdown ファイルから記事を投稿または更新
  3. 03個人の投稿や活動データを一括エクスポート
  4. 04収益やダウンロード済みコンテンツの文章傾向を分析

MCP 対応

README にはオプションの [mcp] インストール項目と zhihu-mcp サーバーのエントリーポイントが記載されていますが、MCP クライアントに公開する機能は説明されていません。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"kristhl181-zhihu": {
"command": "uvx",
"args": [
"zhihu-mcp"
]
}
}
}
起動コマンドuvx zhihu-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypizhihu-mcp0.3.0

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

🧢 zhihu-cli

ターミナルが新しい Zhihu の拠点になります。

機能が充実し、自動化にも対応した Zhihu CLI と開発者ツールキットです。

browse · download · search · publish · analyze — all from the command line.

Python 3.10+ License: MIT GitHub Repo stars


zhihu-cli を使えば、ターミナルが多機能な Zhihu クライアントになります。一度認証すれば、ブラウザーを開かずに閲覧、検索、ダウンロード、投稿、分析ができます。

⚠️ これは Zhihu の非公式 CLI です。自己責任でご利用ください。Zhihu Inc. とは提携していません。

👉 DSH プラグインをお探しですか? → dsh-plugin/


🚀 クイックスタート

要件: Python 3.10 以降。インストールする前に python --version でバージョンを確認してください。

# Install
pip install zhihu-toolkit
1. 認証する
zhihu auth paste          # paste a cURL from browser DevTools
zhihu auth login          # scan a QR code with the Zhihu App
zhihu auth import         # import the session from a local browser (needs: pip install 'zhihu-toolkit[browser]')
2. 動作を確認する
zhihu auth status         # check login status and active profile

✨ できること

📖 読む・閲覧する

Zhihu のフィード、人気ランキング、質問、記事、ピン、コメントを、Rich 対応のページャーでターミナル上に表示して閲覧できます。抜粋付きのリアルタイムトレンドリストを確認したり、パーソナライズされたおすすめフィードをスクロールしたり、リンクをクリックすることなく質問と回答スレッド全体を読んだりできます。Zhihu Daily(知乎日报)には専用のグループがあり、zhihu daily latest、zhihu daily before <date>、zhihu daily story <id> --save を利用できます。

💾 オフライン用にダウンロードする

記事、回答、質問、ピン、動画など、あらゆる Zhihu コンテンツを YAML フロントマター付きのクリーンな Markdown として保存できます。コンテンツを個別にダウンロードすることも、マニフェストを使って一括処理することもできます。すべて ~/.zhihu-cli/downloads/ に種類別に整理して保存されるため、メモシステムやオフラインでの閲覧にすぐ利用できます。

🔍 検索する

Zhihu 全体から質問、記事、ユーザー、トピックを検索できます。コマンドラインから検索結果の詳細度や件数を調整できます。

✍️ 投稿・編集する

Markdown で回答や記事を作成し、1 つのコマンドで Zhihu に投稿できます。更新が必要な場合は、ローカルファイルから既存の回答や記事を編集できます。Markdown から HTML への変換は、Zhihu 独自のレンダリングパイプラインで自動的に行われます。

💬 交流する

ブラウザーを使わずに、賛成票、感謝、フォロー、ブロック、コメントなどのソーシャル機能を利用できます。コレクションの作成、追加、整理もできます。ダイレクトメッセージの送受信や、MQTT によるリアルタイム通知とチャットのストリーミングにも対応しています。

🕸️ スクレイピング・エクスポートする

自分の投稿、アクティビティ履歴、回答、記事を構造化 JSON として一括エクスポートできます。汎用コンバーターを使って、形式をまたいでデータを統合・正規化し、独自のデータパイプラインに利用できます。

📊 分析する

クリエイター分析 — Zhihu の収益データを取得して可視化できます。月別サマリー、トレンドチャート(EMA 付き)、高度な指標(ボリンジャーバンド、MACD)、派生分析(速度・加速度・ジャーク)、曜日別の内訳、コンテンツごとの日次指標を確認できます。チャートは PNG として保存されます。

NLP ツール — ダウンロードしたコンテンツに対して、単語頻度分析、ワードクラウドの生成、K-means クラスタリングを実行できます。Markdown ライブラリ全体を対象に処理します。

🔐 複数アカウント

異なるアカウントのプロフィールを複数保存し、1 つのコマンドで切り替えられます。各プロフィールは、それぞれ独自の認証情報と Cookie を保持します。


🏗️ アーキテクチャ

src/zhihu_cli/
├── main.py                  # Click CLI — command group hub
├── output.py                # styled terminal output (Rich)
├── content/
│   ├── handlers/            # one file per Zhihu domain
│   └── utils/               # HTML↔Markdown, ZSE v4 signing
├── creator_tools/           # income analytics + plotting
├── nlp_tools/               # word count, wordcloud, clustering
└── extensions/              # plugin system (auto-discovered)
レイヤー役割
🔐 認証cURL の貼り付けまたは QR コードログインで取得したブラウザー Cookie と User-Agent ヘッダーを、プロファイルごとにキャッシュします
✍️ 署名ZSE v4 暗号を使用して、すべての Zhihu リクエストに x-zse-93 / x-zse-96 ヘッダーを自動署名します
🌐 リクエスト検出を回避するため、curl_cffi で Chrome の TLS フィンガープリントを偽装します
📄 抽出直接 API 呼び出しを優先し、失敗した場合は HTML ページのスクレイピングと js-initialData の解析にフォールバックします
📝 MarkdownHTML → LaTeX の前処理 → 再帰的な走査 → クリーンな Markdown。公開時は逆の手順です
🔌 拡張機能extensions/ に register_cli(group) を備えたプラグインを配置すると、起動時に自動検出されます

🧪 その他

オプションの依存関係
pip install -e ".[nlp]"          # jieba, matplotlib, wordcloud, scikit-learn...
pip install -e ".[creator]"      # matplotlib, numpy, pandas, seaborn...
pip install -e ".[classifier]"   # torch, transformers, scikit-learn...
pip install -e ".[llm]"          # openai (zhihu agora ai, zhihu chat bot, crank)
pip install -e ".[notify]"       # desktop-notifier (zhihu chat interactive --notify)
pip install -e ".[mcp]"          # mcp (the zhihu-mcp server entry point)
シェル補完
eval "$(python autocomp.py)"

🤝 コントリビューション

プルリクエストを歓迎します!コードベースは拡張しやすい構成になっています。

  • 新しいコマンドの場合: commands/ に register_<name>(group) 関数を含むファイルを追加し、main.py でインポートします。
  • 新しいハンドラーの場合: content/handlers/ にファイルを追加し、既存のパターンに従います。
  • 新しい拡張機能の場合: register_cli(group) を公開する __init__.py を含む extensions/<name>/ を作成します。

提出前にフォーマッターを実行してください。

pre-commit run --all-files
ruff check .
ruff format .

📜 ライセンス

MIT


❤️ と、あまりにも多くのターミナルセッションを使って作られました。

バグを報告 · このリポジトリをフォーク · このリポジトリにスターを付けましょう ⭐

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。