# 安装 DxC

> 本文的公开固定地址为 `https://deployxai.com/dxc/install.md`。宿主 Agent 应读取原始 Markdown，
> 不从功能介绍页猜测命令或安装目录。

DxC 可安装到 WorkBuddy、Codex，以及采用 Agent Skills 格式的其他本机 Agent。正在执行安装的宿主
必须先识别自己的**一等用户级 Skill 目录**，再选择下面对应的命令。不得把
`~/.agents/skills/` 当作所有宿主的默认目录，也不得通过扫描主目录猜测宿主。

安装拓扑只有一种：`dxc` CLI 安装到当前用户本机的 npm 标准全局可执行位置；14 个官方 Skill
安装到当前宿主 Agent 实际读取的一等用户级 Skill 目录。Skill 不携带、下载或临时解析另一份 CLI；
任何 Skill 执行 DxC 动作时，都只调用 PATH 上已经完成版本核验的本机 `dxc`。

安装命令没有默认 target。没有提供 `--target` 或 `--directory` 时会拒绝执行，避免出现文件已经
写入、宿主却无法发现的假成功。安装只写入选定的 Skill 目录，不会自动登录微信、扫描文章、上传
内容或创建草稿。

宿主 Agent 按以下顺序执行：

1. 从自身运行时或官方文档确定一等用户级 Skill 目录，不询问用户猜一个目录；
2. 从 npmjs 精确回读指定版本，再把该版本 CLI 一次性安装到 npm 的标准全局位置；
3. 用 `where dxc` 或 `command -v dxc` 确认全局入口已进入 PATH，并核对 `dxc version --json`；
4. 只执行一个对应的 `--target`，或只执行一个 `--directory`，两者不得同时提供；
5. 检查 Skill 安装 JSON 的 `cliVersion`、`skillSetVersion` 相同，并有 14 个 `installed`/`skipped` 项；
6. 用同一个 `dxc doctor` 核验指定 Skill 目录，再重新加载 Skill 索引；
7. 按宿主原生调用方式发起一次 DxC 任务，再继续微信登录和公众号绑定。

当前固定版本为 `0.3.24`。只有 npmjs 已返回该精确版本时，才能执行线上安装：

```text
npm view @deployxai/dxc@0.3.24 version --registry=https://registry.npmjs.org/
```

安装只允许访问上面的官方 registry（注册表）。DNS、下载、完整性或全局安装失败时停止，不循环
重试、不换版本，也不改用仓库源码或过期缓存冒充已发布包。全局安装完成后，正常 Skill 任务只调用
PATH 中的 `dxc`，不再使用 npm、npx 或其他包执行器联网解析。

需要 Node.js 22.16 及后续 22.x，或 Node.js 24 及以上版本。Windows 使用 `npm.cmd install --global`
和 `where dxc`；macOS/Linux 使用 `npm install --global` 和 `command -v dxc`。如果入口不在 PATH，
先用 `npm prefix --global` 确认 npm 的标准全局位置并修正当前用户 PATH，重新打开终端后再核验；
不得硬编码某个用户的绝对路径。

