Configuration
ProofScanの設定管理とシークレット管理
config - 設定管理
ProofScanの設定ファイルを管理します。
サブコマンド
config init
設定ファイルを初期化します。
pfscan config init
config path
設定ファイルのパスを表示します。
pfscan config path
出力例:
- Linux:
~/.config/proofscan/config.json - macOS:
~/Library/Application Support/proofscan/config.json - Windows:
%APPDATA%\proofscan\config.json
config show
現在の設定を表示します。
# 人間が読みやすい形式
pfscan config show
# JSON形式
pfscan config show --json
config edit
デフォルトエディタで設定ファイルを編集します。
pfscan config edit
設定ファイルの構造
{
"version": 1,
"connectors": [
{
"id": "time",
"enabled": true,
"transport": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-time"]
}
}
],
"retention": {
"keep_last_sessions": 50,
"raw_days": 7,
"max_db_mb": 500
}
}
設定項目
| 項目 | 説明 | デフォルト |
|---|---|---|
version |
設定ファイルのバージョン | 1 |
connectors |
MCPサーバー接続設定の配列 | [] |
retention.keep_last_sessions |
コネクタごとに保持するセッション数 | 50 |
retention.raw_days |
生のJSONデータを保持する日数 | 7 |
retention.max_db_mb |
データベースの最大サイズ (MB) | 500 |
secrets - シークレット管理
APIキーやトークンなどの秘密情報を管理します。
サブコマンド
secrets list
登録されているシークレットの一覧を表示します。
pfscan secrets list
pfscan secrets list --json
出力例:
Secrets:
OPENAI_API_KEY (set)
GITHUB_TOKEN (set)
DATABASE_URL (not set)
secrets set
シークレットを設定します。
# 対話式入力(推奨)
pfscan secrets set OPENAI_API_KEY
# 直接指定(スクリプト向け)
pfscan secrets set GITHUB_TOKEN --value "ghp_xxxxxxxxxxxx"
secrets edit
デフォルトエディタでシークレットファイルを編集します。
pfscan secrets edit
secrets prune
使用されていないシークレットを削除します。
# ドライラン(削除するものを表示)
pfscan secrets prune
# 実際に削除
pfscan secrets prune --yes
secrets export
シークレットをエクスポートします。
# 暗号化してエクスポート(推奨)
pfscan secrets export --file secrets.enc --password
# プレーンテキストでエクスポート(注意)
pfscan secrets export --file secrets.json
secrets import
シークレットをインポートします。
# 暗号化ファイルからインポート
pfscan secrets import --file secrets.enc --password
# プレーンテキストからインポート
pfscan secrets import --file secrets.json
セキュリティのベストプラクティス
💡 推奨事項:
- 対話式入力(
secrets setのみ)を使用する - エクスポート時は必ず暗号化する
- シークレットファイルをバージョン管理に含めない
- 定期的に
secrets pruneで未使用のシークレットを削除する - 環境変数として設定し、コードにハードコードしない
doctor - 診断・修復
データベースとシステムの問題を診断・修復します。
基本的な使い方
# 診断のみ
pfscan doctor
# 診断と修復
pfscan doctor --fix
# 詳細出力
pfscan doctor --verbose
チェック項目
- データベースファイルの整合性
- スキーマバージョンの確認
- インデックスの整合性
- 外部キー制約の検証
- 孤立レコードの検出
- 破損したJSONデータの検出
トラブルシューティング
# 問題の確認
pfscan doctor
# 自動修復を試みる
pfscan doctor --fix
# 最終手段:データベース再初期化(データが失われます)
rm ~/.config/proofscan/events.db
pfscan config init
グローバルオプション
すべてのコマンドで使用可能なオプションです。
| オプション | 説明 |
|---|---|
-c, --config <path> |
カスタム設定ファイルのパスを指定 |
--json |
JSON形式で出力 |
-v, --verbose |
詳細な出力を表示 |
-h, --help |
ヘルプを表示 |
-V, --version |
バージョンを表示 |
使用例
# カスタム設定ファイルを使用
pfscan -c ~/my-config.json status
# JSON出力をjqでフィルタ
pfscan view --limit 10 --json | jq '.[] | select(.status == "ERR")'
# 詳細モード
pfscan -v scan start --id time
よくある質問
Q. 設定ファイルの場所がわからない
A. pfscan config path で確認できます。
Q. 設定ファイルを削除してしまった
A. pfscan config init で再作成できます。コネクタ設定は再度追加する必要があります。
Q. シークレットが反映されない
A. 以下を確認してください:
pfscan secrets listで設定済みか確認- 環境変数名が正しいか確認
- ProofScanまたはMCPサーバーを再起動
Q. データベースが破損した
A. pfscan doctor --fix で修復を試みてください。それでもダメな場合は、rm ~/.config/proofscan/events.db でデータベースを削除し、再初期化してください。