xuanzhu 0.8.5 → 0.8.6

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.
Files changed (3) hide show
  1. package/README.md +23 -8
  2. package/dist/cli.js +439 -398
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -175,6 +175,7 @@ xzh
175
175
  | `xzh init` | 扫描项目并生成 / 补全 `AGENTS.md` 与 `docs/`(已有内容只补缺失小节) |
176
176
  | `xzh init --dry-run` | 只预览将生成的内容,不写文件 |
177
177
  | `xzh init --force` | 整体覆盖已有规范文件(覆盖前自动备份) |
178
+ | `xzh agents.md` | 让当前模型根据项目实际内容重写 / 整合 `AGENTS.md`(支持 `--dry-run`、`--yes`) |
178
179
  | `xzh skill` | 交互式管理技能:启用 / 禁用 / 删除(禁用的技能对模型不可见) |
179
180
  | `xzh skill list` | 列出全部技能(来源与状态,含已禁用项) |
180
181
  | `xzh skill enable/disable <名称>` | 启用 / 禁用技能 |
@@ -341,7 +342,7 @@ xzh model remove openai/gpt-4o # 删除(id / 模型名 / 序号 / 别
341
342
  实测中用户只发了句「在吗」,它却接着去起服务、查凭据。
342
343
 
343
344
  > 裁剪依据是**估算**的 token 数(中文约 1 字符/token,英文与代码约 3.5 字符/token),
344
- > 不依赖 tokenizer,属保守近似。项目规则(`.xuanzhu/rules.md`)与 `systemPromptExtra`
345
+ > 不依赖 tokenizer,属保守近似。项目规则(`AGENTS.md`)与 `systemPromptExtra`
345
346
  > 会全文进入系统提示词,写得过长会挤占历史额度 —— 占去窗口一半以上时界面会给出提示。
346
347
  >
347
348
  > 估算偏差还会被**真实用量回填**逐步校正:每次请求结束后,玄猪拿服务端返回的
@@ -779,14 +780,14 @@ AutoX.js 那侧也可用环境变量 `XZH_DEVICE_PORT` 指定端口。
779
780
 
780
781
  ## 项目目录(.xuanzhu/)
781
782
 
782
- 首次在某个项目中运行 `xzh` 时,会在项目根自动创建 `.xuanzhu/`,用于保存**项目级记忆与规则**
783
- (对应 CodeBuddy 的 `.codebuddy/memory/`):
783
+ 首次在某个项目中运行 `xzh` 时,会在项目根自动创建 `.xuanzhu/` 保存**项目级记忆**;
784
+ 项目规范使用根目录 `AGENTS.md`,只在用户执行 `xzh init` 且文件不存在时创建:
784
785
 
785
786
  | 路径 | 用途 |
786
787
  | --- | --- |
787
788
  | `.xuanzhu/memory/MEMORY.md` | 长期记忆:**按主题整理的结论库**(稳定事实、口径与踩坑),启动时会注入系统提示词(节选) |
788
789
  | `.xuanzhu/memory/YYYY-MM-DD.md` | 每日日志:按天追加的进展与过程记录 |
789
- | `.xuanzhu/rules.md` | 项目规则,内容作为「项目级指令」注入系统提示词。**首次初始化时若项目根已有 `AGENTS.md`**,则写入一条「必须严格按照 `AGENTS.md` 执行」的指令(而非复制其内容)—— 这样 `AGENTS.md` 始终是唯一真实来源,你改完它模型下次读取即是新版 |
790
+ | `AGENTS.md` | 项目根的项目规范;**内容会直接注入系统提示词**(不再只让模型“记得去读”),大小写兼容 |
790
791
 
791
792
  记忆由玄猪自行维护:
792
793
 
@@ -888,7 +889,8 @@ v2ray / Clash / mihomo / sing-box **本地 SOCKS/HTTP 入站端口**,验证后
888
889
 
889
890
  | 文件 | 内容 |
890
891
  | --- | --- |
891
- | `AGENTS.md` | 入口级:项目概览、常用命令、两层目录树、开发约定、文档索引(保持精简) |
892
+ | `AGENTS.md` | **只放入口级大纲**:项目概览、关键命令、顶层目录、必守约定、文档索引;完整内容放 `docs/` |
893
+ | `docs/README.md` | 文档索引:AGENTS.md 与 `docs/` 各文件的对应关系 |
892
894
  | `docs/ARCHITECTURE.md` | 目录结构、模块概览、入口与运行方式;无法确定的部分标注「待补充」 |
