Pārlūkot izejas kodu

fix: 代码审查修复 - .env.docker排除、nginx/ssrf配置文件、web端口、hybrid检索、示例文档

xieke 1 nedēļu atpakaļ
vecāks
revīzija
4ca30bbe15

+ 2
- 0
.gitignore Parādīt failu

@@ -1,8 +1,10 @@
1 1
 # 环境变量(含密码和密钥)
2 2
 docker/.env
3
+docker/.env.docker
3 4
 .env
4 5
 .env.local
5 6
 .env.*.local
7
+.env.*.docker
6 8
 
7 9
 # Docker 数据卷
8 10
 docker/data/

+ 0
- 32
docker/.env.docker Parādīt failu

@@ -1,32 +0,0 @@
1
-# ============================================================
2
-# Dify Docker 内部服务通信环境变量
3
-# 此文件由 docker-compose.yml 的 env_file 引用
4
-# 请勿提交到 Git,已在 .gitignore 中排除
5
-# ============================================================
6
-
7
-# 内部服务间通信不需要修改以下值
8
-# DB/Redis 等地址使用 docker-compose 中的服务名
9
-
10
-EDITION=SELF_HOSTED
11
-CONF_GIT_SYNC_ENABLED=false
12
-
13
-# 知识库检索配置
14
-INDEXING_MAX_SEGMENTATION_TOKENS=500
15
-INDEXING_MAX_SEGMENTATION_CHUNKS_PER_FILE=10
16
-INDEXING_SEGMENTATION_SEPARATOR=['\n','\n\n',' ','。','!','?',';',';']
17
-
18
-# 批量处理配置
19
-BATCH_PROCESSING_ENABLED=true
20
-
21
-# 多模态配置
22
-MULTIMODAL_ENABLED=true
23
-
24
-# 文件上传限制
25
-UPLOAD_FILE_SIZE_LIMIT=50
26
-UPLOAD_IMAGE_FILE_SIZE_LIMIT=20
27
-
28
-# Celery 队列配置
29
-CELERY_QUEUES=dataset,generation,mail
30
-
31
-# 文档解析配置
32
-DOCUMENT_PARSERS=pdf,txt,md,csv,xlsx,pptx,docx

+ 3
- 0
docker/docker-compose.yml Parādīt failu

@@ -111,6 +111,9 @@ services:
111 111
     environment:
112 112
       - NEXT_PUBLIC_API_BASE_URL=${NEXT_PUBLIC_API_BASE_URL:-}
113 113
       - NEXT_PUBLIC_DEPLOY_ENV=${NEXT_PUBLIC_DEPLOY_ENV:-PRODUCTION}
114
+    # 不使用 Nginx 时可直接访问 Web(设置 WEB_PORT=3000 启用)
115
+    ports:
116
+      - "${WEB_PORT:-}"
114 117
     volumes:
115 118
       - web_config:/app/config
116 119
     depends_on:

+ 88
- 0
docker/nginx/nginx.conf Parādīt failu

