feat: v0.1.1 迭代——人设外键重构、Chat UI优化、意识节点防幻觉、日志双视图
1. 人设外键重构:persona_template 成为 system_prompt 唯一权威来源, agent/系统节点通过 persona_id FK 引用,含数据迁移脚本 2. Chat UI:去掉底部AI提示、加号改为弹出菜单、新建对话乐观跳转 3. 意识节点:无可用worker时禁止编造agent_id,只能自行完成或拒绝 4. 日志页面:双tab布局(系统日志 + 工作流日志列表选择) 5. 其他:SSE流式聊天、对话删除/重命名、standalone模式修复 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -35,6 +35,7 @@ from kilostar.utils.config_loader import (
|
||||
)
|
||||
|
||||
system_router = APIRouter(tags=["system"])
|
||||
system_api_router = APIRouter(prefix="/api/v1/system", tags=["system"])
|
||||
|
||||
|
||||
@system_router.get("/health/live", include_in_schema=True)
|
||||
@@ -69,15 +70,15 @@ async def readiness():
|
||||
)
|
||||
|
||||
|
||||
@system_router.get("/config/workflow")
|
||||
@system_api_router.get("/config/workflow")
|
||||
async def get_workflow_config_endpoint(
|
||||
_: TokenData = Depends(Accessor.get_current_user),
|
||||
):
|
||||
config = get_workflow_config()
|
||||
return {"config": config.model_dump()}
|
||||
return config.model_dump()
|
||||
|
||||
|
||||
@system_router.put("/config/workflow")
|
||||
@system_api_router.put("/config/workflow")
|
||||
async def update_workflow_config_endpoint(
|
||||
update: WorkflowConfig,
|
||||
_: TokenData = Depends(RoleChecker(allowed_roles=UserAuthority.USER)),
|
||||
@@ -86,7 +87,7 @@ async def update_workflow_config_endpoint(
|
||||
return {"status": "ok", "config": update.model_dump()}
|
||||
|
||||
|
||||
@system_router.get("/logs")
|
||||
@system_api_router.get("/logs")
|
||||
async def query_system_logs(
|
||||
trace_id: str | None = None,
|
||||
event_type: str | None = None,
|
||||
@@ -95,9 +96,7 @@ async def query_system_logs(
|
||||
offset: int = 0,
|
||||
_: TokenData = Depends(Accessor.get_current_user),
|
||||
):
|
||||
from kilostar.utils.ray_hook import ray_actor_hook
|
||||
|
||||
pg = await ray_actor_hook.get_actor("postgres_database")
|
||||
pg = ray_actor_hook("postgres_database").postgres_database
|
||||
logs = await pg.query_event_logs.remote(
|
||||
trace_id=trace_id,
|
||||
event_type=event_type,
|
||||
@@ -108,7 +107,7 @@ async def query_system_logs(
|
||||
return {"logs": logs, "count": len(logs)}
|
||||
|
||||
|
||||
@system_router.get("/api/v1/system/node-labels")
|
||||
@system_api_router.get("/node-labels")
|
||||
async def get_node_labels(
|
||||
_: TokenData = Depends(Accessor.get_current_user),
|
||||
):
|
||||
|
||||
Reference in New Issue
Block a user