893
895
  | `docs/COMMANDS.md` | 命令表 + `package.json` scripts 原始内容(有命令时才生成) |
894
896
  | `docs/CONVENTIONS.md` | 从配置文件探测到的风格与工程约定(有配置时才生成) |
@@ -900,11 +902,24 @@ v2ray / Clash / mihomo / sing-box **本地 SOCKS/HTTP 入站端口**,验证后
900
902
  | `xzh init --force` | 整体覆盖已有规范文件(覆盖前写 `.bak-<时间戳>` 备份) |
901
903
  | `xzh init --yes` | 跳过确认(脚本 / CI) |
902
904
  | `/init` | 对话内执行(写入前弹确认框;支持 `/init --dry-run`、`/init --force`) |
905
+ | `/agents.md` | 对话内让模型重写 / 整合 `AGENTS.md`(支持 `/agents.md --dry-run`) |
903
906
 
904
907
  - **幂等**:再次运行内容无变化时不写盘,只报「已是最新」;
905
908
  - **不自动「修正」**:已有同名小节一律保留(不改写团队手写约定),只补缺失部分;
906
- - **不在进入项目时自动执行**:启动保持只读;需要时手动运行,避免每次启动都扫描、写文件。
907
- - 已有的 `.xuanzhu/rules.md` 会在项目根存在 `AGENTS.md` 时要求模型严格遵循它,因此生成的规范会直接影响后续对话 —— 请像维护代码一样维护它。
909
+ - **不在进入项目时自动扫描/生成**:`xzh init` 需要手动运行;启动不会创建 `AGENTS.md`,也不会扫描仓库。
910
+ - 项目根 `AGENTS.md` 会**直接注入系统提示词**;启动不会创建它,只有 `xzh init` 在文件不存在时生成入口模板。请像维护代码一样维护它。
911
+
912
+ ## 用模型整理 AGENTS.md(`xzh agents.md` / `/agents.md`)
913
+
914
+ `xzh init` 是确定性的扫描与增量补充;`xzh agents.md` 会调用当前模型,根据项目扫描结果
915
+ 和现有 `AGENTS.md` 做一次重写:
916
+
917
+ - 不存在 `AGENTS.md`:直接根据项目事实编写,不做整合;
918
+ - 已存在:保留仍然有效的用户约定,合并重复内容,删除空模板/过时内容;
919
+ - 写入前展示预览并确认,覆盖旧文件时自动备份为 `AGENTS.md.bak-<时间戳>`;
920
+ - 模型只使用扫描事实、现有 AGENTS、README/docs 摘要,不读取依赖或构建产物;
921
+ - 仍不编造命令和路径;失败时不会写入半成品;
922
+ - 强制保留「文档同步」小节:代码改动同步到 AGENTS/docs,md 设计变化需额外告知用户。
908
923
 
909
924
  ## 内置技能
910
925
 
@@ -1034,7 +1049,7 @@ description: 一句话说明该技能的用途与适用场景
1034
1049
  kitty / Ghostty 会把该 xterm 兼容序列映射成「所有按键都用转义码上报」而破坏普通输入,
1035
1050
  故玄猪对这两类终端不发送请求,请改用 `Alt+Enter` 或在终端侧自行配置。
1036
1051
 
1037
- 界面内命令:`/help`、`/clear`、`/tools`、`/context`、`/compact`、`/focus [文件]`、`/device`、`/image`(`/paste`)、`/copy [N|A-B|last|all]`、`/mouse`、`/reset`、`/resume [编号]`、`/cwd`、`/switch <目录>`、`/term`、`/model [编号|id|模型名]`、`/goal <目标>`(`/goal [status|continue|off]`)、`/memory [global|show [global]|clear [global]]`、`/usage`、`/undo [N]`、`/init [--dry-run|--force]`、`/auto [on|off]`、`/intent [on|off]`、`/exit`。
1052
+ 界面内命令:`/help`、`/clear`、`/tools`、`/context`、`/compact`、`/focus [文件]`、`/device`、`/image`(`/paste`)、`/copy [N|A-B|last|all]`、`/mouse`、`/reset`、`/resume [编号]`、`/cwd`、`/switch <目录>`、`/term`、`/model [编号|id|模型名]`、`/goal <目标>`(`/goal [status|continue|off]`)、`/memory [global|show [global]|clear [global]]`、`/usage`、`/undo [N]`、`/init [--dry-run|--force]`、`/agents.md [--dry-run]`、`/auto [on|off]`、`/intent [on|off]`、`/exit`。
1038
1053
 
1039
1054
  ### 选中与复制
1040
1055