matevip
|
e6c35ecfc7
|
fix(channel): sanitize conversationId as a filesystem path segment — fixes wecom/dingtalk/feishu attachment upload on Windows (#507)
|
2026-07-10 16:54:05 +08:00 |
|
matevip
|
d512643960
|
feat(tool): configurable SSRF allowlist for outbound HTTP guards
|
2026-06-29 10:33:38 +08:00 |
|
倪程伟
|
fcb488c567
|
feat(workspace): chat-uploads 上传目录工作空间/Agent 感知化 (#422)
* feat(workspace): chat-uploads 上传目录工作空间/Agent 感知化 (#421)
把硬编码的 data/chat-uploads/{conversationId}/ 改为按工作空间/Agent 解析,
解析优先级:Agent workspaceBasePath → Workspace basePath → 可配置默认目录
(新配置 mateclaw.chat.upload.base-dir,默认 data/chat-uploads,保持现网零行为变化)。
- 新增 ChatUploadLocationResolver 中央解析器:写路径返回唯一根,读/清理
路径返回候选根列表(工作空间根 + 默认根)做双重查找,保证迁移前旧附件
仍可解析/清理;conversationId→ConversationEntity 查询带 5min 缓存。
- 新增 ChatUploadProperties + ChatUploadAutoConfiguration(启动建目录)。
- 复用 AgentGraphBuilder.resolveAgentBasePath(提升为 public)的优先级与
安全规则(相对路径在 workspace 根下解析,绝对路径逃逸被拒)。
- 所有写入/读取点改为走 resolver;读取点走双重查找。
- 解决 Spring 循环依赖(resolver → agentService → ... → conversationService
→ resolver):resolver 的 AgentService 注入加 @Lazy。
向后兼容:默认目录不变;双重查找覆盖历史消息里的相对路径;
服务端点 URL 契约不变,前端无需改动。
测试:新增 ChatUploadLocationResolverTest(8 用例);修复受影响的现有测试构造。
* refactor(workspace): address review findings on chat-uploads resolver (#421)
应用 code review 的 4 项修复:
1. (correctness) ChatUploadLocationResolver 缓存新增 ConversationDeletedEvent
监听器,删除会话时立即失效 conversationId→ConversationEntity 映射。
否则备份恢复后用相同 id 重建会话,会继承最长 5 分钟的过期 workspace/agent
映射,导致 cleanAttachmentFiles 走错(过期的)上传目录。复用既有
@EventListener-on-bean 模式(与 AsyncTaskService / WorkspaceLookupCache 一致)。
2. 收紧 resolveWorkspaceScopedRoot 里 3 个过宽的 catch(Exception) →
MateClawException + warn,让真正的 bug(NPE / DataAccessException)暴露
而非被静默降级为 debug 日志。
3. 更新 ChatController.upload 过期注释:会话尚未创建时附件暂存默认目录,
会话创建后读取走双重查找仍能命中。
4. 移除不可达分支(agentWorkspaceId != workspaceId)—— 会话的 agent 必然
归属会话的 workspace(创建时强约束),直接用会话 workspace 即可,
少一次冗余 DB 查询与一层推测性逻辑。
测试:ChatUploadLocationResolverTest (8) + ConversationServiceCleanAttachmentFilesTest (2) 全绿。
|
2026-06-26 14:20:54 +08:00 |
|
matevip
|
db16ff02a5
|
chore: drop external project name references from code comments
|
2026-05-20 08:09:43 +08:00 |
|
matevip
|
75107ac815
|
feat(llm): native Gemini chat builder, Nano Banana image gen, xAI/Grok provider
|
2026-05-18 10:00:55 +08:00 |
|
matevip
|
08fcab12d1
|
fix(deploy): drop DASHSCOPE_API_KEY requirement so Docker boots with no LLM key configured (#99)
|
2026-05-11 20:44:31 +08:00 |
|
matevip
|
f6b4f7e402
|
feat(channel): forward async tool results to IM channels + slack file upload
|
2026-05-10 08:28:20 +08:00 |
|
matevip
|
52e06afec4
|
feat(llm,tool/image): dashscope-compat provider + media-gen test profile
|
2026-05-09 06:28:38 +08:00 |
|
matevip
|
3f289da6b7
|
feat(tool/image,video): image edit support + new DashScope models (#75)
|
2026-05-08 22:05:06 +08:00 |
|
matevip
|
d58fd0c3fd
|
fix(task): gate every worker completion branch with isConversationCanceled
|
2026-05-06 17:40:47 +08:00 |
|
matevip
|
01c8765c96
|
fix(task): cancel running async workers on conversation delete to prevent orphan writes
|
2026-05-06 16:45:31 +08:00 |
|
matevip
|
bbf978ed89
|
fix(image): handle data: URLs and broadcast sync image-gen completion
|
2026-05-05 13:06:53 +08:00 |
|
matevip
|
66510c96fa
|
fix(image): set stream=true on ChatGPT OAuth /codex/responses request
|
2026-05-05 13:06:46 +08:00 |
|
matevip
|
0f388382a2
|
feat(image): gpt-image-2 generation through ChatGPT subscription OAuth
|
2026-05-05 13:06:26 +08:00 |
|
matevip
|
ac654f3957
|
feat(wiki): add Zhipu GLM-V and Volcano Doubao vision providers
|
2026-05-02 21:46:15 +08:00 |
|
matevip
|
088ffcaee1
|
feat(wiki): add image-to-text vision SPI with DashScope provider
|
2026-05-02 19:04:32 +08:00 |
|
matevip
|
e3ab06d57c
|
feat(generative): unified async pipeline + live SSE delivery for music/video/image
|
2026-05-01 20:15:20 +08:00 |
|
matevip
|
4d7c6593c4
|
feat(minimax): expand video model catalog + add CN endpoint support
|
2026-04-26 08:34:35 +08:00 |
|
matevip
|
fac5ff2838
|
feat(image-gen): add gpt-image-2 to OpenAiImageProvider
|
2026-04-26 08:32:44 +08:00 |
|
matevip
|
7007ea844d
|
feat: add TTS, STT, music generation, video providers (Runway/MiniMax), image providers (Google Imagen/MiniMax), and tool registry fix
|
2026-04-08 08:49:09 +08:00 |
|
matevip
|
43acd2bf94
|
feat(image,tts): add image generation with 4 providers and TTS with 3 providers
|
2026-04-07 22:14:31 +08:00 |
|