文件预览

SKILL.md

查看 钉钉闪记数据提取 技能包中的文件内容。

文件内容

SKILL.md

---
name: dingtalk-shanji
description: 从钉钉闪记提取听记数据,包括列表、转写文本、摘要、待办等。当用户提到"钉钉闪记"、"听记"、"会议录音"、"转写文本"、"shanji"、"dws minutes"时触发此技能。
---

# 钉钉闪记数据提取技能

使用官方 `dws` CLI 工具从钉钉闪记提取数据。

## 前置条件检查

在执行任何操作前,先检查 `dws` 是否已安装:

```bash
command -v dws && dws --version || echo "dws 未安装"
```

## 安装 dws

如果 `dws` 未安装,按以下顺序尝试安装:

### 方式1:npm 安装(优先)

```bash
npm install -g dingtalk-workspace-cli
```

### 方式2:sh 脚本安装(npm 失败时)

**macOS / Linux:**

```bash
curl -fsSL https://raw.githubusercontent.com/DingTalk-Real-AI/dingtalk-workspace-cli/main/scripts/install.sh | sh
```

**Windows (PowerShell):**

```powershell
irm https://raw.githubusercontent.com/DingTalk-Real-AI/dingtalk-workspace-cli/main/scripts/install.ps1 | iex
```

### 安装后验证

```bash
dws --version
dws minutes --help
```

## 首次使用认证

首次使用需要登录认证:

```bash
dws login
```

按照提示完成 OAuth 设备流认证。

---

## 命令参考

### 列出听记

```bash
# 列出所有听记
dws minutes list all

# 列出我创建的听记
dws minutes list mine --max 20

# 列出分享给我的听记
dws minutes list shared

# 按关键词搜索
dws minutes list all --keyword "医美"

# 按时间范围筛选
dws minutes list all --start-time "2025-05-01" --end-time "2025-05-31"

# 输出JSON格式
dws minutes list all -f json
```

### 获取听记详情

```bash
# 获取基本信息(标题、时长、参与者)
dws minutes get info --id <taskUuid>

# 获取转写文本
dws minutes get transcription --id <taskUuid>

# 获取AI摘要
dws minutes get summary --id <taskUuid>

# 获取待办事项
dws minutes get todos --id <taskUuid>

# 获取关键词
dws minutes get keywords --id <taskUuid>

# 批量获取多个听记详情
dws minutes get batch --id <id1>,<id2>,<id3>
```

### 其他操作

```bash
# 更新标题
dws minutes update title --id <taskUuid> --title "新标题"

# 更新摘要
dws minutes update summary --id <taskUuid> --summary "新摘要"

# 替换转写文本中的错误
dws minutes replace-text --id <taskUuid> --find "错误文本" --replace "正确文本"

# 生成思维导图
dws minutes mind-graph create --id <taskUuid>

# 上传录音文件创建听记
dws minutes upload create --file "recording.mp3"
```

---

## 典型工作流程

### 1. 列出最近的听记

```bash
# 列出我创建的听记(JSON格式)
dws minutes list mine -f json
```

### 2. 获取特定听记的转写文本

```bash
# 先获取听记的taskUuid
dws minutes list mine --max 1 -f json | jq -r '.result.minutesDetails[0].taskUuid'

# 获取转写文本(使用 --id 参数)
dws minutes get transcription --id <taskUuid>

# 示例:
dws minutes get transcription --id 76327569643331323336383832345f3237323535323932305f32
```

### 3. 获取完整听记数据

```bash
# 获取详情(使用 --id 参数)
dws minutes get info --id <taskUuid> -f json

# 获取转写
dws minutes get transcription --id <taskUuid>

# 获取摘要
dws minutes get summary --id <taskUuid>

# 获取待办
dws minutes get todos --id <taskUuid>

# 示例:
TASK_UUID="76327569643331323336383832345f3237323535323932305f32"
dws minutes get info --id $TASK_UUID -f json
dws minutes get transcription --id $TASK_UUID
dws minutes get summary --id $TASK_UUID
```

---

## 输出格式

使用 `-f json` 参数获取JSON格式输出,便于程序处理:

```bash
dws minutes list all -f json
```

JSON输出示例:

```json
[
  {
    "id": "76327569643331323336383832345f3237323535323932305f32",
    "title": "05-29 医美行业AI销售智能解决方案",
    "creator": "张三",
    "createTime": "2025-05-29T10:00:00Z",
    "duration": 7470,
    "participantCount": 5
  }
]
```

---

## 常用参数

| 参数        | 说明                 |
| ----------- | -------------------- |
| `-f json`   | JSON格式输出         |
| `-f table`  | 表格格式输出(默认) |
| `-f raw`    | 原始格式输出         |
| `--help`    | 查看帮助             |
| `--verbose` | 详细日志             |

---

## 注意事项

1. **首次使用需登录**:执行 `dws login` 完成认证
2. **企业授权**:需要企业管理员授权才能访问数据
3. **权限控制**:只能访问自己有权限的听记
4. **命令行工具**:比浏览器方案更轻量、更高效

---

## 与浏览器方案对比

| 特性     | dws CLI        | 浏览器方案           |
| -------- | -------------- | -------------------- |
| 安装     | 简单(npm/sh) | 复杂(Playwright)   |
| 速度     | 快             | 慢                   |
| 资源消耗 | 低             | 高                   |
| 维护     | 官方维护       | 需自己维护           |
| 认证     | OAuth设备流    | Cookie注入           |
| 稳定性   | 高             | 低(页面变化会失效) |