跳转至

xun · 终端会话

在当前目录里以 REPL 方式与智能体对话。

xun                                   # 交互式
xun "Write a hello world python script and save it to hello.py"
xun --non-interactive "one shot prompt"

参数

参数 形式 默认 说明
instruction 位置参数,可选 空 首条指令;非交互模式下必填
--non-interactive 开关 False 单轮执行后退出,不进入 REPL

只有当 stdin 与 stdout 都是 TTY 且未指定 --non-interactive 时才进入交互模式;否则要求提供指令,缺失则报 Instruction is required in non-interactive mode.。管道、重定向、CI 环境都会自动落到非交互分支。

对应的 Python API:

from xun import setup_agent, interactive_session

agent = setup_agent(default_tools=True, default_commands=True)   # 已 initialize()
interactive_session(agent, task="")

输入语法

输入 含义
任意文本 作为用户消息(含图片时见下一行)
[image:cat.png image:https://example.com/dog.png] 比较这两张图 附带图片;每个 token 必须以 image: 开头,缺少 ] 会抛 Invalid image syntax: missing closing ']'.,它发生在读取输入阶段、不在会话循环的捕获范围内,会话随即退出。只接受 PNG/JPEG/WebP/GIF,单个资源不超过 10 MB,超限按普通错误报出
/命令 参数 执行会话命令,见下表
\/不是命令 以 \/ 开头表示普通消息,用于避开命令前缀
Ctrl+C 取消当前执行:弹出最后一条用户消息并打印 Execution interrupted by user.

任何命令都可以加 -h / --help 查看长帮助,例如 /policy -h。

会话命令

xun 注册三类命令:内置默认命令、policy 策略命令组(使用默认工具集时)、以及终端专有的三条命令。

命令 说明
help 显示命令列表
tokens 显示会话已用 token 数
history 显示历史消息
clear 清空历史(保留系统提示);clear all 同时清理临时目录中的文件
continue 继续执行
retry 从最后一条用户消息重新开始并立即执行
revise 回到最后一条用户消息(编辑后用 continue 继续)
compact 压缩会话;compact toolcall 只压缩旧工具结果
config 打印当前生效的配置 JSON
tools 列出已注册工具(含所需模型能力)
extensions 列出发现的扩展及其状态(loaded / uninitialized / skipped / failed)
save 保存当前会话历史
load latest / load 000003 载入最近一次或指定编号的历史(编号按目录名原样匹配,需补零到 6 位)
yolo 切换自动确认(You Only Look Once)
long [终止标记] 进入多行输入模式,默认以单独一行 . 结束
render <路径> 把会话历史渲染成 HTML 写入指定文件
exit 退出

policy:权限允许列表

写操作与命令执行受允许列表约束(详见 工具系统)。

子命令 说明
policy path_allowlist_add <路径> 允许写入某文件或目录
policy path_allowlist_remove <路径> 移除写入允许项
policy path_allowlist 列出写入允许列表(目录带结尾 /)
policy cmd_allowlist_add <命令> 允许某条命令免确认
policy cmd_allowlist_remove <命令> 移除命令允许项
policy cmd_allowlist 列出命令允许列表

历史与持久化

save / load 使用 Store,落盘路径为 {XUN_HOME}/conversation/{NNNNNN}.conversation/conversation.json,load latest 取编号最大的一份。