Developer命令行 aidc
交互界面
在终端里敲 aidc,进入交互界面,和智能体对话。界面管输入和显示,干活的是运行时。对话留在终端自己的滚动历史里,你可以用终端原生的滚动、选择和复制。
│ 下一步:aidc app dev /home/demo/projects/fabric-check
● 应用骨架已经生成在 fabric-check/:
┌──────────────────────────────┬─────────────────────────────────────────────┐
│ 文件 │ 做什么 │
├──────────────────────────────┼─────────────────────────────────────────────┤
│ plugin.json │ 应用清单:名字、版本、用到的 SDK │
│ index.html · app.js │ 拍照界面:视觉 SDK 拍照,模型判断有没有污渍 │
│ skills/fabric-check/SKILL.md │ 告诉智能体什么时候用、怎么用 │
└──────────────────────────────┴─────────────────────────────────────────────┘
下一步:
1. 运行 aidc app dev fabric-check,用摄像头拍一张布面试试。
2. 改好 SKILL.md 的 description,再运行 aidc app deploy fabric-check。
计划 2/2
✓ 用 camera 模板生成应用
✓ 说明怎么预览和发布
6.6s · 输入 9.2k · 输出 412
╭─────────────────────────────────────────────────────────────────────────────────────────╮
│ › 说点什么;/ 看命令,@ 引用文件 │
╰─────────────────────────────────────────────────────────────────────────────────────────╯
AIDH · DeepSeek V4.1 Flash · ~/projects · 上下文 12% ? 快捷键
这段录屏演示一轮对话:进入 aidc,输入一句话,智能体先列出计划。执行命令前,界面请你确认;确认后,智能体给出结果。
说明
前提:已安装 aidc,见 CLI 概览。没登录时,界面先请你登录。要让智能体在本机干活,需要装 AIDH、Codex 或 Pi 之一。三个都不能用时,界面用 Engine,只聊天,不动本机。
进入交互界面
在终端里敲 aidc 或 aidc chat。stdin 和 stdout 都是终端时,才会进界面。
aidc # 进入交互界面
aidc chat "看看这个仓库的结构" # 进来先发这一句
aidc chat --runtime codex --model <模型> # 指定运行时和模型
aidc chat --continue # 续上这个目录里最近一次的对话
aidc chat --resume [会话 id] # 续上指定的对话,不带 id 时打开列表
| 参数 | 说明 |
|---|---|
"开场的一句" |
进入界面后先发这一句 |
--runtime <运行时> |
aidh、codex、pi、engine、agent 或 acp。没写就用上次用的 |
--profile <档案> |
AIDH 的档案 |
--model <模型> |
这次启动用的模型。在界面里用 /model 换的模型才记进配置,下次沿用 |
--continue |
续上这个目录里、这个运行时最近一次的对话。没有就开新对话 |
--resume [会话 id] |
续上指定的对话。不带 id 时,运行时支持续会话、又有可续的对话,才打开列表;否则只说明原因 |
--cwd <目录> |
工作目录,缺省是当前目录 |
不在终端里时,aidc 打印帮助。aidc chat 以退出码 2 结束,并提示改用不进界面:aidc chat -p。
首屏左边是 AIDC 标志,右边是这些信息:
AIDC CLI 1.77.0
账号 zhang.san · Demo Company(cell-demo) · developer
运行时 AIDH
目录 ~/old-portal
/ 命令 · @ 文件 · ↑ 历史 · esc 中断 · ? 快捷键
没登录时,账号一行写「未登录」,界面先显示登录面板。输入账号和密码,或按 ctrl+b 在浏览器里批准。登录之后,界面才连运行时。在账号和密码的表单里按 esc 退出,退出码是 3。在选组织、等浏览器批准的面板里按 esc,回到表单。
首屏下面是输入框。屏幕底部的活动区有这些部分:正在生成的回答、计划、状态行、输入框和状态栏。状态栏左边是运行时、模型、目录和上下文用量,右边是一句提示:
Engine · deepseek-flash · ~/old-portal ? 快捷键
对话里的标记:
| 标记 | 意思 |
|---|---|
› 你的话 |
你发出的话 |
● 回答 |
智能体的回答 |
✓ 执行 ls -la · 0.2s |
工具卡片:状态、动作、对象、用时。下面是输出的末尾几行或改动摘要 |
✓、✗、○ |
工具完成、失败、还没开始 |
计划 1/3 |
智能体的计划。✓ 完成,▸ 进行中,○ 还没做 |
∴ 思考 · 2.1s |
思考过程。缺省只留一行 |
// 生成中 · 3.2s · esc 中断 |
状态行:在做什么、用时、怎么中断。斜杠闪动说明还在进行 |
2.4s · 输入 1.2k · 输出 340 |
每轮结束后的一行:用时和 token 数 |
这次说过话时,退出界面会打印续上这次对话的命令:
续上这次对话:aidc chat --runtime aidh --resume <会话 id>
Engine 的对话只存在内存里,不能续上,所以 Engine 不打印这一行。ACP 智能体也不打印。
选运行时
运行时是真正干活的智能体,界面只管你怎么看、怎么说。/runtime 随时换,aidc runtimes 看本机能用哪些。
| 运行时 | --runtime |
是什么 | 需要 |
|---|---|---|---|
| AIDH | aidh |
本机的 Harness 引擎,经 ACP 对话。能读写文件、跑命令,有风险的操作先问你 | 先用 aidc aidh install 装的引擎(或本机 Adis 装的那份),再找 aidh、hermes 命令。AIDC_AIDH_COMMAND 可以整体替换 |
| Codex | codex |
OpenAI Codex,经 codex app-server。在沙箱里干活,越界时先问你 |
本机有 codex,并运行过 codex login |
| Pi | pi |
Pi coding agent,经 pi --mode rpc。不弹确认 |
本机有 pi,并配置了模型 |
| Engine | engine |
AIDC 模型(/api/v1/models)。只聊天,不动本机,用量记在登录的组织 |
登录 |
| 数字员工 | agent |
云端的数字员工(Agent API)。工具和会话都在云端 | 环境变量 AIDC_AGENT_KEY |
ACP 是 Agent Client Protocol,智能体和客户端之间的协议。
没写 --runtime 时,界面用上次用的运行时。上次的不能用,就按 AIDH、Codex、Pi、Engine 的顺序取第一个能用的。
$ aidc runtimes
○ aidh AIDH —— 本机 Harness 引擎 · ACP;本机没有 AIDH(aidh 命令)
● codex Codex(缺省) —— OpenAI · app-server
○ pi Pi —— Pi · RPC;本机没有 pi
● engine Engine —— AIDC 模型 · 只聊天,不动本机
○ agent 数字员工 —— 云端智能体 · Agent API;需要 AIDC_AGENT_KEY
aidc runtimes 要先登录。● 表示能用,○ 表示不能用,行尾写缺什么。「(缺省)」标出现在默认的运行时。--json 输出 {"runtimes": […], "default": "…"}。
运行时起不来时,界面说明原因和下一步,并打开运行时列表让你换一个。用 --runtime acp 时不打开列表。装 Codex:npm install -g @openai/codex,然后运行 codex login。装 Pi:npm install -g @earendil-works/pi-coding-agent,再配置一个模型。
装 AIDH:照 Harness 页的一行命令把这台电脑接进组织。macOS 和 Linux 用 curl -fsSL https://ai-dc.ai/install.sh | bash -s -- --join <公司码> --name <姓名>,Windows 用 PowerShell 的 install.ps1。aidc 在 PATH 里找 aidh 命令。找不到时,用 AIDC_AIDH_COMMAND 指定完整路径。
用环境变量指定运行时的程序和凭证:
| 变量 | 作用 |
|---|---|
AIDC_AIDH_COMMAND |
整体替换 AIDH 的启动命令 |
AIDC_CODEX_COMMAND |
Codex 程序的路径 |
AIDC_PI_COMMAND |
Pi 程序的路径 |
AIDC_AGENT_KEY |
Agent Key(aidc-sk-…)。在 Console 的智能体页或 Adis 里获取 |
AIDC_AGENT_API |
Agent API 地址,缺省 https://api.ai-dc.ai/v1 |
AIDH 的档案用 --profile <名字> 或 /profile 选。档案有两种:引擎自己的命名档案,和这台电脑上开出来的数字员工,名字形如 cell-demo/ops-agent。/profile default 用默认档案。
数字员工运行时里,/model 选的是数字员工:一把 Agent Key 可以对应几个。换一个就开新对话。
接入别的智能体:
aidc chat --runtime acp -- <命令…>
这条命令接任何实现了 ACP 的智能体,例如 gemini --experimental-acp。-- 之后是启动智能体的命令。aidc 不把本机文件和终端借给智能体。智能体用自己的工具干活,有风险的操作经 ACP 问你。ACP 智能体不出现在 /runtime 列表里。
输入
在输入框里写话,按 ⏎ 发送。
- 换行:按
⌥⏎、⇧⏎或ctrl+j,或者在行尾写\再按⏎。 - 命令:输入
/列出命令,边打边筛,最多列 8 条。 - 文件:输入
@列出工作目录里的文件和目录,目录排在前面。发送的是路径文字,由智能体去读文件。 - 粘贴:超过 8 行或 1,500 字的粘贴,折叠成
[粘贴 #1 · 120 行]。发送时展开成原文。折叠的占位整块移动、整块删除。 - 排队:回答进行中,或界面还在连接运行时,你也能打字。发出的话排在这一轮之后,输入框上方显示「↳ 排队」。
- 历史:在输入框的第一行按
↑,翻出之前发过的话。按↓翻回来,回到最底下时还原你正在写的话。 - 原样发送:以
//开头的话不当命令,原样发给智能体。
@ 不列出 node_modules 和 .git。隐藏文件要先输入 .,才会出现。
快捷键
输入框为空时,按 ? 打开快捷键小面板,按任意键关闭。/help 把全部快捷键和命令打进对话记录。
| 键 | 作用 |
|---|---|
⏎ |
发送 |
⌥⏎、⇧⏎、ctrl+j |
换行。⇧⏎ 只在支持 kitty 键盘协议的终端里能和 ⏎ 区分 |
esc |
回答进行中:中断。有补全或列表:关掉它。输入框有字:连按两次清空 |
ctrl+c |
有输入时清空。没有输入、回答进行中时中断。空闲时,2 秒内连按两次退出 |
ctrl+d |
输入为空时退出。有输入时删光标后的一个字 |
↑、↓ |
多行输入里上下移动。到头时翻历史 |
tab |
补全命令和文件 |
ctrl+a、ctrl+e |
移到行首、行尾 |
ctrl+b、ctrl+f |
左移、右移一个字 |
⌥←、⌥→、⌥b、⌥f |
按词左移、右移 |
ctrl+w、⌥d |
删前一个词、删后一个词 |
ctrl+u、ctrl+k、ctrl+y |
删到行首、删到行尾、粘回刚删的 |
ctrl+_ |
撤销 |
ctrl+l |
清屏。对话仍在终端的滚动历史里 |
ctrl+z |
挂起,用 fg 回来。Windows 不支持 |
斜杠命令
输入 / 出补全列表。用 ↑、↓ 选择命令。按 tab 补全。按 ⏎ 补全并执行。参数可选的命令,按 ⏎ 就执行。参数必填的命令只补全,等你写参数。
| 命令 | 做什么 |
|---|---|
/help、/? |
命令和快捷键全表。打进对话记录,能滚动回看 |
/new |
开一个新对话 |
/clear |
清屏,并开一个新对话 |
/resume |
续上之前的对话。运行时支持续会话、又有可续的对话时,打开对话列表 |
/runtime [运行时] |
换运行时。不带参数打开列表 |
/model [模型] |
换模型。不带参数打开列表 |
/profile [档案] |
换 AIDH 的档案。/profile default 用默认档案 |
/status |
账号、运行时、会话、目录、用量和版本 |
/copy |
复制上一条回答 |
/thinking |
展开或收起思考过程 |
/theme [模式] |
模式是 auto、light 或 dark。不带参数在浅色和深色之间切换 |
/login |
换账号或组织 |
/logout |
退出登录 |
/exit、/quit、/q |
退出 |
运行时自己的命令接在这些命令后面,/help 里标出运行时的名字。AIDH 在回答进行中支持 /steer(把话插进这一轮)和 /queue(排到下一轮)。
/runtime、/model、/profile、/resume 不带参数时,打开一个列表:
↑、↓或tab移动,⏎确定,esc取消。●标出正在用的一项。- 长列表可以直接打字筛选。
- 不能用的运行时是灰色的。选它时,界面说明缺什么。
回答进行中,不能换运行时和档案,也不能开新对话、续对话、登录或退出登录。界面提示「这一轮还没结束:先 esc 中断」。不认识的命令提示「没有 /xxx 这个命令」。
确认操作
智能体要执行命令、改文件、联网等有风险的操作时,输入框的位置换成确认面板,并响一声:
╭─ 需要你确认 ───────────────────────────────╮
│ AIDH 要执行命令 │
│ npm test │
│ │
│ › 1. 允许这一次 │
│ 2. 本会话都允许 │
│ 3. 拒绝 │
╰────────────────────────────────────────────╯
↑↓ 选择 · ⏎ 确认 · 数字直接选 · esc 拒绝
第一行写运行时和它要做的事。事有五种:执行命令、修改文件、删除文件、访问网络和用工具。下面是命令、路径或查询词。
- 选择:按
1到9直接选,或用↑、↓(tab也行)移动,再按⏎。 - 拒绝:按
esc或ctrl+c。 - 选项:由运行时给出。界面把名字换成中文:允许这一次、本会话都允许、总是允许、拒绝、总是拒绝。
- 排队:同时来几个确认,一个一个问,先来的先问。
- 收尾:回答被中断或界面退出时,没回答的确认按拒绝处理。
重要
光标默认停在「允许这一次」。按 ⏎ 之前,先读清楚命令或路径。
AIDH 和 Codex 会请你确认。Pi 的设计是不弹确认,aidc 不另加。Engine 只聊天,数字员工的工具在云端跑,所以这两个运行时没有确认面板。
aidc chat -p 里没人可问:aidc 缺省拒绝,拒绝的操作记进结果的 denied。加 --yes 就自动选「允许这一次」。
警告
--yes 允许智能体做它要求的所有事。只在你信任这个目录和这个任务时使用。
不进界面:aidc chat -p
aidc chat -p 不进界面,跑一轮就退出。脚本和智能体用它。
-p 后面写提示。stdout 是终端时,回答边生成边打出来。每个新工具另起一行,以 · 开头,打到 stderr:
$ aidc chat -p "总结一下 README.md 的安装步骤" --runtime codex
· sed -n 1,80p README.md
README.md 的安装步骤有三步:安装依赖、复制 .env.example、运行 npm run dev。
stdout 不是终端,或者加了 --json 时,aidc 在结束时输出一个 JSON 对象:
$ aidc chat -p "用一句话说明 Action 是什么" --runtime engine --json
{
"runtime": "engine",
"model": "deepseek-flash",
"sessionId": "5b1f0c1e-7d3a-4a52-9c43-1f0e2a8b6d90",
"text": "Action 是 Semantic 里改数据的唯一方式:每次执行都带参数校验、权限检查和留痕。",
"stopReason": "end_turn",
"usage": {
"inputTokens": 24,
"outputTokens": 61
},
"tools": [],
"denied": []
}
JSON 的字段:
| 字段 | 含义 |
|---|---|
runtime |
用的运行时:aidh、codex、pi、engine、agent 或 acp |
model |
运行时报告的模型名。指定了 AIDH 档案时,前面带档案名 |
sessionId |
会话 id。用 --resume <会话 id> 续上。Engine 不能续 |
text |
完整的回答 |
stopReason |
end_turn、cancelled、max_tokens、refusal 或 error |
error |
只在 stopReason 是 error 时出现,写原因 |
usage |
用量。有哪些字段,看运行时报告了什么 |
tools |
这一轮用过的工具,每项有 title、kind、status、input |
denied |
被拒绝的操作,每项一行摘要。加了 --yes 时是空的 |
usage 可能有这些字段:inputTokens、outputTokens、reasoningTokens、cachedTokens、contextUsed、contextSize 和 costUsd。tools 里的 kind 是 read、edit、delete、move、search、execute、think、fetch 或 other。status 是 pending、running、done 或 failed。
规则:
-p要先登录。没登录时,退出码是 3。- 续上对话:
--continue续上交互界面在这个目录、这个运行时保存的最近一次对话(-p跑的对话不记进去)。--resume <会话 id>续指定的对话。-p里的--resume必须带 id。 - 没人确认:缺省拒绝,见确认操作。
- 退出码 0 不等于回答完整。检查
stopReason:max_tokens表示被截断,refusal表示模型拒绝回答。 - 运行时出错时,
stopReason是error,退出码是 8。回答被中断时,退出码是 130。 - 运行时起不来(例如没装)时,退出码是 1,错误里带安装提示。
- 没有提示文字,stdin 又是终端时,退出码是 2。
退出码的完整含义见 CLI 概览。
提示也可以从 stdin 传入。不写提示文字时,aidc 把 stdin 当作提示。写了提示文字,aidc 就不读 stdin。要给内容加上要求,先把两者拼在一起,再送进 stdin:
git diff | aidc chat -p # stdin 就是提示
(echo "帮我写提交说明:"; git diff) | aidc chat -p --json | jq -r .text # 先写要求,再接内容
终端与外观
界面在终端里直接画,不切换到备用屏幕,也不抓鼠标。所以滚动、选择和复制都用终端自己的功能。
主题(浅色或深色)按这个顺序决定:
/theme light或/theme dark:记进配置,优先级最高。/theme auto取消固定。- 环境变量
AIDC_THEME=light或AIDC_THEME=dark。 - 终端报告的背景色。
- 环境变量
COLORFGBG。 - 都没有时,macOS 自带终端用浅色,其他终端用深色。
其他设置:
| 设置 | 作用 |
|---|---|
NO_COLOR |
设成任何非空值,关闭颜色 |
FORCE_COLOR |
0 关闭,1 16 色,2 256 色,3 真彩色 |
AIDC_REDUCED_MOTION=1 |
关闭加载动效,斜杠不再闪动 |
AIDC_HYPERLINKS |
1 强制开可点击链接,0 强制关 |
AIDC_CONFIG_DIR |
换配置目录,缺省 ~/.aidc |
没设 FORCE_COLOR 时,界面按 COLORTERM、TERM_PROGRAM 和 TERM 判断终端的颜色能力。可点击链接缺省只在已知支持的终端里开。这些终端是 iTerm2、WezTerm、VS Code、Ghostty、Windows Terminal 和 kitty。
中日韩文字和 emoji 占两格,组合符号占零格。输入框里放着真光标,所以中文输入法的候选框跟着输入框里的光标走。窗口大小变了,界面按新宽度重画。更早的内容留在终端的滚动历史里。
选择记在 ~/.aidc/config.json 的 tui 里。里面有运行时、AIDH 档案、每个运行时的模型、配色、思考过程是否展开和最近的对话。退出登录不清它。输入历史在 ~/.aidc/history,权限是 0600,启动时读最近 500 条。
下一步
- CLI 概览:安装、登录、输出和退出码。
- 常用流程:按任务写好的完整步骤。
- 智能体接入:让智能体开发、测试、发布应用。
- 参考 · 账号与环境:登录、个人工作台、更新。
- 参考 · 模型与感知:
aidc model chat等调模型的命令。
本页由 developer/docs/cli-chat.md 生成 · Markdown 原文 · llms.txt