跳转至

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(代理或私有化部署)