dingtalk-ai-web-search

$npx mdskill add breath57/dingtalk-skills/dingtalk-ai-web-search

执行网页搜索并返回JSON格式的结果

  • 用户需要查找特定主题的信息,如最新资讯、实时数据等。
  • 依赖于dingtalk-ai-web-search技能提供的智能搜索引擎API。
  • 通过关键词搜索和时间范围过滤来定位相关信息,并根据需求调整结果数量。
  • 将检索到的结果以JSON格式返回给用户或上下文环境。

SKILL.md

.github/skills/dingtalk-ai-web-searchView on GitHub ↗
---
name: dingtalk-ai-web-search
description: 网页搜索与实时信息检索。需要查找最新资讯、实时数据、技术文档、热点事件,或用户说"搜一下"、"帮我查"、"查资料"、"web search"等时使用。基于小宿AI智能搜索,支持关键词搜索、时间范围过滤(一天/一周/一月/一年)、自定义结果数量、JSON 输出。
---

## 会话开始:连通性检查

**每次新会话开始,先运行 `--ping` 检查,再执行实际搜索:**

```bash
bash <CURRENT_SKILL_MD_PATH_DIR>/scripts/search.sh --ping
```

根据结果处理:

| 结果 | 含义 | 处理方式 |
|------|------|----------|
| `✓ 连通成功,可用工具: web_search` | 正常 | 直接开始搜索 |
| `错误:未配置 MCP URL` | 从未配置或配置丢失 | 向用户索取 MCP 配置(见下方) |
| `连接失败: ...` | URL 失效或网络问题 | 让用户重新获取配置并执行 `--save` |

---

## 配置缺失时:向用户索取 MCP 配置

让用户打开以下页面,复制 MCP 配置 JSON 后提供给你:
```
https://mcp.dingtalk.com/#/detail?detailType=instanceMcpDetail&instanceId=78440
```

配置格式示例:
```json
{
  "mcpServers": {
    "小宿智能搜索": {
      "type": "streamable-http",
      "url": "https://mcp-gw.dingtalk.com/server/..."
    }
  }
}
```

收到配置后,运行连通性测试并永久保存(将 JSON 作为字符串传入 `-c`):
```bash
bash <CURRENT_SKILL_MD_PATH_DIR>/scripts/search.sh --save -c '{"mcpServers":{"小宿智能搜索":{"type":"streamable-http","url":"<用户提供的URL>"}}}'
```

- 成功:输出 `✓ 连通成功,可用工具: ...` 并提示已保存,后续无需再传 `-c`
- 失败:根据报错提示处理(配置格式错误 / 网络不通 / URL 无效)

---

## 快速参考

| 场景 | 命令 |
|------|------|
| **会话开始连通检查** | `bash <CURRENT_SKILL_MD_PATH_DIR>/scripts/search.sh --ping` |
| **保存配置(需 -c 传入 JSON)** | `bash ... --save -c '<MCP JSON配置>'` |
| 普通搜索 | `bash <CURRENT_SKILL_MD_PATH_DIR>/scripts/search.sh -q "关键词"` |
| 限定时间范围 | `bash ... -q "关键词" -f oneWeek` |
| 返回更多结果 | `bash ... -q "关键词" -n 10` |
| JSON 输出 | `bash ... -q "关键词" --json` |

---

## 基础用法

```bash
bash <CURRENT_SKILL_MD_PATH_DIR>/scripts/search.sh -q "Python asyncio 最佳实践"
```

---

## 时间筛选

```bash
# 一周内的最新文章
bash <CURRENT_SKILL_MD_PATH_DIR>/scripts/search.sh -q "LLM 评测基准 2025" -f oneWeek

# 一个月内
bash <CURRENT_SKILL_MD_PATH_DIR>/scripts/search.sh -q "AI 编程工具对比" -f oneMonth
```

可选值: `noLimit`(默认)| `oneDay` | `oneWeek` | `oneMonth` | `oneYear`

