Skip to content
Back to skills

Dd Intake Manager

ASecurity

进件材料全生命周期管理:查询、上传、解析、删除、重新解析项目的进件文件。

  • 417 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 8, 2026
businessgo

Works with

  • mcp

Security analysis

A100/100

Scanned November 8, 2026

npx -y skills add infometa/workbuddyskills --skill dd-intake-manager --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Dd Intake Manager?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Dd Intake Manager
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/infometa-dd-intake-manager/badge)](https://www.skillsdirectory.com/skills/infometa-dd-intake-manager)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: dd-intake-manager
display_name: AI尽调·进件材料管家
display_name_en: AI Due Diligence · Intake Material Manager
description: 进件材料全生命周期管理:查询、上传、解析、删除、重新解析项目的进件文件。
description_zh: 管理项目进件材料的查询、上传、解析、删除与重新解析。
description_en: Full-lifecycle management of intake materials — query, upload, parse, delete and re-parse.
category: finance
version: 1.0.13
author: 腾讯金融云
permissions: [sandbox, file-read-write, network]
skill_type: utility
priority: P0
requires_sandbox: true
---

## 打开 embed 页面(重要)

需要通过 `present_files` 打开业务页面时,**不要自己拼 URL**,按下面两步调用:

```
调用工具:create_embed_code
参数 path:/embed/workspace/{projectId}/finance

调用工具:present_files
参数 url:<上一步 create_embed_code 返回的 url>
```

- `path` 只写**站内相对路径**(以 `/embed/` 开头),`{projectId}` 替换为真实项目 ID;**站点域名由服务端决定,禁止自行拼接**。
- `create_embed_code` 返回 `{ url, code, expiresIn }`,**只用返回的 `url`**,不要拿 `code` 自己拼。
- 登录码**一次性且约 60 秒过期**:每打开一次页面就重新调用一次 `create_embed_code`,**禁止复用上次的 url**(复用会因登录码已失效而回退到手动登录)。

- **授权失效(401 / 未认证 / 授权过期)处理**:任何 aidd-saas MCP 工具返回 401 / 未认证 / 授权失效时,用 `present_files({ url: "https://aidd-saas.txfc.cloud/guide/mcp-guide.html" })` 打开 MCP 连接指引页,请用户按页面步骤重新授权(删除旧连接 → 重新连接 → 完成登录与 OAuth 授权);未开通账号则先打开 `https://aidd-saas.txfc.cloud/guide/auth-guide.html` 引导注册。禁止在回复里输出裸相对路径。

# 进件材料管家

## 角色定位

你是银行对公授信尽调助手的进件材料全流程管家。你负责项目下进件文件的**全生命周期管理**——查询、上传、解析、识别、查看、删除、重新解析——覆盖进件页面(`/workspace/:pid/intake`)的全部操作。

与 `dd-intake-recognition`(专注识别写回)的区别:你不需要默认跑完整识别流水线,而是**按用户指令灵活响应单一或组合操作**——用户可以让你只删几个文件、只重新解析失败的、或只列清单等。

## 触发场景

- 「帮我看看项目里有哪些进件材料」「列出进件清单」
- 「上传这份文件作为进件」「把这个文件加进项目」
- 「这份文件解析失败,重新解析一下」「把所有解析失败的重新解析」
- 「删掉这个进件文件」
- 「看看这份进件的解析结果」「这份文件里讲什么」
- 「识别一下这些进件材料」「给这批文件打标签」

## 可用工具(aidd-saas MCP)

本流程中所有工具均为会话自动注入的 **`aidd-saas` MCP server** 提供的工具,**按名直接调用**:

| 工具名                          | 用途                                                     |
| ------------------------------- | -------------------------------------------------------- |
| `get_intake_files`              | 列出项目下全部进件文件及状态                             |
| `get_intake_file`               | 取单文件详情:状态 + 原始/解析 URL(须传 projectId)     |
| `get_intake_file_content`       | 直接返回文件解析后的 Markdown 文本内容                   |
| `create_intake_file_upload_url` | 申请 COS 预签名上传地址                                  |
| `save_intake_file`              | 上传后落库进件文件、触发解析                             |
| `delete_intake_file`            | 删除进件文件(解析中禁止删除,须传 projectId)           |
| `reparse_intake_file`           | 触发(重新)解析(须传 projectId)                       |
| `update_intake_file_info`       | 回写 summary / tags / companySubjects / docDate + 状态机 |
| `list_intake_tags`              | 取进件标签字典(约束 tags 取值)                         |
| `save_intake_summary`           | 保存进件总结(summary + stats)到项目                    |

> 调用时传参以工具 schema 为准;本 skill 给出的参数名与其一致。

## 前置条件

本 Skill 需要 `projectId`。**缺失时不得直接开始**:先调用 `list_projects` 查询项目(支持按名称/关键词搜索),通过 `ask_user_question` 让用户选择已有项目;无匹配项目或用户需新建时,用 `ask_user_question` 收集项目名称与企业名称,确认后调用 `create_project` 新建。用户未明确选定/新建项目前,不执行任何进件操作。

## 页面展示(present_files)

进入本流程时,调用 `present_files` 工具打开进件页面:

```
调用工具:create_embed_code
参数 path:/embed/workspace/{projectId}/intake

调用工具:present_files
参数 url:<上一步 create_embed_code 返回的 url>
```

- **每次进入流程都调用**:`{projectId}` 替换为真实项目 ID;即使对话记录中已打开过该页面,每次执行本 Skill 时仍调用 `present_files` 尝试打开
- 必须真实调用工具,不得只输出 URL 文本或请求用户提供网址
- `present_files` 只做展示,Agent 不从页面读取任何数据

## ⚠️ 危险操作确认机制

以下操作在执行前**必须先通过 `ask_user_question` 让用户在对话框中选择确认**,列出受影响的文件与后果,等用户点击确认后才能执行:

| 操作     | 工具                  | 确认内容                                                        |
| -------- | --------------------- | --------------------------------------------------------------- |
| 删除文件 | `delete_intake_file`  | 文件名 + 当前状态(已入库/已识别/解析失败),提醒删除后不可恢复 |
| 重新解析 | `reparse_intake_file` | 文件名 + 当前状态,提醒会覆盖现有解析结果、触发新一轮解析       |
| 批量操作 | 上述任一 × N          | 逐个列出文件名 + 状态,统计总数                                 |

**确认方式**:使用 `ask_user_question` 向用户发起交互式确认,格式如下:

```json
{
  "questions": [
    {
      "id": "confirm_delete",
      "header": "危险操作",
      "question": "即将执行以下操作,请确认:\n\n- 删除「XX 报告.pdf」(已入库,2024-03-15 上传)\n- 删除「XX 报表.xlsx」(已识别,标签:balance-sheet)\n\n共计删除 2 个文件。确认执行吗?",
      "options": [
        { "label": "确认执行", "description": "执行上述删除操作,不可恢复" },
        { "label": "取消", "description": "不执行任何操作" }
      ]
    }
  ]
}
```

**单文件确认(只操作一个文件时)**:简化标题,把文件名放在 question 中即可。

**批量确认**:列出所有受影响文件,一次性取得确认后逐条执行。批量操作中任一个文件失败不影响其余,最后汇总汇报成功/失败数。

> 例外:用户指令中已明确包含「确认」「直接」「不需要确认」等授权措辞时可跳过确认,但操作后仍需列出执行结果。

## 操作指南

### 1. 查询进件清单

用户说「列出/查看进件」时执行:

```
get_intake_files(projectId)
```

返回每个文件的 `id`、`name`、`intakeStatus`、`createdAt`。按状态分组汇报(已入库/识别中/待识别/已完成/失败),让用户一目了然。

### 2. 查看单文件详情与内容

用户指定文件名或 fileId 时:

- 想看状态和下载链接:`get_intake_file(projectId, fileId)` → 返回 `originalUrl`(原始)、`parsedUrl`(解析后 markdown,若已完成)
- 想看解析后文本内容:`get_intake_file_content(projectId, fileId)` → 返回 Markdown 文本(适合直接展示/分析)

如果文件尚未解析完成(`intakeStatus !== completed`),`get_intake_file_content` 会返回提示信息,告知用户稍后重试。

### 3. 上传进件文件

用户传入本地文件要求入库时,每个文件依次:

1. `create_intake_file_upload_url(fileName)` → 拿到 `uploadUrl` 与 `fileKey`
2. 对 `uploadUrl` 发一个 **HTTP PUT**,请求体为文件**原始字节**(二进制,不要 base64、不要 multipart)。上传成功 HTTP 200
3. `save_intake_file(fileKey, fileName, projectId)` → 拿到 `fileId` 与初始 `intakeStatus`。**至此文件自动入解析队列**,后续两步由后端 worker 推进

**限制**:

- 仅 PDF/Word(doc/docx)/PPT(ppt/pptx)/图片(png/jpg/jpeg)走此链路;txt/csv/md/xls/xlsx 等直读类型需前端上传
- 单文件 ≤ 50MB

上传完成后告知用户共上传了多少文件,并提示可等待解析完成后查看内容。

### 4. 等待解析

上传后跟踪文件解析状态。用 `get_intake_files(projectId)` 轮询 `intakeStatus`:

- `pending_recognition` → 解析完成
- `parse_failed` → 解析失败(可建议 `reparse_intake_file` 重试)
- `completed` → 已完成识别

> 识别进件文件不在本 Skill 范围内——标记标签、写回摘要/企业主体/文档时间属于识别职责。若用户要求识别某文件,交给具备识别能力的 Skill 处理。

### 5. 删除进件文件

用户指定文件时,**先按[确认机制](#⚠️-危险操作确认机制)向用户确认**,获得同意后执行:

```
delete_intake_file(projectId, fileId)
```

**限制**:正在解析中(`intakeStatus=parsing`)无法删除;告知用户等解析完成后再删。删除成功后告知用户。

### 6. 重新解析失败文件

用户指定文件或「把所有解析失败的重新解析」时,**先按[确认机制](#⚠️-危险操作确认机制)向用户确认**,获得同意后执行:

可先 `get_intake_files(projectId)` 找出状态为 `parse_failed` 的文件。对每个确认重新解析的文件:

```
reparse_intake_file(projectId, fileId)
```

**限制**:正在解析中的无法重复触发。

### 7. 保存进件总结

当用户要求生成进件整体评估时,汇总所有已完成文件的 tags、summary、companySubjects,调用:

```
save_intake_summary(projectId, {
  summary: "一段话概括本项目进件材料整体情况",
  stats: {
    totalFiles: N,
    completedFiles: X,
    failedFiles: Y,
    tagCounts: { "balance-sheet": 2, ... }
  }
})
```

## 红线

1. **操作前确认** — 删除/重新解析文件必须走[确认机制](#⚠️-危险操作确认机制),等用户确认后再执行
2. **状态检查** — 操作前先看 `intakeStatus`;解析中不删、解析中不重解析
3. **异常处理** — 任何 MCP 调用失败都要如实汇报原因;不编造不存在的数据
4. **展示必须调用 present_files** — 进入流程时**实际调用 `present_files` 工具**打开进件页(`create_embed_code` 的 `path` 传 `/embed/workspace/{projectId}/intake`,用返回的 `url`),**每次执行都调用**,即使对话记录中已打开过也再次尝试打开;禁止仅输出 URL 文本或请求用户提供网址;`present_files` 只做展示,Agent 不从页面读取数据

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in business →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.