Sourcegraph Amp CLI 命令速查表 - 终端 AI 编码代理全参数

多数人用终端 AI 代理的方式是开一个前台会话,从头聊到尾:跑到一半忘了自己要干什么,上下文越堆越脏。Sourcegraph Amp 的设计正对着这个痛点——用线程把不同任务隔开,长活可以扔后台继续跑,前台留着回答下一个一次性问题。这张表按安装与认证、单次提问、线程管理、后台与集成、实用技巧分组,讲清线程怎么开、怎么续、amp 与 amp -x 该按什么意图选。判断依据是任务形态:一问就走就用单次执行不必建线程;要迭代、要回看历史改动才值得开线程;耗时长、会阻塞交互的一律后台化。什么时候翻它:一边让 Agent 跑长任务一边继续干别的、CI 里要无头调用做批量巡检、或者需要把输出接进脚本做质量门禁。跟常驻前台会话的代理相比,多付一点管理线程的成本,换来的是上下文不被污染。

AI 命令行·共 25 条命令·最后更新 2026-08-23

安装与认证 5

npm install -g @sourcegraph/amp
全局安装 Amp CLI
amp --version
查看已安装版本号
amp login
交互式登录 Sourcegraph 账号
amp logout
退出登录
export AMP_API_KEY=...
设置 API Key(CI/无头环境)

单次提问 5

amp "重构 user-auth 使用新 session API"
带初始提示启动一次性任务
amp -x "列出本项目所有 TODO 注释"
-x 以执行模式运行(更偏动作)
amp --model claude-opus "写解析 CSV 的函数"
--model 指定底层模型
amp --no-stream
关闭流式,整体返回结果
amp --help
查看全部命令与标志

线程管理 5

amp threads
列出所有对话线程
amp threads new
创建并进入新线程
amp threads continue <id>
续接指定线程
amp threads list
仅列出线程(脚本友好)
amp --resume
恢复最近一次线程

后台与集成 5

amp -x "跑测试套件" &
后台执行长任务
amp --json "..."
输出 JSON,便于程序解析
amp --cwd /path/to/repo "..."
指定工作目录运行
AMP_API_KEY=... amp -x "..."
CI 中以 Key 跑无头任务
amp --verbose
显示逐轮工具执行详情

实用技巧 5

amp -x 偏执行、amp 偏对话
按意图选模式
threads 分主题隔离上下文
不同任务开不同线程
CI 用 AMP_API_KEY 跑 -x
无头环境不依赖登录态
--json 接脚本处理
结构化输出好解析
--model 按需切底层
贵任务用强模型,轻任务用快模型

命令示例

一次性提问,带初始提示直接开工

amp "Refactor user-auth to use the new session API"

这种一次就走完的活不必建线程。需要在目录之外操作时用 amp --cwd /path/to/repo "..." 明确工作目录。

把耗时的测试套件丢后台

amp -x "run the test suite" &

执行模式 + 后台化,终端立刻可用。运行期间去开一个独立线程做别的事,别在同一线程里交替。

让输出可被脚本解析

amp --json "Find unused exports"

按事件类型分支判断状态,比只取最后一条文本稳。需要 CI 无头执行时,前面加 AMP_API_KEY=...。

回到之前那个线程继续未完的工作

amp threads continue <id>

ID 从 amp threads list 拿;只想要列表、方便脚本消费就用 amp threads list,交互式浏览则用 amp threads。

常见坑与注意事项

  • AMP_API_KEY 是可用的凭据,export 到 CI 环境里容易随日志泄出;用平台的 secret 变量注入,别 echo,也不要写进仓库里的配置文件。
  • 同一线程里交替处理两个需求会造成上下文互相污染,且事后无法复盘哪段改动属于哪个任务;并行任务一律 amp threads new 各开一个。
  • 无头任务直接进 CI 常常因为缺凭据或工作目录不对而白跑一轮;先在本地交互式跑一次同样的提示词确认能通。
  • amp --cwd 指错目录会让代理读到另一个仓库甚至大范围改文件;执行前确认路径,再看一次工作区状态。
  • --json 输出是事件流而不是单个 JSON 文档,只取最后一条当结果会误判状态;CI 里无头跑之前留 git status 干净,因为代理会改文件。

提示

  • Sourcegraph Amp 是 Sourcegraph 出品的终端编码代理,底层可接多种模型;amp 偏对话、amp -x 偏执行,按意图选模式。
  • 线程(threads)机制可把不同任务上下文隔离开,避免一个长对话污染另一个任务——复杂项目里尤其有用。
  • CI/无头环境用 AMP_API_KEY 配合 amp -x 跑自动化,不必依赖交互登录态。
  • --json 输出便于接脚本做程序化解析(如质量门禁、批量巡检)。
  • 并行任务务必各开一个线程,同一线程里交替处理两个需求,上下文会互相污染到无法复盘。
  • 无头跑之前先本地交互确认一次提示词与权限配置,直接进 CI 常因缺凭据而白跑一轮。
  • 把 amp 的 JSON 输出接进脚本时,按事件类型做分支而不是只取最后一条文本,能拿到更稳的状态判定。

常见问题

amp 和 amp -x 该怎么选?

amp 偏对话:带着提示进去,倾向讨论方案和写代码。amp -x 偏执行:同样接提示,但更倾向直接动手改文件、跑命令。前者适合要来回确认的题,后者适合需求已经说清楚的活。判断依据是任务形态,不是命令长短。

为什么要给每个任务单开一个线程?

因为线程是上下文边界。amp threads new 开一个新线程,amp threads continue 加 ID 续接旧线程,amp --resume 回到最近一次。两个需求交替塞进同一个线程,代理会把两个任务的文件、约定、甚至结论混在一起,等到需要复盘时已经分不清哪段改动属于谁。

CI 或者没有登录态的环境里怎么跑?

用 export AMP_API_KEY=... 提供 Key,然后走 amp -x 执行模式做无头任务,这样不依赖交互式登录态。更稳的做法是无头之前先在本地交互跑一遍同样的提示词,确认权限配置和凭据都齐了再进 CI。

amp --json 到底解决了什么问题?

它把输出变成结构化事件流,好让脚本按事件类型分支,而不是正则去抠文本。典型用法是拿它做质量门禁或批量巡检:判断某类事件是否出现、统计工具调用次数、确认任务是否正常结束,而不是只取最后一段文字。

耗时长、会阻塞交互的任务怎么处理?

加 & 丢到后台:amp -x "run the test suite" &。这样终端立刻回来,你可以另开线程处理下一个问题,跑完再回来看结果。工具调用过程想看得更细,加上 --verbose 打印逐轮执行详情。

官方参考来源

下方为命令对应的官方权威文档,供你核对最新用法与深入查阅。

由 巧匠 维护

公开更新于 2026年8月23日,内容持续校对官方文档。

联系我们

命令或描述有误?提交反馈、商务合作或产品建议都可发送邮件给我们。

联系我们