@@ -0,0 +1,88 @@
1
+# Nginx 反向代理配置
2
+# 西安云美电子科技有限公司 - 企业知识库
3
+
4
+upstream dify_api {
5
+    server api:5001;
6
+}
7
+
8
+upstream dify_web {
9
+    server web:3000;
10
+}
11
+
12
+server {
13
+    listen 80;
14
+    server_name _;
15
+
16
+    # 请求体大小限制(文件上传)
17
+    client_max_body_size 50M;
18
+
19
+    # API 请求
20
+    location /console/api {
21
+        proxy_pass http://dify_api;
22
+        proxy_set_header Host $host;
23
+        proxy_set_header X-Real-IP $remote_addr;
24
+        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
25
+        proxy_set_header X-Forwarded-Proto $scheme;
26
+
27
+        # WebSocket 支持
28
+        proxy_http_version 1.1;
29
+        proxy_set_header Upgrade $http_upgrade;
30
+        proxy_set_header Connection "upgrade";
31
+    }
32
+
33
+    location /v1 {
34
+        proxy_pass http://dify_api;
35
+        proxy_set_header Host $host;
36
+        proxy_set_header X-Real-IP $remote_addr;
37
+        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
38
+        proxy_set_header X-Forwarded-Proto $scheme;
39
+
40
+        # SSE 支持
41
+        proxy_buffering off;
42
+        proxy_cache off;
43
+        proxy_read_timeout 300s;
44
+    }
45
+
46
+    # 静态资源
47
+    location /files {
48
+        proxy_pass http://dify_api;
49
+        proxy_set_header Host $host;
50
+        proxy_set_header X-Real-IP $remote_addr;
51
+    }
52
+
53
+    location /elegant {
54
+        proxy_pass http://dify_api;
55
+        proxy_set_header Host $host;
56
+    }
57
+
58
+    # Web 前端
59
+    location / {
60
+        proxy_pass http://dify_web;
61
+        proxy_set_header Host $host;
62
+        proxy_set_header X-Real-IP $remote_addr;
63
+        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
64
+        proxy_set_header X-Forwarded-Proto $scheme;
65
+    }
66
+}
67
+
68
+# HTTPS 配置(取消注释并配置 SSL 证书后启用)
69
+# server {
70
+#     listen 443 ssl;
71
+#     server_name kb.xayunmei.com;
72
+#
73
+#     ssl_certificate /etc/nginx/ssl/server.crt;
74
+#     ssl_certificate_key /etc/nginx/ssl/server.key;
75
+#     ssl_protocols TLSv1.2 TLSv1.3;
76
+#     ssl_ciphers HIGH:!aNULL:!MD5;
77
+#
78
+#     client_max_body_size 50M;
79
+#
80
+#     # 同上 location 配置...
81
+# }
82
+
83
+# HTTP → HTTPS 重定向(启用 HTTPS 后取消注释)
84
+# server {
85
+#     listen 80;
86
+#     server_name kb.xayunmei.com;
87
+#     return 301 https://$server_name$request_uri;
88
+# }

+ 0
- 0
docker/nginx/ssl/.gitkeep Parādīt failu


+ 38
- 0
docker/ssrf-proxy/squid.conf.template Parādīt failu

@@ -0,0 +1,38 @@
1
+# Squid SSRF Proxy 配置模板
2
+# 用于 Dify 的 HTTP 请求代理,防止 SSRF 攻击
3
+
4
+# 端口
5
+http_port 3128
6
+
7
+# 访问控制
8
+acl SSL_ports port 443
9
+acl Safe_ports port 80
10
+acl Safe_ports port 443
11
+acl Safe_ports port 1025-65535
12
+acl CONNECT method CONNECT
13
+
14
+# 拒绝非安全端口
15
+http_access deny !Safe_ports
16
+http_access deny CONNECT !SSL_ports
17
+
18
+# 允许 Dify 内部服务访问
19
+acl dify_services src 172.16.0.0/12 192.168.0.0/16 10.0.0.0/8
20
+http_access allow dify_services
21
+
22
+# 拒绝其他所有访问
23
+http_access deny all
24
+
25
+# 不显示 Squid 版本
26
+httpd_suppress_version_string on
27
+
28
+# 日志格式
29
+access_log /var/log/squid/access.log squid
30
+cache_log /var/log/squid/cache.log
31
+
32
+# 禁用缓存(仅作为代理使用)
33
+cache deny all
34
+
35
+# 连接超时
36
+connect_timeout 30 seconds
37
+read_timeout 60 seconds
38
+request_timeout 60 seconds

+ 1
- 1
dsl/app-config.yaml Parādīt failu

@@ -96,7 +96,7 @@ model_config:
96 96
         description: IT支持、行政事务、售后FAQ
97 97
 
98 98
     # 检索参数
99
-    retrieval_model: vector      # vector / keyword / hybrid
99
+    retrieval_model: hybrid      # hybrid 混合检索(向量+全文)效果优于纯向量
100 100
     top_k: 5                     # 检索返回的文档段落数
101 101
     score_threshold: 0.5         # 相关性分数阈值
