Flyto TUI¶
Flyto Agent 的最小命令行界面.纯 stdin/stdout REPL,不依赖 TUI 框架.
定位说明: 本目录是 Flyto 引擎的 dogfood CLI + L513 SecretStore 产品端兑现点, 不是独立发布产品.不承诺向后兼容 / flag 语义稳定 / 富渲染. 富功能 TUI / 插件系统 / OAuth flow 等未来可能拆出独立仓库或并入
platform/. 现阶段只投入"让 core/ 端到端跑得通"所必需的最小改动.
使用¶
export ANTHROPIC_API_KEY="sk-ant-..."
# 交互模式
go run ./cmd/flyto
# 一次性模式
go run ./cmd/flyto -p "帮我分析 main.go"
# 切换模型
go run ./cmd/flyto --model claude-haiku-4-5
# 指定工作目录
go run ./cmd/flyto --cwd /path/to/project
参数¶
--model模型 ID(默认claude-sonnet-4-6)--cwd工作目录(默认当前目录)--tools启用的工具列表,逗号分隔(默认Bash,Read,Edit,Write,Glob,Grep)-p一次性 prompt 模式-secret-env标记为 secret 的 env 变量名列表,逗号分隔.启动时从os.Getenv读取每个变量的值,登记到引擎SecretStore.登记后: (1) 该 env 会被注入 Bash 工具子进程 (2) 工具输出中的明文值被替换为[SECRET:NAME].任一声明的变量未设置或 value 短于 8 字节会 fail-fast 退出.
秘密管理¶
Flyto 引擎在 L513 审计后不做"看上去像秘密就兜底保护"的黑名单——秘密必须由调用方显式声明.CLI 端的声明入口是 -secret-env:
export GITHUB_TOKEN="ghp_..."
export DB_PASSWORD="..."
go run ./cmd/flyto -secret-env GITHUB_TOKEN,DB_PASSWORD -p "检查 repo 状态"
未声明的 env 变量会被原样继承给 Bash 子进程但不做任何脱敏——风险由调用方承担.
交互¶
- 多行输入:行末加
\续行 - 退出:
exit/quit/ Ctrl+D - 中断:Ctrl+C
- 权限提示:看到
允许? [y/N]:时输入y批准,其它字符或回车拒绝
环境变量¶
ANTHROPIC_API_KEY(必需)- Anthropic API 密钥ANTHROPIC_BASE_URL(可选)- 覆盖 API 基础 URL(代理或私有化部署)