- Fix delete agent 500: clean up FK records (agent_llm_logs, permissions, schedules, executions, team_members) and unbind goals/tasks before delete - Remove hardcoded personality templates in Android, replace with dynamic system prompt generation from name + description - Set promptSectionsEnabled=false to bypass PromptComposer for personality - Add Tencent Cloud Linux deployment guide (Docker Compose) - Accumulated backend service updates, frontend UI fixes, Android app changes Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
3.1 KiB
3.1 KiB
工作文档 2026-06-29
一、修复删除智能体 500 错误
问题
Android 端删除智能体时返回 HTTP 500:DATABASE_ERROR: Unknown column 'tasks.blocks'
根因
tasks表缺少blocks和owner两个列(SQLAlchemy 模型已定义但数据库未同步)- 删除 Agent 时
assigned_tasksbackref 触发懒加载,查询了不存在的tasks.blocks列 - 修复列缺失后,7 个外键表(
agent_llm_logs、agent_permissions、agent_schedules、executions、team_members、goals、tasks)FK 约束阻止删除
修复
数据库:手动添加缺失列
ALTER TABLE tasks ADD COLUMN owner VARCHAR(200);
ALTER TABLE tasks ADD COLUMN blocks JSON;
后端 backend/app/api/agents.py:
- 删除前先清理关联表记录(
agent_llm_logs、agent_permissions、agent_schedules、executions、team_members) - 解除分配关系(
goals.main_agent_id、tasks.assigned_agent_id设为 NULL) - 最后删除 Agent 自身
影响文件
backend/app/api/agents.py
二、修复不同人格 Agent 回复一模一样
问题
豆包(温暖陪伴风格)和 gpt(通用助手风格)对同一句话回复完全一致。
根因
后端 ChatRequest.prompt_sections_enabled 默认为 true,Python 端 PromptComposer 的英文通用段(capabilities、tool_instructions、safety_rules、output_style)覆盖了中文人格 system prompt,导致所有 Agent 回复趋同。
修复
Android ChatRequest.promptSectionsEnabled 默认值改为 false,绕过 PromptComposer,直接使用 Agent 原始 system prompt。
影响文件
android/.../data/remote/dto/Dtos.kt—ChatRequest.promptSectionsEnabled: Boolean = false
三、移除硬编码人格模板,改为动态生成
问题
CreateAgentRequest 中有 4 个硬编码模板(DOUBAO_TRAITS、CODER_TRAITS、ARCHITECT_TRAITS、GENERAL_TRAITS),通过 detectStyle() 关键词匹配选择模板。用户在移动端创建智能体时人格被写死,无法灵活定义。
修复
移除所有硬编码模板和 detectStyle(),buildSystemPrompt() 改为动态生成:
你是{name}。
{description} ← 用户在创建时填写的描述直接成为人格
## 可用工具
...
## 安全边界
...
影响文件
android/.../data/remote/dto/Dtos.kt
测试验证
创建「豆包2号」(描述:温暖陪伴风格)和「gpt2号」(描述:专业高效风格),发送同一句话「我想休假了」:
- 豆包2号:哎呀,想休假了呀~ 🏖️ 完全理解你!...说吧,我在听~ 😊
- gpt2号:理解。休假是对长期压力的有效调节。...直接说你的情况。
风格差异明显,符合预设。
变更文件清单
| 文件 | 变更 |
|---|---|
backend/app/api/agents.py |
删除 Agent 前清理关联表 + FK 解绑 |
android/.../data/remote/dto/Dtos.kt |
移除硬编码模板,动态生成 system prompt;promptSectionsEnabled 默认 false |
agent_db.tasks 表 |
添加 owner、blocks 列 |