配置钉钉龙虾OpenClaw机器人调用OpenMetadata

配置钉钉龙虾OpenClaw机器人调用OpenMetadata

目录

一、前言

在这里插入图片描述


先介绍下这四个工具/协议的定位与核心能力,本文将从零开始配置。

1️⃣钉钉(DingTalk)

阿里巴巴旗下的企业协作平台,2014年上线,是中国市场份额最大的企业即时通讯与办公套件之一。

核心能力包括:即时消息与视频会议、考勤打卡与审批流、企业通讯录、低代码应用搭建(宜搭)、以及近年来整合的 AI 助理功能。它更像一个"企业操作系统",把 HR、OA、协同文档、客户管理等功能整合在一个 App 里,主要面向中大型企业的内部运营。

2️⃣OpenClaw

OpenClaw 是一个开源、可自托管的个人 AI Agent 平台。可运行在你自己的笔记本上,连接你已有的聊天渠道(钉钉、飞书等平台)。
它不仅能聊天 ,更能执行任务:读写文件、处理邮件、运行代码、控制浏览器、调度工作流。
详见:https://zhuanlan.zhihu.com/p/2015027745743189513

3️⃣OpenMetadata

开源的统一元数据管理平台(类似 DataHub、Amundsen),专注解决企业数据治理的痛点。

它提供:数据资产目录(知道你有哪些表、API、仪表盘)、数据血缘追踪(知道数据从哪来、流向哪)、数据质量监控、数据所有权与标签管理,以及协作功能(让数据工程师和业务人员共同维护元数据)。目标是让企业真正"知道自己的数据",降低数据孤岛和治理混乱的风险。

4️⃣MCP(Model Context Protocol)

由 Anthropic 在 2024 年底提出并开源的标准协议,定义了 LLM(如 Claude)如何与外部工具、数据源进行标准化通信。

可以类比为 AI 领域的"USB-C"——在此之前,每个 AI 应用和工具的集成方式各自为政;MCP 提供了统一的接口规范,让 LLM 能以一致的方式调用文件系统、数据库、API、第三方服务等资源。开发者只需实现一次 MCP Server,就能被任何支持 MCP 的客户端(如 Claude、Cursor)调用,大幅降低集成成本。


二、安装OpenClaw

详见官方文档:https://docs.openclaw.ai/zh-CN/install

macOS/Linux 执行安装命令,更新也可执行此命令

curl-fsSL https://openclaw.ai/install.sh |bash

Windows 执行安装命令

iwr -useb https://openclaw.ai/install.ps1 | iex 

模型可以选Qwen,有免费额度,其它下一步就行,空格勾选,Enter下一步
安装后可以验证下

openclaw doctor # 检查配置问题 openclaw status # Gateway 网关状态 openclaw dashboard # 打开浏览器 UI

三、配置OpenClaw钉钉机器人

详见官方文档:https://open.dingtalk.com/document/dingstart/install-openclaw-locally

1️⃣安装钉钉插件

openclaw plugins install @dingtalk-real-ai/dingtalk-connector 

2️⃣在 OpenClaw 中添加钉钉配置
通过终端应用,在终端中输入执行 vim ~/.openclaw/openclaw.json 进入文件编辑:

