文件列表与文档查看
ls 用彩色表格展示文件名、类型、大小和修改时间;管道筛选文件,show 展示文档内容。提示符同时给出当前目录与 Git 状态。
目录、变量和别名在会话中延续;补全、历史和行内建议帮助你少打字。
查询文件和 JSON,筛选、排序、投影;用 --json 将结果交给其他程序。
把一行命令扩展成函数、循环和条件;在终端里完成多行 AutoScript。
从最初的两张界面截图认识 AutoShell:熟悉的提示符、可读的表格和连续的命令记录。
ls 用彩色表格展示文件名、类型、大小和修改时间;管道筛选文件,show 展示文档内容。提示符同时给出当前目录与 Git 状态。
Shell 提示符下连续查看目录和磁盘用量,再用 where、select 处理字段,to_json 输出结果。它展示了普通终端操作与结构化数据处理的结合。
用快捷键在命令、脚本编辑与 AI 对话之间切换。每种形式都保留独立图示,点击可放大查看。
F1 将输入锁定为 Shell 命令,右侧显示 Shell,命令提示符变为蓝色。连续运行命令时保留该模式,再按 F1 可解除锁定。
F2 打开带行号的编辑框。Enter 换行,F5 或 Ctrl+Enter 执行,Esc 取消;运行结束回到普通提示符。下面还有三个完整脚本实例。
F3 打开 AI 会话,右侧显示 AI,输入提示符为 ?。它需要可用的模型服务;Esc 可离开并回到 Shell。
上方两张为原生终端截图;本区三张按 2026-09-30 的实际 PTY 交互记录排版重绘。F3 只展示输入区,历史内容未纳入图片。
进入 ash 后,命令运行完会回到提示符。你可以在同一会话里切换目录、保留变量、加载脚本和管理后台作业。
F3 需要模型服务配置;本次展示没有调用外部模型。F4 已退役。
ls 返回文件记录,from_json 解析 JSON。筛选与排序访问字段,不需要先拆分文本列。
ls | .type == "dir" | select .name | first 5
cat users.json | from_json | .age > 30 | select .name .age把 users.json 保存到当前目录即可运行下面的查询。 下载 users.json ↗
F2 打开多行编辑器,Enter 换行,F5 或 Ctrl+Enter 运行。每次运行结束,回到普通提示符。
定义分类函数,对数组中的每个分数调用函数。
fn bucket(n) {
if n >= 80 { return "high" }
return "low"
}
var values = [95, 82, 61]
for v in values {
print(v.str() + ":" + bucket(v))
}95:high
82:high
61:lowF5 是终端可稳定发送的运行键;Ctrl+Enter 的识别取决于终端是否传递修饰键。三张图均来自 F2 编辑器中通过 F5 的实际运行,并按 PTY 记录重绘。
交互会话里的命令可以用 ash -c 执行;多行代码可以保存为 .ash 文件。CLI 启动参数决定 JSON 输出和执行策略。
--dry-run 展示待执行操作;--read-only 拒绝写操作。
--sandbox 限制内置文件命令与重定向路径;--allow 和 --no-exec 控制命令执行。
--audit 输出 JSONL 审计日志;--no-network 拦截相应网络命令。
ash --dry-run -c 'touch output.txt'
ash --read-only -c 'touch output.txt'
ash --audit ash-audit.jsonl -c 'pwd'路径策略覆盖 ash 管理的文件操作。外部程序自身的文件访问需要操作系统层面的隔离;使用外部程序时,应结合命令限制。
将构建出的 ash 加入 PATH 后,选择适合你的入口。
运行 ash,然后直接输入命令。
ash用于脚本和其他程序的命令调用。
ash --json -c 'ls | sort .size desc | select .name .size | first 5'构建需要 Rust 工具链,以及同级目录中的 auto-lang、auto-ai 和 auto-shell 仓库。请按源码仓库说明准备依赖;在 auto-shell/ash 中构建 CLI:
cargo build --release -p ash
cargo run --release -p ash本页展示依据 2026-09-29/30 的源码构建与实跑记录。AutoLang 网站的 v0.5 发布号与 ash v0.1.0 的程序版本分别标注。