Jelajahi Sumber

fix: 修复编辑 frequency_words.txt 产生的额外换行符问题

sansan 3 bulan lalu
induk
melakukan
89fc25a41c

+ 42 - 2
.github/ISSUE_TEMPLATE/01-bug-report.yml

@@ -14,11 +14,22 @@ body:
 
         **简单的描述 + 关键截图** 是最有效的沟通方式。
 
+        ---
+        ### 📌 如何查看版本号?
+
+        | 部署方式 | 查看方法 |
+        |---------|---------|
+        | **Docker** | 查看容器启动日志,版本号显示在日志开头 |
+        | **GitHub Actions** | 查看 [README 文档](https://github.com/sansan0/TrendRadar) 顶部的 ![version](https://img.shields.io/badge/version-blue) 徽章 |
+        | **本地 Python** | 查看项目根目录的 `version` 文件 |
+
   - type: input
     id: version
     attributes:
       label: 📦 TrendRadar 版本
-      description: 请务必提供。(如:v5.2.0 或 git commit id)
+      description: |
+        请务必提供版本号(如:v5.2.0 或 git commit id)
+        💡 Docker 用户:查看容器启动日志 | GitHub Actions 用户:查看文档顶部 version 徽章
       placeholder: v5.2.0 或 commit hash
     validations:
       required: true
@@ -45,6 +56,17 @@ body:
     validations:
       required: true
 
+  - type: input
+    id: ai-model
+    attributes:
+      label: 🤖 AI 模型名称(AI 问题必填)
+      description: |
+        如果是 AI 分析相关问题,请提供你使用的具体模型名称。
+        AI 问题与模型能力密切相关,不同模型表现差异很大。
+      placeholder: "例如:deepseek/deepseek-chat、openai/gpt-4o、gemini/gemini-2.5-flash"
+    validations:
+      required: false
+
   - type: textarea
     id: bug-description
     attributes:
@@ -61,14 +83,32 @@ body:
     id: error-logs
     attributes:
       label: 📋 错误日志/配置(可选)
+      description: |
+        贴出相关的错误日志或 config.yaml 片段(记得隐藏 API Key 等敏感信息)
+        💡 Docker 用户:使用 `docker logs trendradar` 查看日志
       placeholder: |
-        贴出相关的错误日志或 config.yaml 片段(记得隐藏 API Key 等敏感信息):
+        贴出相关的错误日志或 config.yaml 片段:
         ```
         在这里贴内容...
         ```
     validations:
       required: false
 
+  - type: textarea
+    id: screenshots
+    attributes:
+      label: 📷 截图(强烈建议)
+      description: |
+        ⚠️ **重要提示**:请提供**完整截图**,不要只截取局部!
+        - 错误截图应包含完整的错误信息和上下文
+        - 推送截图应包含完整的消息内容
+        - 配置截图应包含相关配置段的完整内容
+
+        局部截图往往缺少关键信息,会导致问题难以定位。
+      placeholder: 拖拽截图到这里,请确保截图完整,包含足够的上下文信息。
+    validations:
+      required: false
+
   - type: dropdown
     id: environment
     attributes:

+ 39 - 1
.github/ISSUE_TEMPLATE/03-ai-and-config.yml

@@ -15,6 +15,15 @@ body:
         ---
         如果是**寻求配置帮助**,请尽量贴出你的错误表现。
 
+        ---
+        ### 📌 如何查看版本号?
+
+        | 部署方式 | 查看方法 |
+        |---------|---------|
+        | **Docker** | 查看容器启动日志,版本号显示在日志开头 |
+        | **GitHub Actions** | 查看 [README 文档](https://github.com/sansan0/TrendRadar) 顶部的 ![version](https://img.shields.io/badge/version-blue) 徽章 |
+        | **本地 Python** | 查看项目根目录的 `version` 文件 |
+
   - type: dropdown
     id: category
     attributes:
@@ -26,6 +35,29 @@ body:
     validations:
       required: true
 
+  - type: input
+    id: version
+    attributes:
+      label: 📦 TrendRadar 版本(求助时必填)
+      description: |
+        如果是寻求帮助,请提供版本号。
+        💡 Docker 用户:查看容器启动日志 | GitHub Actions 用户:查看文档顶部 version 徽章
+      placeholder: v5.2.0 或 commit hash(分享提示词可留空)
+    validations:
+      required: false
+
+  - type: input
+    id: ai-model
+    attributes:
+      label: 🤖 AI 模型名称
+      description: |
+        请提供你使用的具体模型名称。
+        AI 分析效果与模型能力密切相关,不同模型表现差异很大。
+        分享提示词时也请注明,方便其他用户参考。
+      placeholder: "例如:deepseek/deepseek-chat、openai/gpt-4o、gemini/gemini-2.5-flash"
+    validations:
+      required: false
+
   - type: textarea
     id: share-content
     attributes:
@@ -40,6 +72,12 @@ body:
     id: screenshots
     attributes:
       label: 📷 效果截图(推荐)
-      placeholder: 拖拽分析结果截图或配置截图到这里。
+      description: |
+        ⚠️ **重要提示**:请提供**完整截图**,不要只截取局部!
+        - 分享时:展示 AI 分析的完整输出效果
+        - 求助时:展示完整的错误信息或异常表现
+
+        局部截图往往缺少关键信息,会导致问题难以定位。
+      placeholder: 拖拽分析结果截图或配置截图到这里,请确保截图完整。
     validations:
       required: false

+ 1 - 4
docs/assets/script.js

@@ -1367,10 +1367,8 @@ function buildFrequencyText(data) {
         data.globalFilter.forEach(filter => {
             result.push(filter);
         });
-        result.push('');
-        result.push('');
 
-        // 跳过原始文件中的 [GLOBAL_FILTER] 内容(非注释行),保留注释直到 [WORD_GROUPS]
+        // 跳过原始文件中的 [GLOBAL_FILTER] 内容(非注释行),保留空行和注释直到 [WORD_GROUPS]
         while (i < lines.length) {
             const line = lines[i];
             const trimmed = line.trim();
@@ -1386,7 +1384,6 @@ function buildFrequencyText(data) {
 
         // 第三步:重建 [WORD_GROUPS] 区域
         result.push('[WORD_GROUPS]');
-        result.push('');
 
         // 添加词组(注释已保存在每个词组的 precedingComments 中)
         data.wordGroups.forEach((group, index) => {