Hadong
173f9e9c30
feat(lark): 支持商店应用机器人 ( #1855 )
...
* feat(lark): 支持商店应用机器人
* feat(lark): app_type改成select模式,修复select配置无效,按照copilot建议隐藏log敏感信息
* fix: KeyError for backward compatibility
---------
Co-authored-by: Junyan Qin <rockchinq@gmail.com >
2025-12-11 16:54:28 +08:00
Junyan Qin
d210a49fae
fix: react cve
2025-12-10 14:21:41 +08:00
fdc310
e306751863
feat:add lark ubified_webhook and The configuration for the front-end regarding whether to enable webhooks for Lark is displayed. ( #1850 )
2025-12-09 13:30:45 +08:00
Junyan Qin (Chin)
6421a6f5cb
Feat/complete adapter features ( #1849 )
...
* feat: add voice and file supports for wecom
* feat: add and in query variables
* feat: supports for lark recv file message
* feat: kook recv voice msg
* feat: supports for Voice and File in discord
* chore: remove debug msg
* perf: remove unnecessary bot logs
* feat: implement bot log filtering and per label color (#1839 )
* feat: add sender_name and group_name in query variables
2025-12-06 21:11:01 +08:00
Junyan Qin (Chin)
0e2cd8c018
Feat/kook ( #1834 )
...
* feat: add adapter file
* fix: style for bot log
* fix: kook bugs
2025-12-04 13:40:38 +08:00
dependabot[bot]
905e48c8ed
chore(deps): bump next from 15.4.7 to 15.4.8 in /web ( #1836 )
...
Bumps [next](https://github.com/vercel/next.js ) from 15.4.7 to 15.4.8.
- [Release notes](https://github.com/vercel/next.js/releases )
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js )
- [Commits](https://github.com/vercel/next.js/compare/v15.4.7...v15.4.8 )
---
updated-dependencies:
- dependency-name: next
dependency-version: 15.4.8
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-04 11:33:55 +08:00
Junyan Qin
24f779ff95
fix: websocket connect failed in prod env
2025-12-02 17:41:31 +08:00
Guanchao Wang
0aa5188b29
Feat/unified webhook ( #1793 )
...
* fix: wecombot id
* feat: add unified webhook for wecom
* feat: add support for wecombot,wxoa,slack and qqo
* fix: slack adapter
* feat: qqo
* fix: errors when npm lint
* fix: qqo webhook
* feat: add wecomcs
* fix: modify wecomcs
* fix: import errors
* feat: add configurable webhook display prefix (#1797 )
* Initial plan
* Add webhook_display_prefix configuration option
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
* perf: change config field name
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
Co-authored-by: Junyan Qin <rockchinq@gmail.com >
* feat: finish the fxxking line adapter
---------
Co-authored-by: Claude <noreply@anthropic.com >
Co-authored-by: Junyan Qin <rockchinq@gmail.com >
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com >
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
2025-12-01 22:09:20 +08:00
Junyan Qin (Chin)
e49a161d0a
feat: displaying plugin debug info ( #1828 )
2025-12-01 17:59:49 +08:00
Junyan Qin
0ddc3d60e7
fix: incorrect update date in kb card
2025-12-01 14:35:41 +08:00
Junyan Qin
51794176af
perf: add comment for installing KB retriever plugins
2025-12-01 14:04:32 +08:00
Copilot
b634aa48dc
feat(web): Add markdown rendering support to pipeline chat messages with toggle ( #1826 )
...
* Initial plan
* Add markdown rendering support to pipeline debug dialog messages with toggle button
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
* Fix code review feedback: remove conflicting styles and imports
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
* perf: styles
* fix: websocket message broadcasting cross-contamination between person and group channels
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
Co-authored-by: Junyan Qin <rockchinq@gmail.com >
2025-12-01 13:44:01 +08:00
Junyan Qin
16ae8ac546
chore: remove NotFound component from the application
2025-11-30 21:58:28 +08:00
Junyan Qin
c368d828c9
fix: linter error
2025-11-30 14:27:53 +08:00
Junyan Qin
019ae9c216
refactor: remove debug plugin success message from PluginForm and localization files
2025-11-30 14:20:40 +08:00
Junyan Qin (Chin)
b5d192425e
perf: advanced web chat ( #1811 )
...
* perf: supports for quoting message
* feat: add supports for Voice and File
* perf: reply button
2025-11-28 22:25:06 +08:00
Junyan Qin
b53750fde4
feat: add KnowledgeRetriever supports in plugin market
2025-11-28 16:47:55 +08:00
Junyan Qin
52e6135ae8
chore: i18n for knowledge retriever component name
2025-11-28 15:48:27 +08:00
Junyan Qin (Chin)
d09b823c49
refactor: switch webchat from sse to websocket ( #1808 )
...
* refactor: switch webchat from sse to websocket
* perf: image preview dialog
* chore: remove console.log
2025-11-28 14:54:01 +08:00
Copilot
a8481e43f0
feat: external knowledge bases ( #1783 )
...
* Initial plan
* Add backend support for external knowledge bases
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
* Add frontend support for external knowledge bases with tabs UI
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
* Add i18n translations for all languages (Traditional Chinese and Japanese)
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
* Update knowledge base tab list styling to match plugins page
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
* perf: margin-top for kb page
* refactor: switch RetrievalResultEntry to langbot_plugin pkg ones
* feat: knowledge retriever listing and creating
* stash
* refactor: unify sync mechanism for polymorphic components
* feat: use unified retireval result struct in retrieval test page
* chore: remove unused methods
* feat: retriever icon displaying
* feat: localagent retrieval with external kbs
* chore: bump version of langbot-plugin to 0.2.0b1
* fix: i18n
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
Co-authored-by: Junyan Qin <rockchinq@gmail.com >
2025-11-27 23:19:43 +08:00
Copilot
3c04eeaff9
perf: API integration dialog height and enable table scrolling ( #1805 )
...
* Initial plan
* Fix API integration dialog height and make tables scrollable
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
* Update API integration dialog height for improved layout
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
Co-authored-by: Junyan Qin <rockchinq@gmail.com >
2025-11-27 11:59:46 +08:00
Junyan Qin (Chin)
87131cf03b
Feat/pipeline enable all extensions ( #1807 )
...
* feat: 添加流水线扩展集成"启用所有"选项
为流水线的扩展集成配置添加独立的"启用所有插件"和"启用所有MCP服务器"选项。
主要变更:
- 数据模型:在 extensions_preferences 中添加 enable_all_plugins 和 enable_all_mcp_servers 字段
- 后端逻辑:修改 RuntimePipeline 以支持独立的启用所有选项,当启用时设置为 None 表示使用所有可用资源
- API 接口:更新 GET/PUT /api/v1/pipelines/{uuid}/extensions 以支持新字段
- 前端 UI:为插件和 MCP 服务器分别添加独立的开关控件
- 国际化:添加对应的中文翻译文本
- 默认行为:新创建的流水线默认启用所有插件和 MCP 服务器
🤖 Generated with [Claude Code](https://claude.com/claude-code )
via [Happy](https://happy.engineering )
Co-Authored-By: Claude <noreply@anthropic.com >
Co-Authored-By: Happy <yesreply@happy.engineering >
* fix(i18n): add missing translations for pipeline extensions
Added translations for enable all plugins/MCP servers feature:
- en-US: English translations
- ja-JP: Japanese translations
- zh-Hant: Traditional Chinese translations
Generated with [Claude Code](https://claude.ai/code )
via [Happy](https://happy.engineering )
Co-Authored-By: Claude <noreply@anthropic.com >
Co-Authored-By: Happy <yesreply@happy.engineering >
* chore: add migration for enable all extensions config
* fix: bad renaming
---------
Co-authored-by: Claude <noreply@anthropic.com >
Co-authored-by: Happy <yesreply@happy.engineering >
2025-11-27 11:52:15 +08:00
Junyan Qin
7d51293594
chore: adjust star component style
2025-11-25 10:08:11 +08:00
Junyan Qin
b78b0e50bb
perf: plugin list padding bottom
2025-11-25 09:50:51 +08:00
Copilot
6b4c1a7dee
fix: plugin card source badge blocked by hover overlay ( #1802 )
...
* Initial plan
* Add View Source menu item and remove clickable source badges
- Add "viewSource" translation key to all language files
- Add View Source menu item to plugin card dropdown (only for GitHub/marketplace plugins)
- Remove onClick handlers and ExternalLink icons from source badges
- Keep the badges themselves for visual indication of plugin source
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
* Fix prettier formatting issue in PluginCardComponent
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
2025-11-25 09:46:37 +08:00
Xiaoyu Su
2e1f16d7b4
feat: improvements for installed plugin card
...
* feat:Add README display to installed plugins
* chore: Increase the timeout of call_tool
* perf: smaller animation
* fix: add endpiont for readme
* feat: supports for multilingual READMEs
* feat: supports for getting readme img
* chore: bump langbot-plugin to 0.1.13b1
* perf: plugin card layout
* fix: import useTranslation linter error
---------
Co-authored-by: Junyan Qin <rockchinq@gmail.com >
2025-11-25 00:12:03 +08:00
Copilot
ace6d62d76
perf: Sort installed plugins: debug plugins first, then by installation time ( #1798 )
...
* Initial plan
* Implement plugin list sorting: debug plugins first, then by installation time
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
* Apply ruff formatting
* Add unit tests for plugin list sorting functionality
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
* Optimize database query to avoid N+1 problem and update tests
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
* Remove redundant assertion in test
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
* perf: plugin list sorting
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
Co-authored-by: Junyan Qin <rockchinq@gmail.com >
2025-11-23 13:46:45 +08:00
Junyan Qin
37296be67e
feat: refactor plugin market interaction and migrate to LangBot Space
...
- Replace plugin detail dialog with hover buttons interaction
- Add "Install" and "View Details" hover buttons on plugin cards
- Remove PluginDetailDialog component
- Update plugin marketplace URL format to /market/{author}/{plugin}
- Redirect all plugin detail views to LangBot Space
- Add i18n support for 4 languages (zh-Hans, en-US, zh-Hant, ja-JP)
- Optimize hover overlay styles for light/dark theme
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-21 14:23:22 +08:00
Junyan Qin
6c03a1dd31
perf: add supports for showing multilingual plugin README
2025-11-21 12:14:04 +08:00
Junyan Qin
9802a42a9e
perf: add request plugin button to marketplace
2025-11-20 23:41:45 +08:00
Junyan Qin
3182214663
fix: linter errors
2025-11-20 19:48:34 +08:00
Junyan Qin
20614b20b7
feat: add component filter to marketplace page
2025-11-20 19:46:33 +08:00
Junyan Qin
da323817f7
feat: add plugin components displaying in marketplace page
2025-11-20 18:50:00 +08:00
Junyan Qin
763c1a885c
perf: url display in webhook dialog
2025-11-20 16:48:06 +08:00
Junyan Qin
dbc09f46f4
perf: provider icon rounded in hovercard
2025-11-20 10:25:29 +08:00
Junyan Qin
cf43f09aff
perf: auto refresh logic in market
2025-11-20 10:18:28 +08:00
Copilot
c3c51b0fbf
perf: Add "Select All" checkbox to Plugin and MCP Server selection dialogs ( #1790 )
...
* Initial plan
* Add "Select All" checkbox to Plugin and MCP Server selection dialogs
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
* Make "Select All" text clickable by adding onClick handler to container
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
2025-11-18 17:00:05 +08:00
Copilot
2e82f2b2d1
fix: plugin pages scroll entire viewport instead of content area only ( #1788 )
...
* Initial plan
* Fix scroll behavior in plugin pages - only content areas scroll now
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
2025-11-18 11:16:41 +08:00
Copilot
c27ccb8475
feat(web): Add centered empty state messages to pipeline extension dialogs ( #1784 )
...
* Initial plan
* feat: add empty state messages in pipeline extension dialogs
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
* fix: center empty state messages in dialog content area
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
2025-11-16 23:37:40 +08:00
Copilot
abb2f7ae05
feat(web): Move Get Help button to account menu ( #1782 )
...
* Initial plan
* feat: Move Get Help button to account options menu
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
2025-11-16 22:44:46 +08:00
Copilot
58369480e2
fix: add scrollbar to pipeline extensions tab when content overflows ( #1781 )
...
* Initial plan
* feat: add scrollbar to pipeline extensions tab
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
2025-11-16 12:38:45 +08:00
Junyan Qin
cef24d8c4b
fix: linter errors
2025-11-11 18:24:06 +08:00
Junyan Qin
02892e57bb
fix: default is able to be deleted
2025-11-11 18:10:31 +08:00
Copilot
524c56a12b
feat(web): add hover card to embedding model selector in knowledge base form ( #1772 )
...
* Initial plan
* feat: Add hover card with model details to embedding model selector in KB form
- Updated KBForm.tsx to fetch full EmbeddingModel objects instead of simplified entities
- Added HoverCard component to show model details (icon, description, base URL, extra args) when hovering over embedding model options
- Removed unused IEmbeddingModelEntity import and embeddingModelNameList state
- Made the embedding model selector consistent with LLM model selector behavior
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
2025-11-11 17:52:30 +08:00
Copilot
1f877e2b8e
Optimize model provider selection with category grouping ( #1770 )
...
* Initial plan
* Add provider category field to requesters and implement grouped dropdown
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
* Fix TypeScript type and prettier formatting issues
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
* Rename provider categories: aggregator→maas, self_deployed→self-hosted
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
* Move provider_category from metadata to spec section
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
* perf: adjust category
* perf: adjust data structure
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
Co-authored-by: Junyan Qin <rockchinq@gmail.com >
2025-11-11 12:49:43 +08:00
Copilot
42421d171e
feat: Add webhook push functionality for bot message events ( #1768 )
...
* Initial plan
* Backend: Add webhook persistence model, service, API endpoints and message push functionality
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
* Frontend: Rename API Keys to API Integration, add webhook management UI with tabs
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
* Fix frontend linting issues and formatting
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
* chore: perf ui in api integration dialog
* perf: webhook data pack structure
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
Co-authored-by: Junyan Qin <rockchinq@gmail.com >
2025-11-10 22:41:25 +08:00
Junyan Qin
b59bf62da5
perf: add rounded style for card icons
2025-11-10 11:07:37 +08:00
Junyan Qin
70147fcf5e
perf: i18n for pipeline extensions
2025-11-09 12:40:19 +08:00
Copilot
8d7976190d
Add pipeline copy button to duplicate existing configurations ( #1767 )
...
* Initial plan
* Add copy button to pipeline configuration page
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
* Add i18n support for copy suffix and address code review feedback
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
* Show new pipeline name in copy toast and close dialog after copy
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
* perf: tool list style in extension tab
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
Co-authored-by: Junyan Qin <rockchinq@gmail.com >
2025-11-08 14:03:41 +08:00
Copilot
3edae3e678
feat: Support multiple knowledge base binding in pipelines ( #1766 )
...
* Initial plan
* Add multi-knowledge base support to pipelines
- Created database migration dbm010 to convert knowledge-base field from string to array
- Updated default pipeline config to use knowledge-bases array
- Updated pipeline metadata to use knowledge-base-multi-selector type
- Modified localagent.py to retrieve from multiple knowledge bases and concatenate results
- Added KNOWLEDGE_BASE_MULTI_SELECTOR type to frontend form entities
- Implemented multi-selector UI component with dialog for selecting multiple knowledge bases
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
* Add i18n translations for multi-knowledge base selector
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
* Fix prettier formatting errors in DynamicFormItemComponent
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
* Add accessibility attributes to knowledge base selector checkbox
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
* fix: minor fix
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: RockChinQ <45992437+RockChinQ@users.noreply.github.com >
Co-authored-by: Junyan Qin <rockchinq@gmail.com >
2025-11-08 13:45:09 +08:00