Files
deer-flow/backend/docs/TODO.md
DanielWalnut 75b7302000 feat: add IM channels for Feishu, Slack, and Telegram (#1010)
* feat: add IM channels system for Feishu, Slack, and Telegram integration

Bridge external messaging platforms to DeerFlow via LangGraph Server with
async message bus, thread management, and per-channel configuration.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: address review comments on IM channels system

Fix topic_id handling in store remove/list_entries and manager commands,
correct Telegram reply threading, remove unused imports/variables, update
docstrings and docs to match implementation, and prevent config mutation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* update skill creator

* fix im reply text

* fix comments

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 15:21:18 +08:00

1.7 KiB

TODO List

Completed Features

  • Launch the sandbox only after the first file system or bash tool is called
  • Add Clarification Process for the whole process
  • Implement Context Summarization Mechanism to avoid context explosion
  • Integrate MCP (Model Context Protocol) for extensible tools
  • Add file upload support with automatic document conversion
  • Implement automatic thread title generation
  • Add Plan Mode with TodoList middleware
  • Add vision model support with ViewImageMiddleware
  • Skills system with SKILL.md format

Planned Features

  • Pooling the sandbox resources to reduce the number of sandbox containers
  • Add authentication/authorization layer
  • Implement rate limiting
  • Add metrics and monitoring
  • 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 src/tools/builtins/task_tool.py (subagent polling)
    • Replace subprocess.run() with asyncio.create_subprocess_shell() in src/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
    • For production: use langgraph up (multi-worker) instead of langgraph dev (single-worker)

Resolved Issues

  • Make sure that no duplicated files in state.artifacts
  • Long thinking but with empty content (answer inside thinking process)