Community研究&データ分析github.com

hermes-profile-browser-isolation

複数のAIアシスタントが同時に作業するとき、ブラウザ同士が競合してポップアップがフォーカスを奪い合い、作業が中断されたり、自分が使っているChrome/Edgeが乗っ取られたりする問題を解決します。各AIアシスタント(プロファイル)に独立した永続的なブラウザインスタンスを割り当て、固定デバッグポート+固定データディレクトリ、デフォルトでヘッドレス実行(画面表示なし)により、ログイン状態をそれぞれ保持し、再スキャン不要。あなたは自分のブラウザをそのまま使い、全く邪魔されません。

hermes-profile-browser-isolation とは?

このスキルは、Hermes環境で複数のAIエージェント(プロファイル)が同時に動作する際に発生する、ブラウザインスタンスの競合問題を解決します。各エージェントに固定のデバッグポートと固定のユーザーデータディレクトリを持つ独立したブラウザインスタンスを割り当て、デフォルトでヘッドレスモード(画面表示なし)で実行することで、ポップアップがフォーカスを奪ったり、タスクが互いに中断されたりすることを防ぎます。ログイン状態は各プロファイル専用のデータディレクトリに保存されるため、毎回再ログインする必要はありません。 主な機能は、`provision.py`によるインスタンスの一括設定・起動・停止、および`audit.py`による監査です。各コマンド(discover、apply、stop all、audit)により、全インスタンスのポート、プロセスID、メモリ使用量、可視ウィンドウ数を一覧表示し、問題のあるインスタンスを自動修正します。Windows、macOS、Linuxで動作し、依存パッケージはpsutilのみ。トリガーワードは「ブラウザ隔離」「マルチエージェント並列」「ヘッドレス」「CDP」「独立プロファイル」「ログイン状態保存」など。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/lingyu9495-source/agent-skills/tree/main/skills/hermes-profile-browser-isolation

Installed? Explore more 研究&データ分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

プレビュー

スキル README より

九品錦锂 微信QRコード

ドキュメント


name: hermes-profile-browser-isolation description: 複数のAIアシスタントが同時に作業するとき、ブラウザ同士が競合:ポップアップがフォーカスを奪い合い、タスクが互いに中断され、あなたが使っているChrome/Edgeが乗っ取られる——あなたは自分のWebページすらクリックできなくなります。

このスキルは、各アシスタント(プロファイル)に独立した永続的なブラウザインスタンスを割り当てます:固定デバッグポート + 固定データディレクトリ、デフォルトでヘッドレス実行(画面表示なし)、それぞれログイン状態を保持、再スキャン不要。あなたは自分のブラウザをそのまま使い、全く邪魔されません。

  • ワンクリック設定 / ワンクリック監査 / ワンクリック解放、3つのコマンドで完了
  • 純粋なローカルスクリプト、トークン消費ゼロ
  • クロスプラットフォーム:Windows / macOS / Linux 対応
  • 入力:並行稼働させるアシスタントの数と名前
  • 出力:各アシスタントに独立したブラウザ環境 + 競合自己診断レポート

適用:マルチエージェント並行作業、それぞれ異なるアカウントのログイン状態を保持したい場合、1台のコンピュータを共有するが互いに干渉させたくない場合。

トリガーワード:ブラウザ隔離、マルチエージェント並列、画面非表示、ヘッドレスブラウザ、CDP、デバッグポート、独立プロファイル、ログイン状態保存、複数アカウント同時ログイン、AIによるマウス奪取。 version: 1.1.0 author: 九品錦锂(じゅうひんきんり) license: MIT slug: hermes-profile-browser-isolation displayName: 複数AI同時ネットアクセスで画面を奪わない・独立ブラウザ隔離とログイン状態保存 summary: 各AIアシスタント/エージェントに独立した永続ブラウザを割り当て:固定ポート+固定データディレクトリ、デフォルトヘッドレスで画面非表示、ログイン状態をそれぞれ保存し再スキャン不要。 tags:

  • hermes
  • browser
  • cdp
  • multi-agent
  • profile
  • headless
  • isolation metadata: version: "1.1.0" hermes: tags:
    • hermes
    • browser
    • cdp
    • multi-agent
    • profile
    • headless
    • isolation category: dev-programming

