---
title: "AIO Agent 配置教程：固定 Git、外部 CLI 与权限控制"
seo_title: "AIO Agent 配置教程：固定 Git、外部 CLI 与权限控制"
description: "在 DeepSeek Harness（DSH）以固定 Git 安装 AIO Agent 0.0.1，先禁用六个 CLI 组件并关闭自动批准，再配置单个已登录 CLI，核对会话、日志、临时图片与卸载边界。"
canonical: https://52dsh.com/tutorials/cocofhu-dsh-aio-agent-install-config/
authors: ["52DSH 编辑部"]
audience: []
outcomes: []
prerequisites: ["Node.js 与 pnpm","独立 web Profile","可丢弃测试工作区"]
difficulty: advanced
estimated_action_time: null
next_steps: null
published_at: 2026-11-01
updated_at: 2026-11-01
verified_on: 2026-11-01
maintenance_status: community
verification_level: source_reviewed
risk_level: high
dsh_version: 0.2.1-rc.5
plugin_id: cocofhu-dsh-aio-agent
tutorial_kind: plugin_configuration
related_plugin_url: https://52dsh.com/plugins/cocofhu-dsh-aio-agent/
---

# AIO Agent 配置教程：固定 Git、外部 CLI 与权限控制

在 DeepSeek Harness（DSH）以固定 Git 安装 AIO Agent 0.0.1，先禁用六个 CLI 组件并关闭自动批准，再配置单个已登录 CLI，核对会话、日志、临时图片与卸载边界。

AIO Agent 0.0.1 将 Cursor、Claude Code、Codex、OpenCode、CodeBuddy 和 Kimi Code 接入 DSH 模式与模型菜单，每轮由本机外部 CLI 执行并把对话、工具结果和用量写回 DSH 会话。

如果你的目标是把一个已有的本机编码 CLI 接入 DSH，并先核对自动批准、工作区和会话记录边界，本教程会说明如何在 DeepSeek Harness（DSH）中准备、安装、配置、验证和回退 dsh-aio-agent。本文锁定作者仓库提交 `a546722a62c8`；已复核固定提交的原始资料，未进行运行实测。

> 对应插件：[查看 dsh-aio-agent 的功能、权限与兼容性说明](/plugins/cocofhu-dsh-aio-agent/)。先确认它适合你的工作流，再执行安装。

### 先关闭默认自动批准，再启用一个 CLI

AIO Agent 不是只改模型列表的界面插件。它会把任务交给本机已登录的外部 CLI，默认 permission:allow 可加入绕过审批甚至沙箱的参数。安装时保持停机，先禁用六个 CLI 组件并设置 deny，完成来源和权限核对后再决定是否另行批准实际任务验证。

## 先确认是否适合你

- **分类**：Agent 与工作流
- **风险等级**：high
- **核验证据**：source_reviewed
- **兼容性边界**：Node.js >=22；未声明 engines.dsh，4 项 DSH peer 均声明为 *，按宿主含预发行版本的规则接受 0.2.1-rc.5。通配范围不是作者跨版本实测承诺；本页固定 DSH 0.2.1-rc.5，静态核对所用 Session/Agent/LLM 入口，未安装或运行验证。外部 CLI 自身的版本、登录与平台兼容性另行核对。
- **主要权限关注**：启用组件即尝试启动 CLI 查询模型，Kimi 的发现还可创建临时目录中的 ACP 会话；运行任务时继承宿主环境与已有 CLI 登录态，以会话 cwd 或进程 cwd 启动子进程，可读写工作区、联网和运行命令。默认 permission:allow 会加入绕过审批/沙箱的参数；DSH 输入框访问模式不约束外部 CLI。会话日志含原消息、工具输入输出及 CLI 绑定。

如果你准备在重要工作区使用，先阅读插件详情页的权限和数据流说明；“源码已审阅”或“资料已整理”都不等于安全认证。

