终端集成
wescode 将终端深度集成到 AI 工作流中,AI 可以执行命令、分析输出、自动验证。
三级命令路由
wescode 对 AI 执行的终端命令做智能分类和路由:
静默命令(Silent)
后台执行,用户不可见:
rg(ripgrep 搜索)git status、git diffls、cat、wc- 其他纯探索/查询类命令
特点:零干扰,AI 自动收集信息。
验证命令(Verification)
只读终端标签 [AI] ... 中执行:
go build ./...(编译检查)go test ./...(测试)go vet ./...(静态分析)npm test、cargo test等
特点:用户可以实时观察进度和输出。
交互命令(Interactive)
在用户终端标签中执行:
npm start(启动开发服务器)docker compose upnpm install- 其他需要用户交互的命令
特点:完全交互式,用户可以介入。
路由优先级
用户标记 user_visible=true → 交互终端
isVerificationCommand() 匹配 → 验证终端
默认 → 静默执行
终端与 AI 协作
AI 自动执行
AI 在对话中自动使用终端:
用户:"帮我检查项目能不能编译"
AI 执行:
1. go build ./... → 检查编译
2. go vet ./... → 静态分析
3. 报告结果
引用终端输出
使用 @ 引用终端内容:
"@终端 这个报错是什么意思"
"帮我分析终端里的这个 panic 栈"
后台进程
启动长运行进程:
"后台运行 npm start"
"启动 docker compose 但不要等它"
后台进程完成后 AI 会收到通知。
QualityGate 验证
自动验证
AI 代码变更后自动运行验证:
| 级别 | 验证内容 | 时机 |
|---|---|---|
| L0 | go vet + 相关测试 | 每次编辑后 |
| L1 | 全包编译 + lint | 提交前 |
| L2 | 全量测试 | 按需 |
验证结果
验证结果直接反馈到对话中:
- ✅ 编译通过
- ✅ 测试通过 (42/42)
- ❌
TestUserCreate失败 → AI 自动分析并修复
命令建议
智能推荐
AI 根据上下文推荐合适的命令:
项目有 Makefile → "你可以用 make test 运行测试"
项目有 docker-compose → "用 docker compose up 启动服务"
Go 项目 → "go test -race ./... 检查竞态"
命令解释
不确定命令的含义时:
"解释一下 find . -name '*.go' -exec grep -l 'TODO' {} +"
"这个 awk 命令是做什么的"
终端管理
多终端
支持多个终端实例:
- 不同终端用于不同任务
- AI 创建的验证终端自动命名
- 终端间互不影响
工作目录
终端工作目录策略:
- CLI 模式:使用进程当前目录
- IDE 模式:使用 VS Code 工作区根目录
- AI 执行命令自动在正确目录下
安全
Exec 安全
wescode 对终端执行有安全措施:
- Governance 治理:Hardline 拦截灾难命令
- DenyPaths:禁止在受保护路径执行
- 进程组管理:超时后杀掉整个进程组
- 环境隔离:SecretRef 变量不进子进程
受拦截的命令
以下命令会被 Hardline 拦截:
rm -rf /:(){ :|:& };:(fork bomb)shutdown、rebootkill引擎进程
注意事项
- AI 执行的命令默认在工作区目录下运行
- 长时间运行的命令可以在后台执行
- 终端输出会作为 AI 的上下文
- 敏感命令需要用户确认
- 超时的命令会被自动终止