マルチメンバーブラウザ隔離(画面非表示)

一言で:同じHermes内の複数のプロファイル/複数のAIメンバーが、それぞれ独立したブラウザを使用し、互いにフォーカスを奪わず、ポップアップでフォーカスを奪わず、あなたが使っているChromeやEdgeを中断させません。

こんな経験はありませんか

  • 2つのAIアシスタントを起動したら、2つ目が作業を始めた途端にChromeウィンドウがポップアップして画面を覆い、マウスを奪われた。
  • 2つのアシスタントが同じブラウザを奪い合う:Aがフォームを入力中、Bがナビゲートしてページを持っていき、両方のタスクが失敗する。
  • 一時的に起動されたブラウザが実行後も閉じられず、%TEMP% に agent-browser-chrome-xxxx ディレクトリがたまり、メモリが数GB増える。
  • ログイン状態を保存したい(例:バックグラウンドでログイン済みのアカウント)が、毎回新しいインスタンスで、毎回再スキャンが必要。
  • AIと自分のブラウザを共有してメモリを節約したいが、AIが他のタブを覗いたり、誤操作したり、アカウントを落としたりするのが心配。

根本原因は複雑ではありません:複数のプロファイルにそれぞれ固定のブラウザインスタンスがないと、Hermesが必要に応じて一時的にインスタンスを起動するため、「ポート競合、フォーカス奪取、ゴミの蓄積、ログイン状態消失」が発生します。

インストール後の効果

導入前導入後
複数メンバーが同じブラウザを奪い合う各プロファイルに独立インスタンス(固定ポート + 固定 --user-data-dir)
作業中にポップアップがマウス/フォーカスを奪うデフォルトヘッドレス、フォアグラウンドウィンドウ数は0、あなたは全く気づかない
毎回再ログインが必要ログイン状態をそのプロファイルのデータディレクトリに保存、一度ログインすれば長期再利用
一時インスタンスが溜まってメモリを消費すべて登録され、stop all で一括解放;孤児ディレクトリは自動回収
問題が発生したら推測audit コマンド一つで各インスタンスのポート、PID、可視ウィンドウ数、プロセスメモリを表示

実測データ(ある本番機のマルチメンバーシナリオ、同一Hermes内5プロファイル):

  • クリーンアップ前後:203プロセス / 8.5 GB → 71プロセス / 2.5 GB、うちAI集団インスタンスはわずか 38プロセス / 722 MB。
  • 4つのメンバーインスタンスの可視ウィンドウ数はすべて0、ログイン状態はすべて保持。

なぜデフォルトで画面を奪わないのか(偶然ではない)

Hermesソースコードでは browser.headed はデフォルトで False です。公式コメントに明確に記載されています:

"Headless by default (a focus-stealing window defeats a background capability)"

つまり「フォーカスを奪う可視ウィンドウはバックグラウンド機能を破壊する」というのが公式設計方針です。このスキルが行うのは、この方針を固定し再発を防ぐこと:各プロファイルにCDPエンドポイントを書き込み、さらに毎日自己診断するゲートを追加し、インスタンスが可視ウィンドウを発生させた場合、自動でヘッドレスに再起動します。

インストール:3ステップ、コピー&ペーストで完了

ステップ1・依存関係のインストール(1つだけ)

pip install psutil

ステップ2・スキルをHermesにインストール

方法A(SkillHub CLIがある場合):

skillhub install hermes-profile-browser-isolation --namespace user_2a1415c1 --dir <あなたのHermesスキルディレクトリ>

方法B(手動):このスキルフォルダ全体をHermesスキルディレクトリにコピーします。例:

プラットフォームスキルディレクトリ
Windows%LOCALAPPDATA%\hermes\skills\devops\
macOS / Linux~/.local/share/hermes/skills/devops/

ステップ3・インスタンス設定(1コマンド)

cd <スキルディレクトリ>/hermes-profile-browser-isolation/scripts

python hermes_browser_provision.py discover     # まず割り当て計画を確認(ファイルは変更しない)
python hermes_browser_provision.py apply        # 各プロファイルのconfig.yamlに書き込み + インスタンス起動
python hermes_browser_audit.py                  # 確認:各インスタンスのポート / PID / 可視ウィンドウ数

