設定
config.toml のスキーマ — 捕捉ソース・フィルタ・出力・保持期間。
設定は単一の TOML ファイルにまとまっています:
~/.config/zanei/config.toml
グローバルフラグ --config <path> で呼び出しごとに上書きできます。ヘルパーコマンド:
zanei config init # 設定パスに全項目のコメント付きテンプレートを生成
zanei config path # 設定ファイルのパスを表示
zanei config show # 有効設定(既定値マージ後)を表示
zanei config edit # $EDITOR で開く
zanei config set capture.text_content true
zanei config init は不足している親ディレクトリを作成し、以下の完全なテンプレートを
書き込みます。既存ファイルは上書きせず、生成先が存在する場合はそのパスを表示して終了コード
1 で終了します。既定以外の場所を初期化するにはグローバル --config <path> を使います。
スカラー値の capture.text_content と [output] の各キーには
zanei config setを使います。filter リストには
zanei filter、その他の配列には config edit を使います。
全体例(既定値)
[capture]
sources = ["app", "window", "ui", "input", "browser"]
text_content = false # 内容の捕捉は明示的な opt-in
[filter] # capture-time フィルタ = プライバシー境界(ストア書込前に適用)
exclude_apps = ["1Password", "Keychain Access"] # 不許可リスト(bundle_id 推奨)。既定除外を同梱
include_only_apps = [] # 非空で許可リストモードに切替
exclude_websites = [] # browser.* の URL host。ドット境界のサフィックス一致(example.com は api.example.com にも一致)
include_only_websites = [] # URL host の許可リスト
redactors = ["email", "credit_card", "token"] # 捕捉値のスクラブ(二次防御)
[output]
mode = "both" # stream | batch | both
batch_interval_s = 5
store = "sqlite" # sqlite | jsonl
retention_hours = 48 # 既定で短命保持
egress に相当する設定は存在しません — 外部送信は機能として存在しないためです。
[capture]
| キー | 既定値 | 説明 |
|---|---|---|
sources |
["app", "window", "ui", "input", "browser"] |
捕捉するイベントファミリー。ソースを外すと対応する権限も不要になります(権限参照) |
text_content |
false |
入力・フィールド内容(ui.value・input.key・クリップボードの中身)の捕捉。既定オフ。プライバシーモデル参照 |
[filter]
capture-time フィルタ — 該当イベントはストアに書き込まれる前に破棄されます。セマンティクス・マッチング・優先順位はフィルタガイドを参照。手編集より zanei filter での管理を推奨します。
| キー | 既定値 | 説明 |
|---|---|---|
exclude_apps |
既定除外を同梱 | アプリの不許可リスト(bundle_id 推奨。表示名も可) |
include_only_apps |
[] |
許可リスト。非空で許可リストモードに切替 |
exclude_websites |
[] |
browser.* の URL host の不許可リスト。Public Suffix List 非対応のドット境界サフィックス一致:example.com は api.example.com に一致し、evil-example.com には一致しません。com を指定するとすべての .com ホストが除外されます |
include_only_websites |
[] |
URL host の許可リスト |
redactors |
["email", "credit_card", "token"] |
捕捉値に適用する redaction ルール |
デーモンは設定ファイルを約 2 秒間隔で監視しており、フィルタの変更は数秒以内に反映されます — デーモン再起動は不要です。
[output]
| キー | 既定値 | 説明 |
|---|---|---|
mode |
"both" |
stream(発生順に出力)/ batch(バッファ書込)/ both |
batch_interval_s |
5 |
batch モードのフラッシュ間隔 |
store |
"sqlite" |
ストアバックエンド:sqlite または jsonl |
retention_hours |
48 |
これより古いイベントは起動時と定期実行で purge され、読み取り結果からも除外 |
変更の反映
[filter]の変更はデーモンの設定監視(約 2 秒間隔)で検知され、数秒以内に反映されます — 再起動は不要です。- それ以外(
capture.sources・[output]等)はデーモン再起動後に反映:zanei stop && zanei start
関連パス
| パス | 用途 | 上書き |
|---|---|---|
~/.config/zanei/config.toml |
設定 | --config <path> |
~/.local/state/zanei/store.sqlite |
イベントストア | --store <path> |