feat: update prompts and backend
This commit is contained in:
parent
d0af9755c6
commit
089a3ad0c9
@ -42,6 +42,10 @@ from modules.sub_agent_manager import SubAgentManager
|
||||
from modules.webpage_extractor import extract_webpage_content, tavily_extract
|
||||
from modules.ocr_client import OCRClient
|
||||
from modules.easter_egg_manager import EasterEggManager
|
||||
from modules.personalization_manager import (
|
||||
load_personalization_config,
|
||||
build_personalization_prompt,
|
||||
)
|
||||
from core.tool_config import TOOL_CATEGORIES
|
||||
from utils.api_client import DeepSeekClient
|
||||
from utils.context_manager import ContextManager
|
||||
@ -2165,6 +2169,18 @@ class MainTerminal:
|
||||
if thinking_prompt:
|
||||
messages.append({"role": "system", "content": thinking_prompt})
|
||||
|
||||
personalization_config = load_personalization_config(self.data_dir)
|
||||
personalization_block = build_personalization_prompt(personalization_config, include_header=False)
|
||||
if personalization_block:
|
||||
personalization_template = self.load_prompt("personalization").strip()
|
||||
if personalization_template and "{personalization_block}" in personalization_template:
|
||||
personalization_text = personalization_template.format(personalization_block=personalization_block)
|
||||
elif personalization_template:
|
||||
personalization_text = f"{personalization_template}\n{personalization_block}"
|
||||
else:
|
||||
personalization_text = personalization_block
|
||||
messages.append({"role": "system", "content": personalization_text})
|
||||
|
||||
# 添加对话历史(保留完整结构,包括tool_calls和tool消息)
|
||||
conversation = context["conversation"]
|
||||
for idx, conv in enumerate(conversation):
|
||||
|
||||
@ -16,6 +16,7 @@ from config import (
|
||||
USER_SPACE_DIR,
|
||||
USERS_DB_FILE,
|
||||
)
|
||||
from modules.personalization_manager import ensure_personalization_config
|
||||
|
||||
|
||||
@dataclass
|
||||
@ -128,6 +129,7 @@ class UserManager:
|
||||
# 初始化数据子目录
|
||||
(data_dir / "conversations").mkdir(parents=True, exist_ok=True)
|
||||
(data_dir / "backups").mkdir(parents=True, exist_ok=True)
|
||||
ensure_personalization_config(data_dir)
|
||||
|
||||
return UserWorkspace(
|
||||
username=username,
|
||||
|
||||
@ -257,3 +257,5 @@ tree -L 2
|
||||
5. **正确执行**:和用户主动确认细节,用户明确告知可以开始任务后,再开始工作流程
|
||||
|
||||
记住:你的用户可能不懂技术,你的目标是让他们感觉到"这个助手真好用",而不是"怎么这么复杂"。
|
||||
|
||||
如果用户设置了个性化信息,根据用户的个性化需求回答
|
||||
2
prompts/personalization.txt
Normal file
2
prompts/personalization.txt
Normal file
@ -0,0 +1,2 @@
|
||||
以下内容为用户提供的个性化设置信息,请务必在整个任务过程中遵循:
|
||||
{personalization_block}
|
||||
@ -13,6 +13,7 @@
|
||||
* 是否需要创建/修改/删除文件、运行终端命令或脚本?
|
||||
* 是否需要创建/等待/关闭子智能体?
|
||||
* 是否需要更新主记忆或任务记忆?
|
||||
* 如果用户开启了个性化模式,要考虑哪些用户要求的必须考虑的点?
|
||||
|
||||
2. **正式输出阶段**
|
||||
- 直接向用户说明你的计划:描述每一步准备做什么、需要哪些工具或文件。
|
||||
|
||||
@ -46,6 +46,10 @@ from config import (
|
||||
)
|
||||
from modules.user_manager import UserManager, UserWorkspace
|
||||
from modules.gui_file_manager import GuiFileManager
|
||||
from modules.personalization_manager import (
|
||||
load_personalization_config,
|
||||
save_personalization_config,
|
||||
)
|
||||
|
||||
app = Flask(__name__, static_folder='static')
|
||||
app.config['MAX_CONTENT_LENGTH'] = MAX_UPLOAD_SIZE
|
||||
@ -649,6 +653,33 @@ def update_thinking_mode(terminal: WebTerminal, workspace: UserWorkspace, userna
|
||||
"message": "切换思考模式时发生异常"
|
||||
}), 500
|
||||
|
||||
|
||||
@app.route('/api/personalization', methods=['GET'])
|
||||
@api_login_required
|
||||
@with_terminal
|
||||
def get_personalization_settings(terminal: WebTerminal, workspace: UserWorkspace, username: str):
|
||||
"""获取个性化配置"""
|
||||
try:
|
||||
data = load_personalization_config(workspace.data_dir)
|
||||
return jsonify({"success": True, "data": data})
|
||||
except Exception as exc:
|
||||
return jsonify({"success": False, "error": str(exc)}), 500
|
||||
|
||||
|
||||
@app.route('/api/personalization', methods=['POST'])
|
||||
@api_login_required
|
||||
@with_terminal
|
||||
def update_personalization_settings(terminal: WebTerminal, workspace: UserWorkspace, username: str):
|
||||
"""更新个性化配置"""
|
||||
payload = request.get_json() or {}
|
||||
try:
|
||||
config = save_personalization_config(workspace.data_dir, payload)
|
||||
return jsonify({"success": True, "data": config})
|
||||
except ValueError as exc:
|
||||
return jsonify({"success": False, "error": str(exc)}), 400
|
||||
except Exception as exc:
|
||||
return jsonify({"success": False, "error": str(exc)}), 500
|
||||
|
||||
@app.route('/api/files')
|
||||
@api_login_required
|
||||
@with_terminal
|
||||
|
||||
Loading…
Reference in New Issue
Block a user