discover は自動的にマシン上のすべてのHermesプロファイルを検出し、互いに競合しないポートを自動割り当てします(設定で宣言済みのポートや、マシン上で実際にリッスン中のポートを避けます)。そのため、マシンを変えたり、プロファイルを3つから8つに変更しても、スクリプトを修正せずにそのまま使えます。

日常の3つのコマンド

python hermes_browser_provision.py status    # 誰が動いているか、メモリ使用量を確認
python hermes_browser_provision.py stop all  # すべて停止、即座にメモリ解放(必要なときに start all、約2秒)
python hermes_browser_audit.py               # 健康診断:可視ウィンドウが発生している(画面を奪っている)ものを報告

自動管理したい場合、次の2行をスケジュールタスクに追加してください:

  • 30分ごと:provision.py apply(生存確認 + ダウンしたインスタンスの自動起動 + %TEMP% 下の孤児ディレクトリ回収)
  • 1日1回:audit.py --enforce-headless(可視ウィンドウを発見したらその場でヘッドレスに修正)

検証済みの範囲(作成してすぐリリースしたわけではない)

検証項目結果
3種類の config.yaml 記述方法既存の browser: セクションに挿入(インデント・コメント保持)/ セクションがない場合は追記 / 既存の cdp_url をその場で置き換え、ポートを継承 ✅
ポート割り当て宣言済みポート および マシン上で実際にリッスン中のポートを自動回避 ✅
dry-runファイルを一切変更しない(ハッシュ一致確認) ✅
実際のインスタンス起動複数プロファイルを一括設定、全インスタンスが起動 ✅
監査器の信頼性(重要)インスタンスを意図的に有頭モードに変更 → 即座に「可視ウィンドウあり」と報告、PID + ウィンドウタイトル表示 → --enforce-headless で自動的にヘッドレスに修正 ✅

あえて「間違えてみて、それが検出できるか」という逆方向テストを実施:常にOKと言うだけの検出器は役に立ちません。

よくある質問

  • audit があるインスタンスの可視ウィンドウを修正できないと報告する? audit.py --enforce-headless を実行して、該当ポートでヘッドレスに再起動します;繰り返し発生する場合は、他のプログラム(Hermes以外)が同じポートを占有していないか確認してください。
  • 特定のプロファイルで有頭ウィンドウを維持したい場合(例:操作を自分の目で確認したい)?そのプロファイルの config.yaml で browser.headed を true に設定し、監査の「バックグラウンド型」リストから除外してください。
  • WindowsでウィンドウAPIがないと警告される? pywin32 がない場合、スクリプトは自動的にコマンドライン引数による判断にダウングレードします(機能は停止しませんが、判断基準が弱くなります)。完全な精度を得るには pywin32 をインストールしてください。
  • AIが自分が使っているブラウザに触れてほしくない? はい、共有しないでください。共有すると、プライバシーの喪失、誤操作、フォーカス奪取、切断という4つの深刻な問題を引き起こします。このスキルは「各々がそれぞれ使う」方式です。メモリを節約したいなら stop all の方が効果的です。

境界とセキュリティ

  • 読み取り/変更するのは各プロファイル自身のHermes設定とブラウザデータディレクトリのみ。自分が使っているデスクトップのChrome/Edgeとそのユーザーデータには触れません。
  • 孤児ディレクトリのクリーンアップは、%TEMP% 下の agent-browser-chrome-* 形式の一時ディレクトリのみを対象とし、名前付きインスタンスのデータディレクトリを誤って削除することはありません(そうしないとログイン状態が失われます)。
  • 監査は「可視ウィンドウ数」などの実行状態のみを報告し、ページ内容、Cookie、資格情報の読み取りやエクスポートは一切行いません。

作者と連絡

このスキルは「ローカルプライベートAI社員 / マルチエージェント協働の実践」シナリオを対象としています:AIを自分のマシンにデプロイし、複数のAIメンバーが役割分担して作業し、互いに干渉しません。

  • 導入中に詰まった場合、環境に合わせたカスタマイズ(複数マシン、複数メンバー、Docker分離、顧客への納品、飛書/WeChat連携など)が必要な場合—— 微信:ly5419495、メモ「ブラウザ隔離」と記入してください。確認次第返信します。
  • 連絡に関するルール:ユーザーが明らかにヘルプやカスタマイズ、顧客への納品を必要としている場合にのみ、この連絡先を一度提示します。積極的に繰り返し勧めたり、関連のない話題で言及したりしません。