102 102
     reranking_model: ""         # 预留重排序模型(可选)

+ 48
- 0
knowledge/sample-docs/IT支持FAQ.md Parādīt failu

@@ -0,0 +1,48 @@
1
+# IT 支持 FAQ
2
+
3
+## 一、账号与登录
4
+
5
+### Q1:忘记系统密码怎么办?
6
+
7
+A:请联系 IT 管理员重置密码。提供您的工号和姓名即可。
8
+
9
+### Q2:VPN 如何连接?
10
+
11
+A:
12
+1. 下载 VPN 客户端(联系 IT 获取安装包)
13
+2. 安装并打开客户端
14
+3. 输入服务器地址(联系 IT 获取)
15
+4. 输入公司邮箱和密码
16
+5. 点击连接
17
+
18
+## 二、办公软件
19
+
20
+### Q3:Office 办公软件如何安装?
21
+
22
+A:通过公司 OA 系统的"软件中心"下载安装,或联系 IT 管理员协助安装。
23
+
24
+### Q4:打印机无法连接怎么办?
25
+
26
+A:
27
+1. 检查打印机是否开机
28
+2. 检查网络连接是否正常
29
+3. 尝试重新添加打印机
30
+4. 如仍无法解决,联系 IT 管理员
31
+
32
+## 三、网络问题
33
+
34
+### Q5:WiFi 连不上怎么办?
35
+
36
+A:
37
+1. 确认使用的是公司内部 WiFi(查看 SSID 列表)
38
+2. 输入正确的密码
39
+3. 如提示 IP 冲突,尝试断开重连
40
+4. 多人同时无法连接时,联系 IT 管理员
41
+
42
+### Q6:外网访问受限怎么办?
43
+
44
+A:公司内网对外部部分网站有访问限制。如需访问特定外部网站用于工作,请联系 IT 管理员申请白名单。
45
+
46
+---
47
+
48
+*本文档为示例文档,仅供知识库测试使用*

+ 30
- 0
knowledge/sample-docs/公司简介.md Parādīt failu

@@ -0,0 +1,30 @@
1
+# 西安云美电子科技有限公司简介
2
+
3
+## 公司概况
4
+
5
+西安云美电子科技有限公司(以下简称"云美电子")是一家专注于电子科技领域的高新技术企业,致力于为客户提供优质的电子产品和技术服务。
6
+
7
+## 业务范围
8
+
9
+1. 电子产品的研发、生产与销售
10
+2. 电子元器件的检测与计量服务
11
+3. 技术咨询服务
12
+4. 定制化电子解决方案
13
+
14
+## 组织架构
15
+
16
+- **总经理**:全面负责公司经营管理
17
+- **技术部**:负责产品研发和技术支持
18
+- **质量管理部**:负责质量体系运行和产品检测
19
+- **市场部**:负责市场推广和客户关系
20
+- **行政部**:负责公司日常行政事务
21
+- **财务部**:负责财务管理和成本控制
22
+
23
+## 联系方式
24
+
25
+- 地址:陕西省西安市
26
+- 企业邮箱:联系行政部获取
27
+
28
+---
29
+
30
+*本文档为示例文档,仅供知识库测试使用*

+ 57
- 0
knowledge/sample-docs/差旅管理制度.md Parādīt failu

