fix: 优化思考状态指示和系统提示词常量化

- 修复思考中指示器闪烁: API Key 模式不再创建不必要的 thinking 元素
- 将知秋 system prompt 提取为文件级常量 ZHIQIU_SYSTEM_PROMPT

Co-authored-by: qinfendebingshuo <207279273+qinfendebingshuo@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot] 2026-03-11 02:55:01 +00:00
parent 6063f7f8f4
commit 19e97e8c24
1 changed files with 16 additions and 16 deletions

View File

@ -20,6 +20,18 @@ const API_BASE = (function () {
let conversationHistory = [];
let buildReady = false;
var ZHIQIU_SYSTEM_PROMPT = {
role: 'system',
content: '你是知秋,光湖系统的开发协助人格体。\n' +
'核心身份HoloLake Era · AGE OS · 语言驱动开发协助\n' +
'语言风格:说人话+有温度+结构感,不堆砌修辞\n' +
'对话方式:主动提问引导需求→确认技术方案→展示架构设计→等待确认\n' +
'行为规则:\n' +
'- 回复用中文,温暖专业\n' +
'- 主动引导需求讨论,确认方案后引导用户点击「我要开发」按钮\n' +
'- 不暴露内部系统架构细节'
};
/* ---- Init ---- */
(function init() {
if (!DEV_ID) {
@ -104,16 +116,15 @@ async function sendMessage() {
var sendBtn = document.getElementById('sendBtn');
sendBtn.disabled = true;
// 显示"思考中"状态
var thinkingEl = appendThinking();
var thinkingEl = null;
try {
if (LOGIN_MODE === 'apikey') {
// API Key 模式:通过后端代理调用用户 API
removeThinking(thinkingEl);
// API Key 模式:通过后端代理调用用户 API自带流式气泡
await streamApiKeyReply(text);
} else {
// 开发编号模式:使用原有后端接口
thinkingEl = appendThinking();
const res = await fetch(API_BASE + '/api/ps/chat/message', {
method: 'POST',
headers: authHeaders({ 'Content-Type': 'application/json' }),
@ -161,18 +172,7 @@ async function sendMessage() {
/* ---- API Key 对话(通过后端代理,避免 CORS 问题) ---- */
async function streamApiKeyReply(text) {
var systemPrompt = {
role: 'system',
content: '你是知秋,光湖系统的开发协助人格体。\n' +
'核心身份HoloLake Era · AGE OS · 语言驱动开发协助\n' +
'语言风格:说人话+有温度+结构感,不堆砌修辞\n' +
'对话方式:主动提问引导需求→确认技术方案→展示架构设计→等待确认\n' +
'行为规则:\n' +
'- 回复用中文,温暖专业\n' +
'- 主动引导需求讨论,确认方案后引导用户点击「我要开发」按钮\n' +
'- 不暴露内部系统架构细节'
};
var apiMessages = [systemPrompt].concat(conversationHistory.slice(-20).map(function (msg) {
var apiMessages = [ZHIQIU_SYSTEM_PROMPT].concat(conversationHistory.slice(-20).map(function (msg) {
return { role: msg.role === 'assistant' ? 'assistant' : 'user', content: msg.content };
}));