Commit Graph

56 Commits

Author SHA1 Message Date
朱潮
8a85e9025e fix(sse): properly handle MCP tool errors and send error responses to client
- Enhance exception handling in agent_task() to capture and send structured error messages via SSE stream
- Add [DONE] marker to outer exception handler to ensure proper stream termination
- Improve MCP tool loading error handling in init_agent() to prevent cascading failures
- Add detailed error logging with traceback for debugging

Fixes RemoteProtocolError that occurred when MCP tool calls failed,
which previously caused incomplete chunked read errors and connection drops.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-07 19:24:28 +08:00
朱潮
1233bdda0c ♻️ refactor(deep-agent): customize agent memory middleware path display
- Change workspace_root from ~/.deepagents/{bot_id} to projects/robot/{bot_id}
- Refactor CustomSkillsMiddleware to support user and project skills separately
- Update skill path formatting for better visibility in system prompts
- Remove unused symlink_utils module and related setup code
- Clean up imports in fastapi_app.py and utils/__init__.py
2026-01-07 12:05:40 +08:00
朱潮
8c67630bbd ♻️ refactor(deep-agent): customize agent memory middleware path display
Override AgentMemoryMiddleware to simplify agent directory display.
The CustomAgentMemoryMiddleware shows "." instead of full path.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-31 21:00:49 +08:00
朱潮
a6f166d51e refactor: simplify path displays and remove sensitive config data
- Add CustomSkillsMiddleware to show ./skills instead of full paths
- Enable virtual_mode for FilesystemBackend in local mode
- Display "." instead of ~/.deepagents/{bot_id} in system prompt
- Remove backend_host and masterkey from robot project config

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-31 20:30:44 +08:00
朱潮
7c9e270a66 feat(deep-agent): add custom workspace_root support for shell commands
- Add create_custom_cli_agent function to support custom workspace_root
- Set shell workspace to ~/.deepagents/{bot_id} for deep_agent type
- Pass system_prompt to create_custom_cli_agent for proper context
- Fix duplicate <env> tag in system_prompt_deep_agent.md

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-31 18:18:38 +08:00
朱潮
49a0447f9f 🔧 chore(deep-agent): disable shell feature by default
Set enable_shell=False to disable shell command execution capabilities
in the deep agent for security reasons.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-31 16:59:33 +08:00
朱潮
e00f99c5c5 catalog_agent 转换为deep_agent 2025-12-30 19:35:31 +08:00
朱潮
0e6b2f1511 add CHECKPOINT_DB_URL 2025-12-24 20:43:10 +08:00
朱潮
b86a8364e9 db 2025-12-24 11:05:10 +08:00
朱潮
e117f1ee07 新增checkpoint清理机制 2025-12-24 00:12:01 +08:00
朱潮
bf11975183 修改balance资源配置 2025-12-23 23:11:24 +08:00
朱潮
06102559ef add SUMMARIZATION_MESSAGES_TO_KEEP 2025-12-23 22:31:26 +08:00
朱潮
9162b4258d update init agent 2025-12-23 22:26:59 +08:00
朱潮
d8dc973b95 sqlite pool and change agent cache to tools cache 2025-12-23 22:18:18 +08:00
朱潮
09a9c8be93 add MCP_HTTP_TIMEOUT and try catch 2025-12-23 20:13:46 +08:00
朱潮
b8e00d403c 修复完成。主要改动: 1. 新增 _clean_content_blocks 方法:专门处理 content 字段的清理 - 当 content 是列表格式时,过滤掉 type: 'tool_use' 的块(如果 id 不在 valid_tool_call_ids 中) - 返回清理后的 content 和是否有文本内容的标志 2. 更新 _cleanup_tool_use_messages 方法: - 调用 _clean_content_blocks 来清理 content - 使用清理后的 cleaned_content 创建新的 AIMessage 问题根源:之前的代码只清空了 tool_calls=[],但没有从 content 列表中移除 type: 'tool_use' 的块。Anthropic API 会检查这两个地方,导致报错。 2025-12-23 19:11:27 +08:00
朱潮
d3465d418e add symlink 2025-12-23 17:36:45 +08:00
朱潮
61c6b69aa5 add agent/tool_use_cleanup_middleware.py 2025-12-23 12:04:26 +08:00
朱潮
aaad9df20a add skills 2025-12-22 23:47:12 +08:00
朱潮
95786d559e sqlite dir check exists 2025-12-18 11:32:43 +08:00
朱潮
881845f284 use sqlite 2025-12-18 11:12:05 +08:00
朱潮
a92bea5b58 删除一些环境变量 2025-12-18 09:41:43 +08:00
朱潮
6bad1743b3 warm_up 2025-12-18 00:38:04 +08:00
朱潮
96d9ee5af7 guildline messages 2025-12-17 23:32:50 +08:00
朱潮
d6504c49c7 guildline messages 2025-12-17 23:31:38 +08:00
朱潮
59c58a9691 guildline messages 2025-12-17 23:25:40 +08:00
朱潮
c1c51da77e guildline messages 2025-12-17 23:21:15 +08:00
朱潮
47f1d1c7eb cache 2025-12-17 23:05:42 +08:00
朱潮
436dab1a2f memory saver全局 2025-12-17 21:58:59 +08:00
朱潮
b78b178c03 删除agent manager 2025-12-17 20:27:06 +08:00
朱潮
e36787fb63 修改agent_config 2025-12-16 21:26:20 +08:00
朱潮
9525c0f883 add AgentConfig 2025-12-16 16:06:47 +08:00
朱潮
b6975e1762 TOOL_OUTPUT_MAX_LENGTH 2025-12-15 23:54:32 +08:00
朱潮
d077b447f0 settings 2025-12-15 23:17:21 +08:00
朱潮
77c8f5e501 settings 2025-12-15 21:58:54 +08:00
朱潮
0d50cd8e9f session_id 2025-12-15 21:36:13 +08:00
朱潮
c391c97b24 llm log 2025-12-15 13:29:38 +08:00
朱潮
a97ff5a185 优化思考 2025-12-15 11:57:31 +08:00
朱潮
ab68c4309d think增加流式输出模式 2025-12-14 07:53:24 +08:00
朱潮
a41d45ccd9 get_tools_from_mcp 2025-12-13 20:20:31 +08:00
朱潮
ac4006fd59 before_agent guideline 2025-12-13 17:08:28 +08:00
朱潮
bf9a49ecd8 before_agent guideline 2025-12-13 17:03:40 +08:00
朱潮
be264884a2 add think tag 2025-12-13 11:21:16 +08:00
朱潮
ec9558fd4c update guidline 2025-12-13 02:52:01 +08:00
朱潮
66b816c3b2 add default transport 2025-12-12 20:28:27 +08:00
朱潮
9c3715d9b0 add default transport 2025-12-12 20:26:23 +08:00
朱潮
d6334aa655 add default transport 2025-12-12 20:11:19 +08:00
朱潮
720db80ae9 add deep_agent 2025-12-12 18:41:52 +08:00
朱潮
93d13f3d22 set default MAX_LLM_CALL_PER_RUN 2025-12-10 14:47:17 +08:00
朱潮
ee41279569 add last_message 2025-12-08 22:15:49 +08:00