MCP(模型上下文协议)是一个使大型语言模型(LLMs,如 Claude)能够与外部工具和数据源交互的协议。使用 MCP,您可以:
- 构建为 LLMs 提供工具和数据的服务器
- 将这些服务器连接到兼容 MCP 的客户端
- 通过自定义功能扩展 LLM 的能力
MCP(模型上下文协议)是一个使大型语言模型(LLMs,如 Claude)能够与外部工具和数据源交互的协议。使用 MCP,您可以:
软件,框架版本更新记录 https://versionlog.com](https://versionlog.com)
下载好 dify 源码后,就可以使用 docker 开始运行 dify。
cd docker
cp .env.example .env
docker compose up -d
等待拉取镜像,构建服务,初始化。
如果宿主机的80,443 端口已经被使用了。请在 .env 中修改 dify 的本地映射端口为其他端口。比如:
EXPOSE_NGINX_PORT=8080
EXPOSE_NGINX_SSL_PORT=8443
这个时候,如果宿主机的 nginx 想访问 dify 的服务,可以用宿主机的 ip + dify 本地映射端口来访问。
通过 hostname -I 可以查看宿主机的 ip,第一个就是的。下边给一个 nginx 的示例。
# 映射 WebSocket 升级头
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
listen 80;
server_name xxx.yuepaibao.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name xxx.yuepaibao.com;
charset utf-8;
index index.php index.html index.htm;
ssl_certificate /etc/letsencrypt/live/xxx.yuepaibao.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/xxx.yuepaibao.com/privkey.pem; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
add_header X-XSS-Protection "1; mode=block";
add_header X-Frame-Options SAMEORIGIN always;
add_header X-Content-Type-Options nosniff always;
add_header X-Frame-Options "ALLOW-FROM https://www.yuepaibao.com";
add_header Content-Security-Policy "frame-ancestors https://www.yuepaibao.com";
location / {
proxy_pass http://172.17.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $server_name;
# WebSocket 支持(Dify 实时聊天必需)
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
# 超时配置:适配长连接
proxy_read_timeout 3600s;
proxy_send_timeout 3600s;
proxy_connect_timeout 60s;
}
# API 路径:增大文件上传限制
location /api {
proxy_pass http://172.17.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
client_max_body_size 100M;
}
location /xxabcxxx.txt {
return 200 "33b454d18da17ebb845c9e046e2c4956";
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
access_log /var/log/nginx/xxx.yuepaibao.com.log main;
error_log /var/log/nginx/xxx.yuepaibao.com.error.log warn;
}

使用 docker compose ps -a 可以查看服务的情况。其中 docker-init_permissions-1 只是在启动的时候调用一下,然后就退出了。
运行起来后,输入 http://localhost/ 会进入安装配置管理员界面。设置好邮箱,账号和密码确定好就可以。


然后开始配置知识库。
Dify 里的知识库检索必须用 Embedding 模型,作用是:把文字变成向量 → 让系统能计算相似度 → 实现文档检索、问答匹配。
知识库 embedding 模型选择,可以选择使用云端,也可以使用本地的。都是以插件的方式进行安装,配置和使用。
1 选择云端。
| 模型 | 优点 | 缺点 |
|---|---|---|
| OpenAI text-embedding-3-small | 效果顶级、稳定、Dify 原生支持 | 需要付费 API Key |
| 阿里通义 Embedding | 国内速度快、便宜 | 需要阿里云账号 |
| 百度千帆 Embedding | 国内稳定、免费额度高 | 需要百度智能云 |
| 智谱 GLM Embedding | 中文效果好 | 需要 API Key |
先配置云端插件。




插件已经下载安装,还需要配置。去对应的官网获取 apikey 信息,配置进去。
然后添加知识库文件,配置 embedding 模型,继续下去。

