在阿里云 ECS 上让 data-agent 连上 RDS 的完整走法

简介: 本文详解如何在阿里云ECS上部署dsh-data-agent插件并连接同地域RDS,涵盖环境准备、插件安装、网络配置(安全组+白名单)、只读账号设置及连接测试全流程,并总结5个高频踩坑点与适用场景,助你快速落地AI数据对话分析。(239字)

把 data-agent 装到阿里云 ECS 上、连上同地域的 RDS,是本篇要走的完整一条路。插件本身不负责开网络,真正卡人的地方几乎都集中在「版本对不对」和「云上放不放行」这两类问题上。下面按环境 → 装插件 → RDS → ECS → 连接配置 → 跑通查询的顺序走一遍,最后附五个高频坑。

环境:先把 DSH 版本对齐

插件 @yejiming/dsh-data-agent 的 registry 最新版是 0.2.2(发布于 2026-09-29),它的 peerDependencies 全部要求 >=0.2.0-rc.1,其中 @deepseek-ai/cordis 钉在精确的 4.0.4。README 的口径是「DeepSeek Harness >= 0.2.0-rc.1」,而当前已完成运行验证的版本是 0.2.0-rc.2。

ECS 上第一件事是确认引擎版本够格了再装插件。还有一点要留意:包的 engines.node 未声明,Node 版本下限没有官方口径,需要你自己保证它与所装的 DSH 版本匹配——建议直接用能把 DSH 跑起来的那个 Node。

装插件:Web 与终端两个 profile

按你要用的入口选一个,装到对应 profile:

装完不需要重启机器,但要让会话重新拉起插件。插件走的是新版 dsh-agent-preset-registry 注册数据模式,预设仍从 $DSH_HOME/.agent-presets/<presetId>/ 读取,宿主注册表负责工具作用域、空会话切换与卸载。

RDS 侧:只读账号 + 内网白名单

在 RDS 控制台为 data-agent 单独建一个只读账号,只授权到要分析的那个库,不要图省事用主账号。接着处理白名单:把 ECS 的内网网段加进 RDS 白名单。这一步最容易漏——很多人只放行了本机公网 IP,ECS 走内网出口时自然连不上(见坑五)。

连接优先用 RDS 的内网地址,同地域内网延迟低,也不占公网带宽。

ECS 侧:安全组与出网

ECS 的安全组要放行到 RDS 端口的出方向流量。如果是通过 SSH 隧道绕行,还要在本机与 ECS 之间先把隧道端口打通。实例规格不必夸张——查询瓶颈通常在数据库端,但报告生成与图表渲染是本地 CPU 活,别挑最小规格。

连接配置与测试连接

Web 界面里:启动 dsh --profile web → 新建会话并选「数据模式」→ 点「连接配置」,或进会话后点输入框右上角的数据库图标 → 在弹出工作台中填连接信息。填完先点测试连接,通了再提问。终端入口则是先 /preset data-agent 切模式,再 /database connect 连接。

跑通第一条查询

连接成功后,先用大白话问一条能快速验证链路的,比如「对比最近 30 天各渠道转化率」。AI 会自己探查库表结构、编写并执行 SQL。跑通后再考虑打开「数据治理」做中文业务释义。

坑一 · DSH 版本不够,插件装上也起不来

现象。 装完在界面里看不到「数据模式」,或启动直接报错。原因。 插件 0.2.2 的 peerDependencies 全部要求 >=0.2.0-rc.1,@deepseek-ai/cordis 更是钉在 4.0.4;README 明确「旧版 DSH 请继续使用相应旧版插件」。解决。 先确认 dsh 版本达到 0.2.0-rc.1 以上(已完成运行验证的是 0.2.0-rc.2),再装 @yejiming/dsh-data-agent。

坑二 · 启动报 $.prefix missing required value

现象。 升级插件后首次启动,会话初始化失败,提示 $.prefix missing required value。原因。 新版 DSH 要求预设的 persona.config.prefix 必填;被自定义过的预设不会被自动覆盖,于是缺字段。解决。 备份 $DSH_HOME/.agent-presets/data-agent/agent.cordis.yml(默认位于 ~/.dsh),在 persona 的 config 中让 prefix 与原 text 使用相同提示词,然后重启。

坑三 · 连接能通,SQL 却被拦下来

现象。 测试连接成功,但一执行写操作就报错或被拒绝。原因。 只读保护要靠两件事同时成立:数据库账号本身只读 + 连接时开启「只读模式」;只做一件,护栏都只剩一半。解决。 在 RDS 侧建只读账号授权到目标库,再在连接配置里勾选只读模式;两处都配好后再做一次写操作验证会被拦。

坑四 · 报告找不到,其实落在了工作目录

现象。 Agent 说已生成报告,但在 ~ 下翻不到。原因。 报告存到当前工作目录的 analysis-reports/,而 Agent 的 cwd 由会话决定,不是固定 home 目录。解决。 先在会话里确认工作目录(或直接问 Agent 报告绝对路径),必要时固定会话工作目录,让同类报告集中落一处。

