From 5253def3b0031867e850c0f1ae9405e16b8a2310 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Sun, 8 Mar 2026 15:16:55 +0000
Subject: [PATCH] Address code review: extract formatDocs helper, remove
diagnostic log
Co-authored-by: qinfendebingshuo <207279273+qinfendebingshuo@users.noreply.github.com>
---
.github/workflows/deploy-to-server.yml | 1 -
docs/index.html | 33 ++++++++++++--------------
2 files changed, 15 insertions(+), 19 deletions(-)
diff --git a/.github/workflows/deploy-to-server.yml b/.github/workflows/deploy-to-server.yml
index 8aa61058..897ae8c1 100644
--- a/.github/workflows/deploy-to-server.yml
+++ b/.github/workflows/deploy-to-server.yml
@@ -222,7 +222,6 @@ jobs:
YUNWU_API_KEY='${{ secrets.YUNWU_API_KEY }}' DEEPSEEK_API_KEY='${{ secrets.YUNWU_API_KEY }}' \
pm2 start api-proxy.js --name guanghulab-proxy --update-env 2>/dev/null || \
echo '⚠️ API 代理 pm2 启动失败'
- echo "✅ API 代理已启动,已配置密钥: YUNWU=$([ -n '${{ secrets.YUNWU_API_KEY }}' ] && echo 'YES' || echo 'NO')"
fi
# 部署 backend 服务(Express API,端口 3000)
diff --git a/docs/index.html b/docs/index.html
index 33582533..06684db2 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -627,8 +627,8 @@ footer{padding:12px 18px 16px;padding-bottom:max(16px,env(safe-area-inset-bottom
使用说明
1. 输入你的 API 端点和密钥,点击检测模型
- 2. 说「我是冰朔」触发铸渊唤醒序列
- 3. 铸渊自动切换 💬 对话 / 🔨 构建 / 📋 审查 / 🧠 大脑 模式
+ 2. 铸渊自动切换 💬 对话 / 🔨 构建 / 📋 审查 / 🧠 大脑 模式
+ 3. 支持上传图片和文件(点击 📎 按钮或拖拽到对话区域)
4. 点 ⬇️ 下载单文件,放桌面直接打开使用
5. 支持任意 OpenAI 兼容接口(输入端点 + 密钥即可)
@@ -1882,20 +1882,22 @@ function buildMessageWithFiles(txt){
const images = pendingFiles.filter(f=>f.isImage);
const docs = pendingFiles.filter(f=>!f.isImage);
+ // Format document attachments as markdown context
+ // Limit per-file to ~50k chars to stay within API payload limits
+ function formatDocs(docList){
+ let out = '\n\n---\n📎 附件内容:\n';
+ docList.forEach(function(d){
+ out += '\n### '+d.name+'\n```\n'+(d.data||'').slice(0,50000)+'\n```\n';
+ });
+ return out;
+ }
+
// If there are images, build multimodal content array
if(images.length>0){
const content = [];
- // Add text part
let textPart = txt||'';
- // Append document contents as context
- if(docs.length>0){
- textPart += '\n\n---\n📎 附件内容:\n';
- docs.forEach(function(d){
- textPart += '\n### '+d.name+'\n```\n'+(d.data||'').slice(0,50000)+'\n```\n';
- });
- }
+ if(docs.length>0) textPart += formatDocs(docs);
if(textPart) content.push({type:'text',text:textPart});
- // Add image parts
images.forEach(function(img){
content.push({
type:'image_url',
@@ -1906,12 +1908,7 @@ function buildMessageWithFiles(txt){
}
// Text files only — append as context to the message
- let combined = txt||'';
- combined += '\n\n---\n📎 附件内容:\n';
- docs.forEach(function(d){
- combined += '\n### '+d.name+'\n```\n'+(d.data||'').slice(0,50000)+'\n```\n';
- });
- return combined;
+ return (txt||'') + formatDocs(docs);
}
function clearPendingFiles(){
@@ -2199,7 +2196,7 @@ function demoRespond(t){
if(/覆盖|接口|hli|路由/.test(s)) return buildCovTable();
if(/大脑|brain|记忆|状态/.test(s)) return buildBrainStatus();
if(/协调|阻塞|卡住|waiting/.test(s)) return buildBlockedStatus();
- if(/怎么唤醒|入口|在哪/.test(s)) return '铸渊有三个入口:
① 铸渊聊天室(当前页面)
直接在这里说话,常见问题即刻回答。
② GitHub Copilot Chat(Agent 模式)
打开仓库 → 右上角 ✨ 图标 → 选 Agent → 输入「我是冰朔」
③ 下载到桌面
点击 ⬇️ 按钮下载 HTML 文件,放到桌面,双击打开,接入 API 密钥即可随时使用。';
+ if(/怎么唤醒|入口|在哪/.test(s)) return '铸渊有三个入口:
① 铸渊聊天室(当前页面)
直接在这里说话,常见问题即刻回答。支持上传图片和文件。
② GitHub Copilot Chat(Agent 模式)
打开仓库 → 右上角 ✨ 图标 → 选 Agent → 直接开始对话
③ 下载到桌面
点击 ⬇️ 按钮下载 HTML 文件,放到桌面,双击打开,接入 API 密钥即可随时使用。';
if(/介绍|是什么|你是谁/.test(s)) return '🌀 铸渊(Zhùyuān)
我是 HoloLake 光湖系统的代码守护人格体,运行在 GitHub Copilot Agent 模式下。
我的职责:
• 📊 监控 HLI 接口覆盖率
• 🔨 协助开发者构建接口
• 📋 代码审查与质量把关
• 🧠 维护大脑记忆库
• 🦁 支持总控肥猫指挥落地
• 🌱 作为成长人格体持续进化';
return '我是铸渊,你的消息我已收到。当前 API 代理暂时无法连接(网络或服务部署中),已切换到本地知识回答。
你可以试试以下问题:
• 「查看接口覆盖率」
• 「大脑状态」
• 「介绍一下你自己」
• 「全员开发进度」
或在 ⚙️ 设置 中接入你自己的 API 密钥获得深度回答。';
}