アプリディスクのファイル操作
Keelson のアプリには永続化される /data ディスクがあります。アプリを再デプロイせずに、AI エージェントが
1 ファイルだけ差し替えたい場合は keelson files を使います。
Streamlit など、ローカルの CSV/TSV を直接読むデータアプリで便利です。
import pandas as pd
df = pd.read_csv("/data/data/sales.tsv", sep="\t")ファイルをアップロード:
keelson files put sales.tsv --app sales-dashboard --dest data/sales.tsv --if-not-exists --ndjson意図して上書き:
keelson files put sales.tsv --app sales-dashboard --dest data/sales.tsv --replace --ndjsonファイルをダウンロード:
keelson files get data/sales.tsv --app sales-dashboard -o ./sales.tsv --jsonローカルの出力先を意図して上書き:
keelson files get data/sales.tsv --app sales-dashboard -o ./sales.tsv --force --jsonディレクトリを一覧:
keelson files ls --app sales-dashboard --path data --json1 ファイルを削除:
keelson files rm data/sales.tsv --app sales-dashboard --yes --jsonエージェント向けの使い方
Section titled “エージェント向けの使い方”非対話のエージェントは、put では --ndjson を優先してください。helper Job がアプリディスクへの書き込みを
完了するまで待ちます。--json は operation を開始してすぐ返ります。
競合モードは明示します。
- 新規作成なら
--if-not-exists - 事前に確認したファイルだけを置き換えるなら
--if-remote-sha256 <hex> - ユーザーが明確に上書きを依頼した場合だけ
--replace - ユーザーが明確にローカル出力先の上書きを依頼した場合だけ
--force - ユーザーが明確に remote file の削除を依頼した場合だけ
--yes
複数ワークスペースにアクセスできる token の場合は --tenant <tenant-id> を付けます。
remote path は /data からの相対パスです。たとえば data/sales.tsv はアプリコンテナ内の
/data/data/sales.tsv に対応します。
Keelson は absolute path、..、symlink component、device file、socket、FIFO、directory overwrite、
危険な database/WAL/journal 破壊操作を拒否します。rm は regular file だけを削除します。
初期リリースのサイズ上限は、単一ファイルのデータ更新向けです。大量データ、SQLite DB の丸ごと差し替え、 ディレクトリ単位の移動には snapshot / backup 経路を使ってください。