坑五 · ECS 内网连不上 RDS

现象。 插件在 ECS 上测试连接超时,但本机连同一台库正常。原因。 RDS 的白名单/安全组只放行了本机公网 IP;ECS 走内网或另一出口时不在白名单内。解决。 把 ECS 的内网网段加入 RDS 白名单,优先用内网地址连接;用 ECS 上的 telnet/nc 先验证到库端口的连通性,再回插件里点「测试连接」。

总结

走完这六步,data-agent 在阿里云上的落地其实就是「版本对齐 + 网络放行 + 只读双保险」这三件事;想对照同类插件的中文清单与安装形态见 DeepSeek Harness Hub 插件清单。

适合与不适合

适合:已有阿里云 ECS + RDS、想用对话做业务分析的分析师;需要给非技术同事自动产出离线 HTML 报告的团队;库表字段是英文缩写、想先做一轮中文业务释义的数据同学;习惯终端操作、想用 dsh-tui 快速连库的工程师。不适合:DSH 还停在 0.1.x 且不打算升级的用户;没有任何可连数据库、只想看演示效果的人;指望「装完即安全」、不愿手动配只读账号与只读模式的场景。

标签:dsh-data-agent、DeepSeek Harness、阿里云 ECS、RDS、只读保护

本文由 DeepSeek Harness Hub 自动整理,数据来源于插件详情页。

目录
相关文章
|
2天前
|
安全 小程序 搜索推荐
告别网络安全隐患,SSL 数字证书为网站筑牢可信壁垒
数字化时代,网站安全是经营底线。未部署SSL证书的“裸奔”站点面临数据劫持、仿冒钓鱼、浏览器标“不安全”等风险,损害信任、流量与合规。SSL证书通过加密传输+权威认证,为官网、小程序、电商等全场景提供轻量、高效、合规的基础安全防护。(239字)
|
1天前
|
弹性计算 缓存 运维
云主机上的图库分发:把 meme 图库塞进 ECS 的几种稳妥做法
本文详解dsh-meme在阿里云ECS多机环境下的表情包图库分发策略,涵盖市场安装、内网传递、随包内置三条路径,强调扫描目录统一、运行用户一致、图库结构规范及可控更新机制,助力团队高效实现图库集中管理与快速部署。(239字)
20 0
|
2天前
|
缓存 Java 编译器
第085篇 类委托 by:装饰器模式的一行实现
Kotlin类委托`by`是编译期语法糖,自动生成接口抽象方法的转发实现(如`delegate.foo()`),零反射、零运行时开销。但仅支持接口/抽象方法,不委托`Any`三方法、具体类方法及Java默认方法;委托对象天然共享状态,需注意隔离与可变性边界。
14 0
|
2天前
|
缓存 Java API
第107篇 协程与线程性能对比:为什么更轻
本文深入剖析协程性能误区:协程“轻量”仅指创建/切换成本低(纳秒级、用户态),而非单任务执行更快;它优化的是高并发I/O场景的资源占用,而非CPU算力。关键区分协程(挂起单元)与线程(调度单位),并指出三大常见坑:误信协程能加速阻塞调用、盲目用于CPU密集型任务、过度细粒度切换。
18 0
|
开发工具
新人乘风者礼品兑换指南
仅限2023年11月15日(含11月15日)后入驻博主用于兑换礼品,此前完成入驻的博主按原邮寄方式进行。
5009 9
|
存储 开发框架 NoSQL
使用Redis实现令牌桶算法
使用Redis实现令牌桶算法
1054 0
|
存储 SQL 运维
《告别日志混乱!巧用rsyslog与journald优化系统日志管理》
系统日志是服务器运行状况的“黑匣子”,对运维至关重要。rsyslog与journald作为两大日志管理工具,各具特色:rsyslog功能强大,支持本地及远程日志处理与转发;journald采用二进制存储,支持结构化数据和元数据,提升查询效率。两者协作可实现日志的高效收集、分类与分析,优化系统监控与故障排查。掌握它们的配置与使用,能显著提升服务器运维效率,保障系统稳定运行。
592 19
|
网络协议 关系型数据库 MySQL
浅谈SVN备份
浅谈SVN备份
|
开发工具 git
Git使用不当导致代码丢失的N种场景
背景git作为目前使用最广泛的分布式版本控制软件,集团内基本上所有开发同学都使用它来做代码管理。一个最典型的使用场景,是一个git仓库存在一个master主干分支,多个需求基于master拉自己的开发分支,然后在发布日时,新建一个release分支,然后原先并行的几个开发分支merge到release分支上,最后基于该分支发布上线,上线后release再merge到master主干上,一次发布完成
3970 1
Git使用不当导致代码丢失的N种场景

热门文章

最新文章