@@ -0,0 +1,57 @@
1
+# 差旅管理制度
2
+
3
+## 第一章 总则
4
+
5
+### 第一条 目的
6
+
7
+为规范公司员工差旅行为,合理控制差旅费用,特制定本制度。
8
+
9
+### 第二条 适用范围
10
+
11
+本制度适用于公司全体员工的因公出差活动。
12
+
13
+## 第二章 差旅标准
14
+
15
+### 第三条 交通标准
16
+
17
+| 职级 | 交通方式 | 标准 |
18
+|------|---------|------|
19
+| 总经理 | 飞机商务舱/高铁一等座 | 据实报销 |
20
+| 部门经理 | 飞机经济舱/高铁二等座 | 据实报销 |
21
+| 普通员工 | 高铁二等座/长途汽车 | 据实报销 |
22
+
23
+### 第四条 住宿标准
24
+
25
+| 城市类别 | 部门经理 | 普通员工 |
26
+|----------|---------|---------|
27
+| 一线城市(北上广深) | 500 元/晚 | 350 元/晚 |
28
+| 省会城市 | 400 元/晚 | 300 元/晚 |
29
+| 其他城市 | 300 元/晚 | 200 元/晚 |
30
+
31
+### 第五条 伙食补助
32
+
33
+- 一线城市:100 元/天
34
+- 其他城市:80 元/天
35
+
36
+## 第三章 报销流程
37
+
38
+### 第六条 报销步骤
39
+
40
+1. 出差前填写《出差申请单》,经部门经理审批
41
+2. 出差期间保留所有发票和行程单
42
+3. 出差后 5 个工作日内填写《差旅报销单》
43
+4. 附上发票、行程单等原始凭证
44
+5. 部门经理审核签字
45
+6. 财务部复核
46
+7. 总经理审批(金额超过 5000 元)
47
+8. 财务部打款
48
+
49
+### 第七条 注意事项
50
+
51
+- 报销金额超出标准部分由个人承担
52
+- 未按规定提交发票的不予报销
53
+- 出差申请未提前审批的,费用自理
54
+
55
+---
56
+
57
+*本文档为示例文档,仅供知识库测试使用*

+ 53
- 0
knowledge/sample-docs/质量管理体系.md Parādīt failu

@@ -0,0 +1,53 @@
1
+# 质量管理体系概述
2
+
3
+## 体系框架
4
+
5
+云美电子依据 ISO 9001 标准建立了完整的质量管理体系(QMS),覆盖产品研发、采购、生产、检测全流程。
6
+
7
+## 质量方针
8
+
9
+"质量第一、客户至上、持续改进、追求卓越"
10
+
11
+## 质量目标
12
+
13
+1. 产品出厂合格率 ≥ 99%
14
+2. 客户投诉处理及时率 100%
15
+3. 内部审核每年不少于 2 次
16
+4. 管理评审每年不少于 1 次
17
+
18
+## 质量组织
19
+
20
+- **质量负责人**:全面负责质量管理体系运行
21
+- **检测中心**:负责产品检测和计量校准
22
+- **质量审核组**:负责内部审核和管理评审
23
+
24
+## 检测标准
25
+
26
+### 常用检测标准
27
+
28
+| 标准编号 | 标准名称 | 适用范围 |
29
+|----------|---------|---------|
30
+| GB/T 2828.1 | 计数抽样检验程序 | 进货检验、过程检验 |
31
+| GB/T 699 | 优质碳素结构钢 | 原材料检验 |
32
+| SJ/T 11147 | 电子元器件检测方法 | 电子元器件检测 |
33
+
34
+## 计量管理
35
+
36
+### 计量器具分类
37
+
38
+- **A 类**:关键计量器具,每年校准 1 次
39
+- **B 类**:一般计量器具,每两年校准 1 次
40
+- **C 类**:辅助计量器具,三年校准 1 次
41
+
42
+### 校准流程
43
+
44
+1. 编制年度校准计划
45
+2. 联系有资质的计量机构
46
+3. 送检或现场校准
47
+4. 取得校准证书
48
+5. 更新计量器具台账
49
+6. 贴置校准标签
50
+
51
+---
52
+
53
+*本文档为示例文档,仅供知识库测试使用*

+ 1
- 1
tasks.md Parādīt failu

@@ -52,7 +52,7 @@
52 52
 - [x] M6.1.2 编写 `docs/deployment-guide.md`(完整部署指南)
53 53
 - [x] M6.1.3 创建项目 README.md
54 54
 - [x] M6.1.4 整理最终目录结构,确保所有文件就绪
55
-- [ ] M6.1.5 创建最终 Tag(v1.0.0)
55
+- [x] M6.1.5 创建最终 Tag(v1.0.0)
56 56
 
57 57
 ---
58 58