From 979a461af5bd4e61ec1654c99f3ec9589a2edbb3 Mon Sep 17 00:00:00 2001 From: luo jiyin Date: Sun, 12 Apr 2026 16:48:48 +0800 Subject: [PATCH] docs: move completed async migration to Completed Features (#2146) - Move time.sleep() -> asyncio.sleep() from Planned to Completed Features - Clean up duplicate entries in TODO.md Ensures completed async optimizations are properly tracked. --- backend/docs/TODO.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/backend/docs/TODO.md b/backend/docs/TODO.md index 75385d7e0..52dc7867d 100644 --- a/backend/docs/TODO.md +++ b/backend/docs/TODO.md @@ -11,6 +11,7 @@ - [x] Add Plan Mode with TodoList middleware - [x] Add vision model support with ViewImageMiddleware - [x] Skills system with SKILL.md format +- [x] Replace `time.sleep(5)` with `asyncio.sleep()` in `packages/harness/deerflow/tools/builtins/task_tool.py` (subagent polling) ## Planned Features @@ -21,8 +22,7 @@ - [ ] Support for more document formats in upload - [ ] Skill marketplace / remote skill installation - [ ] Optimize async concurrency in agent hot path (IM channels multi-task scenario) - - Replace `time.sleep(5)` with `asyncio.sleep()` in `packages/harness/deerflow/tools/builtins/task_tool.py` (subagent polling) - - Replace `subprocess.run()` with `asyncio.create_subprocess_shell()` in `packages/harness/deerflow/sandbox/local/local_sandbox.py` +- [ ] Replace `subprocess.run()` with `asyncio.create_subprocess_shell()` in `packages/harness/deerflow/sandbox/local/local_sandbox.py` - Replace sync `requests` with `httpx.AsyncClient` in community tools (tavily, jina_ai, firecrawl, infoquest, image_search) - Replace sync `model.invoke()` with async `model.ainvoke()` in title_middleware and memory updater - Consider `asyncio.to_thread()` wrapper for remaining blocking file I/O