🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

AOCI 绑定助手 donyue7/dsh-aoci-bind

DeepSeek Harness
donyue716 天前有提交已提供中文文档扫描:含敏感能力

诊断并修复工作区的 AOCI 索引与 MCP 绑定

29.1/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/26 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add donyue7/dsh-aoci-bind
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · other
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 16 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令
查看扫描证据(共 1 处,展示前 1 条)
  • 执行外部命令来自配置/变量
    lib/aoci.js:26
    child = spawn(binary, args, { cwd, windowsHide: true, stdio: ['ignore', 'pipe', 'pipe'] });
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

DSH Host 侧 AOCI 接入插件:发现带 aoci.txt 的工作区、诊断/修复 MCP 绑定、初始化未接入仓库

README

由 DeepSeek 最新模型翻译生成
dsh-aoci-bind DSH Host 侧 AOCI 接入插件(v0.1.0)。 把「哪个工作区有 AOCI 索引、有没有对应的 MCP 服务器、绑到的是不是那个仓库」这件事,从手工维护 cordis.patch.yml 变成可发现、可诊断、可修复、可初始化的四条工具。 它不生成、不重写任何索引内容;只维护 MCP 绑定行。 解决什么 现在每接入一个工作区,都要手写一段: - insert: - id: aoci-gys name: '@deepseek-ai/dsh-mcp-client' config: serverName: 'aoci-gys' transport: stdio command: 'C:/aoci/bin/aoci-rc19.exe' args: ['--repo', 'C:/Users/…/Gys', 'mcp'] 手写会漏、会错、会重。真实缺口示例:StoreProject 有 aoci.txt,但没有任何 MCP 行——会话里就是拿不到它的工具,而且不会报错。本插件把这类问题变成一条明确的状态与一条修复动作。
展开完整文档(README 剩余 1 节)
dsh-aoci-bind

DSH Host 侧 AOCI 接入插件(v0.1.0)。

把「哪个工作区有 AOCI 索引、有没有对应的 MCP 服务器、绑到的是不是那个仓库」这件事,从手工维护 cordis.patch.yml 变成可发现、可诊断、可修复、可初始化的四条工具。

它不生成、不重写任何索引内容;只维护 MCP 绑定行。

解决什么

现在每接入一个工作区,都要手写一段:

- insert:
- id: aoci-gys
name: '@deepseek-ai/dsh-mcp-client'
config:
serverName: 'aoci-gys'
transport: stdio
command: 'C:/aoci/bin/aoci-rc19.exe'
args: ['--repo', 'C:/Users/…/Gys', 'mcp']

手写会漏、会错、会重。真实缺口示例:StoreProject 有 aoci.txt,但没有任何 MCP 行——会话里就是拿不到它的工具,而且不会报错。本插件把这类问题变成一条明确的状态与一条修复动作。

工具(4 个)

| 工具 | 作用 |
| aoci_bind_status | 逐工作区诊断:bound / unbound(有索引没绑定)/ wrong_repo(绑错仓库)/ name_conflict(serverName 冲突)/ duplicate_binding(重复行)/ no_index(还没初始化)。只读。 |
| aoci_bind_repair | 应用最小修复:补行、改 --repo、改 serverName、可选删除孤儿行。幂等;写前时间戳备份;非法 YAML 拒绝写入。 |
| aoci_project_init | 对没有索引的仓库跑 aoci init + aoci scan,注册绑定,并返回bootstrap 提示词(含 mcp__<serverName>__ 前缀与 root 自检说明)。 |
| aoci_doctor | 环境体检:CLI 可达性与版本、补丁文件是否合法、serverName 唯一性、未绑定索引、孤儿行、workspace registry 是否可读。每项带 severity 与修复建议。 |

每个工具都返回结构化 JSON + 可读摘要(摘要由 output.render 渲染)。

安装

三种方式任选,推荐第一种(走 DSH 插件管理器,最稳):

1) 插件管理器(需要 DSH 的 plugin_manager 工具;装完需重启一次 DSH) target 传本目录的绝对路径
plugin_manager { "action": "install_bundle", "target": "C:/…/default-workspace/dsh-aoci-bind" }

2) CLI
dsh plugin --profile desktop add file:C:/…/default-workspace/dsh-aoci-bind

3) 自带脚本(复制进 profile 并写挂载行;热加载,无需重启) pwsh -NoProfile -File scripts/install.ps1 pwsh -NoProfile -File scripts/install.ps1 -Uninstall

安装脚本会:备份 profile 的 cordis.patch.yml → 在标记注释之间写入一行 - insert: 挂载条目 → 复制包到 <profile>/node_modules/dsh-aoci-bind。-Uninstall 完整回滚。

Host 侧改动需要重启 DSH 才生效(新增 MCP 行尤其如此);插件本身不会重启 DSH。

配置

默认值即设计值;在 profile 的 cordis.patch.yml 里用同 id 覆盖:

