快速上手
登录一个提供方,跑完第一个回合,读懂 bingo 摆到你面前的那张权限卡片。
在工作所在的地方打开 bingo
cd ~/code/my-project
bingo
管道两端都是终端时,bingo 会占满整个屏幕,打开它的终端界面。只要 stdin 或 stdout 其中之一被重定向,同一个二进制就转为无头运行——见 无头运行。
第一屏是一个欢迎框、一个输入框,以及下面一行状态:
╭──────────────────────────────────────────────────────────────╮
│ ✻ Welcome to bingo! │
│ │
│ /help for help · /login codex to use a subscription │
│ cwd: ~/code/my-project │
╰──────────────────────────────────────────────────────────────╯
╭──────────────────────────────────────────────────────────────╮
│ > ask anything · / for commands · ! for shell │
╰──────────────────────────────────────────────────────────────╯
? for shortcuts
登录
在某个提供方拿到凭据之前,什么都跑不起来。用哪条命令,取决于你手上有什么。
bingo login codex # a ChatGPT subscription, through a browser
bingo login anthropic # paste an API key
bingo login openai # paste an API key
对于有 OAuth 签发方的提供方,bingo login <provider> 会打开浏览器;对于用 key 的
提供方,它会让你粘贴凭据(ADR-0012、ADR-0017)。两个 flag 改变它询问的方式:
--device 给出一个码,让你在别处的浏览器里输入;--paste 从 stdin 读取一份在别处
签发的凭据。bingo logout <provider> 再把它忘掉。
ANTHROPIC_API_KEY 和 OPENAI_API_KEY 也会被读取,所以一台已经导出了其中之一的
机器根本不必登录。凭据落在 ~/.bingo/data/auth.json,权限位 0600——绝不会落进设置
文件,那是项目会提交的东西。
同样这两条命令在会话内是 /login 和 /logout。更多内容见
提供方与模型。
第一句提示
打一句话,按回车。回来的东西读起来是这样:
> what is in this workspace?
⏺ I'll read the manifest first.
⏺ Read(Cargo.toml)
⎿ Read 42 lines
⏺ One workspace, 27 crates: a kernel and its plugins.
> 是你说的,⏺ 是 bingo 说的或做的,⎿ 是回来的东西。一个回合运行期间,输入框
上方会有一行活动行——✻ Simmering… (esc to interrupt · 4s · ↓ 1.2k tokens)——按
esc 停下它。
你也可以直接在命令行上给出提示,那样会跳过前面这些:
bingo "what is in this workspace?"
权限卡片
在工具碰到任何东西之前,bingo 会先问。这个问题是一张卡片,屏幕上唯一亮起边框的东西, 就在提问的那一行下面:
╭──────────────────────────────────────────────────────────────╮
│ Edit │
│ +line 0 │
│ +line 1 │
│ … +8 lines (ctrl+e to expand) │
│ │
│ Do you want to edit src/lib.rs? │
│ ❯ 1. Yes │
│ 2. Yes, allow Edit(src/) during this session │
│ 3. No, and tell bingo what to do differently (esc) │
╰──────────────────────────────────────────────────────────────╯
用数字回答,或者用 y / a / n。选项 2 只为这次会话装上一条规则;它绝不写到磁盘
上。选项 3 让你说清楚该改做什么,那段文字会作为拒绝的理由回到模型那里。ctrl+e
展开问题上方的预览。
什么会被问、什么不问就跑,取决于权限模式和规则表——见 设置与权限。
第一天就值得知道的命令
| 命令 | 它做什么 |
|---|---|
/help | 快捷键与命令面板(? 也能开关它) |
/status | 模型、提供方、上下文,以及这次会话的其余事实 |
/model [<provider>/]<model> | 切换下一个回合跑在什么上面 |
/compact [instructions] | 立刻把对话记录做一次摘要 |
/permission <mode> | 读取或设置权限模式 |
/clear | 在这个目录里开一个全新会话 |
/resume | 从选择器里重新打开一个早先的会话 |
/exit | 离开 |
!<line> | 你自己跑一行 shell,不经过闸门 |
命令用 tab 补全,/ 打开列表。
回到一个会话
每个会话都是磁盘上的一份日志,放在 ~/.bingo/data/sessions/<id>/,所以离开不会丢
任何东西:
bingo --continue # the most recent session in this directory
bingo --resume <id> # a particular one
在终端界面里,/resume 会打开选择器,一行一个会话:
Resume
❯ 1. fix the parser · 12 msgs · 2h ago
2. 请帮我把这个解析器修好 · 1 msg · 1d ago
3. untitled · 5d ago
下一步:终端界面的全貌。