---

## JSON 输出(便于程序处理)

```bash
bash <CURRENT_SKILL_MD_PATH_DIR>/scripts/search.sh -q "FastAPI 性能优化" -n 5 --json
```

输出格式:
```json
[
  {
    "title": "页面标题",
    "url": "https://...",
    "snippet": "内容摘要...",
    "site": "网站名称",
    "published": "2025-01-01",
    "source": "小宿智能搜索"
  }
]
```

---

## 典型工作流

### 调研某个技术主题
```bash
bash <CURRENT_SKILL_MD_PATH_DIR>/scripts/search.sh -q "LangGraph checkpoint 持久化方案" -n 5
```

### 获取实时信息
```bash
# 近一周新闻
bash <CURRENT_SKILL_MD_PATH_DIR>/scripts/search.sh -q "OpenAI o3 发布" -f oneWeek -n 8
```

### 多轮深入调研
```bash
# 第一轮:宽泛了解
bash <CURRENT_SKILL_MD_PATH_DIR>/scripts/search.sh -q "Rust 异步运行时对比" -n 5
# 第二轮:聚焦具体问题
bash <CURRENT_SKILL_MD_PATH_DIR>/scripts/search.sh -q "tokio vs async-std 性能基准测试 2024" -f oneYear -n 5
```

More from breath57/dingtalk-skills

SkillDescription
dingtalk-ai-table钉钉 AI 表格(多维表格)操作。当用户提到"钉钉AI表格"、"AI表格"、"多维表格"、"工作表"、"字段"、"记录"、"新增记录"、"查询记录"、"更新记录"、"删除记录"、"新建字段"、"删除字段"、"dingtalk AI table"、"dingtalk notable"、"able文件"时使用此技能。支持工作表管理、字段管理、记录的增删改查等全部操作。
dingtalk-document钉钉知识库和文档管理操作。当用户提到"钉钉文档"、"知识库"、"新建文档"、"查看文档目录"、"读取文档内容"、"写入文档"、"更新文档"、"文档成员"、"dingtalk doc"、"knowledge base"时使用此技能。支持:创建知识库、查询知识库列表、新建文档/文件夹、读取/写入文档正文内容、管理成员权限等全部文档类操作。
dingtalk-knowledge-search钉钉知识库搜索与读取。用于在钉钉沉淀知识里快速查资料、理解项目背景、梳理团队/部门信息、回答制度问题、整理新人入门材料、读取文档正文、导出 Markdown、下载文件,并可带图片和 diagram。
dingtalk-message钉钉消息发送。当用户提到"钉钉消息"、"发消息"、"发通知"、"群通知"、"群消息"、"Webhook"、"机器人消息"、"机器人发消息"、"工作通知"、"单聊消息"、"群聊消息"、"撤回消息"、"消息已读"、"发送Markdown"、"发卡片消息"、"ActionCard"、"@某人"、"@员工"、"at某人"、"提醒某人"、"dingtalk message"、"send message"、"robot message"、"work notification"时使用此技能。支持:群自定义 Webhook 机器人(文本/Markdown/ActionCard/Link/FeedCard + 加签 + @某人)、企业内部应用机器人单聊和群聊发送、消息撤回、已读查询、工作通知等全部消息类操作。
dingtalk-skill-creator创建新的钉钉技能(dingtalk skill)。当用户提到"创建新技能"、"新建技能"、"开发钉钉技能"、"新增钉钉功能"、"添加钉钉接口支持"、"我需要一个钉钉 xxx 技能"、"钉钉待办"、"钉钉签到"、"钉钉考勤"、"钉钉审批"、"钉钉日程"等希望将某个钉钉 API 领域封装成可复用 skill 时,必须使用此技能。此技能包含完整的技能创建流程:SDK 探索 → SDK Python 测试 → 纯 HTTP Python 测试(两步全通过)→ SKILL.md 编写。测试未全部通过不得创建 skill。