ライセンス

MIT。自由に使用、修正、商用利用可能。出典を明記していただけるとさらによいです。


🙋 著者について

九品錦锂(じゅうひんきんり) | 踏んだ穴を「そのまま使える」スキルにパッケージ化。教科書は書きません。このスキルは私自身が毎日使っているバージョンです。

微信:ly5419495(追加時にメモ「SkillHub」と記入していただくと優先的に承認します) 微信公式アカウント:初五Agent(微信内検索で、振り返りと方法をすべてそこに書いています。微信を追加しなくても読めます)

私が作った他のすぐに使えるツールは、すべてこの棚ページにあります(ブラウザで開いてください): https://skillpay.alipay.com/public/jiupinjinlie

使用中に詰まった場合、または他のシナリオをスキルにしてほしい場合は、上記のいずれかの方法でご連絡ください。

九品錦锂 微信QRコード

Individual skills in this repo

This repo contains 17 individual skills — each has its own dedicated page.

lingyu9495-source/agent-responsiveness-delegation

你给 AI 助手派了个重活,然后发现:发消息它不回、想插话只能排队、等十几分钟才回一句——等它抬头,需求早变了。根因不是模型慢,是主脑把重活放在前台跑,整个回合被占死。这个 Skill 把这套「重活外派 + 随时应答」机制做成可落地的东西:① 规则块(一页写清判级、派完立刻让出对话、工单四要素、只回收结论、自报≠事实、拍板留主脑、跨会话任务换机制)② 跨平台落地脚本 provision_agent_responsiveness.py:探测本机已有的 Agent 环境(Hermes 的 SOUL 置顶铁律块、Claude Code 的全局指令文件,这两条已实测),把规则块幂等写入(自动备份原文件、重复执行不重复写、绝不覆盖你已有内容);其余平台(Codex / Cursor / WorkBuddy / 任意 Agent)则导出一份可直接粘贴的规则块 markdown,你粘到系统提示或自定义指令里就生效 ③ 体检脚本 audit_agent_responsiveness.py:逐项核对规则块是否存在、是否被后续改动覆盖、探测到哪些平台——没检测到就如实报「未检测到支持的平台」,不假报通过。纯标准库、零依赖、Windows/macOS/Linux 通用。触发词:AI不回话、等太久、插话卡住、助手响应慢、主脑被占住、重活外派、子代理、多智能体、响应速度、落地配置、系统提示。

lingyu9495-source/ai-image-watermark-removal-boss

去除 AI 生成图角落的"XXAI生成"半透明/白色角标水印。像素级验证不自我欺骗、双信号交叉定位抗幻觉、多候选客观指标投票覆盖。当用户要求去除图片水印、清理 AI 生成角标、去"豆包/即梦/Kolors 生成"水印时使用。

lingyu9495-source/bank-scan-household-splitter

客户丢来一个压缩包,里面几百张身份证正反面、开卡申请书、合同——**人工一张张挑,一下午就没了,还容易漏**。

lingyu9495-source/cn-pdf-report-typeset

中文报告做成 PDF,常见翻车三件套:**字体乱码、表格错位、字号小到客户在手机上根本看不清**。这套是交付级的排版标准加可直接跑的模板。

lingyu9495-source/company-law

公司出事,十有八九出在**治理和控制权**上——股权结构一开始搭歪,后面融资、上市、分家全是坑。

lingyu9495-source/excel-keep-format-edit

客户拿来一张老报表说「就在原表上改个数,格式一点都不要动」——用 openpyxl 重建一次,字体、边框、合并单元格、条件格式、列宽全丢,客户一打开就知道这不是他原来那张表。

lingyu9495-source/feasibility-report-engine

做可研报告,卡住的往往不是不会写,是**不知道按哪版大纲、财务测算六表和正文对不上、交付前排版被退稿**。这套是从二十多万字、131 张表的真实交付里固化的流水线。

lingyu9495-source/feasibility-study-consultant

