---
name: weaver-e10-archive-oa
display_name: 泛微商务合同档案查询
display_name_en: Weaver Business Contract Archive Query
description: "泛微 E10 档案定位与 OA 商务合同借阅：按合同号定位档案；泛微商务合同与契约锁（案例）商务合同的查询、加入借阅车、借阅车列表、发起借阅。出现「借阅合同」「泛微」「契约锁」「借阅车」等说法时按本技能执行。"
description_zh: "泛微 E10 档案定位与 OA 商务合同借阅。按合同号在档案系统定位档案记录；泛微商务合同与契约锁协作采纳（案例）商务合同各自的查询、加入借阅车、查看借阅车、发起借阅全链路。**出现「借阅合同」「泛微」「契约锁」「借阅车」等说法时直接按本技能执行。** 系统地址与登录态由当前 E10 profile 提供，技能不内置默认地址。"
description_en: "Weaver E10 archive locating and OA business contract borrowing: locate archive records by contract number, and query/add-to-cart/list-cart/borrow for Weaver and Qiyuesuo business contracts. Trigger this skill whenever the request mentions borrowing contracts, Weaver (泛微), Qiyuesuo (契约锁), or the borrow cart. The system address and session come from the active E10 profile; no default address is built in."
version: 1.0.0
author: 泛微网络科技股份有限公司
agent_created: true
requires:
  bins: ["weaver-work-cli"]
dependencies:
  - weaver-e10-shared
cliHelp: "weaver-work-cli archive-oa --help"
---

## 触发条件

用户出现以下任一说法时，**直接按本技能执行**：

- **「借阅合同」**——含「合同借阅」「发起借阅」「借阅车」「加入借阅车」等同类表述。
- **「泛微」**——指泛微商务合同／泛微借阅链路；同一句话里出现「契约锁」时，走本技能的 `archive-oa.qys.*` 分支。

命中即进入本技能：先按共享规则确认登录态，再按下方路由表选 operation。不要因为句子里没有「档案」字样就改走其它技能，也不要把「泛微」误当成厂商名而跳过。

**CRITICAL — 开始前 MUST 先用 Read 工具读取 [`../weaver-e10-shared/SKILL.md`](../weaver-e10-shared/SKILL.md)，其中包含安装、E10 认证、JSON 输出和高风险写入规则。若共享规则不存在、CLI 未安装或读取失败，说明本技能的必需依赖缺失，必须调用宿主提供的提问/确认弹框，向用户说明必须补齐 `weaver-work-cli` 与共享 skill `weaver-e10-shared`（不补齐本技能无法执行）及补齐计划，并把下面两条待执行命令原样完整展示在确认信息中；Agent 不能在未确认时自行安装。用户明确确认后，Agent 必须直接代为按顺序执行且每条仅执行一次，不得要求或引导用户手动执行：① 缺 CLI 时执行 `npm install -g weaver-work-cli`；② 再执行 `weaver-work-cli skills install shared --target-dir <SKILLS_ROOT>` 装回共享 skill，`<SKILLS_ROOT>` 取本 SKILL.md 所在目录的上一级绝对目录（即与本技能同级的 skills 根目录），不要省略 `--target-dir`——省略会装进默认目录，导致本技能依然读不到共享规则。命令均成功后重新读取共享规则；仍读不到就停止并把结果报告用户，不得凭猜测继续。**
**`--is-connector` 判据**：用户明确使用连接器、或上下文要求用连接器完成任务 → 传 `true`；本次任务或上下文直接选择单独技能 → 不传；用户没有明确说明时，按**正在运行的这份 Skill 是哪一级**定——**用户级（条目标 `(user)`）不传，连接器级（标 `(connector)`）传**（同名 Skill 只会运行用户级那一份）。传 `true` 时不要再写 `--profile` / `--base-url`。完整规则见 [`../weaver-e10-shared/SKILL.md`](../weaver-e10-shared/SKILL.md)。

认证和登录态只能按共享规则通过 `weaver-work-cli auth ...` 命令判断；禁止直接读取、列出、打印或解析用户主目录下的旧 `.e10-cli`、auth、config 或 Keychain 数据。

### 登录与请求头凭证契约

本 Skill 是 CLI 型技能，不自行发起 HTTP 请求：认证与会话**统一由 `weaver-e10-shared` 共享规则和 `weaver-work-cli auth ...` 命令体系托管**，禁止自建或绕过登录流程。

请求头三件套（Cookie 完整原始串 / `eteamsid` / `User-Agent`）由 `weaver-work-cli` 统一注入，唯一权威声明见 [`../weaver-e10-shared/SKILL.md`](../weaver-e10-shared/SKILL.md) 的「请求头契约」章节。

接口请求头（由 CLI 注入，Agent 不手写）：

```text
Cookie: <登录返回的完整原始 Cookie 串>   # 禁止裁剪、去重或改写
eteamsid: <登录返回的 ETEAMSID>
User-Agent: AgentType=<agentType>,IsAgent=true
```

