codebuddy 支持三种自然语言转 elasticsearch dsl 方式:一、dify + elasticsearch-mcp-server 交互式生成;二、vscode 插件内嵌实时补全;三、python 脚本调用 cli/api 自动化集成。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您在编写 Elasticsearch 查询语句时遇到 DSL 语法复杂、字段嵌套深、聚合逻辑难组织等问题,CodeBuddy 可基于自然语言描述直接生成结构正确、可执行的查询 DSL。以下是多种实现方式:
一、交互式自然语言转 DSL(Dify + elasticsearch-mcp-server)
该方式利用 Dify 作为推理中枢,将用户输入的中文指令(如“查出过去24小时 error 级别且包含 'timeout' 的日志,按 host 分组统计数量”)解析为意图,并调用 elasticsearch-mcp-server 提供的标准工具(如 search、aggregations)生成完整 DSL。整个流程不暴露底层 API 细节,且支持上下文感知的多轮修正。
1、在 Dify 工作流中配置 elasticsearch-mcp-server 地址为 MCP Client 的连接目标。
2、定义工具调用策略:当用户指令含“查”“统计”“聚合”等关键词时,自动触发 search_with_aggs 工具。
3、向 Dify 输入自然语言查询需求,等待返回已格式化的 JSON DSL 内容。
4、将返回 DSL 粘贴至 Kibana Dev Tools 或 curl 命令中直接执行。
二、VSCode 插件内嵌实时 DSL 补全
CodeBuddy VSCode 插件可在编辑器内识别 .json 或 .esql 文件类型,在光标处于 query 字段值位置时,根据当前索引 mapping 结构与历史查询模式,提供符合 Elasticsearch 语法规范的 DSL 片段建议,避免拼写错误与嵌套层级错位。
1、打开一个包含 Elasticsearch 查询体的 JSON 文件。
CodeBuddy Code CLI 的安装、配置与使用指南。CodeBuddy Code 是腾讯推出的 AI 驱动 CLI 编程助手,支持自然语言驱动开发。 - 必备触发词:CodeBuddy, codebuddy, AI CLI, Tencent AI coding, @tencent-ai/codebuddy-code, terminal AI assistant - 适用场景:安装 CodeBuddy CLI、配置 CodeBuddy、使用 CodeBuddy 命令、排查 CodeBuddy 问题
2、将光标置于 "query": { } 的大括号内部。
3、按下 Ctrl+Space(Windows/Linux)或 Cmd+Space(macOS)触发智能补全。
4、选择匹配的查询类型(如 match、range、bool),插件自动填充字段名与示例值。
三、本地 Python 脚本中调用 CodeBuddy 生成 DSL 字符串
通过 CodeBuddy 的 API 接口或 CLI 模式,将自然语言查询需求作为 prompt 输入,接收返回的纯文本 DSL,再由脚本注入 requests.post 请求体中发送至 ES 集群。适用于自动化巡检、定时告警分析等场景。
1、安装 codebuddy-cli 工具:pip install codebuddy-cli。
2、执行命令:codebuddy generate --prompt "找出 status 字段为 500 且响应时间大于 2000ms 的文档,只返回 timestamp 和 url 字段"。
3、捕获输出的 JSON 字符串,用 json.loads() 解析为 Python dict。
4、将该 dict 作为 payload 传入 Elasticsearch 的 search API 调用。










