让AI知识触手可及

首页 » 【工具技巧】通过Claude Code+K2模型编写Dify插件的实践过程

前言

由于近日以cursorclaude code为代表的vibing编程模型逐渐流行,本章将分享介绍近期工作中借助claude code+Kimi K2模型开发dify插件的实践过程。

文章概要

本文主要包含两个部分:
1、环境搭建:claude code+Kimi K2开发环境的配置
2、插件开发:使用claude code+Kimi K2开发dify插件

1.开发环境准备

1.1 安装node.js

  • 访问https://nodejs.org/en/download
  • 按照官网提示,安装node.js即可

1.2 安装claude code

确认node.js已经安装成功后,执行以下命令安装claude code

npm install -g @anthropic-ai/claude-code

安装需要一定时间,耐心等待安装完毕后,使用claude --version验证安装成功即可。

1.3 注册Kimi K2

  • 访问https://platform.moonshot.cn/console/account
  • 注册Kimi K2账号
  • 新建API Key

备注:注册Kimi账号之后,默认会赠送15元额度,由于其有用量限速,所以最好充值50元以上。

1.4 配置claude code

Mac系统在终端下执行

export ANTHROPIC_BASE_URL=https://api.moonshot.cn/anthropic
export ANTHROPIC_AUTH_TOKEN=your-api-key

为了避免每次执行命令时都输入API KEY,我们可以将API KEY保存在环境变量中,在终端下执行

echo -e '\n export ANTHROPIC_AUTH_TOKEN=your-api-key' >> ~/.bash_profile
echo -e '\n export ANTHROPIC_BASE_URL=https://api.moonshot.cn/anthropic' >> ~/.bash_profile

echo -e '\n export ANTHROPIC_AUTH_TOKEN=your-api-key' >> ~/.zshrc
echo -e '\n export ANTHROPIC_BASE_URL=https://api.moonshot.cn/anthropic' >> ~/.zshrc

通过以上设置,在命令行(或者在cursor、vscode中启动终端)中,输入claude命令就可以启动claude了,如图:

2.Dify插件开发

接下来,我将借助一个实践项目,分享claude的使用过程。

特别说明:在开展本次调研的时候,我对dify平台的源码不了解,对于dify插件的开发更是一无所知,以下所开展的工作主要借助claude code以及dify的官方文档完成。

2.1 需求描述

由于工作中的项目需要,我们目前的前后端链路如下:

需求:找到一种方法,能够将课件平台与Dify交互时所使用的sys.user_id传递给模型聚合平台One-API系统,从而使得One-API系统能够获取到用户信息,开展相关的业务逻辑。

2.2 需求调研

基于以上的需求,我们将通过claude来解决上述的工作问题。

第一步:由于问题的解决涉及到dify相关信息的调研,所以我们将dify平台和dify插件的源码进行clone。

# clone dify平台源码
git clone https://github.com/langgenius/dify.git

# clone dify插件源码
git https://github.com/langgenius/dify-official-plugins.git

第二步:启动claude,借助其代码理解能力进行分析调研

# 进入到dify-official-plugins目录
cd dify-official-plugins

# 启动claude
claude

第三步:输入我们的需求,让claude进行分析调研

我有一个需求,请帮我评估如何实现相应的需求。

背景:
1、我在Dify平台上配置了一个工作流,这个工作流中通过sys.user_id记录了用户的信息。
2、我在Dify平台上借助Dify平台的模型供应商功能,通过OpenAI-API-compatible配置了对应的模型提供地址http://192.168.6.188:3000/v1以及API-KEY
3、在工作流中会使用到上述OpenAI-API-compatible已经配置好的模型,例如:deepseek-chat
4、以上链路目前是可以运行的。

需求:
1、我现在希望将工作流中的sys.user_id信息透传给大模型供应商http://192.168.6.188:3000/v1,也就是说在工作流中使用大模型的时候,发送给大模型的请求会携带sys.user_id的信息,从而使得大模型供应商接收到sys.user_id,进而进行相关处理。

2、由于Dify平台后续会持续升级,所以我不太希望修改Dify平台的源码来实现,因为这样做每次升级Dify平台的时候都需要进行代码合并,最好能够借助插件系统实现上述功能。

3、我希望在openai_api_compatible插件的基础上进行功能添加

参考资料:
1、openai_api_compatible插件源码:位于当前工程下的models/openai_api_compatible
2、dify平台源码位置:/Users/deadwalk/Code/ai_proj_llm/dify