{"channels":{"dingtalk-connector":{"clientId":"钉钉应用的Client Secret", // 必选:填入上方的 钉钉 Client ID "clientSecret":"钉钉应用的Client Secret", // 必选:填入上方的 Client Secret "gatewayToken":"Gateway 认证 token", // 必选:Gateway 认证 token, openclaw.json配置中 gateway.auth.token 的值 "gatewayPassword":"", // 可选:Gateway 认证 password(与 token 二选一) "sessionTimeout":1800000 // 可选:会话超时(ms),默认 30 分钟 }}, "gateway":{ // gateway通常是已有的节点,配置时注意把http部分追加到已有节点下 "auth":{"mode":"token", "token":"Gateway 认证 token" // 必选:一般是安装时默认就有 }, "http":{"endpoints":{"chatCompletions":{"enabled":true // 必选 }}}}}

clientId和clientSecret见 https://alidocs.dingtalk.com/i/nodes/kDnRL6jAJMdn7BG2TwPE6LP0VyMoPYe1
钉钉机器人发布后,钉钉上搜索你创建的机器人。

在这里插入图片描述


语音也可以

在这里插入图片描述

四、调用OpenMetadata MCP

设置中获取OpenMetadata JWT 令牌,在Bots/McpApplicationBot
把MCP接口地址和令牌给龙虾,直接让连接即可

在这里插入图片描述
 OpenMetadata MCP 接口列表 1. search_metadata - 搜索元数据 功能: 在 OpenMetadata 目录中搜索数据资产和业务术语 支持搜索: 表、仪表板、主题、管道等元数据实体 关键参数: query - 自然语言搜索查询 entityType - 按实体类型过滤 queryFilter - 高级 OpenSearch JSON 查询 size - 返回结果数量(最大50) fields - 额外字段(如列信息、查询等) 2. get_entity_details - 获取实体详情 功能: 获取特定实体的详细信息 参数: entityType - 实体类型 fqn - 完全限定名称 3. get_entity_lineage - 获取血缘关系 功能: 获取实体的上下游依赖关系 用途: 根因分析(上游)或影响分析(下游) 参数: entityType - 实体类型 fqn - 完全限定名称 upstreamDepth - 上游遍历深度(默认3,最大10) downstreamDepth - 下游遍历深度(默认3,最大10) 4. create_glossary_term - 创建术语表术语 功能: 创建新的术语表术语 要求: 术语必须属于某个术语表 参数: glossary - 术语表完全限定名称 parentTerm - 父术语(可选) name - 术语名称 description - 术语描述 owners - 所有者列表 5. create_glossary - 创建术语表 功能: 创建新的术语表 参数: name - 术语表名称 description - 术语表描述 owners - 所有者列表 reviewers - 评审者列表 mutuallyExclusive - 术语是否互斥 6. patch_entity - 修补实体 功能: 基于 JSONPatch 修补实体 参数: entityType - 实体类型 fqn - 完全限定名称 patch - JSONPatch 字符串  接口分类 查询类接口 search_metadata - 搜索 get_entity_details - 详情 get_entity_lineage - 血缘 创建类接口 create_glossary - 创建术语表 create_glossary_term - 创建术语 更新类接口 patch_entity - 修补实体  使用场景 数据发现 search_metadata - 查找表、仪表板等 get_entity_details - 查看表结构、描述等 数据血缘分析 get_entity_lineage - 分析数据流向和依赖 数据治理 create_glossary - 创建业务术语表 create_glossary_term - 定义业务术语 patch_entity - 更新元数据信息  注意事项 搜索限制:size 参数最大为50,需要分页时使用 from 参数 血缘深度: 上游/下游深度最大为10,防止响应过大 术语表: 创建术语前需要先创建或选择术语表 权限: 需要有效的 Bearer Token 认证 
在这里插入图片描述


下面的操作有点吓人了,感觉真要被AI替代了!!!
我让统计一个提单量,本意是让它输出计算的SQL,它直接输出了统计报告,而且自动下载了pg客户端,还破解了数据库密码,自动执行。

在这里插入图片描述


家人们,我们失业了干啥呢😭

Read more

前端虚拟列表实现:别再渲染10000个DOM节点了

前端虚拟列表实现:别再渲染10000个DOM节点了

前端虚拟列表实现:别再渲染10000个DOM节点了 毒舌时刻 这代码写得跟网红滤镜似的——仅供参考。 各位前端同行,咱们今天聊聊前端虚拟列表。别告诉我你还在一次性渲染10000个列表项,那感觉就像把10000本书全部摆在桌面上——既占地方又难找。 为什么你需要虚拟列表 最近看到一个项目,一个下拉列表有5000个选项,全部渲染导致页面卡死,我差点当场去世。我就想问:你是在做列表还是在做性能杀手? 反面教材 // 反面教材:一次性渲染所有数据 function BigList({ items }) { return ( <ul style={{ height: '400px', overflow: 'auto' }}> {items.map(item => ( <li key={item.id} style={{ height: '50px'

前端 + agent 开发学习路线

背景:团队启动Agent项目,从零开始学习工程化AI开发 感谢ai老师写的学习指南。存档! 引言:从困惑到清晰 最近团队要启动Agent项目,我第一次接触这个概念时,只停留在“接入大模型API+优化Prompt”的浅层理解。经过大量学习和实践探索,我才发现工程化Agent开发是系统化的架构设计,而不仅仅是API调用。 这篇文章记录我从前端视角出发,探索Agent工程化开发的学习路径和实践经验。如果你也是前端/全栈开发者,想要在AI时代找到自己的定位,这篇指南应该能帮到你。 一、认知重塑:什么是工程化Agent? 1.1 我的错误认知 vs 现实 我原来的理解: Agent = 大模型API + Prompt优化 实际上的工程化Agent: Agent = 系统架构 + 可控执行 + 安全审查 + 领域适配 + 可观测性 1.2 Agent的分层架构(医疗场景示例) 你的主战场 任务分解器 工具路由器 记忆管理器 状态监控器

一文了解Blob文件格式,前端必备技能之一

一文了解Blob文件格式,前端必备技能之一

文章目录 * 前言 * 一、什么是Blob? * 二、Blob的基本特性 * 三、Blob的构造函数 * 四、常见使用场景 * 1. 文件下载 * 2. 图片预览 * 3. 大文件分片上传 * 四、Blob与其他API的关系 * 1. File API * 2. FileReader * 3. URL.createObjectURL() * 4. Response * 五、性能与内存管理 * 六、实际案例:导出Word文档 * 七、浏览器兼容性 * 八、总结 前言 最近在项目中需要导出文档时,我首次接触到了 Blob 文件格式。作为一个前端开发者,虽然经常听到 "Blob" 这个术语,但对其具体原理和应用场景并不十分了解。经过一番研究和实践,

Spring Boot携手Leaflet,点亮省级旅游口号WebGIS可视化之路

Spring Boot携手Leaflet,点亮省级旅游口号WebGIS可视化之路

目录 前言 一、旅游口号信息管理 1、写在前面的 2、空间属性关联 二、SpringBoot后台实现 1、系统调用时序图 2、Mapper数据查询实现 3、控制层接口实现 三、Leaflet集成实现WebGIS 1、省级数据展示及可视化 2、东北三省旅游口号 3、长三角城市群口号 4、珠三角旅游口号 5、西北地区旅游口号 四、总结 前言         在当今数字化浪潮汹涌澎湃的时代,地理信息系统(GIS)技术正以前所未有的速度改变着我们对世界的认知与探索方式。它不仅为科学研究提供了强大的工具,更在旅游、城市规划、环境保护等诸多领域展现出巨大的应用潜力。而当我们将目光聚焦于旅游行业,一个充满活力与创新的领域,GIS技术的应用更是如鱼得水,为旅游体验的提升和旅        游管理的优化带来了全新的机遇。         省级旅游口号作为各地旅游宣传的重要名片,承载着地域文化的精髓与旅游资源的亮点,是吸引游客、塑造旅游品牌形象的关键要素。然而,传统的旅游口号宣传方式往往局限于文字、