项目可行性论证与研究报告写作框架 —— 任何「这事能不能做、怎么做、值不值得做」的商业决策场景:可行性研究/立项论证/新项目评估/创业方向验证。10大论证模块 + 强制联网尽调 + 多源交叉验证 + 读者视角写作 + 结构化报告输出。(v1.4 升级:从「引导客户把项目情况讲清楚」到「按问题类型与项目类型选论证方法」再到「用假设台账逐条验证」的六步教练流程;附可行性门槛评分器与假设台账两个零依赖脚本、项目卡与决策门清单模板)

lingyu9495-source/financial-statement-adjustment

存量财务报表在原表基础上改数字并保持三表勾稽关系。当用户要求「在原报表上改某些数字,其他数据跟着调整且格式完全不变」时使用:资产负债表/利润表/现金流量表的目标值调整、未分配利润与利润总额联动、勾稽校验。

lingyu9495-source/funding-fit-diagnosis

项目想融资,卡住的往往不是不会写 BP,而是不知道够不够格、该找谁、还缺什么、多久能到钱——问 AI 只得到"建议加强团队"这类正确的废话。这套引擎把它拆成可执行的四步:①10 问项目画像采集(缺关键项就先追问,不猜)②双轨评分:市场化 VC 适配分与政府基金适配分**分开算、各自判定**(≥75 强匹配 / 60-74 可争取 / 45-59 需补短板 / <45 暂不建议,低分不许只说"不行",要给替代路径)③点名机构:按赛道/阶段/地域从 23 家头部 VC 与产业资本(CVC)、21 家政府基金的卡片里逐条对照"匹配信号/劝退信号",每家写清"为什么是你、你还缺什么、材料怎么准备、递送路径",并单列"不建议碰"的机构省时间④差距清单(差距|补齐动作|耗时|难度|优先级,只挑 3 个月内能推动的)+ 三线找钱路线图(市场化 / 政府 / 替代路径)+ 时间预期与现金流提醒。包内另附 30 个真实融资案例对标、TS 条款红线、估值倍数参考、BP 制作铁律,以及零依赖离线评分脚本(纯标准库、不联网、不调大模型 API)。输入:项目情况(照着 10 问答即可);输出:一份研判报告(评分 + 优先接触名单 + 差距清单 + 路线图 + 风险提示),脚本侧可另出 JSON 评分结果。评分是适配度不是成功率,不承诺融资结果。触发词:融资、找投资、融资研判、能不能融到钱、找哪家风投、风险投资、VC、产业资本、CVC、政府引导基金、政府基金申报、产业基金、招商返投、项目申报、补贴申报、商业计划书、BP、路演、估值、股权稀释、TS 条款、对赌、回购、FA、财务顾问、找钱、融资渠道、天使轮、Pre-A、A轮。

lingyu9495-source/gov-fund-application

想拿政府的钱,最容易白跑半年——层级选错、赛道不在目录里、返投算不清,材料递上去才发现方向不对。这套参谋按可执行顺序走:①先判层级(国家级/省级/市级/区级,门槛与目的完全不同)②赛道对目录:不在目录里直接如实说没戏,不让用户白跑③21 家基金卡片逐家对照(投资方式、返投比例、让利规则、申报条件、申报通道、真实案例),点名"你这个项目适合找谁"④返投博弈:算清落地要求,给"不想迁注册地"的三条合规路径⑤材料与时间表:申报材料清单、评审周期(6-12 个月是常态)与现金流提醒。与主技能 `funding-fit-diagnosis` 配套(做整体融资研判时用主技能,VC 与政府双轨分开算)。输入:项目基本情况与注册地/落地意愿;输出:层级判定 + 可申报基金名单 + 返投方案 + 材料清单 + 时间预期。不承诺拿到资金,申报须如实提交材料;政策口径标注截止时间,细则请向当地主管部门核实。触发词:政府基金、政府引导基金、产业基金、政府补贴、专项资金、项目申报、补贴申报、申报条件、返投、招商落地、母基金、投资方式、让利、国家级基金、省级引导基金、市级基金、科技成果转化、专精特新、科技型企业、中小企业发展基金。

lingyu9495-source/investment-finance