Agent 不得自行拼接、改写或向用户索取上述凭证（禁止要求用户贴 Cookie / ETEAMSID / token），也不得直接 `curl` / `fetch` E10 接口。

所有命令通过 `weaver-work-cli --json archive-oa run <operation>` 执行：简单 JSON 优先传 `--input-json '<json>'`，复杂或多行 JSON 先写入 UTF-8 文件再传 `--input <path>`，只有确认当前 shell 能稳定传管道时才使用 `--input -`。调用前先按需读取 references 下对应的文件查参数结构，不要猜字段；**references 是第一信息源**，`weaver-work-cli archive-oa schema` 是 operation、字段和风险等级的合约来源。

命令示例、提示词和临时说明必须同时兼容 Windows 和 macOS/Linux；涉及 JSON 输入、用户目录、路径分隔符、文件删除、目录查看或文件比对时，同时给 Windows PowerShell 与 macOS/Linux（bash/zsh）两套示例。Agent 先根据当前系统和 shell 选择对应示例，不确定时用 `node -p "process.platform"` 判断。Windows/PowerShell 下不要使用 `printf`、`$HOME/...`、`~/...`、bash 反斜杠续行、`rm/ls/diff/python3` 等 Unix-only 写法。

涉及合同附件、图片、本地文件、借阅原文或文件上传的操作，执行前必须提醒用户：文件内容可能被上传到 E10 系统或文件服务器，也可能下载到本地磁盘，并可能进入当前大模型上下文用于理解和处理；必须等待用户明确确认后才继续。

# 泛微商务合同档案查询

## 适用场景（触发条件）

出现以下任一意图时使用本技能：

- 按合同号查档案 / 合同号定位档案 / 查档案记录。
- 查泛微商务合同 / 商务合同列表 / 合同查询（合同号、签约方、合同名称、合同类型、签订日期、合同金额、合同专项模块）。
- 查契约锁合同 / 案例查询 / 案例台账 / 契约锁协作采纳。
- 合同加入借阅车 / 查看合同借阅车 / 借阅车列表。
- 发起借阅 / 从借阅车发起合同借阅 / 合同借阅流程。

不在本技能范围内：非合同的档案业务（如文书定档案的全宗、全文检索、借阅单与原文下载）、通用工作流，以及其它 E10 业务对象。

## 路由优先级（先判断业务对象，再选 operation）

只要用户的核心对象是**合同号定位档案、泛微商务合同、契约锁协作采纳（案例）合同、合同借阅车或合同借阅流程**，就优先使用 `weaver-e10-archive-oa`。

**判定规则：** 泛微商务合同与契约锁协作采纳是两套独立应用，参数值不同，禁止交叉混用。用户只说「查合同 / 商务合同」而未指明来源时，**必须先确认是泛微还是契约锁（案例）**，不要默认其中一套。

## 选哪个命令

| 想做什么 | 命令 | 按需读取 reference |
| --- | --- | --- |
| 查看可用 operation、字段和风险等级 | `archive-oa schema` | — |
| 按合同号定位档案 | `archive-oa run archive-oa.archive.locate` | [`archive-locate.md`](references/archive-locate.md) |
| 查泛微商务合同 / 字段配置 | `archive-oa run archive-oa.contract.list` / `archive-oa.contract.fields` | [`contract-search.md`](references/contract-search.md) |
| 查契约锁（案例）合同 | `archive-oa run archive-oa.qys.contract.list` | [`qys-contract-search.md`](references/qys-contract-search.md) |
| 加入借阅车 / 看借阅车 | `archive-oa run archive-oa.borrow-car.add.prepare` → `.apply` / `archive-oa.borrow-car.list` | [`borrow-car.md`](references/borrow-car.md) |
| 发起借阅（**生成流程页 URL 并打开浏览器**） | `archive-oa run archive-oa.borrow.start.url` / 契约锁 `archive-oa.qys.borrow.start.url`（或 `archive-oa borrow start-url [--source qys]`） | [`borrow-flow.md`](references/borrow-flow.md) |
| 其余未收录能力 | 不在范围 | [`disabled-capabilities.md`](references/disabled-capabilities.md) |

契约锁链路把 operation 前缀换成 `archive-oa.qys.*`（借阅车 `archive-oa.qys.borrow-car.*`、发起借阅 `archive-oa.qys.borrow.start.url`）。两套的流程页 URL 规则相同，`fb` 取借阅车记录自身的值（泛微 `0`、契约锁 `1`），禁止手工指定；契约锁客户名称字段是 `qymc`，泛微是 `htmc`。

## 典型处理链

### 档案定位

```text
archive-oa.archive.locate（合同号 → 档案记录）
  → 命中：rows[].{id,title,contractNo}
  → 未命中：rows 为空，提示未找到对应档案，不擅自猜测
```