## 安装前准备

**本页 DSH 命令版本：** `0.2.1-rc.5`。Node.js >=22；未声明 engines.dsh，4 项 DSH peer 均声明为 *，按宿主含预发行版本的规则接受 0.2.1-rc.5。通配范围不是作者跨版本实测承诺；本页固定 DSH 0.2.1-rc.5，静态核对所用 Session/Agent/LLM 入口，未安装或运行验证。外部 CLI 自身的版本、登录与平台兼容性另行核对。

- **独立测试环境与停机备份**：本页命令用独立 DSH_HOME 下的 web Profile；先停止 DSH，备份 profiles/web 的 package.json、pnpm-lock.yaml 和 cordis.patch.yml。不要挂生产目录或已有敏感会话。
- **首次加载前禁用六个组件**：bundle 默认启用六个组件并自动查询模型，permission 默认 allow。安装时保持停机，在任何加载或 --dump-config 前写入本页 disabled:true/permission:deny 的六行覆盖。
- **一个已独立安装并登录的 CLI**：实际任务验证另需站长批准。本页示例只在批准后启用 Claude Code；先由用户按厂商官方流程独立准备测试登录，不执行 README 中的全局安装器或让 DSH 帮我配置按钮。

1. 安装 Node.js 22.19、Node.js 24 或项目当前声明支持的更高版本，并确认 `pnpm` 可用。
2. 使用独立的 `web` Profile 和可丢弃测试工作区，不直接连接生产目录。
3. 备份当前 Profile 配置，并记录安装前的 `--dump-config` 输出。
4. 核对固定来源中的外部服务、账号、运行时和平台限制。
5. 本页没有列出插件专属环境变量；仍需核对宿主和外部服务的凭据要求。

## 安装 dsh-aio-agent

52DSH 使用目录中记录的精确安装目标，避免直接跟随可能变化的默认分支：

```bash
npx --yes @deepseek-ai/dsh@0.2.1-rc.5 plugin --profile web add github:cocofhu/dsh-aio-agent#a546722a62c8fa64c794769af19932da788dea71
```

固定 Git 树已经包含全部宿主入口及客户端 JS，无 prepare/安装构建脚本，不运行作者测试或 build:logos。安装时保持 DSH 停止，首次加载或 --dump-config 前先按下方待机配置禁用 6 个 CLI 组件并设 permission:deny，再进行配置检查。不要直接启动默认 allow 配置。



## 插件专属配置

### 配置目标

- `$DSH_HOME/profiles/web/cordis.patch.yml`：覆盖已有 aio-cursor、aio-claude-code、aio-codex、aio-opencode、aio-codebuddy、aio-kimi-code 的 disabled/config；不要重复 insert，也不要把 permission 写到根 aio-agent。
- `插件 → AIO Agent → 对应 CLI → 配置`：启用后可编辑 command、model、permission；保存从下一轮读取，保存后重新检测也可能触发 CLI 查询，不是静态表单。
- `DSH 进程 PATH、环境与外部 CLI 登录/会话目录`：命令由宿主进程查找，工作目录不是权限围栏。CLI 继承大部分环境；Codex 运行会剔除 OPENAI_API_KEY、CODEX_API_KEY、ACP_CODEX_API_KEY 以使用自己的登录。

### 安装后、首次加载前：禁用全部 CLI 并拒绝权限请求

