Commit Graph

4058 Commits

Author SHA1 Message Date
fishzjp b66db86bff fix(provider): stringify MCP tool results for OpenAI-compatible APIs (#2476)
execute_func_call returns list[ContentElement] for MCP tools, but the
runner assigned that list directly to the tool-message content. The
OpenAI chat-completions spec requires tool-message content to be a
string, so OpenAI-compatible endpoints return HTTP 500 when the raw
list is sent.

Serialize the list to a string before building the tool message, using
ContentElement.__str__ which returns the text payload for text elements
and a human-readable placeholder for images and files. Fixes #2457.
2026-08-27 18:19:04 +08:00
fishzjp 95b8736e93 fix(provider): tolerate trimmed image parts in litellm message conversion (#2475)
SessionManager clears image_base64 on past turns to save memory, and
exclude_none serialization drops the hollowed field entirely, so a
replayed history part can arrive as {'type': 'image_base64'} with no
payload. The converter accessed the missing key unconditionally and
raised KeyError on every turn after an image was sent.

Prefer the base64 payload when present, fall back to an image_url that
survived on the same element, and drop hollow parts otherwise (same
strategy as the existing file-part handling). Fixes #2469.
2026-08-27 18:07:43 +08:00
Yang cabde423a1 Fix wecomcs open_kfid msgid (#2449)
* Update wecomcs.py

fix bug wecomcs send_message open_kfid
event.receiver_id  is open_kfid

* Update wecomcs.py

fix bug msgid exceeds the 32-byte limit

* test(wecomcs): cover bounded message IDs and images

---------

Co-authored-by: dadachann <185672915+dadachann@users.noreply.github.com>
2026-08-27 17:30:49 +08:00
RockChinQ 4b888ad390 copy(agents): explain the pipeline message flow 2026-08-27 16:03:56 +08:00
RockChinQ 7d9bdf0562 copy(agents): simplify pipeline type description 2026-08-27 15:59:28 +08:00
RockChinQ 5e144ac7c8 fix(i18n): localize pipeline processor type 2026-08-27 15:57:31 +08:00
RockChinQ 21ffaf9a14 refactor(agents): move debug event picker to input area 2026-08-27 15:52:59 +08:00
RockChinQ f3c1887e92 refactor(pipelines): clarify log view switching 2026-08-27 15:49:55 +08:00
RockChinQ 7671aefed7 fix(agents): improve diagram contrast in dark mode 2026-08-27 15:32:35 +08:00
RockChinQ e6f6789e8b fix(agents): make pipeline flow animation seamless 2026-08-27 15:28:43 +08:00
RockChinQ 05fe93e108 style(agents): animate processor diagram connections 2026-08-27 15:18:34 +08:00
RockChinQ e20a73c83a style(agents): distinguish agent capabilities from events 2026-08-27 15:14:53 +08:00
RockChinQ fde31d590e style(agents): clarify agent event direction 2026-08-27 15:11:13 +08:00
RockChinQ af03dbe958 style(agents): align pipeline diagram with agent 2026-08-27 15:08:33 +08:00
RockChinQ bd7aeab53d copy(agents): clarify processor use cases 2026-08-27 15:03:43 +08:00
RockChinQ 91f484e0ce copy(agents): expand processor type descriptions 2026-08-27 15:02:02 +08:00
RockChinQ a9b24e59ec refactor(agents): use shadcn processor type toggle 2026-08-27 14:55:59 +08:00
RockChinQ 139494cd63 style(agents): apply LangBot colors to processor diagrams 2026-08-27 14:49:04 +08:00
RockChinQ b4d9659ffe refactor(agents): remove decorative agent icon 2026-08-27 14:44:51 +08:00
RockChinQ 3f0ca13d6d refactor(agents): simplify processor diagrams 2026-08-27 14:43:32 +08:00
RockChinQ 6b40c2cf66 refactor(agents): polish processor creation layout 2026-08-27 14:39:56 +08:00
RockChinQ 847bfc8df5 feat(agents): improve processor creation choice 2026-08-27 14:31:37 +08:00
RockChinQ 823feac7e0 fix(bots): clarify adapter test prerequisites 2026-08-26 23:14:42 +08:00
RockChinQ a7badf6258 fix(bots): move adapter debugger to configuration 2026-08-26 23:07:02 +08:00
RockChinQ 3d692fa8db feat(bots): add platform event debugger 2026-08-26 19:46:59 +08:00
RockChinQ 7990d36c78 fix(bots): align route event selector 2026-08-26 19:32:39 +08:00
RockChinQ 600a173918 refactor(bots): remove route execution test 2026-08-26 14:28:30 +08:00
RockChinQ 8b63cc0281 fix(events): show raw codes in test selectors 2026-08-26 14:12:52 +08:00
RockChinQ 4787799cd8 fix(agents): align debug event selection 2026-08-26 14:06:09 +08:00
RockChinQ 47f5515fa9 fix(pipelines): retain debug chat image history 2026-08-26 00:32:03 +08:00
RockChinQ 94fd3d274c refactor(pipelines): simplify connection status copy 2026-08-26 00:24:37 +08:00
RockChinQ 8380bfc7d4 refactor(pipelines): soften chat session selection 2026-08-26 00:22:22 +08:00
RockChinQ a936734efa fix(pipelines): move chat reset action to footer 2026-08-26 00:20:16 +08:00
RockChinQ 0c5656d0d0 refactor(pipelines): streamline debug chat controls 2026-08-26 00:18:46 +08:00
RockChinQ 532d1b73d2 refactor(bots): group event route creation menu 2026-08-26 00:10:51 +08:00
RockChinQ aaeb9ad178 fix(bots): restore event route drag sorting 2026-08-26 00:08:09 +08:00
RockChinQ d28b385a9f refactor(events): group event selection options 2026-08-25 23:59:52 +08:00
ciri667 08307790e5 fix(cntfilter): allow legacy sensitive-word lists over 64 patterns (#2467)
* fix(cntfilter): allow legacy sensitive-word lists over 64 patterns

Legacy sensitive-words.json files shipped ~70 rules. After v4.10.7,
BanWordFilter treated the 64-pattern safe_regex cap as a hard failure
and blocked every message. Raise the cap only on the sensitive-word
path, keep the 50ms CPU budget, and truncate oversized lists with a
one-time warning.

Fixes #2443

* fix(cntfilter): reject oversized sensitive-word lists

---------

Co-authored-by: dadachann <185672915+dadachann@users.noreply.github.com>
2026-08-25 23:53:41 +08:00
RockChinQ 4d7a333802 feat(agent): add visual event range picker 2026-08-25 23:51:24 +08:00
RockChinQ 114612a984 refactor(agent): move delete action to header 2026-08-25 23:34:35 +08:00
RockChinQ 2aceefce47 test(agent): remove obsolete enabled fixture 2026-08-25 23:28:37 +08:00
RockChinQ 80f1790e1d refactor(agent): remove enabled state 2026-08-25 23:27:45 +08:00
RockChinQ 22d9053bf1 feat(web): streamline management and knowledge settings 2026-08-25 23:02:33 +08:00
RockChinQ db2a9155f8 feat(web): edit entity details from page titles 2026-08-25 22:31:23 +08:00
RockChinQ 69ca7e21cd fix(bots): explain unavailable route tests 2026-08-25 22:03:57 +08:00
RockChinQ 792d961d28 fix(web): clarify route test guidance 2026-08-25 21:53:06 +08:00
RockChinQ a8eb265c11 fix(web): clarify route test warning 2026-08-25 21:31:02 +08:00
RockChinQ e62f8a957a fix(web): simplify route test dialog 2026-08-25 21:27:33 +08:00
RockChinQ ad6b8b3209 fix(web): restore bot card spacing 2026-08-25 21:21:36 +08:00
RockChinQ 68620c4572 fix(bots): simplify event routing status 2026-08-25 21:18:01 +08:00