https://blog.csdn.net/weixin_28931449/article/details/156266015
dify 官方仓库: https://github.com/langgenius/dify/
# 先 clone 最新版本,体积小,不容易出错
git clone --depth 1 https://github.com/langgenius/dify.git
# 更新完整历史
git fetch --unshallow
# 添加官方仓库为 upstream(用于同步更新)
git remote add upstream https://github.com/langgenius/dify.git
# 移除默认的 origin,添加自己的 git 仓库
git remote remove origin
git remote add origin git@github.com:xxxx/dify.git
假如你的项目叫 mimo
# 创建 mimo 分支。后期修改都在这个分支做。
git checkout -b mimo
# 将代码推送到远程服务器上
git push -u origin mimo
# 切换到 mimo 分支
git checkout mimo
# 修改代码后,提交代码
git add .
git commit -m '修改 ui界面,替换 logo 等'
# 推送到服务端
git push
# 切换到 main 分支
git checkout main
# 拉取官方最新的代码
git pull upstream main
# 推送更新后的 main 分支
git push origin main
# 切换到项目分支
git checkout mimo
# 合并 main 分支
git merge main
当初想移动硬盘在 win 系统和 mac 系统,选择了 exFAT 文件系统。现在却出现了一个很烦的问题。在 mac 电脑上,没有安全退出(直接拔出或电脑关机重启)移动硬盘,下次再插入移动硬盘就识别不了。
用 mac 自己的修复工具也修复不了。只能去用 win 系统来修复。
但是,在 mac 下识别不了的移动硬盘,在 win 上却是可以直接识别的。但是,现在是要修复移动硬盘使得在 mac 上继续使用。
将移动硬盘插入到 win 系统上。执行下边命令开始修复。
# E 是移动硬盘插入到 win 系统显示的盘符。 /f 是修复的意思,不加参数就是只检查
chkdsk E: /f

等待修复完成就好。这个修复时间不确定,快的几分钟,慢的话几个小时。固态硬盘貌似会快一些。
虽然修复完成了,却发现移动硬盘不能安全退出,就是右键没有安全退出还有在设备那里也没有。找了好几个方法都不太行。最后还是使用命令行解决的问题。
使用 win的磁盘管理命令工具。
使用管理员身份打开终端。
# 进入磁盘管理
diskpart
# 显示磁盘列表
list disk
# 选择磁盘(这个时候不再是盘符 C、D、E这些了,而是 0,1,2)
select disk 3
# 磁盘脱机
offline disk

