Askパネル は何をしますか?
右下の「Ask」ボタンをクリックするとサイドパネルが開きます。パネルには質問ボックス、Haiku/Sonnet切り替え、ストリーミング回答、スレッド内でのフォローアップ、停止ボタン、テキスト選択後の「Ask about this」(引用質問)が含まれます。1つのウィジェットに、実行時に選択される2つのバックエンドがあります:
| ページの場所 | バックエンド | 回答の基盤 |
|---|---|---|
| claude.ai アーティファクト | 閲覧者のClaude上の claude.use("sample") | ページテキスト |
ask-open で配信 | Lens serve.py(claude -p、読み取り専用) | ページテキストと --repo 内のファイル |
通常の file:// | なし:ボタンは表示されません | なし |
手順
- アーティファクトとして公開:
python3 ~/.claude/skills/ask-panel/scripts/inject.py report.html(上書き、または-o out.html)、そのファイルをcapabilities: {sample: {}}を付けて公開します。他の機能と同様、最初にartifact-capabilitiesスキルを読み込んでください。 - ローカルで表示:
~/.claude/skills/ask-panel/scripts/ask-open report.html [--repo DIR]。注入、サーバー起動、ブラウザ表示を一度に行います。Ctrl-C まで実行されるため、バックグラウンドコマンドとして起動してください。このレポートだけを独自のポートで配信します。開かれたページにはLensキーが付与されるため、信頼できるレポートのみを開いてください。 - ユーザーに「このページにはAskボタンがあります」と伝えます。これがハンドオフのすべてです。
ルール
- ページに関する質問は、ページ内のパネルで行ってください。 セッションで回答したり、Q&A目的でアーティファクトコメントを使用しないでください(コメントはセッションに戻ります)。質問に本当の作業(コード変更、新たな調査)が必要な場合は、それはパネルの質問ではなく、新しいタスクです。
- 注入は冪等であり、Lensレッスンはスキップされます(レッスンには独自のAskがあります)。
- アーティファクトモードでは、
sampleはクリック時のみ呼び出され、ロード時には呼び出されません。not_grantedおよびその他の恒久的なコードはパネルを非表示にします。 - モデルのテキストはDOMノードのみでレンダリングされ、HTMLとしては挿入されません。
ファイル
assets/ask-panel.js、assets/ask-panel.css(ウィジェット、inject.py によってインライン化)、scripts/inject.py、scripts/ask-open。ローカルバックエンドは ~/.claude/skills/lens/scripts/serve.py で、Lensレッスン以外のページに対して POST /__lens/ask を mode: "report" で応答します。
テスト:node ~/.claude/skills/ask-panel/scripts/test-panel.mjs(Playwright、偽のClaude、ネットワーク不要)、およびサーバー用の python3 ~/.claude/skills/lens/scripts/test-serve.py。