xuanzhu 0.4.5 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +53 -5
- package/dist/cli.js +374 -313
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -30,6 +30,8 @@ xzh # 启动
|
|
|
30
30
|
- **默认全自动**:`autoApprove` 默认为 `true`,**所有工具都直接执行、不做任何确认** —— 包括写文件、执行命令、读取工作区之外的文件,以及读取凭据类文件(`~/.ssh`、`.env`、`~/.xzh/config.json` 等)。开箱即用,不打断。`/auto off` 可切换为写文件与执行命令逐项确认。
|
|
31
31
|
- 如果希望读取凭据类文件时确认一次(防止密钥被读进上下文后转交给模型服务商),把 `confirmSensitiveRead` 设为 `true`,默认关闭。
|
|
32
32
|
- **多轮自主执行**:自动串联工具调用完成任务,可随时 `Ctrl+C` 中断。
|
|
33
|
+
- **目标模式(`/goal`)**:设一个目标,玄猪会持续自动推进(每轮答复后立刻继续),
|
|
34
|
+
直到它调用 `goal_complete` 声明完成 —— 中途不需要你再发「继续」(见「目标模式」)。
|
|
33
35
|
- **任务拆分**:3 步以上的复杂任务会先用 `todo_write` 列出计划并逐步更新,
|
|
34
36
|
顶部信息区实时显示进度条(`任务 2/5` 与当前进行项)。
|
|
35
37
|
- **子代理协作(可并行)**:需要大范围调研(跨多个文件 / 目录 / 命名约定)时,用 `task`
|
|
@@ -164,14 +166,24 @@ xzh
|
|
|
164
166
|
| `xzh skill list` | 列出全部技能(来源与状态,含已禁用项) |
|
|
165
167
|
| `xzh skill enable/disable <名称>` | 启用 / 禁用技能 |
|
|
166
168
|
| `xzh skill delete <名称> [--yes]` | 删除技能(仅限用户技能;内置技能请用 disable) |
|
|
167
|
-
| `xzh errors` |
|
|
169
|
+
| `xzh errors` | 列出玄猪自动记录的错误报告(`~/.xzh/errors/`,等价 `errors list`) |
|
|
170
|
+
| `xzh errors list` | 列出全部报告(最近的在前) |
|
|
168
171
|
| `xzh errors show <序号\|签名>` | 查看一份报告的完整内容(JSON) |
|
|
172
|
+
| `xzh errors path` | 打印报告目录 |
|
|
169
173
|
| `xzh errors clear [--yes]` | 清空错误报告 |
|
|
170
174
|
| `xzh device connect <手机IP>` | 连接手机上的 AutoJs6(服务器模式)并常驻 |
|
|
171
175
|
| `xzh device serve` | 反向:等手机上的 AutoX.js 连过来 |
|
|
172
|
-
| `xzh device
|
|
176
|
+
| `xzh device status\|list` | 查看桥与已连接设备 |
|
|
177
|
+
| `xzh device push <文件>` | 把脚本保存到手机(不运行) |
|
|
178
|
+
| `xzh device run <文件>` | 把脚本推到手机并运行 |
|
|
179
|
+
| `xzh device stop` | 停止手机上正在运行的脚本 |
|
|
173
180
|
| `xzh device logs` | 查看手机上的脚本日志 |
|
|
181
|
+
| `xzh device check` | 体检:无障碍服务是否就绪、能否操作手机 |
|
|
182
|
+
| `xzh device shot [输出文件]` | 截取手机当前屏幕并保存为 JPEG |
|
|
174
183
|
| `xzh device apk` | 该装哪个 AutoJs6 安装包、去哪里下载 |
|
|
184
|
+
| `xzh --intent` / `--no-intent` | 仅本次运行启用 / 关闭意图分析(不写回配置) |
|
|
185
|
+
| `xzh help` | 查看帮助(同 `--help`) |
|
|
186
|
+
| `xzh version` | 查看版本(同 `--version`) |
|
|
175
187
|
| `xzh --help` | 查看帮助 |
|
|
176
188
|
| `xzh --version` | 查看版本 |
|
|
177
189
|
|
|
@@ -359,6 +371,7 @@ API Key 也可以来自环境变量,优先级低于配置文件:
|
|
|
359
371
|
| `memory_write` | 写入项目记忆(长期记忆 / 当日日志),长期记忆超限时自动精简 | 否 |
|
|
360
372
|
| `memory_compact` | 用精简后的完整内容重写长期记忆(把新结论并入主题小节 / 语义压缩) | 否 |
|
|
361
373
|
| `todo_write` | 创建 / 更新任务列表(每次提交完整列表) | 否 |
|
|
374
|
+
| `goal_complete` | 目标模式(`/goal`)下声明目标已全部完成(仅主代理可用) | 否 |
|
|
362
375
|
| `task` | 派生子代理(默认 `code-explorer`)执行子任务,只返回结论;一轮内多个调用**并行**执行 | 否 |
|
|
363
376
|
| `read_file` | 读取文件(带行号,支持偏移与行数限制) | 否 |
|
|
364
377
|
| `list_dir` | 列出目录内容 | 否 |
|
|
@@ -407,8 +420,8 @@ API Key 也可以来自环境变量,优先级低于配置文件:
|
|
|
407
420
|
| `prompt` | 交给子代理的完整任务描述。**子代理看不到主对话**,必须自包含;`code-explorer` 还应在其中写明探索力度(`quick` / `medium` / `very thorough`) |
|
|
408
421
|
| `subagent_name` | 要派生的子代理名称,默认 `code-explorer` |
|
|
409
422
|
|
|
410
|
-
约束:子代理恒不提供 `task`(禁止无界递归)、`todo_write` 与
|
|
411
|
-
|
|
423
|
+
约束:子代理恒不提供 `task`(禁止无界递归)、`todo_write`、`goal_complete` 与
|
|
424
|
+
`memory_write` / `memory_compact`(任务列表、目标与记忆由主代理统一维护)。它的工具活动以 `[code-explorer: <任务说明>]` 前缀显示在
|
|
412
425
|
输出区 —— 并行时会交错,前缀里的任务说明用于区分是谁在输出;危险操作确认仍会转发给你
|
|
413
426
|
(并行时多个确认会**排队**逐个弹出,不会互相覆盖)。
|
|
414
427
|
|
|
@@ -440,6 +453,36 @@ API Key 也可以来自环境变量,优先级低于配置文件:
|
|
|
440
453
|
`memory_compact` 做语义压缩:`memory_write` 的返回里会直接给出提示,系统提示词也会带
|
|
441
454
|
「⚠ 长期记忆仍然过长」段落。
|
|
442
455
|
|
|
456
|
+
## 目标模式(`/goal`)
|
|
457
|
+
|
|
458
|
+
`/goal <目标>` 让玄猪进入**目标模式**:设定之后它会**持续自动推进**,每轮给出答复后立刻继续,
|
|
459
|
+
直到它调用 `goal_complete` 声明目标完成 —— 不需要你再发「继续」。
|
|
460
|
+
|
|
461
|
+
```
|
|
462
|
+
/goal 把项目里所有 console.log 换成统一 logger,并跑通测试
|
|
463
|
+
```
|
|
464
|
+
|
|
465
|
+
| 命令 | 说明 |
|
|
466
|
+
| --- | --- |
|
|
467
|
+
| `/goal <目标>` | 设定目标并**立即开始**自动执行(重复使用会替换原目标) |
|
|
468
|
+
| `/goal` / `/goal status` | 查看当前目标、状态(执行中 / 已暂停 / 已完成)与已执行轮数 |
|
|
469
|
+
| `/goal continue` | 继续一个已暂停的目标(别名 `resume` / `go`) |
|
|
470
|
+
| `/goal off` | 清除目标(别名 `stop` / `clear` / `cancel`) |
|
|
471
|
+
|
|
472
|
+
- **何时结束**:模型调用 `goal_complete`(要求说明做了什么、如何验证)。目标确实做不下去时
|
|
473
|
+
(缺凭据、外部依赖不可用)它也应当调用它并写明阻塞原因,而不是无限空转。
|
|
474
|
+
- **随时可停**:`Ctrl+C`(或 `Ctrl+D`)中断当前轮并暂停循环,**目标会保留**;
|
|
475
|
+
输入 `/goal continue` 接着跑,`/goal off` 清除。
|
|
476
|
+
- **进度可见**:顶部信息区与状态栏显示 `◎goal`、目标、当前轮次与已用时长;多步任务仍由
|
|
477
|
+
`todo_write` 维护清单,自动继续时会带着清单提示模型「从没做完的地方接着做」。
|
|
478
|
+
- **零推进自动暂停**:连续 3 轮**没有执行任何工具**(只输出「好的,我接下来会…」这类文字)时
|
|
479
|
+
自动暂停并说明原因 —— 这种情况下继续发「继续」只会得到同样的表态。
|
|
480
|
+
补充更具体的要求后 `/goal continue` 即可继续。
|
|
481
|
+
- **安全阀**:最多自动继续 40 轮,到上限会暂停并提示(避免目标本身含糊时无限烧 token)。
|
|
482
|
+
- **确认框仍然生效**:目标模式**不会**自动打开 `/auto`。未开启自动批准时,写文件 / 执行命令
|
|
483
|
+
仍会弹确认,确认后循环继续;想全程无人值守请先 `/auto on`。
|
|
484
|
+
- `/reset`、`/resume`、`/switch` 会清掉当前目标(它们替换了目标所依赖的对话上下文)。
|
|
485
|
+
|
|
443
486
|
## 图片输入(Ctrl+V)
|
|
444
487
|
|
|
445
488
|
在输入框按 **Ctrl+V**(或 `/image`、`/paste`)会把**系统剪贴板里的图片**加为本轮附件,
|
|
@@ -590,6 +633,11 @@ AutoX.js 那侧也可用环境变量 `XZH_DEVICE_PORT` 指定端口。
|
|
|
590
633
|
- **启动时**与 **`/switch` 切换目录时**,若该目录下尚无 `.xuanzhu`,会自动创建
|
|
591
634
|
- 因此每个项目目录各自拥有独立的记忆与规则;`~/.xzh` 仅作**全局配置目录**
|
|
592
635
|
(config.json / 会话 / 日志 / 技能),不参与项目记忆
|
|
636
|
+
- **查看 / 清空**:`/memory` 显示记忆目录、长期记忆字符数与每日日志份数;
|
|
637
|
+
`/memory clear` 清空长期记忆与全部每日日志。清空**必须二次确认**:确认框默认停在「拒绝」,
|
|
638
|
+
要按 `y`(或 ← → 切到「允许」再回车)才会执行,一个回车不会误删。它只删
|
|
639
|
+
`.xuanzhu/memory/` 下的记忆文件,**不会**删除 `~/.xzh/sessions/` 的会话存档,
|
|
640
|
+
清空后系统提示词立即刷新(后续请求不再注入旧记忆)
|
|
593
641
|
|
|
594
642
|
> 技能与 CLI 为**全局通用**:技能位于 `~/.xzh/skills`(叠加内置),CLI 安装在系统,均不受项目限制。
|
|
595
643
|
|
|
@@ -720,7 +768,7 @@ description: 一句话说明该技能的用途与适用场景
|
|
|
720
768
|
kitty / Ghostty 会把该 xterm 兼容序列映射成「所有按键都用转义码上报」而破坏普通输入,
|
|
721
769
|
故玄猪对这两类终端不发送请求,请改用 `Alt+Enter` 或在终端侧自行配置。
|
|
722
770
|
|
|
723
|
-
界面内命令:`/help`、`/clear`、`/tools`、`/device`、`/image`(`/paste`)、`/copy [N|A-B|last|all]`、`/mouse`、`/reset`、`/undo`、`/resume [编号]`、`/cwd`、`/switch <目录>`、`/term`、`/model [编号|id|模型名]`、`/auto [on|off]`、`/intent [on|off]`、`/exit`。
|
|
771
|
+
界面内命令:`/help`、`/clear`、`/tools`、`/device`、`/image`(`/paste`)、`/copy [N|A-B|last|all]`、`/mouse`、`/reset`、`/undo`、`/resume [编号]`、`/cwd`、`/switch <目录>`、`/term`、`/model [编号|id|模型名]`、`/goal <目标>`(`/goal [status|continue|off]`)、`/memory [clear]`、`/auto [on|off]`、`/intent [on|off]`、`/exit`。
|
|
724
772
|
|
|
725
773
|
### 选中与复制
|
|
726
774
|
|