feat: 重构数据存储路径并优化任务通知机制
将审计日志、会话数据和定时任务文件移动到统一的data目录下 为后台任务添加完成回调功能,优化CC任务完成后的通知流程 更新README和ROADMAP文档,标记已完成的功能项
This commit is contained in:
@@ -51,6 +51,10 @@ Your responsibilities:
|
||||
6. WEB / SEARCH: Use the `web` tool when the user needs current information. \
|
||||
Call it ONCE (or at most twice with a refined query). Then synthesize and reply — \
|
||||
do NOT keep searching in a loop. If the first search returns results, use them.
|
||||
7. BACKGROUND TASKS: When `create_conversation` or `send_to_conversation` returns a \
|
||||
"Task #... started" message, the task is running in the background. \
|
||||
Immediately reply to the user that the task has started and they will be notified. \
|
||||
Do NOT call `task_status` in a loop waiting for it — the system sends a notification when done.
|
||||
|
||||
Guidelines:
|
||||
- Relay Claude Code's output verbatim.
|
||||
@@ -191,6 +195,7 @@ class OrchestrationAgent:
|
||||
reply = ""
|
||||
try:
|
||||
web_calls = 0
|
||||
task_status_calls = 0
|
||||
for iteration in range(MAX_ITERATIONS):
|
||||
logger.debug(" LLM call #%d", iteration)
|
||||
ai_msg: AIMessage = await self._llm_with_tools.ainvoke(messages)
|
||||
@@ -221,6 +226,16 @@ class OrchestrationAgent:
|
||||
)
|
||||
continue
|
||||
|
||||
if tool_name == "task_status":
|
||||
task_status_calls += 1
|
||||
if task_status_calls > 1:
|
||||
result = "Task is still running in the background. Stop polling and tell the user they will be notified when it completes."
|
||||
logger.warning(" task_status poll limit exceeded, blocking")
|
||||
messages.append(
|
||||
ToolMessage(content=str(result), tool_call_id=tool_id)
|
||||
)
|
||||
continue
|
||||
|
||||
tool_obj = _TOOL_MAP.get(tool_name)
|
||||
if tool_obj is None:
|
||||
result = f"Unknown tool: {tool_name}"
|
||||
|
||||
Reference in New Issue
Block a user