拿到档案记录 `id` 后的操作/利用记录查询**尚未收录**，不要伪造该能力。

### 泛微商务合同借阅

```text
archive-oa.contract.list（可选先 archive-oa.contract.fields 确认字段）
  → 静默缓存合同行 data[*].id 供加入借阅车复用
  → archive-oa.borrow-car.add.prepare（≤6 条）→ 直接 .apply（临时铺垫操作，免确认）
  → archive-oa.borrow-car.list 查看借阅车
  → archive-oa.borrow.start.url（≤6 条）→ 得到流程创建页 URL
     （fullCreate/100003460000002090?fb=<fb>&data=[{hth,htmc,yfhd,fph}]）
  → 优先用系统默认浏览器打开该 URL；无图形环境或无权限时原样输出 URL 让用户手动打开
  → 表单填写与提交由用户在浏览器完成（不代填、不代提交、不索要后台应用凭据）
```

### 契约锁（案例）链路

```text
archive-oa.qys.contract.list（默认只查「处理进度=已归档」）
  → archive-oa.qys.borrow-car.add.prepare → .apply
  → archive-oa.qys.borrow-car.list
  → archive-oa.qys.borrow.start.url → 流程页 URL（fb 取记录值，通常 1）
  → 优先打开浏览器；打不开则原样输出 URL
```

## 命令入口

Windows PowerShell：

```powershell
weaver-work-cli archive-oa schema
weaver-work-cli --json archive-oa run archive-oa.contract.list --input-json '{"pageNo":1}'
```

macOS/Linux（bash/zsh）：

```bash
weaver-work-cli archive-oa schema
weaver-work-cli --json archive-oa run archive-oa.contract.list --input-json '{"pageNo":1}'
```

复杂或多行 JSON 先写入 UTF-8 文件再用 `--input <path>`；不要在同一条命令里同时传 `--input` 和 `--input-json`。

## 执行原则

1. **静默缓存 ID，不展示给用户**：合同行 `data[*].id`、档案记录 `id` 只作为后续 operation 入参，回复用户时只用合同号、合同名称、签约方、题名等有含义内容。
2. **两套参数勿混用**：泛微 `passid/listId/esbActionIds/objId` 与契约锁完全不同；发起借阅流程页 `fb` 泛微为 `0`、契约锁为 `1`。
3. **每次最多 6 条**：加入借阅车与发起借阅的上限都是 6，超限先提示用户缩减。
4. **写操作必须走 `prepare → apply`**：`prepare` 只做校验与回查（不写数据），再执行 `.apply`（`confirm: true`），CLI 用 `--yes`；`continuation` 只在 `prepare` 之后签发，禁止手工构造或复用。**加入借阅车是临时铺垫操作**（只为后续发起借阅做准备，本身不产生最终业务结果），**免用户确认**：Agent 直接 prepare → apply，事后简要回报即可，不要为此停下来询问。
5. **发起借阅 = 生成流程页 URL 并打开浏览器**：用 `archive-oa.borrow.start.url` 生成 `fullCreate/<flowId>?fb=<fb>&data=<JSON>`（只读，不写数据、不触发流程、不需要后台凭据），**优先用系统默认浏览器直接打开**；无法打开时**原样输出完整 URL** 让用户手动打开。表单填写与提交由用户在浏览器完成，不代填、不代提交；不得调用已下线的 `borrow.start.prepare` / `.apply`。
6. **结果为 `partial/write_uncertain` 时停止**，不自动重放写请求；`failNum > 0` 时按部分成功向用户说明。
7. **禁止向用户索要后台应用凭据**（如 OpenESB 的 `appKey` / `corpid` / `appSecret`）：交互流程不暴露这类概念，用户只需在浏览器自己操作；任何情况下不得猜测、内置或代填此类凭据。
8. **系统地址来自当前 E10 profile**（`weaver-work-cli auth status`），未登录时按共享规则让用户登录，禁止猜测或拼接接口地址。
9. **输出样式、条数上限与禁止翻页**：列表类结果默认用 Markdown 表格（第一列「序号」从 1 递增，分隔行用 `| :---: |` 居中），不要用 JSON 原文或编号堆叠代替。**只查第 1 页（`pageNo=1`），禁止翻页**——不得请求 `pageNo≥2` 的任何页，也不做循环翻页累加（合同列表常达上千条，翻页极慢且刷屏）；单次最多展示 20 条。数据不足或需要更多时，提示用户**缩小筛选条件**（签订日期 / 客户类型 / 签约方关键词），不得通过翻页获取更多。

## 不在范围

- 档案操作/利用记录（借阅、下载、浏览日志）查询。
- 契约锁合同的搜索字段配置接口。
- 借阅车记录的移除、编辑，以及借阅流程的提交（流程提交必须由用户在浏览器完成）。

禁用边界与替代动作见 [`disabled-capabilities.md`](references/disabled-capabilities.md)。
