auth-manager
ウェブサイトやプラットフォームへのログイン状態を効率的に管理し、定期的に利用可能かどうかを確認、新しいプラットフォームへのログイン時には自動で情報を保存するSkill。
📜 元の英語説明(参考)
网页登录态管理。使用 fast-browser-use (fbu) 管理各平台登录状态,定期检查可用性,新平台授权时自动保存 profile。
🇯🇵 日本人クリエイター向け解説
ウェブサイトやプラットフォームへのログイン状態を効率的に管理し、定期的に利用可能かどうかを確認、新しいプラットフォームへのログイン時には自動で情報を保存するSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o auth-manager.zip https://jpskill.com/download/8094.zip && unzip -o auth-manager.zip && rm auth-manager.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/8094.zip -OutFile "$d\auth-manager.zip"; Expand-Archive "$d\auth-manager.zip" -DestinationPath $d -Force; ri "$d\auth-manager.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
auth-manager.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
auth-managerフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
Auth Manager v3.1 — 平台ログイン状態管理
fast-browser-use(fbu) をベースに、--user-data-dirを使用して完全な Chrome profile(cookies + localStorage + IndexedDB)を保存します。
環境設定(必須)
fbu バイナリは ~/.cargo/bin/ にあります。毎回実行前に必ず設定してください:
export PATH="$HOME/.cargo/bin:$PATH"
export CHROME_PATH=/usr/bin/google-chrome
export DISPLAY=:1 # デスクトップ表示、headless false の場合は必須
核心的な責務
責務 1: 保存済み profile の可用性チェック
auth-platforms.json 内のすべての enabled: true なプラットフォームに対して、定期的にスナップショットチェックを実行します。
# Chrome の残留を防ぐため、必ず timeout で囲む
timeout --kill-after=5 60 fast-browser-use snapshot \
--url "<check_url>" \
--user-data-dir ~/.openclaw/chrome-profiles/<platform> || true
pkill -f "chrome.*--remote-debugging" 2>/dev/null || true
判定ロジック:
- DOM に
logged_in_indicatorsキーワードが含まれる → ✅active - DOM に
login_page_indicatorsキーワードが含まれる → ❌expired - どちらにも一致しない → ⚠️
uncertain - コマンド失敗 → 🔴
error
Cloudflare サイト(例:linux.do)は headless モードでブロックされるため、--headless false を追加する必要があります。
timeout --kill-after=5 90 fast-browser-use snapshot \
--url "https://linux.do" \
--user-data-dir ~/.openclaw/chrome-profiles/linuxdo \
--headless false || true
pkill -f "chrome.*--remote-debugging" 2>/dev/null || true
結果は ~/.openclaw/auth-session-state.json に書き込まれ、期限切れ/異常時にはアラートが送信されます。
責務 2: 新しいプラットフォームの認証 — 自動 profile 保存
ユーザーが fbu を使用して新しいプラットフォームを認証する場合、以下の完全なフローを実行します。
ステップ 1: profile ディレクトリの作成
mkdir -p ~/.openclaw/chrome-profiles/<platform>
ステップ 2: デスクトップブラウザを開いてユーザーにログインさせる
fast-browser-use login \
--url "https://platform.com/login" \
--headless false \
--user-data-dir ~/.openclaw/chrome-profiles/<platform> \
--save-session ~/.openclaw/chrome-profiles/<platform>-session.json
重要なパラメータの説明:
--headless false— 必須、デスクトップに可視の Chrome ウィンドウを開きます--save-session— 必須パラメータ(fbu login で要求)、主要な状態保存は user-data-dir に依存する場合でも必要です--user-data-dir— 完全な Chrome profile を保存します- ブラウザが開いた後、ターミナルに "Press Enter after you have logged in..." と表示されます
- ユーザーがログインを完了すると、agent はプロセスに改行文字(Enter)を書き込み、保存をトリガーします
ステップ 3: ユーザーがログインを確認した後、Enter を送信する
# process write を使用して fbu プロセスに Enter を送信する
process.write(sessionId, "\n")
ステップ 4: ログイン状態の検証
fast-browser-use snapshot \
--url "<check_url>" \
--user-data-dir ~/.openclaw/chrome-profiles/<platform>
DOM 出力にログイン状態のキーワード(ユーザー名、残高、dashboard など)が含まれているか確認します。
ステップ 5: 設定ファイルの更新
新しいプラットフォームを auth-platforms.json に追加します。check_url、login_url、indicators などを含めます。
ステップ 6: 状態ファイルの更新
auth-session-state.json に書き込みます。
ファイル構造
~/.openclaw/chrome-profiles/<platform>/ # fbu Chrome profile(完全な状態)
~/.openclaw/auth-platforms.json # プラットフォーム設定
~/.openclaw/auth-session-state.json # チェック結果の状態
プラットフォーム設定形式
~/.openclaw/auth-platforms.json:
{
"platforms": {
"platform_id": {
"name": "表示名称",
"profile_dir": "~/.openclaw/chrome-profiles/platform_id",
"check_url": "https://example.com/dashboard",
"login_url": "https://example.com/login",
"logged_in_indicators": ["キーワード1", "キーワード2"],
"login_page_indicators": ["ログイン", "Sign in"],
"enabled": true,
"credentials": {
"username": "user@example.com",
"password": "xxx"
},
"login_method": "github_oauth"
}
}
}
オプションフィールドの説明
- credentials:アカウントとパスワードを持つプラットフォームは、認証情報を保存できます。profile が期限切れになった場合、agent は fbu navigate を使用してフォームに自動的に入力し、再ログインできます。
- login_method:ログイン方法の説明(例:
github_oauth、qrcode、password)。agent が自動ログインできるかどうかを判断するのに役立ちます。
批量チェック
すべての enabled なプラットフォームを反復処理し、grep でキーワードを照合してすばやく判定します。
# 批量チェックの例(grep でキーワードを照合)
for platform in polymarket aixn xingjiabiapi github douyin xiaohongshu linuxdo; do
echo "=== $platform ==="
fast-browser-use snapshot \
--url "$(jq -r ".platforms.$platform.check_url" ~/.openclaw/auth-platforms.json)" \
--user-data-dir ~/.openclaw/chrome-profiles/$platform 2>&1 \
| grep -E "キーワード" | head -5
done
既知のプラットフォームの特性
| 平台 | ログイン方式 | Headless | 備考 |
|---|---|---|---|
| Polymarket | ウォレット/OAuth | ✅ | "資産組合"キーワードをチェック |
| AIXN (XAPI) | アカウント/パスワード | ✅ | credentials があり、自動ログイン可能 |
| 性价比API | GitHub OAuth | ✅ | 最初に GitHub ログイン状態が必要 |
| GitHub | アカウント/パスワード | ✅ | Settings ページをチェック |
| 抖音创作者 | スキャン | ✅ | ユーザーが手動でスキャンする必要がある |
| 小红书创作者 | スキャン/SMS | ⚠️ 優先的に可視デスクトップブラウザ | 創作者バックエンドは SMS ログインにフォールバックすることが多い。メインサイトの QR コードはリスク管理される可能性がある |
| Linux Do | アカウント/パスワード/OAuth | ❌ headless false が必要 | Cloudflare が headless をブロック |
| X (Twitter) | アカウント/パスワード | ✅ | 検証コードが必要な場合がある |
2026-03-30 小红书 実践からの結論(重要)
-
優先戦略は、新しい hidden/CDP ブラウザを起動するのではなく、ホストマシンから見える Chrome + 既存のセッションの再利用です。
- OpenClaw 公式のデフォルトブラウザの考え方は、
defaultProfile: "user"+driver: "existing-session"+attachOnly: trueに近い - 小红书 のような強力なリスク管理プラットフォームの場合、最初にユーザーにホストマシンから見えるブラウザでログインを完了させ、そのログイン状態を自動化で再利用します
- OpenClaw 公式のデフォルトブラウザの考え方は、
-
18800をデフォルトの真実として扱わないでください。18800は、オプションの CDP profile(例:openclaw)にすぎません- 可視のローカルブラウザがすでにログインしている場合は、追加のクリーンなブラウザを起動するのではなく、
existing-sessionセマンティクスを優先する必要があります
-
小红书 creator ログインページには SMS ログインのみが表示される場合があります。
- 創作者バックエンドを開いても、必ずしもスキャン可能なエントリが表示されるとは限りません
- メインサイトの QR コードログインは、リスク管理(例:
error_code=300012/ IP リスク)をトリガーする可能性があります
-
推奨 SOP(更新版、QR コード優先):
- 最初にスキャン可能な 小红书 ログイン QR コードの取得を試みます
- スクリーンショットを撮り、ユーザーに直接送信して、ユーザーに携帯電話でスキャンしてログインさせます
- QR コードパスが利用できない/リスク管理されている/ページに QR コードが提供されていない場合は、ホストマシンから見える Chrome にダウングレードします
- ユーザーに手動で 小红书 創作者バックエンドにログインさせます
- ページを開いたままにします
- 次に、公開/自動化スクリプトに、そのログイン済みセッションをアタッチして公開を続行させます
-
QR コード優先ルール(ハード制約):
- プラットフォームが 小红书 であり、利用可能なログイン状態がないことが検出された場合、デフォルトの目標は「ログインページを開く」ではなく、「ユーザーがスキャンできる QR コードを優先的に生成する」ことです
- agent は、QR コードが表示される可能性のあるログインエントリを優先的に試し、スクリーンショットをユーザーに送信する必要があります
- QR コードを取得できない場合は、理由(例:creator は SMS ログインのみ、メインサイトのリスク管理
300012)を明確に通知してから、ダウングレードパスに入ります
-
デバッグ判定順序:
- 最初に、現在のページが 401/ログインページにリダイレクトされているかどうかを確認します
- 次に、再利用可能なログイン状態が実際に存在するかどうかを確認します
- 次に、QR コードログインパスが到達可能かどうかを試します
- 最後に、アップロード、セレクター、またはカバーファイルの問題を疑います
状態ファイル形式
~/.openclaw/auth-session-state.json:
{
"platforms": {
"polymarket": {
"status": "active",
"message": "ログイン正常 ✅ (発見: 資産組合 $6.02)",
"checkedAt": 1740000000
}
},
"lastCheck": 1740000000
}
status 値: active | expired | uncertain | error
Cron タスク
定期的な自動チェックが設定されています(cron id: 1f2eb5a5-5c2e-4556-b006-e29325f41609)。期限切れになるとアラートが送信されます。
注意事項
- fbu login 必須パラメータ:
--url、--headless、--user-data-dir、--save-sessionの 4 つはすべて必須です - Profile ロック:
--user-data-dirは profile をロックします。同じ profile を複数の Chrome インスタンスで同時に使用することはできません - Cloudflare サイト:headless がブロックされた場合は
--headless falseを使用しますが、snapshot の--headlessパラメータには明示的にfalseを渡す必要があります - OAuth ログイン(GitHub OAuth など):新しい profile にはサードパーティのログイン状態がないため、ユーザーはポップアップページでサードパーティのアカウントにログインする必要があります
- スキャンログイン(抖音、小红书):ユーザーが手動で操作する必要があります。agent は自動的に完了できません
- snapshot 検証:新しいプラットフォームの認証後、必ず snapshot 検証を 1 回実行して、profile が正しく保存されていることを確認してください
- タイムアウト設定:fbu login には時間がかかる場合があるため(ユーザー操作)、exec timeout は ≥ 300s にすることをお勧めします
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Auth Manager v3.1 — 平台登录态管理
基于 fast-browser-use (fbu),使用
--user-data-dir保存完整 Chrome profile(cookies + localStorage + IndexedDB)。
环境配置(必须)
fbu 二进制在 ~/.cargo/bin/,每次执行前必须设置:
export PATH="$HOME/.cargo/bin:$PATH"
export CHROME_PATH=/usr/bin/google-chrome
export DISPLAY=:1 # 桌面显示,headless false 时必须
核心职责
职责 1: 检查已保存 profile 可用性
定期对 auth-platforms.json 中所有 enabled: true 平台执行 snapshot 检查:
# 必须用 timeout 包裹,防止 Chrome 残留
timeout --kill-after=5 60 fast-browser-use snapshot \
--url "<check_url>" \
--user-data-dir ~/.openclaw/chrome-profiles/<platform> || true
pkill -f "chrome.*--remote-debugging" 2>/dev/null || true
判定逻辑:
- DOM 包含
logged_in_indicators关键词 → ✅active - DOM 包含
login_page_indicators关键词 → ❌expired - 都不匹配 → ⚠️
uncertain - 命令失败 → 🔴
error
Cloudflare 站点(如 linux.do)headless 模式会被拦截,需加 --headless false:
timeout --kill-after=5 90 fast-browser-use snapshot \
--url "https://linux.do" \
--user-data-dir ~/.openclaw/chrome-profiles/linuxdo \
--headless false || true
pkill -f "chrome.*--remote-debugging" 2>/dev/null || true
结果写入 ~/.openclaw/auth-session-state.json,过期/异常时推送告警。
职责 2: 新平台授权 — 自动保存 profile
当用户使用 fbu 授权新平台时,执行以下完整流程:
步骤 1: 创建 profile 目录
mkdir -p ~/.openclaw/chrome-profiles/<platform>
步骤 2: 打开桌面浏览器让用户登录
fast-browser-use login \
--url "https://platform.com/login" \
--headless false \
--user-data-dir ~/.openclaw/chrome-profiles/<platform> \
--save-session ~/.openclaw/chrome-profiles/<platform>-session.json
关键参数说明:
--headless false— 必须,在桌面打开可视 Chrome 窗口--save-session— 必填参数(fbu login 要求),即使主要靠 user-data-dir 保存状态--user-data-dir— 保存完整 Chrome profile- 浏览器打开后终端显示 "Press Enter after you have logged in..."
- 用户登录完成后,agent 向进程写入换行符(Enter)触发保存
步骤 3: 用户确认登录后发送 Enter
# 使用 process write 向 fbu 进程发送 Enter
process.write(sessionId, "\n")
步骤 4: 验证登录态
fast-browser-use snapshot \
--url "<check_url>" \
--user-data-dir ~/.openclaw/chrome-profiles/<platform>
检查 DOM 输出是否包含登录态关键词(用户名、余额、dashboard 等)。
步骤 5: 更新配置文件
将新平台添加到 auth-platforms.json,包括 check_url、login_url、indicators 等。
步骤 6: 更新状态文件
写入 auth-session-state.json。
文件结构
~/.openclaw/chrome-profiles/<platform>/ # fbu Chrome profile(完整状态)
~/.openclaw/auth-platforms.json # 平台配置
~/.openclaw/auth-session-state.json # 检查结果状态
平台配置格式
~/.openclaw/auth-platforms.json:
{
"platforms": {
"platform_id": {
"name": "显示名称",
"profile_dir": "~/.openclaw/chrome-profiles/platform_id",
"check_url": "https://example.com/dashboard",
"login_url": "https://example.com/login",
"logged_in_indicators": ["关键词1", "关键词2"],
"login_page_indicators": ["登录", "Sign in"],
"enabled": true,
"credentials": {
"username": "user@example.com",
"password": "xxx"
},
"login_method": "github_oauth"
}
}
}
可选字段说明
- credentials:有账密的平台可存储凭据,profile 过期时 agent 可用 fbu navigate 自动填写表单重新登录
- login_method:登录方式说明(如
github_oauth、qrcode、password),帮助 agent 判断是否能自动登录
批量检查
遍历所有 enabled 平台,用 grep 匹配关键词快速判定:
# 批量检查示例(用 grep 匹配关键词)
for platform in polymarket aixn xingjiabiapi github douyin xiaohongshu linuxdo; do
echo "=== $platform ==="
fast-browser-use snapshot \
--url "$(jq -r ".platforms.$platform.check_url" ~/.openclaw/auth-platforms.json)" \
--user-data-dir ~/.openclaw/chrome-profiles/$platform 2>&1 \
| grep -E "关键词" | head -5
done
已知平台特性
| 平台 | 登录方式 | Headless | 备注 |
|---|---|---|---|
| Polymarket | 钱包/OAuth | ✅ | 检查"资产组合"关键词 |
| AIXN (XAPI) | 账密 | ✅ | 有 credentials,可自动登录 |
| 性价比API | GitHub OAuth | ✅ | 需先有 GitHub 登录态 |
| GitHub | 账密 | ✅ | 检查 Settings 页面 |
| 抖音创作者 | 扫码 | ✅ | 必须用户手动扫码 |
| 小红书创作者 | 扫码/短信 | ⚠️ 优先可见桌面浏览器 | 创作者后台常落短信登录;主站二维码可能被风控 |
| Linux Do | 账密/OAuth | ❌ 需 headless false | Cloudflare 拦截 headless |
| X (Twitter) | 账密 | ✅ | 可能有验证码 |
2026-03-30 小红书实战结论(重要)
-
优先策略不是新起 hidden/CDP 浏览器,而是宿主机可见 Chrome + 既有会话复用。
- OpenClaw 官方默认浏览器思路更接近
defaultProfile: "user"+driver: "existing-session"+attachOnly: true - 对小红书这类强风控平台,优先让用户在宿主机可见浏览器里完成登录,再由自动化复用这份登录态
- OpenClaw 官方默认浏览器思路更接近
-
不要把
18800当成默认真相。18800只是一个可选 CDP profile(如openclaw)- 如果可见本地浏览器已经登录,应优先走
existing-session语义,而不是再额外起一个干净浏览器
-
小红书 creator 登录页可能只显示短信登录。
- 即使打开的是创作者后台,也不一定出现可扫码入口
- 主站二维码登录还可能触发风险控制(如
error_code=300012/ IP 风险)
-
推荐 SOP(更新版,二维码优先):
- 先尝试获取可扫码的小红书登录二维码
- 截图并直接发给用户,让用户手机扫码登录
- 若二维码路径不可用 / 被风控 / 页面不提供二维码,再降级到宿主机可见 Chrome
- 用户手动登录小红书创作者后台
- 保持页面打开
- 再让发布/自动化脚本附着该已登录会话继续发布
-
二维码优先规则(硬约束):
- 当平台为小红书,且检测到没有可用登录态时,默认目标不是“打开登录页”,而是“优先产出可供用户扫码的二维码”
- agent 应优先尝试能出现二维码的登录入口,并截图发给用户
- 若二维码无法获得,必须明确告知原因(如 creator 仅短信登录、主站风控
300012),再进入降级路径
-
调试判定顺序:
- 先检查当前页面是否已被 401/登录页重定向
- 再检查是否真有可复用登录态
- 再尝试二维码登录路径是否可达
- 最后才怀疑上传、选择器或封面文件问题
状态文件格式
~/.openclaw/auth-session-state.json:
{
"platforms": {
"polymarket": {
"status": "active",
"message": "登录正常 ✅ (发现: 资产组合 $6.02)",
"checkedAt": 1740000000
}
},
"lastCheck": 1740000000
}
status 值: active | expired | uncertain | error
Cron 任务
已配置定期自动检查(cron id: 1f2eb5a5-5c2e-4556-b006-e29325f41609),过期则推送告警。
注意事项
- fbu login 必填参数:
--url、--headless、--user-data-dir、--save-session四个缺一不可 - Profile 锁:
--user-data-dir会锁定 profile,同一 profile 不能被多个 Chrome 实例同时使用 - Cloudflare 站点:headless 被拦截时用
--headless false,但 snapshot 的--headless参数需要显式传false - OAuth 登录(GitHub OAuth 等):新 profile 里没有第三方登录态,需要用户在弹出页面登录第三方账号
- 扫码登录(抖音、小红书):必须用户手动操作,agent 无法自动完成
- snapshot 验证:新平台授权后务必 snapshot 验证一次,确认 profile 已正确保存
- 超时设置:fbu login 可能需要较长时间(用户操作),exec timeout 建议 ≥ 300s