SaaS + Self-hosted · Protocol V2

一个 OkFile,两种部署方式。

直接使用托管服务,或把数据留在自己的服务器。CLI、Agent Skill 与 HTTP API 保持一致,只需切换 server。

文件与静态站点Quick / Single / MultipartCLI / Skill / API结构化错误
选择运行方式OKFILE CLI 2.1.1
OkFile SaaSZero ops

无需安装服务器,适合立即使用、公开分享和轻量自动化。

$ okfile config --server https://www.okfile.com
OkFile Self-hostedYour data

部署到自己的主机,使用 SQLite 与本地磁盘掌控数据和运维。

$ okfile config --server https://sh.pckee.com
同一套客户端与协议
Python CLIAgent SkillHTTP APIMultipartStatic Sites
01 / Choose your deployment

先选运维方式,接口不用重学。

SaaS 负责基础设施与更新;Self-hosted 提供数据主权与内部部署。两者面向相同的上传、发布和自动化场景。

Managed SaaSwww.okfile.com

开箱即用

注册或匿名调用,省去服务器、证书、数据库和磁盘维护。

  • 无需部署和日常运维
  • 适合公开分享与跨网络调用
  • 由 OkFile 持续升级服务能力
  • CLI、Skill 和 API 直接接入
Self-hosted当前实例

数据留在自己的服务器

Go 单文件服务配合 SQLite 和本地磁盘,适合内网、私有环境与可控成本。

  • 文件与元数据由自己持有
  • 不依赖 Cloudflare Workers、R2 或 D1
  • 支持 Quick、Single 与 Multipart
  • 自主管理密钥、配额和生命周期
比较项
SaaS
Self-hosted
上线与维护
OkFile 负责
自行负责
数据位置
托管基础设施
自己的磁盘
网络入口
公网即用
公网或内网
客户端协议
OkFile V2
OkFile V2
适合团队
重视省心与速度
重视控制与数据边界
02 / Why OkFile

比对象存储更接近发布任务。

OkFile 把上传、公开链接、静态站点和生命周期组合成稳定协议。Agent 不需要理解 bucket、签名策略和厂商 SDK。

URL

直接得到可用链接

完成上传后返回预览、下载或站点地址,省去对象存储的公开访问配置。

DIR

目录就是静态站点

保留相对路径发布整个目录,有 index.html 即可作为站点入口。

AI

协议对 Agent 友好

能力发现、结构化错误、retryable 标记和 Request ID 让自动化能够判断下一步。

MP

自动选择上传模式

客户端根据服务器能力在 Quick、Single 和 Multipart 之间选择,支持大文件并行分片。

TTL

内置生命周期

到期时间、下载次数和阅后即焚都是协议参数,无需另建清理任务。

↔

随时切换服务器

命令与脚本保持不变,修改 --server 即可在 SaaS、自建和内网实例之间迁移。

03 / One protocol

服务器可替换,调用方式保持一致。

一次性任务直接传入全局 --server;常用实例写入配置。也可以用 OKFILE_SERVER 为 Agent、CI 和 MCP 指定服务器。

SERVER SELECTION
# 临时指定服务器,不改本地配置
okfile --server https://sh.pckee.com upload ./report.pdf

# 保存默认服务器
okfile config --server https://sh.pckee.com

# Agent / CI 环境变量
OKFILE_SERVER=https://sh.pckee.com
OKFILE_API_KEY=okf_...

# 发现服务器能力
curl https://sh.pckee.com/api/upload/config
04 / Install CLI

安装一次,连接任意 OkFile。

推荐从 PyPI 安装 2.1.1。当前 Self-hosted 实例也提供相同版本的一键安装脚本。

PyPI · 推荐

Windows、macOS 与 Linux 通用,需要 Python 3.10+

PIP
python -m pip install --upgrade okfile

Windows PowerShell

从当前 Self-hosted 实例安装并升级

POWERSHELL
iwr -useb https://sh.pckee.com/install.ps1 | iex

Windows CMD

CMD 中显式调用 PowerShell

CMD
powershell -NoProfile -ExecutionPolicy Bypass -Command "iwr -useb https://sh.pckee.com/install.ps1 | iex"

macOS / Linux

从当前 Self-hosted 实例安装并升级

SHELL
curl -fsSL https://sh.pckee.com/install.sh | sh
05 / Architecture

客户端只面对 OkFile 协议。

后端可以是托管平台,也可以是单机服务。Self-hosted 版的数据路径清晰,方便备份、迁移和内部审计。

CLI / Agent / API同一调用方式
→
OkFile ServerSaaS 或 Self-hosted
→
Storage托管存储或 SQLite + Disk
Self-hosted 版的文件写入本地磁盘,元数据保存在 SQLite;它不依赖 Cloudflare 技术。通过兼容的 V2 接口,可将现有 CLI、Skill 和自动化脚本切换到自己的服务器。
06 / FAQ

部署选择中的常见问题。

两种版本共享主要协议能力,基础设施和增值能力会因部署环境不同而有所区别。

SaaS 和 Self-hosted 能用同一个 CLI 吗?

可以。使用 okfile config --server URL 保存默认服务器,或在单次命令前传入全局 --server URL。

Self-hosted 支持 Multipart 吗?

支持。客户端会读取 /api/upload/config,超过阈值后自动使用分片上传,并支持并行传输和安全完成。

Self-hosted 是否依赖 Cloudflare?

文件、站点和元数据的核心服务不依赖 Cloudflare。当前实现使用 Go、SQLite 和本地磁盘,可部署在普通 Linux 主机。

什么时候更适合 SaaS?

希望立即开始、不维护服务器、需要稳定公网入口时,SaaS 更省事。内部数据边界、私有网络或自主管理成本更重要时,选择 Self-hosted。

能从 SaaS 迁移到 Self-hosted 吗?

客户端调用可以直接迁移,只需更换 server。历史文件迁移还需导出文件和元数据,并根据部署环境规划域名与链接切换。

服务器故障会返回可读错误吗?

协议错误包含 HTTP 状态、稳定的 error code、message、retryable、建议动作和 Request ID,客户端会只对适合重试的故障自动重试。