宿主能力核验日期：2026-08-21。Codex 的当前内置安装器把用户 Skill 安装到
[`$CODEX_HOME/skills`（默认 `~/.codex/skills/`）](https://github.com/openai/codex/blob/main/codex-rs/skills/src/assets/samples/skill-installer/SKILL.md)，
并使用
[`$<skill-name>`](https://github.com/openai/codex/blob/main/codex-rs/app-server/README.md#skills)
显式调用；WorkBuddy 当前通过
[`/` 唤起 Skill 列表](https://www.codebuddy.cn/docs/workbuddy/Changelog)。这些调用方式属于宿主能力，
不是 Agent Skills 文件格式的一部分，后续变化时应重新核验。

## WorkBuddy

WorkBuddy 的一等用户级目录是 `~/.workbuddy/skills/`，并且已经验证可以实时消费 DxC 浏览器事件。
在 Windows 中执行：

```text
npm.cmd install --global --registry=https://registry.npmjs.org/ @deployxai/dxc@0.3.24
where dxc
dxc version --json
dxc skills install --target workbuddy --force --json
dxc doctor --target workbuddy --json
dxc setup --no-open
```

macOS/Linux 把第一行改为 `npm install --global ...`，把第二行改为 `command -v dxc`。`setup --no-open` 会输出
`DXC_BROWSER_EVENT`；WorkBuddy 应在侧边栏内置浏览器依次打开个人微信登录和公众号绑定页面，并让
当前 CLI 继续等待扫码结果。安装后刷新 Skill 列表；可输入 `/` 打开列表并选择
`dxc-content-workflow`，也可直接用自然语言描述任务。

## Codex

Codex 的一等用户级目录是 `~/.codex/skills/`：

```text
npm install --global --registry=https://registry.npmjs.org/ @deployxai/dxc@0.3.24
command -v dxc
dxc version --json
dxc skills install --target codex --force --json
dxc doctor --target codex --json
dxc setup
```

Windows 使用 `npm.cmd install --global ...` 和 `where dxc`。直接执行上述 `setup` 时由 CLI 打开系统浏览器；
通过宿主 Skill 执行时，当前 Codex 已验证能实时消费 `DXC_BROWSER_EVENT` 才改用 `setup --no-open`。
安装后新建任务或
重新加载 Skill；显式调用使用 `$dxc-content-workflow`，也可直接用自然语言描述任务。不要把
`/dxc-content-workflow` 是否出现在命令菜单作为 Skill 是否安装成功的判断依据。

## 其他兼容 Agent

宿主只有在自身运行时或官方文档明确说明 `~/.agents/skills/` 是一等用户级 Skill 目录时，才使用：

```text
npm install --global --registry=https://registry.npmjs.org/ @deployxai/dxc@0.3.24
command -v dxc
dxc version --json
dxc skills install --target agents --force --json
dxc doctor --target agents --json
dxc setup
```

否则，宿主先确定自己实际读取的用户级 Skill 目录，再显式安装：

```text
npm install --global --registry=https://registry.npmjs.org/ @deployxai/dxc@0.3.24
command -v dxc
dxc version --json
dxc skills install --directory <宿主的用户级 Skill 目录> --force --json
dxc doctor --directory <宿主的用户级 Skill 目录> --json
```

安装完成后，宿主必须重新加载或新建任务，确认能发现 `dxc-content-workflow`，并按自己的原生方式
调用一次。目录中存在文件只证明安装器完成了本地写入，不证明宿主已经识别 Skill。

不要让 DxC 猜测宿主名称或扫描主目录。云端或沙箱宿主无法读取本机目录时，需要由宿主自己的上传、
配置仓库或插件机制提供 Skill；本地安装命令不能替代该宿主的注册流程。

## 浏览器交接

微信登录、公众号绑定和最终预览采用同一顺序：

1. 当前宿主已验证能实时处理浏览器事件时，使用侧边栏内置浏览器；
2. 否则由 CLI 打开系统默认浏览器；
3. 系统调用失败时，只向用户提供一个可点击的短时链接。

最终预览默认由 CLI 先请求宿主侧边栏；未登记成功时自动打开系统浏览器，系统调用失败时才返回一个
短时链接。Skill 不拼装降级状态机。`--browser system` 只作为显式跳过侧边栏的覆盖项。降级始终
复用同一不可变快照，不产生新的内容确认。链接不得写入项目、普通日志或长期记忆。

## 安全边界

- 个人微信登录与公众号管理员授权是两次不同的扫码操作；
- 不要求提交公众号 AppID 或 AppSecret；
- 多个公众号必须由用户选择；
- 创建草稿前必须查看最终预览并明确确认；
- DxC 只创建草稿，不正式发布、不群发；
- 草稿结果无法确认时保持未完成，不盲目重试。

## 更新记录

### 0.3.24 · 2026-09-08

- 大纲与正文 Skill 改为简短创作指导、按需方法参考和成品语义评估；不要求套固定结构、逐段动作或手法组合。
- 正文继续以材料、阅读目的、前后关系与事实支撑核对成稿，保留作者声音与实际表达选择。

### 0.3.23 · 2026-09-07

- 记忆、画像和知识库的必守作者上下文完整交接给创作与独立审校；旧快照仍须由用户明确刷新。
- 安装后的官方 Skill 现会完整传递 CLI 返回的参数与受控选择，避免宿主猜测内部引用。
- 最终标题会一致应用到公众号预览及封面依赖，容量超限预览可安全切换模板恢复。
- 继续保持最终预览确认、幂等草稿与未知结果保守停止边界。

### 0.3.17 · 2026-09-02

- 启用“长期学习”后，DxC 会记录最小作者信号；未启用时不落盘，信号在用户确认前不影响写作。
- 新项目创建时固定读取创作画像、有效长期记忆和相关历史知识；进行中的项目只有明确刷新后才重新采用全局资料。
- 质量审校通过且正文未变化时，完成稿会幂等进入本地历史文章资料库；索引未就绪会明确标记待修复。
- 长期记忆迁移到与历史知识共用的本地 SQLite、FTS5 和向量检索基础设施；旧 JSON 数据会原子迁移并保留备份。
- 金句作为“表达建议”类记忆的兼容视图，继续保留来源归属与逐字使用边界。
- 去 AI 味校准增强，能识别同义的纠偏、顿悟、否定和对称模板，在保留事实与判断后直接表达。

### 0.3.16 · 2026-08-31

- WorkBuddy 推进工作流时，不再因 CLI 的正常写入和并发保护触发“批量删除”确认；宿主无需理解或处理内部文件。
- 微信作者署名统一按公众号后台展示宽度校验：最多 8 个汉字宽度，半角英文按半个汉字计算。
- 微信明确拒绝创建草稿且确认未产生草稿时，会给出修改署名并重新预览的安全动作；结果不确定时仍然保守停止。
- 正文新增独立的去 AI 味审核门；正文变化后旧结论自动失效，必须重新完整复核。
- 正文章节引用保持稳定，视觉资产统一交付 PNG，并在内容未变化时安全复用已有图片。

### 0.3.15 · 2026-08-30

- 工作流被其他进程占用时返回稳定、可理解的忙碌状态，减少宿主误判和无效重试。