- id: aoci-bind
config:
enabled: true
tools: true
promptSection: false # 注入一段「先确认 root 再使用 AOCI 工具」的系统提示词 aociBinary: 'C:/aoci/bin/aoci-rc19.exe' home: 'C:/Users/me/.dsh-harness-next' # 默认 $DSH_HOME profile: 'desktop' # 默认 $DSH_PROFILE legacyHome: 'auto' # auto=旧 home 有文件才维护;on/off syncProfilePatch: true # 同时维护 profiles/<profile>/cordis.patch.yml serverNamePrefix: 'aoci'
scanRoots: [] # 额外扫描目录;默认取已注册索引工作区的父目录
backupDir: '<home>/aoci-bind/backups'
initTimeoutMs: 180000
probeTimeoutMs: 20000

npm 发布:首版手动,之后 tag 自动

npm 的 Trusted Publisher(OIDC)只能给已存在的包配置。首版发布前包还不存在,因此:

1. 首版手动发(维护者执行,需要交互式 2FA,或一个带 Bypass-2FA 的 granular token):

npm publish --registry=https://registry.npmjs.org --access public

2. 首版发布后,到 npmjs.com → dsh-aoci-bind → Settings → Trusted Publisher 配置:

| 字段 | 值 |
| Provider | GitHub Actions |
| Organization or user | donyue7 |
| Repository | dsh-aoci-bind |
| Workflow file | publish.yml |
| Permissions | Allow npm publish |

3. 之后每次发版:

git tag v0.1.1 && git push --tags

.github/workflows/publish.yml 会用 OIDC 自动 npm publish --provenance,不需要任何长期 token。
配置了 stage-only 权限时,改为 npm stage publish,发布仍需维护者批准。

安全边界(为什么可以放心让它写配置)

- 只拼接、不重排:编辑器是行模型,只替换/追加它自己拥有的 MCP 行,注释、空行、别人的行逐字节保留。
- 非法 YAML 一律拒绝:写前写后都做结构校验(tab 缩进、引号未闭合、重复 id 都会拦下),拒绝时零写入。
- 每次写入先备份:<home>/aoci-bind/backups/<file>.<timestamp>.bak。
- 原子写:临时文件 + 替换,不会留下半个补丁文件。
- 幂等:重复调用 repair 不产生第二行;第二次运行 changes = []。
- 删除是显式选项:孤儿行只在 prune_orphans: true 时删除。

脚本

| 脚本 | 用途 |
| scripts/install.ps1 | 把插件装进 / 卸出一个配置档:写前备份、标记注释包裹的挂载行、复制包目录;-Uninstall 完整回滚 |
| scripts/status.mjs | 只读演示:对真实 $DSH_HOME 跑 aoci_bind_status / aoci_doctor / aoci_bind_repair --dry_run |
| scripts/apply.mjs | 对真实 $DSH_HOME 执行 repair(带 --dry-run 只预览);与 Host 工具走同一条代码路径 |

自测

cd dsh-aoci-bind
node --test test/yamlpatch.test.mjs test/discovery.test.mjs test/binding.test.mjs test/tools.test.mjs test/plugin.test.mjs

40 个用例,覆盖:

| 验收点 | 用例 |
| 工作区发现(registry + 扫描根 + 去重 + 坏 registry) | discovery.test.mjs |
| 重复注册幂等(第二次 repair 零改动、文件逐字节不变) | binding.test.mjs、tools.test.mjs |
| serverName 防碰撞(同名目录 → aoci-twin / aoci-twin-2) | binding.test.mjs |
| StoreProject 未绑定 → 修复 → 已绑定 | binding.test.mjs、tools.test.mjs |
| 重复绑定收敛:同一仓库多条行 → 保留规范行、删除多余行(含跨 home/配置档两个文件) | binding.test.mjs |
| 损坏 YAML 拒绝(文件保持原样) | binding.test.mjs、yamlpatch.test.mjs |
| 旧 home ~/.dsh 兼容(legacy-only 视为未绑定,repair 只写 active home) | binding.test.mjs |
| 与其它工具共存:别的工具写入的行按 --repo 路径识别为已绑定,repair 不追加重复行;路径斜杠/大小写差异不影响识别 | binding.test.mjs |
| 非 AOCI 的 MCP 行(zxy / omnisockit)与本插件挂载行不被误判 | binding.test.mjs |
| 工具面(4 个工具、schema、渲染、错误路径) | tools.test.mjs、plugin.test.mjs |

测试全部在临时目录里构造 home / workspace / patch 文件,不触碰真实 DSH 配置。

0.1.0 的限制

- 只处理 code 侧 MCP 行,不管理 AOCI 索引内容、Baseline、scope。
- 绑定以「--repo 目录 = 已知工作区」为准;注册表里没有、也不在扫描根里的仓库需要显式加入 scanRoots。
- aoci_project_init 依赖本机 AOCI CLI;CLI 不可用时如实返回错误与步骤,不会假装成功。
- 新增 Host 行需要重启 DSH 后才会出现在会话工具表中。

许可

MIT
预览分享卡片长什么样 ↓donyue7/dsh-aoci-bind
分享 · DeepSeek Harness Hub
donyue7/dsh-aoci-bind

诊断并修复工作区的 AOCI 索引与 MCP 绑定

这是你的仓库?认领条目

回到顶部