設定
extension settings を使用して、IBM i tool の動作を設定します。
IBM Bob Premium Package for i には、一部の tool 動作を制御する extension settings が含まれています。これらの設定は、command palette を開いて Preferences: Open Settings (UI) command を使用し、左側のフィルターから Extensions > IBM Bob Premium Package for i と進むことで確認および編集できます。
一般設定
一般設定では、extension 全体のデータ取得動作を制御します。
取得する最大行数
| Property | Value |
|---|---|
| Setting ID | vscode-ibmi-bob.general.maxRowsToFetch |
| Default | 100 |
| Minimum | 1 |
execute_sql_statement tool が、Db2 for i の query result set から取得する最大行数を制御します。query がさらに多くの行を返す場合でも、Bob は context window の過負荷を避けるため、この上限までに制限します。必要であれば、後でさらに多くの行を取得します。
より大きな result set を日常的に扱い、一度により多くのデータへ Bob からアクセスさせたい場合は、この値を増やしてください。ただし、値が大きいほど応答時間が延びたり、Bob に過剰なデータを渡すことで context poisoning が発生したりする可能性があります。
Guardrails 設定
Guardrails 設定では、IBM i 上で意図しない操作や破壊的な操作を防ぐための安全制御を追加します。
修飾付き CL コマンドを強制する
| Property | Value |
|---|---|
| Setting ID | vscode-ibmi-bob.guardrails.enforceQualifiedCLCommands |
| Default | true |
有効にすると、Bob は execute_cl_command tool に渡す CL コマンドについて、library-qualified 指定(例: QSYS/...)を必須とします。修飾なしのコマンドが指定された場合、Bob は QSYS2.COMMAND_INFO を使って見つかった正しい修飾付き候補とともにエラーを返し、正しい形で tool を再実行しようとします。
修飾付きコマンドを強制すると、library list に依存したコマンド解決のリスクを減らせるため、セキュリティのベストプラクティスとして推奨されます。この設定を false にして修飾なしコマンドを許可している場合でも、Bob はヒントとして修飾付きの代替候補を提案します。
拒否する SQL ステートメント種別
| Property | Value |
|---|---|
| Setting ID | vscode-ibmi-bob.guardrails.deniedSQLStatementTypes |
| Default | ["ALLOCATE", "CALL", "COMMIT", "CONNECT", "DISCONNECT", "DROP", "EXECUTE", "GRANT", "LOCK", "MERGE", "PREPARE", "RENAME", "REVOKE", "ROLLBACK", "SAVEPOINT", "TRUNCATE", "UPDATE"] |
execute_sql_statement tool が実行する前に、常に明示的なユーザー承認を必要とする SQL ステートメント種別の一覧です。Bob がこの一覧に一致する種別のステートメントを実行しようとすると、そのタスクで execute auto-approve permission が付与されていても、実行を承認するか拒否するかをユーザーに確認します。
この一覧は、組織のリスク許容度に合わせて調整してください。たとえば、ワークフローで stored procedure の実行や transaction 管理が頻繁に必要な場合は、拒否一覧から CALL や COMMIT を削除することを選択できます。
Understand 設定
Understand 設定では、Understand コードインテリジェンス機能の動作と設定を制御します。
インストールライブラリー
| Property | Value |
|---|---|
| Setting ID | vscode-ibmi-bob.understand.installLibrary |
| Default | (なし — 必須) |
Understand がインストールされる IBM i ライブラリーです。この設定は必須であり、デフォルト値はありません。Understand をインストールする前に有効なライブラリー名を指定する必要があります。
ライブラリー名は以下のルールに従う必要があります。
- 1 〜 10 文字の長さであること。
- 文字(A〜Z)、
$、または@で始まること。 - 文字、数字、
#、$、@、または_のみを含むこと。 Q、SYS、または#で始まってはならない(これらのプレフィックスは IBM 提供ライブラリー用に予約されています)。- ピリオド(
.)を含んではならない(Understand がライブラリーを SQL スキーマとして使用するため)。
既存のユーザーライブラリーではない専用のライブラリーを選択し、必要な権限を持つ承認済みユーザーのみにアクセスを制限してください。