juejin について
掘金のアカウント情報や記事の統計を取得し、Markdown記事を下書きまたは公開する Python コマンドラインスキルです。ユーザーが取得したログイン Cookie とサイトの API を使います。
主な機能
- 01ログイン中のアカウント確認
- 02公開記事と統計の一覧表示
- 03記事ごとの統計取得
- 04Markdown公開のドライラン
- 05下書き作成または記事公開
活用シーン
- 01アカウントや記事の実績確認
- 02掘金向けMarkdown記事の準備
- 03記事を非公開の下書きとして保存
- 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 を参照してください。