证据：[固定来源](https://github.com/cocofhu/dsh-aio-agent/blob/a546722a62c8fa64c794769af19932da788dea71/cordis.patch.yml)。按上方配置目标使用本段内容；如有占位符，替换为测试值。

```yaml
- id: aio-cursor
  disabled: true
  config:
    permission: deny
- id: aio-claude-code
  disabled: true
  config:
    permission: deny
- id: aio-codex
  disabled: true
  config:
    permission: deny
- id: aio-opencode
  disabled: true
  config:
    permission: deny
- id: aio-codebuddy
  disabled: true
  config:
    permission: deny
- id: aio-kimi-code
  disabled: true
  config:
    permission: deny
```

### 后续获准运行验证时：只启用 Claude Code，并保留 deny

证据：[固定来源](https://github.com/cocofhu/dsh-aio-agent/blob/a546722a62c8fa64c794769af19932da788dea71/lib/agent.js)。按上方配置目标使用本段内容；如有占位符，替换为测试值。

```yaml
- id: aio-claude-code
  disabled: false
  config:
    permission: deny
    command: ""
    model: ""
```

### 安装后设置

1. 停机执行固定 Git 安装后，先手工合并六组件待机覆盖，再运行 --dump-config；预期 root aio-agent 仍在，六个 CLI 组件均 disabled，尚不启动外部任务。
2. 批准运行验证并确认外部 CLI 测试登录后，只将 aio-claude-code 改为 disabled:false，其余继续禁用；保持 permission:deny。启用后模型发现会调用本机 CLI。
3. 进入插件专属配置页，确认自动批准权限请求关闭；创建无敏感内容的测试会话，选择 Claude Code 模式与匹配的模型，不在普通 DSH 模式中混选 AIO 模型。


### 启用组件本身就会触发模型发现

registerCatalog 在注册后立即查询模型，不必先发送任务；Kimi Code 可在临时目录创建 ACP 会话。因此第一次启动前先应用待机覆盖。command 是本机启动程序和参数，空串使用内置命令；不要填下载器、shell 拼接或不熟悉的程序。model 空串使用后端默认值；permission 默认 allow，首次必须改为 deny。

deny 不会限制 CLI 已经获准的操作，不会覆盖用户自定义命令中的危险参数，也不把 cwd 变成文件系统围栏。Cursor、Claude Code、Codex、OpenCode、CodeBuddy 的 print 模式和 Kimi 的 ACP 模式有不同权限/续接语义，不能用一种后端的结果代替另外五种。

## 配置验证与成功结果

先导出配置，再启动同一版本的 DSH Web：

```bash
npx --yes @deepseek-ai/dsh@0.2.1-rc.5 --profile web --dump-config
npx --yes @deepseek-ai/dsh@0.2.1-rc.5 web
```

1. **合并六组件待机覆盖后检查组合配置**

   ```bash
   npx --yes @deepseek-ai/dsh@0.2.1-rc.5 --profile web --dump-config
   ```

   期望结果：aio-agent 及六个组件身份无重复，六个 CLI 组件保持 disabled:true/permission:deny。配置导出不是 CLI 登录、任务运行或沙箱验证。

2. **站长另行批准后，启用一个 CLI 并检查模型菜单**

   期望结果：对应模式与模型出现，其他五个模式不启用。模型列表只能说明目录查询有结果，不能证明登录、执行权限或会话续接全部正常。

3. **另行批准后，在可丢弃目录执行一个只读最小任务**

   期望结果：请求仅报告测试目录中的一个文件名，不修改文件、不运行安装器。对照 CLI 与 DSH 的文本、工具记录和 token 用量；原目录 diff 无意外修改。本次没有执行该验证。

## 第一次使用

- 后续获准运行验证时，在新的 Claude Code 模式测试会话中请求：只读取当前可丢弃目录，报告一个文件名，不修改内容，不安装依赖。确认该 CLI 自身的审批/隔离设置有效后再继续。

### 最小任务与数据走向

首次仅核对六组件已禁用的组合配置。站长后续批准运行验证后，才启用一个已独立安装登录的 CLI，在可丢弃目录做只读任务；不要点击“让 DSH 帮我配置”自动引导安装。前五款 CLI 每轮运行 print/JSON 流，Kimi 使用 ACP；用户文本/图片将发给该 CLI 的模型服务，DSH 负责展示并写会话。

Codex/OpenCode 的文本提示可出现在进程参数中。DSH 与 CLI 分别保留会话，绑定不保证跨版本续接成功；DSH 输入框访问模式不约束 CLI。默认 allow 对 Codex 可加入 --dangerously-bypass-approvals-and-sandbox，对 OpenCode 可加入 --dangerously-skip-permissions，不要以此解决权限报错。

## 数据、权限与凭据

**数据流：** DSH 用户文本和图片 → 本机外部 CLI（JSON 流或 ACP）→ 该 CLI 配置的模型服务；CLI 回复、思考、工具调用、用量和绑定 → DSH Session/浏览器。Codex/OpenCode 的文本提示作为进程参数，其余按后端经 stdin/ACP；部分图片写入系统临时目录后 finally 清理，异常终止仍需检查残留。插件不向固定遥测端点发请求，但外部 CLI 的网络、凭据和存储规则仍生效。

**权限关注：** 启用组件即尝试启动 CLI 查询模型，Kimi 的发现还可创建临时目录中的 ACP 会话；运行任务时继承宿主环境与已有 CLI 登录态，以会话 cwd 或进程 cwd 启动子进程，可读写工作区、联网和运行命令。默认 permission:allow 会加入绕过审批/沙箱的参数；DSH 输入框访问模式不约束外部 CLI。会话日志含原消息、工具输入输出及 CLI 绑定。

**数据存储：** DSH 保存用户/助手消息、工具输入输出与 plugin:dsh-aio-agent/binding、stream、acp、permission 记录；外部 CLI 另有自己的登录、会话和缓存。非 JSON 图片写入系统临时目录的 dsh-aio-<随机 ID> 文件并尝试清理；不要把字段名脱敏当成完整的正文脱敏。

真实 Token、API Key、Cookie 和账号 ID 不应写进 Git 仓库、网页截图或公开 Issue。测试结束后撤销临时凭据。

## 卸载、回退与清理

停止 DSH 后，从同一个 Profile 移除包：

```bash
npx --yes @deepseek-ai/dsh@0.2.1-rc.5 plugin --profile web remove @cocofhu/dsh-aio-agent
```

1. 先停止当前测试任务，将六个组件全部恢复 disabled:true/permission:deny，再停止 DSH；检查自己启动的 CLI 进程，停止不保证后代进程都已退出，也不回滚外部写入。
2. 在同一测试 Profile 移除准确包名：`npx --yes @deepseek-ai/dsh@0.2.1-rc.5 plugin --profile web remove @cocofhu/dsh-aio-agent`；需要回退时整体恢复安装前 Profile 依赖、锁文件和补丁。
3. 卸载只移除 DSH 集成，不卸载外部 CLI、不注销其账号、不删除 CLI 或 DSH 会话历史。按各自官方流程撤销测试登录、清理测试会话和临时图片，保留仍需审计的原记录。

### 审计记录与停止不是安全沙箱

spawn/execFile 使用 argv 而非默认 shell，但自定义 command 可以启动任意本机程序。CLI 继承环境和登录态，部分图片临时落盘；finally 会尝试清理，崩溃或强杀仍可能残留。raw frame 的 redact 只按字段名处理字符串，普通提示、工具结果和正文不保证脱敏。

print 停止会向直接子进程发送信号，ACP 使用 cancel/关闭；不能保证终止所有后代或撤销文件写入。卸载集成不会注销账号或删除 CLI 历史。本次只审阅固定源码，没有运行 CLI、作者测试或插件构建。

## 常见问题

### npm 404、构建提示或模型列表为空

使用本页固定 Git 目标；固定树已有 JS，不运行未知 prepare/build。核对 DSH 进程 PATH、被禁用组件、CLI 版本与用户自行完成的登录；列表为空不能区分未装/未登录，列表非空也不保证可执行。

### DSH 只读模式下仍发生外部写入

输入框访问模式不约束外部 CLI。permission:deny 只改变插件的请求应答/强制参数，不是只读沙箱；检查 CLI 自身权限、命令附加参数和可访问目录，先停用组件。不要改成 allow 排障。

### 续接失败、模式与模型不匹配或停止后仍有进程

绑定保存在 DSH 日志及 CLI 本地会话中，切后端、变启动命令或缺少 CLI 历史可能导致新会话。确认模式与模型同属一个后端；核对自己启动的进程与目录差异，不能把停止按钮当回滚。

### 日志中出现敏感文本或临时图片残留

字段名脱敏不覆盖普通文本、工具输入输出和全部错误。Codex/OpenCode 提示还可出现在进程参数中；不要输入密钥。按 DSH/CLI 各自流程限制访问并清理测试记录，异常退出后检查临时图片。

### 安装成功但页面或命令没有出现

先运行 `--dump-config` 确认 Bundle 已进入 `web` Profile，再重启 DSH Web 并硬刷新浏览器。不要通过反复扩大权限来解决加载问题。

### 插件运行后没有得到预期结果

把问题缩小到本页的最小验证任务，检查作者文档要求的变量、外部服务和平台限制。保存终端错误原文，并核对当前安装目标是否仍对应本页固定提交。

作者固定资料中未识别到独立故障章节。遇到插件特有错误时，应先停止 DSH、保留日志并回退插件。

## 固定来源证据

以下资料是本文配置结论的依据：

- [README.zh.md](https://github.com/cocofhu/dsh-aio-agent/blob/a546722a62c8fa64c794769af19932da788dea71/README.zh.md)
- [README.md](https://github.com/cocofhu/dsh-aio-agent/blob/a546722a62c8fa64c794769af19932da788dea71/README.md)

继续查看：[返回 dsh-aio-agent 插件详情页](/plugins/cocofhu-dsh-aio-agent/)，重新核对兼容性、权限、同类插件和来源状态。

## 原始来源

- https://github.com/cocofhu/dsh-aio-agent
- https://github.com/cocofhu/dsh-aio-agent/blob/a546722a62c8fa64c794769af19932da788dea71/package.json
- https://github.com/cocofhu/dsh-aio-agent/blob/a546722a62c8fa64c794769af19932da788dea71/cordis.patch.yml
- https://github.com/cocofhu/dsh-aio-agent/blob/a546722a62c8fa64c794769af19932da788dea71/lib/agent.js
- https://github.com/cocofhu/dsh-aio-agent/blob/a546722a62c8fa64c794769af19932da788dea71/lib/backends.js
- https://github.com/cocofhu/dsh-aio-agent/blob/a546722a62c8fa64c794769af19932da788dea71/lib/catalog.js
- https://github.com/cocofhu/dsh-aio-agent/blob/a546722a62c8fa64c794769af19932da788dea71/lib/driver.js
- https://github.com/cocofhu/dsh-aio-agent/blob/a546722a62c8fa64c794769af19932da788dea71/lib/acp-client.js
- https://github.com/cocofhu/dsh-aio-agent/blob/a546722a62c8fa64c794769af19932da788dea71/lib/turn-writer.js
- https://github.com/deepseek-ai/deepseek-harness/blob/b830ec950faba0a46dda564be3e2d854afed94f1/packages/boot/app-boot/src/plugin-compatibility.ts
- https://github.com/deepseek-ai/deepseek-harness/blob/b830ec950faba0a46dda564be3e2d854afed94f1/packages/core/session/src/index.ts
- https://github.com/deepseek-ai/deepseek-harness/blob/b830ec950faba0a46dda564be3e2d854afed94f1/packages/llm/llm/src/index.ts
- https://github.com/cocofhu/dsh-aio-agent/blob/a546722a62c8fa64c794769af19932da788dea71/README.zh.md
- https://github.com/cocofhu/dsh-aio-agent/blob/a546722a62c8fa64c794769af19932da788dea71/README.md
