fix: delete agent 500 error + dynamic personality + deployment guide

- 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>
This commit is contained in:
2026-06-29 01:17:21 +08:00
parent 86b98865e3
commit beff3fac8d
1084 changed files with 117315 additions and 1281 deletions

40
test_team.py Normal file
View File

@@ -0,0 +1,40 @@
import requests, json, time
# Get token
resp = requests.post('http://localhost:8043/api/v1/auth/login', data={'username': 'admin', 'password': '123456'})
token = resp.json()['access_token']
print(f'Token obtained: {token[:20]}...')
# Execute team
resp = requests.post(
'http://localhost:8043/api/v1/teams/fba2dd97-3ebe-4c35-ab71-41a3bb841033/execute',
headers={'Authorization': f'Bearer {token}', 'Content-Type': 'application/json'},
json={'project_description': '在 D:/aaa/aiagent/frontend/src/components/ 目录下创建一个简单的 HelloWorld.vue 组件,显示 Hello World 文字', 'auto_approve_files': True},
timeout=600
)
print(f'Status: {resp.status_code}')
data = resp.json().get('data', {})
# Show QA review details
qa = data.get('qa_review', {})
print('\n=== QA Review ===')
r = qa.get('review', {})
print(f'pass: {r.get("pass")}')
print(f'score: {r.get("score")}')
print(f'fix_rounds: {json.dumps(qa.get("fix_rounds", "NOT FOUND"), ensure_ascii=False)[:500]}')
print(f'final_pass: {qa.get("final_pass", "NOT FOUND")}')
print(f'qa keys: {list(qa.keys())}')
# Show phases summary
print('\n=== Phases Summary ===')
for p in data.get('phases', []):
err = p.get('error') or 'none'
print(f'Phase {p["phase"]} ({p["role"]}): success={p["success"]}, iterations={p.get("iterations","?")}, error={str(err)[:120]}')
# Check key fields
print(f'\nresults keys: {list(data.keys())}')
print(f'enhanced_description in result: {"enhanced_description" in data}')
print(f'architect_analysis in result: {"architect_analysis" in data}')
# Check total time
print(f"\nStarted: {data.get('started_at', 'N/A')}")