文件管理与在线预览
文件访问和终端使用同一条已认证连接,但属于独立权限。拥有 terminal 权限不自动代表拥有任意文件访问权;daemon 只处理 grant 和本地策略允许的路径。
路径与最小权限
文件路径相对于目标 endpoint 的 daemon 文件系统解释,而不是客户端当前目录。移动端从 terminal 工具栏打开文件时,会以该 terminal 的工作目录作为入口。
只授权工作所需的最小目录。不要把整个 home、系统根目录、密钥目录或生产数据目录作为方便的默认范围。符号链接、Windows drive 和 UNC path 最终仍必须通过 daemon 的路径解析和权限检查。
浏览与检查
anytty file list workstation /
anytty file list workstation /workspace --limit 200
anytty file list workstation /workspace --all
anytty file stat workstation /workspace/build.log
anytty file cat workstation /workspace/build.log
大目录使用 daemon 签发的 cursor 分页;--all 会连续读取全部页面,应避免在包含海量条目的目录中直接使用。脚本处理列表和 metadata 时使用 --json。

新建、重命名、复制、移动与删除
anytty file mkdir workstation /workspace/output
anytty file rename workstation /workspace/old.log new.log
anytty file copy workstation /workspace/a.txt /workspace/b.txt /workspace/output
anytty file move workstation /workspace/result.json /workspace/archive
anytty file remove workstation /workspace/tmp.txt
复制和移动多个源时,最后一个参数是目标目录。覆盖已有目标必须显式使用 --overwrite。递归删除目录需要 file remove --recursive,这是不可恢复操作;执行前先用 file list 和 file stat 确认 endpoint 与完整路径。
移动 App 提供选择、新建目录、路径书签、路径输入、上传和更多操作。小屏幕上破坏性命令会经过确认,但确认框不能替代最小权限和备份。
上传
anytty file upload workstation ./artifact.zip /workspace/artifact.zip
上传完成后,CLI 会等待 daemon 的 checksum 确认。已有目标默认不覆盖,需要明确加 --overwrite。如果网络中断或超时,先在远端 stat 目标文件,不要假设失败请求一定没有留下状态。
下载
anytty file download workstation /workspace/result.json ./result.json
下载会验证 daemon 提供的内容完整性。已有本地文件默认不覆盖。移动端使用系统文档选择器保存文件;iOS 原生层支持断点下载和 SHA-256 校验,但不同客户端的恢复能力应以当前界面为准。
默认文件操作超时为 2 分钟,可以通过全局 --timeout 调整。为大文件盲目设置无限超时会掩盖断线,应结合网络质量和文件大小设置合理值。
在线预览
移动端预览器当前包含以下 renderer:
- 文本、Markdown、HTML、CSV、TSV、XML 等文本内容。
- PDF、Word、电子表格和常见演示/开放文档格式。
- 浏览器可以解码的图片、音频和视频。
- GLB、glTF、OBJ、STL、PLY、3MF、FBX 等常见 3D/点云格式。
实际可用性受文件扩展名、MIME、编码、文件大小、设备内存和系统媒体解码器影响。无法预览时仍可下载后交给其他 App 打开。预览不会把文件变成公开链接。
可搜索的文档类型包括常见文本、PDF、Word、表格、演示和开放文档格式。预览工具栏提供搜索、缩放与适配;大文件通过流式读取,但客户端仍可能需要为具体 renderer 准备完整 Blob。

失败与恢复
- permission denied: 检查 grant 和 daemon 文件范围,不要通过提升整个 daemon 权限解决。
- path not found: 确认路径属于目标 endpoint,并注意 Windows drive 与路径分隔符。
- already exists: 先检查目标,再决定是否使用
--overwrite。 - checksum mismatch: 丢弃不完整结果,检查网络与磁盘后重新传输。
- timeout/canceled: 检查远端状态和本地临时文件,再决定是否重试。
- preview unavailable: 下载后用系统 App 打开,或转换为受支持格式。
终端日志、构建产物和下载文件都可能含有用户数据。提交 issue 时不要附上真实文件;使用最小、人工生成的测试样本复现。