組み込みツール
Diffs
diffsは、短い組み込みシステムガイダンスと、変更内容をエージェント用の読み取り専用差分アーティファクトに変換するコンパニオンスキルを備えたオプショナルなプラグインツールです。以下のいずれかを受け入れます:
beforeとafterのテキスト- ユニファイド
patch
以下のものを返すことができます:
- キャンバス表示用のゲートウェイビューアURL
- メッセージ配信用のレンダリング済みファイルパス(PNGまたはPDF)
- 両方の出力を1回の呼び出しで
有効にすると、プラグインは簡潔な使用ガイダンスをシステムプロンプト領域に前置し、また、エージェントがより完全な指示を必要とする場合に詳細なスキルを公開します。
クイックスタート
- プラグインを有効化します。
- キャンバス優先フローの場合は
mode: "view"でdiffsを呼び出します。 - チャットファイル配信フローの場合は
mode: "file"でdiffsを呼び出します。 - 両方のアーティファクトが必要な場合は
mode: "both"でdiffsを呼び出します。
プラグインの有効化
{
plugins: {
entries: {
diffs: {
enabled: true,
},
},
},
}
組み込みシステムガイダンスの無効化
diffsツールを有効にしたまま、組み込みのシステムプロンプトガイダンスを無効にしたい場合は、plugins.entries.diffs.hooks.allowPromptInjection を false に設定します:
{
plugins: {
entries: {
diffs: {
enabled: true,
hooks: {
allowPromptInjection: false,
},
},
},
},
}
これにより、diffsプラグインの before_prompt_build フックがブロックされながら、プラグイン、ツール、コンパニオンスキルは利用可能なままになります。ガイダンスとツールの両方を無効にしたい場合は、代わりにプラグインを無効化してください。
典型的なエージェントワークフロー
- エージェントが
diffsを呼び出します。 - エージェントが
detailsフィールドを読み取ります。 - エージェントは以下のいずれかを行います:
details.viewerUrlをcanvas presentで開くdetails.filePathをpathまたはfilePathを使用してmessageで送信する- 両方を行う
入力例
Before と after:
{
"before": "# Hello\n\nOne",
"after": "# Hello\n\nTwo",
"path": "docs/example.md",
"mode": "view"
}
パッチ:
{
"patch": "diff --git a/src/example.ts b/src/example.ts\n--- a/src/example.ts\n+++ b/src/example.ts\n@@ -1 +1 @@\n-const x = 1;\n+const x = 2;\n",
"mode": "both"
}
ツール入力リファレンス
特に明記されていな い限り、すべてのフィールドはオプションです:
before(string): 元のテキスト。patchが省略された場合、afterとともに必須。after(string): 更新後のテキスト。patchが省略された場合、beforeとともに必須。patch(string): ユニファイド差分テキスト。beforeおよびafterと排他的。path(string): before/afterモードでの表示用ファイル名。lang(string): before/afterモード用の言語オーバーライドヒント。title(string): ビューアタイトルオーバーライド。mode("view" | "file" | "both"): 出力モード。デフォルトはプラグインのデフォルトdefaults.mode。theme("light" | "dark"): ビューアテーマ。デフォルトはプラグインのデフォルトdefaults.theme。layout("unified" | "split"): 差分レイアウト。デフォルトはプラグインのデフォルトdefaults.layout。expandUnchanged(boolean): 完全なコンテキストが利用可能な場合、変更されていないセクションを展開します。呼び出しごとのオプションのみ(プラグインデフォルトキーではありません)。fileFormat("png" | "pdf"): レンダリングファイル形式。デフォルトはプラグインのデフォルトdefaults.fileFormat。fileQuality("standard" | "hq" | "print"): PNGまたはPDFレンダリング用の品質プリセット。fileScale(number): デバイススケールオーバーライド (1-4)。fileMaxWidth(number): CSSピクセル単位の最大レンダリング幅 (640-2400)。ttlSeconds(number): ビューアアーティファクトのTTL(秒)。デフォルト1800、最大21600。baseUrl(string): ビューアURLオリジンオーバーライド。httpまたはhttpsである必要があり、クエリ/ハッシュは不可。
検証と制限:
beforeとafterはそれぞれ最大512 KiB。patchは最大2 MiB。pathは最大2048バイト。langは最大128バイト。titleは最大1024バイト。- パッチ複雑度上限: 最大128ファイル、合計120000行。
patchとbeforeまたはafterの同時指定は拒否されます。- レンダリングファイルの安全制限(PNGおよびPDFに適用):
fileQuality: "standard": 最大8 MP (8,000,000 レンダリングピクセル)。fileQuality: "hq": 最大14 MP (14,000,000 レンダリングピクセル)。fileQuality: "print": 最大24 MP (24,000,000 レンダリングピクセル)。- PDFは最大50ページ。