v0.5.2
tf v0.5.2
本版由 GitHub Actions 构建,产物与校验和见下。
破坏性变更
- 项目仓库与 Go module 从
github.com/tokenflux/tkr改为github.com/tokenflux/tf-cli。源码安装请改用go install github.com/tokenflux/tf-cli/cmd/tf@latest;命令名、二进制名、配置目录和TF_*环境变量保持不变。
新增
tf login --from-web现在支持 TokenFlux 网页通过本机回环地址导入 Key,并在终端确认后复用现有网关校验和凭据保存流程。- 新增网页前端接入协议文档,说明端口发现、CORS/LNA/PNA、请求字段、响应状态和安全边界。
改进
- 同步实施计划、项目状态与测试数字;明确网页导入的“过渡版”是阶段名,不对应 SemVer
v0.5.0。 tf login未指定方式时默认高亮网页导入,并在监听就绪后打开 Keys 页面;粘贴选项、管道输入及--with-key/--from-web直达方式保留。- 网页导入未显式指定本地名称时,可在网关校验后选择按模型自动命名、采用合法的网页 Key 名称或自订名称;自动候选会避开已有名称。
- 统一中英文登录文案、网关展示术语与模型数单复数;帮助用法占位符保持语言中性的 ASCII。
tf keys现在显示网页导入的 Origin、分组和远端 Key 名,JSON 输出同步提供来源字段。- harness 安装完成后不再写入无人消费且可能随外部升级失真的
installs记录;实际安装状态继续以 PATH 探测为准,旧字段会在下次保存配置时清理。 - v0 继续保留
tf config的cache_dir输出以兼容机器调用,但不再把该路径描述为现有存储层,也不会静默迁移或删除旧缓存文件。
修复
- 手动触发发版时明确检出输入 tag,避免用 main HEAD 构建旧 tag 的产物。
- 删除 CI 中重复的五目标交叉编译,并把发版检查移到构建矩阵之前。
- GitHub Actions 升级到 Node 24 运行时版本,Go 缓存改用现有的
go.mod作为依赖键,消除零依赖项目缺少go.sum的恢复告警。 - 归档不再作为现行依据的早期分组识别、模型选择、下一批功能、产品决策、后端认证讨论稿及时间戳 TODO;仍有效的开放项已迁入 PLAN / STATUS。
- 修正文档中的缓存存储、参数透传、探针名、默认登录名称、XDG 卸载路径和网页前端落地状态。
安全
- 网页导入只监听
127.0.0.1:43110-43119,严格校验 Origin、限制请求体并拒绝未知 JSON 字段;Key 不回显到 HTTP 响应。 - 网页导入始终要求交互式终端确认,
--json和--no-input不能绕过确认。 - 网页导入链接新增短期 session secret;前端可通过绑定实际端口与随机 challenge 的 HMAC 验证 CLI,并用可选导入证明让终端显示相同状态。普通端口扫描和无证明导入保持兼容,但页面与终端必须显示未验证警告。
/import在读取请求体前占用单一事务,并将 body 读取限制为 10 秒,避免并发慢请求持续占用处理协程;会话关闭超时后会强制关闭活动连接。- 收紧 challenge、网关 hostname 和终端展示元数据校验;前端示例会在 Keys 路由初始化时清除有效或畸形的
#tfcli=...fragment,并明确导入证明不提供防重放语义。
下载
一行装(自动挑架构,装到 ~/.local/bin,不需要 sudo):
curl -fsSL https://raw.githubusercontent.com/tokenflux/tf-cli/main/install.sh | sh
已经装过的话直接 tf update。
手动下载:
| 系统 | 文件 |
|---|---|
| macOS(Apple 芯片) | tf_0.5.2_darwin_arm64.tar.gz |
| macOS(Intel) | tf_0.5.2_darwin_amd64.tar.gz |
| Linux x86_64 | tf_0.5.2_linux_amd64.tar.gz |
| Linux ARM64 | tf_0.5.2_linux_arm64.tar.gz |
| Windows | tf_0.5.2_windows_amd64.zip |
解开就是单个可执行文件,没有依赖,放进 PATH 即可。
Windows 目前只能非交互使用:选择器与登录提问需要终端交互,
Windows 上尚未实现,请用 --no-input 配合 -m、-k 明确指定。
校验
sha256sum -c SHA256SUMS --ignore-missing
引用版本:提交 f337ee0 / Go 1.27.0
Full Changelog: v0.5.1...v0.5.2