feat: virtual company module, team projects, PWA dishes app, and startup scripts overhaul

- Add company module (3-tier org, CEO planning, parallel departments)
- Add company orchestrator, knowledge extractor, presets, scheduler
- Add company API endpoints, models, and frontend views
- Add 今天吃啥 PWA app (69 dishes, real images, offline support)
- Add team_projects output directory structure
- Add unified manage.ps1 for service lifecycle
- Add Windows startup guide v1.0
- Add TTS troubleshooting doc
- Update frontend (AgentChat UX overhaul, new views)
- Update backend (voice engine fix, multi-tenant, RBAC)
- Remove deprecated startup scripts and old docs

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-07-10 22:37:56 +08:00
parent 3483c6b3be
commit f2e65a8fbb
259 changed files with 39239 additions and 3148 deletions

View File

@@ -32,7 +32,7 @@ async def get_system_overview(
返回工作流、Agent、执行记录等数量统计
"""
# 普通用户只能查看自己的数据,管理员可以查看全部
user_id = None if current_user.role == "admin" else current_user.id
user_id = None if current_user.has_permission("monitoring:view_all") else current_user.id
overview = MonitoringService.get_system_overview(db, user_id)
return overview
@@ -50,7 +50,7 @@ async def get_execution_statistics(
返回执行数量、成功率、平均执行时间、执行趋势等
"""
# 普通用户只能查看自己的数据,管理员可以查看全部
user_id = None if current_user.role == "admin" else current_user.id
user_id = None if current_user.has_permission("monitoring:view_all") else current_user.id
statistics = MonitoringService.get_execution_statistics(db, user_id, days)
return statistics
@@ -68,7 +68,7 @@ async def get_node_type_statistics(
返回各节点类型的执行次数、平均耗时、错误率等
"""
# 普通用户只能查看自己的数据,管理员可以查看全部
user_id = None if current_user.role == "admin" else current_user.id
user_id = None if current_user.has_permission("monitoring:view_all") else current_user.id
statistics = MonitoringService.get_node_type_statistics(db, user_id, days)
return statistics
@@ -86,7 +86,7 @@ async def get_recent_activities(
返回最近的执行记录等
"""
# 普通用户只能查看自己的数据,管理员可以查看全部
user_id = None if current_user.role == "admin" else current_user.id
user_id = None if current_user.has_permission("monitoring:view_all") else current_user.id
activities = MonitoringService.get_recent_activities(db, user_id, limit)
return activities