这样就好了,在磁盘列表里也不见移动硬盘了。然后直接拔出,插入到 mac 电脑上,又可以继续识别和读写了。
“Skills”(技能)是当前 AI 编程和智能体(Agent)生态中一个核心机制,它的目标是:让大模型从“通用聊天机器人”变成“具备特定领域专业能力的数字员工”。
把人类的“领域经验”打包成可复用、可调用的标准化流程(SOP),交给 AI 执行。
| 问题 | Skills 如何解决 |
|---|---|
| 大模型“泛而不精” | 通过绑定领域 SOP,让它在特定任务上表现专业 |
| 提示词不稳定、效果差 | 把最佳实践固化为代码+文档,确保一致性 |
| 重复劳动无法自动化 | 一次创建,多次调用,甚至可共享、可变现 |
| Token 浪费严重 | 采用“渐进式加载”:只在需要时注入详细指令 |
| 幻觉率高 | 通过脚本在沙盒中执行复杂逻辑,结果更可靠 |
💡 简单说:Skills = 把你的“工作经验”变成 AI 能执行的“入职培训手册”。
✅ 方式1:用自然语言让 AI 帮你创建(推荐新手)
✅ 方式2:手动编写 SKILL.md(适合开发者)
---name: "UI Designer Pro"description: "根据简单提示生成高质量网页UI设计,使用Tailwind和现代字体"---# 执行步骤1. 分析用户需求中的关键词(如“商品列表页”、“深色模式”)2. 调用 scripts/generate_ui.py3. 返回HTML+CSS代码
放入 scripts/ 和 refs/ 资源
安装到指定目录(见下文)
✅ 方式3:下载现成的 Skills 使用
不同工具安装路径不同,但逻辑一致:
Skills 分两类作用域:
项目级(Project-level):只在当前项目生效→ 放在项目根目录下的 .skills/ 或 skills/ 文件夹
全局级(Global):所有项目可用→ 放在用户主目录或工具指定的全局目录,如:
⚠️ 注意:部分工具(如早期 Antigravity)不支持直接读取 Cloud 目录的技能,需手动拷贝;而 Coze、Cosmic 2.4+、通义万相等已支持云端技能直连。
以下是 2026 年初最火的几类 Skills:
| 类别 | 热门技能示例 | 功能 |
|---|---|---|
| 内容创作 | 花叔写作技能、爆款选题分析器 | 自动生成选题、大纲、润色、多平台适配 |
| UI/UX 设计 | UI UX ProMax、Tailwind Generator | 输入文字 → 输出精美网页代码 |
| 数据分析 | 超级分析师(含12种分析框架) | 用第一性原理、SWOT 等方法论分析问题 |
| 自媒体运营 | 公众号自动采集+热度分析 | 抓取100+公众号,生成Top10选题报告 |
| 办公自动化 | PPT 生成器(16:9 + 3:4 双比例) | 文案 → 多页PPT图片/PDF |
| 开发辅助 | Code Reviewer、API Tester | 自动审查代码、生成测试用例 |
https://cloud.tencent.com/developer/article/2625392?policyId=1003
移动端按设计稿原因输出。
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">
这里设计稿宽度 750px,100px 对比 1 rem 进行换算。
<script>
(function() {
const designWidth = 750; // 设计稿宽度
const baseRem = 100; // 设计稿中 100px = 1rem
function setRootFontSize() {
const deviceWidth = document.documentElement.clientWidth || window.innerWidth;
// 限制最大宽度(可选,防止在 iPad/PC 上过大)
const maxWidth = 750;
const effectiveWidth = Math.min(deviceWidth, maxWidth);
const fontSize = (effectiveWidth / designWidth) * baseRem;
document.documentElement.style.fontSize = fontSize + 'px';
}
setRootFontSize();
window.addEventListener('resize', setRootFontSize);
window.addEventListener('orientationchange', setRootFontSize);
})();
</script>
样式中使用 rem 代替设计稿中的 px。1rem 对比 100px 的换算。
假如 app 的名字叫抖音,拼音就是 douyin。然后使用下边命令生成。
keytool -genkey -alias douyin -keyalg RSA -keysize 2048 -validity 36500 -keystore douyin.dev.keystore
输出密码,组织信息,城市,地区这些,回车生成。比如。
douyin2026
姓氏: douyin
组织: douyin
单位: douyin
城市: shanghai
地区: shanghai
地区代码: cn
keytool -list -v -alias douyin -keystore douyin.dev.keystore
win 系统,如果出现错误:
keytool 错误: java.util.IllegalFormatConversionException: d != java.lang.String
java.util.IllegalFormatConversionException: d != java.lang.String
请用下边的命令。
cmd /c "set JAVA_TOOL_OPTIONS=-Duser.language=en & keytool -list -v -alias douyin -keystore douyin.dev.keystore"
输入密码后,就可以看到内容了。但是,这个命令只能看到 sha1 和 sha256 的值。如果想看 md5 值,还得生成 cer 证书,在证书中查看。因为腾讯开放平台添加 android app 的时候,需要用到签名,这个签名就是 md5值去掉 : 的字符串,长度是 32。
cmd /c "set JAVA_TOOL_OPTIONS=-Duser.language=en & keytool -exportcert -alias douyin -keystore douyin.dev.keystore -file cert.cer"
openssl x509 -inform DER -in cert.cer -fingerprint -md5
这里就可以看到 md5 值。
https://ask.dcloud.net.cn/article/35777
https://developers.weixin.qq.com/doc/oplatform/Mobile_App/Downloads/Android_Resource.html
sudo yum install -y iftop nethogs
sudo apt update && sudo apt install -y iftop nethogs
# 查看流量
sudo iftop -i eth0 -P