请你根据我的需求,仔细分析models/openai_api_compatible插件的实现和dify平台的源码实现,给出可行的解决方案输出到docs目录。

要求:
1、方案中需要详细说明实现原理

稍事片刻,claude code通过分析Dify平台

最终,经过claude的分析调研,给出了相应的解决方案,方案按照提示词要求,输出在了docs目录下。

2.3 插件开发

整个开发过程,claude code会按照拟定好的todo,一步一步执行。

  • 基本上不需要人工参与,在需要一些有权限的操作时,claude code会进行提示获取权限。
  • 为了省事,你也可以选择不再提示,这样claude code会直接进行编辑、改写等操作。

2.4 插件打包

插件开发完毕之后,通过dify plugin命令进行打包,然后在dify平台安装即可。

2.4.1 安装dify plugin

Mac下通过brew安装dify plugin

brew tap langgenius/dify
brew install dify

更多安装方式可以查看Dify官方文档:Dify插件安装

2.4.2 插件打包

切换到插件源码的上一级目录下,执行以下命令打包插件

dify plugin package ./openai_api_compatible

插件打包成功后,会生成一个.difypkg的文件

2.5 插件测试

2.5.1 关闭Dify平台的签名检查

# 切换到dify的docker目录
cd docker

# 编辑.env 搜索并修改FORCE_VERIFYING_SIGNATURE 的值为false
FORCE_VERIFYING_SIGNATURE=false

重启Dify的docker容器即可。

具体说明请见Dify官网FAQ

2.5.2 上传并安装插件

在Dify平台的插件管理页面,上传之前打包好的插件文件并安装

2.5.3 测试插件

  1. 打开插件的配置页面,可以看到对应的配置项增加了透传参数的选项

  2. 开启插件的透传功能,同时配置对应的模型信息(模型地址配置本地已经启动的one-api服务)

  3. 创建一个Dify工作流

  4. 运行工作流,同时查看one-api的日志

可以看到,one-api上接受的服务日志X-User-Id与Dify运行时提供的sys.user_id一致。

备注:one-api服务我们已经进行了改造,可以将接收到的headers信息打印出来,方便我们查看透传信息

花费情况

  • 访问Kimi开发者平台,查看花费情况

  • 本次插件开发,主要进行了前期的需求调研、然后是插件开发,中间经历了2次调试修改,总计花费约17元。

总结

  • 借助claude code + Kimi K2模型,可以开展非常多的编码工作,比如:代码调研、方案评估、代码实现等。
  • 相比cursor的使用过程,claude code独立完成性更高,花费更加便宜。
  • 相比cursor动辄几十美元的花费,不但费用降低至原来的约1/10之一,整个代码实现过程中,不需要像cursor一样进行多次代码confirm的确认生成的代码质量。
  • 同时使用cursorclaude code并不冲突,完全可以在cursor中启动一个终端,在终端中运行claude code,然后通过terminal提供提示词。
  • 对于开发人员而言,无论是cursor还是claude code,能够提供结构化的提示词,同时具备清晰的问题分析和决策能力,是未来最为重要的能力。
声明:一起AI技术所有文章,如无特殊说明或标注,均为本站作者原创发布。任何个人或组织,在未征得作者同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。
原创不易,内容版权受保护,感谢您的尊重与支持。

发表评论

Picture of Dongming
Dongming
见天地,见众生,见自己。

分类文章

推荐活动

推荐文章

上交大 SciMaster 团队新作:一个「AI 物理博士」的诞生
为什么深圳硬件圈都在谈论千问?
GAIR 2025 世界模型分论坛:从通用感知到视频、物理世界模型的百家争鸣
【工具技巧】使用mcp工具进行tapd的快速操作
微分智飞高飞:我们正处于通用飞行智能爆发前夜丨GAIR 2025
独家丨OpenAI、Meta都在押注的摄像头AI耳机,被这家中国明星创业公司抢先发布
京东副总裁郑宇:未来管理智慧城市,会像玩游戏一样简单丨GAIR 2025
从「工具」到「搭档」,AI4S 走过深水区 | 2025年终回顾
「Tokens 经济」引领 AI 产业化落地,火山引擎凭什么后来居上
泡沫之下,人工智能产业化还有哪些方向值得「押注」? 丨GAIR 2025
滚动至顶部