做投融资最容易踩的坑不是"不懂概念",是**条款里的每一个字都在分钱**——估值方法选错、对赌触发条件写松、回购条款没兜底,签完才发现少拿几千万。

lingyu9495-source/lowvram-ai-video-comfyui

网上的 AI 视频教程开口就是 24G 显存,一看就把人劝退——**其实 8G 的 4060 也能跑**。这套是 RTX 4060 Laptop 8G 显存 / 32G 内存 / Win11 上真跑出来的配置与调参。

lingyu9495-source/novel-deai-detector

写完的稿子发布前想知道会不会被判 AI 生成、平台审核会不会卡、读者会不会一眼看出机器味——这套是检测到清洗的完整闭环。

lingyu9495-source/npl

不良资产这行的钱,赚在**买入价**上——买贵了,后面怎么处置都白搭。

lingyu9495-source/subagent-first

AI 助手不是不够聪明,是被重活占住了:你让它整理 40 个文件,它一头扎进去十几分钟不抬头——你想问进度、想补需求、想改方向,只能干等。这套作业纪律解决的就是这件事:凡是预计要跑多轮的活(多文件/长研究/批量/长搜索),一律派给后台子代理并行执行,主代理只保留四个动作——拆解、派活、汇总、对话,永远保留随时回你话的能力。我们自己在多智能体团队里天天跑,踩过的 12 个坑全部写进正文:子代理自报成功却发现产出是空的、context 没写全导致跑偏返工、两个子代理并行写同一文件互相覆盖、把需要用户拍板的活派给问不了人的子代理、跨会话长任务错用子代理导致某天悄悄停掉……① 决策树四问判定轻重(一轮工具调用能做完吗/需要用户拍板吗/要活过本次会话吗/能拆成互不依赖的块吗)② 派活四要素(goal / context 必须自包含——子代理看不到你和用户的对话 / output_schema / 验收方式)③ 五步流程:拆解→派活→并行调度→验收→收口 ④ 验收清单:存在性/合规性/真实性/完整性四组逐项打勾,并随机抽一处回一手来源核对 ⑤ 6 种委派模式 + 12 条反模式。配套 scripts/delegation_planner.py:纯标准库零依赖,喂一份任务清单(轮数/文件数/是否研究/是否批量/是否需拍板/是否不可逆/是否跨会话),直接输出「该派子代理 / 自己做 / 转定时任务」+ 并行分组建议 + 主代理必做清单。正文按平台无关的作业纪律写,并附常见平台工具名对照表;Hermes 的字段名/并发上限/后台语义另附一页实况对齐,其他平台按对照表映射即可。触发词:子代理、委派、delegate、任务编排、多智能体、并行执行、上下文管理、主代理被占住、AI不回话、等太久、插话卡住、批量处理、长研究、fork-join、fan-out。

lingyu9495-source/ts-term-review

拿到 TS 或投资协议,看半天不知道哪条能签哪条得改——风险全藏在具体条目里,一句"整体没大问题"最要命。这套审查按 15 条核心条款逐条过:估值 Pre/Post、清算优先权、反稀释(完全棘轮是红线)、优先购买权、领售/拖售、对赌与业绩承诺、回购条款、个人连带担保、董事会与一票否决、保护性条款、竞业与知识产权、信息权、交割条件、股东会表决权、违约责任。每条给三级判定(🔴 红线不改就别签 / 🟡 可谈争取改 / 🟢 行业惯例)+ 谈判话术 + 替代方案,并区分"对公司"和"对创始人个人"——个人连带回购是绝大多数血案的源头,重点标红。另附谈判筹码排序、常见坑清单、BP 与数据室准备。与主技能 `funding-fit-diagnosis` 配套(做整体融资研判时用主技能)。输入:TS/投资协议条款(粘贴或描述);输出:逐条判定表 + 必须改的清单 + 谈判话术 + 底线建议。**不构成法律意见**,正式签署与司法效力请找执业律师确认。触发词:TS、Term Sheet、投资条款清单、投资协议、增资协议、股权转让协议、对赌、业绩承诺、回购、清算优先权、反稀释、完全棘轮、个人连带、一票否决、领售权、拖售权、估值、Pre/Post、股权稀释、条款谈判、FA。

関連スキル