mcpField
J
juejin

juejin

github.com/acedatacloudマーケティング・グロース17170 回インストール今日更新
リポジトリ

juejin について

掘金のアカウント情報や記事の統計を取得し、Markdown記事を下書きまたは公開する Python コマンドラインスキルです。ユーザーが取得したログイン Cookie とサイトの API を使います。

主な機能

  1. 01ログイン中のアカウント確認
  2. 02公開記事と統計の一覧表示
  3. 03記事ごとの統計取得
  4. 04Markdown公開のドライラン
  5. 05下書き作成または記事公開

活用シーン

  1. 01アカウントや記事の実績確認
  2. 02掘金向けMarkdown記事の準備
  3. 03記事を非公開の下書きとして保存
  4. 04確認後の記事公開

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/acedatacloud/skills --skill juejin

インストール後、Claude Code で/juejinを入力して読み込まれたか確認します。

同梱ファイルscripts/juejin.py

詳細

juejin — 独自の Cookie を使って掘金の記事を閲覧・公開

サイトが使用するものと同じ api.juejin.cn の Web エンドポイントを介して、ユーザーの実際の掘金アカウントを操作します。認証には、ACE 拡張機能で取得したログイン Cookie を使用します。ブラウザーもサードパーティー依存関係も不要で、urllib のみを使用します。

コネクターは Cookie jar を環境変数として渡します。

  • JUEJIN_COOKIES — Cookie の JSON 配列です。秘密情報です。決してエコーや出力をしないでください。

CLI

このスキルには、自己完結型で標準ライブラリのみを使用する scripts/juejin.py が含まれています。

# $SKILL_DIR can point at another skill loaded this turn — anchor on our own
# script, and re-run this at the top of every Bash block (fresh shell each time).
JJ="$SKILL_DIR/scripts/juejin.py"; [ -f "$JJ" ] || JJ=$(find /tmp -maxdepth 8 -path '*/skills/*/scripts/juejin.py' 2>/dev/null | head -1)
[ -f "$JJ" ] || { echo "juejin script not found (SKILL_DIR=$SKILL_DIR)" >&2; exit 1; }
python3 "$JJ" whoami                     # who is logged in (+ totals)
python3 "$JJ" articles --limit 20        # my published articles + stats
python3 "$JJ" article <article-id>       # one article's stats

統計情報は掘金から直接取得します。view_count(閲覧数)、digg_count(いいね数)、comment_count(コメント数)、collect_count(お気に入り数)です。audit_status が 2 の場合は公開中です。

まず接続を確認する

JJ="$SKILL_DIR/scripts/juejin.py"; [ -f "$JJ" ] || JJ=$(find /tmp -maxdepth 8 -path '*/skills/*/scripts/juejin.py' 2>/dev/null | head -1)
python3 "$JJ" whoami
# → {"user_id": "...", "name": "...", "post_article_count": 0}

認証エラー(err_no が 401、または「请登录」)の場合、Cookie の有効期限が切れています。ユーザーに https://studio.acedata.cloud/console/connectors で再接続してもらってください。再試行を繰り返さないでください。

公開 — 制限付き(末尾に --confirm がなければドライラン)

publish はユーザーの実際のアカウントに書き込みます。コンテンツは Markdown です。末尾に --confirm がなければドライランを実行します。--confirm が有効になるのは最後の引数に指定した場合のみです。必ずドライランの結果を表示し、明示的な「はい」を得てから再実行してください。

JJ="$SKILL_DIR/scripts/juejin.py"; [ -f "$JJ" ] || JJ=$(find /tmp -maxdepth 8 -path '*/skills/*/scripts/juejin.py' 2>/dev/null | head -1)
python3 "$JJ" publish --title "标题" --content-file a.md                       # dry-run
python3 "$JJ" publish --title "标题" --content-file a.md --draft-only --confirm   # private draft
python3 "$JJ" publish --title "标题" --content-file a.md \
    --category-id 6809637769959178254 --tag-ids 6809640407484334093 --confirm # PUBLIC
  • --draft-only は非公開の下書き(掘金の article_draft)を作成します。安全です。
  • 実際に公開する(審査に進む)には、掘金で有効な --category-id と、少なくとも 1 つの --tag-id が必要です。指定しない場合は --draft-only を使用し、ユーザーに掘金のエディターでカテゴリーとタグを選んでもらってください。デフォルトでは --draft-only を使用してください。

注意事項

  • **これはユーザーの実際の掘金アカウントです。**公開する前に確認してください。
  • カテゴリーとタグを指定せずに公開すると、審査で拒否されます。--draft-only を優先してください。
  • **JUEJIN_COOKIES は決して出力しないでください。**アカウントへの完全なアクセス権が含まれています。
  • 利用規約:ユーザー自身が取得した Cookie を使い、ユーザー自身のアカウントに対してのみ操作します。

出力を記録する

公開が成功し、公開済み記事の URL を取得したら、ユーザーが My Outputs でこの成果物を追跡できるよう、組み込みの publish_artifact ツールを 1 回だけ呼び出してください。

publish_artifact(kind="article", channel="juejin", title="<title>", url="<the REAL returned URL>", status="delivered")

実際に返された URL を使用してください。URL を捏造してはいけません。公開済みアイテムごとに 1 回だけ、配信が確認された後に呼び出してください。公開に失敗した場合は呼び出さないでください(または status="failed" を使用してください)。 _shared/artifacts.md を参照してください。

コメント