pandyzhou
267abfd552
fix: resolve /model command misleading behavior when switching to model from different provider ( #5578 )
...
* fix: /model command now auto-switches provider when model exists elsewhere
Made-with: Cursor
* fix: address Sourcery review - log get_models() failures in cross-provider lookup
Made-with: Cursor
* fix: integer branch exception handling and API key masking in model command
Made-with: Cursor
* fix: harden cross-provider model resolution
* fix: improve model lookup resilience and cache hygiene
* refactor: simplify model switch lookup flow
* refactor: streamline provider model cache updates
* fix: align provider annotations and key error flow
* fix: narrow provider command exception handling
* refactor: harden provider command error redaction and flow
* fix: improve provider model lookup and secret redaction
* refactor: cache normalized model names in provider lookup
* refactor: simplify provider model lookup helpers
* refactor: extract provider model lookup helpers
* fix: harden provider lookup cancellation and redaction
* refactor: streamline provider cache and lookup settings
* refactor: simplify provider command setting and update helpers
* refactor: streamline provider model lookup config usage
* refactor: flatten provider lookup settings and filter model lookup providers
* refactor: simplify provider cache and callback flow
* refactor: simplify provider command model cache flow
* refactor: scope provider model cache by session
* fix: preserve redaction context and restore provider hooks
* refactor: unify provider model lookup config flow
* refactor: inline provider model cache access flow
* fix: align provider lookup cache and callback semantics
* refactor: centralize provider model fetch error handling
* refactor: simplify provider model cache and lookup flow
---------
Co-authored-by: 邹永赫 <1259085392@qq.com >
2026-03-01 19:11:31 +09:00
Chen
daa2efde14
fix:修正子agent无法正确接收本地图片(参考图)路径的问题 ( #5579 )
...
* fix: 修复5081号PR在子代理执行后台任务时,未正确使用系统配置的流式/非流请求的问题(#5081 )
* feat:为子代理增加远程图片URL参数支持
* fix: update description for image_urls parameter in HandoffTool to clarify usage in multimodal tasks
* ruff format
* fix:修正子agent无法正确接收本地图片(参考图)路径的问题
* fix:增强image_urls接收的鲁棒性
* fix:ruff检查
* fix: harden handoff image_urls preprocessing
* fix: refactor handoff image_urls preprocessing flow
* refactor: simplify handoff image_urls data flow
* fix: filter non-string handoff image_urls entries
* refactor: streamline handoff image url collection
* refactor: share handoff image ref validation utilities
* refactor: simplify handoff image url processing
* refactor: honor prepared handoff image urls contract
---------
Co-authored-by: Soulter <905617992@qq.com >
Co-authored-by: 邹永赫 <1259085392@qq.com >
2026-03-01 17:01:23 +09:00
WintryWind
fd223bb259
fix: resolve unhandled UTC timezone offset for timestamps in conversation records ( #5580 )
...
* fix: resolve unhandled UTC timezone offset for timestamps in conversation records
* fix: standardize timezone imports
* fix: unify UTC datetime normalization in dashboard routes
---------
Co-authored-by: 邹永赫 <1259085392@qq.com >
2026-03-01 16:10:35 +09:00
エイカク
451ad685ae
feat: 集成 DeerFlow Agent Runner 并优化流式处理 ( #5581 )
...
* feat: integrate DeerFlow agent runner and improve stream handling
* refactor: split DeerFlow stream flow and close stale client on reset
* fix: enforce max_step and correct timeout type check
* fix: harden DeerFlow config parsing and session lifecycle
* fix: preserve third-party runner error semantics and harden image parsing
* perf: bound DeerFlow values history and seen-id cache
* refactor: improve deerflow stream semantics and client lifecycle
* fix: harden third-party runner error semantics and fallback aggregation
* refactor: reduce deerflow image log noise and lazy-init api session
* perf: avoid unnecessary iterable copies in deerflow stream utils
* refactor: centralize runner error key and clarify deerflow client lifecycle
* refactor: simplify third-party runner output flow
* fix: defer streaming runner cleanup and unify error mapping
* fix: handle id-less values messages and redact stream payload logs
* fix: improve deerflow error signaling and third-party runner flow
* fix: support deerflow proxy and refine runner lifecycle
* fix: tighten deerflow image validation and runner lifecycle
* feat: support deerflow image output components
* fix: harden runner stream cleanup and refactor deerflow config
* fix: preserve deerflow done hook and simplify runner lifecycle
* refactor: simplify third-party runner aggregation and lifecycle closing
* fix: preserve first deerflow values payload and simplify runner flow
* refactor: unify runner final resolution and harden deerflow close state
* refactor: share int coercion and make deerflow close best effort
* refactor: extract deerflow mappers and streamline third-party lifecycle
* refactor: simplify third-party flow and harden sse flush parsing
* fix: make deerflow runner close path best effort
* refactor: simplify third-party orchestration and centralize deerflow keys
* refactor: simplify third-party chunk flow and deerflow finalization
* fix: harden deerflow stream parsing and simplify runner lifecycle
* refactor: remove redundant deerflow values text assignment
* fix: improve deerflow timeout diagnostics and image input feedback
* refactor: flatten third-party runner lifecycle and aggregation
* chore: use deerflow official remote svg icon
* chore: remove unused deerflow local logo asset
2026-03-01 12:31:38 +09:00
LIghtJUNction
b8c73430fb
Revert "可选后端,实现前后端分离" ( #5536 )
2026-02-27 22:02:37 +08:00
LIghtJUNction
3141ed52bd
Merge branch 'feat/optional-backend' into master
2026-02-27 21:53:56 +08:00
Dt8333
c5b23d12a8
fix: 修复Pyright静态类型检查报错 ( #5437 )
...
* refactor: 修正 Sqlite 查询、下载回调、接口重构与类型调整
* feat: 为 OneBotClient 增加 CallAction 协议与异步调用支持
2026-02-25 19:49:16 +08:00
Soulter
e357d9de74
feat: add stop functionality for active agent sessions and improve handling of stop requests ( #5380 )
...
* feat: add stop functionality for active agent sessions and improve handling of stop requests
* feat: update stop button icon and tooltip in ChatInput component
* fix: correct indentation in tool call handling within ChatRoute class
2026-02-23 20:21:30 +08:00
エイカク
9c691b2266
chore: remove Electron desktop pipeline and switch to tauri repo ( #5226 )
...
* ci: remove Electron desktop build from release pipeline
* chore: remove electron desktop and switch to tauri release trigger
* ci: remove desktop workflow dispatch trigger
* refactor: migrate data paths to astrbot_path helpers
* fix: point desktop update prompt to AstrBot-desktop releases
2026-02-19 23:04:18 +09:00
雪語
3597726aad
fix(core): terminate active events on reset/new/del to prevent stale responses ( #5225 )
...
* fix(core): terminate active events on reset/new/del to prevent stale responses
Closes #5222
* style: fix import sorting in scheduler.py
2026-02-19 19:26:47 +08:00
Soulter
9a0c814fd4
feat: add SSL configuration options for WebUI and update related logging ( #5117 )
2026-02-15 17:43:36 +08:00
エイカク
4ff07e3c74
fix: 完善转发引用解析与图片回退并支持配置化控制 ( #5054 )
...
* feat: support fallback image parsing for quoted messages
* fix: fallback parse quoted images when reply chain has placeholders
* style: format network utils with ruff
* test: expand quoted parser coverage and improve fallback diagnostics
* fix: fallback to text-only retry when image requests fail
* fix: tighten image fallback and resolve nested quoted forwards
* refactor: simplify quoted message extraction and dedupe images
* fix: harden quoted parsing and openai error candidates
* fix: harden quoted image ref normalization
* refactor: organize quoted parser settings and logging
* fix: cap quoted fallback images and avoid retry loops
* refactor: split quoted message parser into focused modules
* refactor: share onebot segment parsing logic
* refactor: unify quoted message parsing flow
* feat: move quoted parser tuning to provider settings
* fix: add missing i18n metadata for quoted parser settings
* chore: refine forwarded message setting labels
2026-02-12 23:42:29 +09:00
Soulter
e3cb9eb8af
chore: ruff format
2026-02-12 13:56:33 +08:00
Soulter
336e2a2c40
fix: update error logging message for connection failures
2026-02-12 01:14:49 +08:00
Soulter
9d93bda3fe
feat: temporary file handling and introduce TempDirCleaner ( #5026 )
...
* feat: temporary file handling and introduce TempDirCleaner
- Updated various modules to use `get_astrbot_temp_path()` instead of `get_astrbot_data_path()` for temporary file storage.
- Renamed temporary files for better identification and organization.
- Introduced `TempDirCleaner` to manage the size of the temporary directory, ensuring it does not exceed a specified limit by deleting the oldest files.
- Added configuration option for maximum temporary directory size in the dashboard.
- Implemented tests for `TempDirCleaner` to verify cleanup functionality and size management.
* ruff
2026-02-12 01:04:48 +08:00
エイカク
a8dda20a30
fix: 提升打包版桌面端启动稳定性并优化插件依赖处理 ( #5031 )
...
* fix(desktop): rotate electron and backend logs
* refactor(desktop): centralize log rotation defaults and debug fs errors
* fix(desktop): harden rotation fs ops and buffer backend log writes
* refactor(desktop): extract buffered logger and reduce sync stat calls
* refactor(desktop): simplify rotation flow and harden logger config
* fix(desktop): make app logging async and flush-safe
* fix: harden app log path switching and debug-gated rotation errors
* fix: cap buffered log chunk size during path switch
* fix: avoid redundant plugin reinstall and upgrade electron
* fix: stop webchat tasks cleanly and bind packaged backend to localhost
* fix: unify platform shutdown and await webchat listener cleanup
* fix: improve startup logs for dashboard and onebot listeners
* fix: revert extra startup service logs
* fix: harden plugin import recovery and webchat listener cleanup
* fix: pin dashboard ci node version to 24.13.0
* fix: avoid duplicate webchat listener cleanup on terminate
* refactor: clarify platform task lifecycle management
* fix: continue platform shutdown when terminate fails
2026-02-12 01:04:04 +08:00
エイカク
e61b29ec6a
fix: harden plugin dependency loading in frozen app runtime ( #5015 )
...
* fix: compare plugin versions semantically in market updates
* fix: prioritize plugin site-packages for in-process pip
* fix: reload starlette from plugin target site-packages
* fix: harden plugin dependency import precedence in frozen runtime
* fix: improve plugin dependency conflict handling
* refactor: simplify plugin conflict checks and version utils
* fix: expand transitive plugin dependencies for conflict checks
* fix: recover conflicting plugin dependencies during module prefer
* fix: reuse renderer restart flow for tray backend restart
* fix: add recoverable plugin dependency conflict handling
* revert: remove plugin version comparison changes
* fix: add missing tray restart backend labels
2026-02-11 13:01:44 +09:00
エイカク
d35771f97d
fix: stabilize packaged runtime pip/ssl behavior and mac font fallback ( #5007 )
...
* fix: patch pip distlib finder for frozen electron runtime
* fix: use certifi CA bundle for runtime SSL requests
* fix: configure certifi CA before core imports
* fix: improve mac font fallback for dashboard text
* fix: harden frozen pip patch and unify TLS connector
* refactor: centralize dashboard CJK font fallback stacks
* perf: reuse TLS context and avoid repeated frozen pip patch
* refactor: bootstrap TLS setup before core imports
* fix: use async confirm dialog for provider deletions
* fix: replace native confirm dialogs in dashboard
- Add shared confirm helper in dashboard/src/utils/confirmDialog.ts for async dialog usage with safe fallback.
- Migrate provider, chat, config, session, platform, persona, MCP, backup, and knowledge-base delete/close confirmations to use the shared helper.
- Remove scattered inline confirm handling to keep behavior consistent and avoid native blocking dialog focus/caret issues in Electron.
* fix: capture runtime bootstrap logs after logger init
- Add bootstrap record buffer in runtime_bootstrap for early TLS patch logs before logger is ready.
- Flush buffered bootstrap logs to astrbot logger at process startup in main.py.
- Include concrete exception details for TLS bootstrap failures to improve diagnosis.
* fix: harden runtime bootstrap and unify confirm handling
- Simplify bootstrap log buffering and add a public initialize hook for non-main startup paths.
- Guard aiohttp TLS patching with feature/type checks and keep graceful fallback when internals are unavailable.
- Standardize dashboard confirmation flow via shared confirm helpers across composition and options API components.
* refactor: simplify runtime tls bootstrap and tighten confirm typing
* refactor: align ssl helper namespace and confirm usage
2026-02-10 16:42:43 +09:00
エイカク
1addd5b2ab
perf: 稳定源码与 Electron 打包环境下的 pip 安装行为,并修复非 Electron 环境下点击 WebUI 更新按钮时出现跳转对话框的问题 ( #4996 )
...
* fix: handle pip install execution in frozen runtime
* fix: harden pip subprocess fallback handling
* fix: scope global data root to packaged electron runtime
* refactor: inline frozen runtime check for electron guard
* fix: prefer current interpreter for source pip installs
* fix: avoid resolving venv python symlink for pip
* refactor: share runtime environment detection utilities
* fix: improve error message when pip module is unavailable
* fix: raise ImportError when pip module is unavailable
* fix: preserve ImportError semantics for missing pip
* fix: 修复非electron app环境更新时仍然显示electron更新对话框的问题
---------
Co-authored-by: Soulter <905617992@qq.com >
2026-02-09 23:12:18 +08:00
Soulter
04faf26140
feat: 企业微信应用 支持主动消息推送,并优化企微应用、微信公众号、微信客服音频相关的处理 ( #4998 )
2026-02-09 22:15:11 +08:00
エイカク
2afb08d8b2
fix: handle pip install execution in frozen runtime ( #4985 )
...
* fix: handle pip install execution in frozen runtime
* fix: harden pip subprocess fallback handling
2026-02-09 15:19:01 +08:00
Soulter
06b2c7cb16
feat: enhance Dingtalk adapter with active push message and image, video, audio message type ( #4986 )
2026-02-09 15:17:55 +08:00
Dt8333
7dd95d8a59
chore: auto ann fix by ruff ( #4903 )
...
* chore: auto fix by ruff
* refactor: 统一修正返回类型注解为 None/bool 以匹配实现
* refactor: 将 _get_next_page 改为异步并移除多余的请求错误抛出
* refactor: 将 get_client 的返回类型改为 object
* style: 为 LarkMessageEvent 的相关方法添加返回类型注解 None
---------
Co-authored-by: Soulter <37870767+Soulter@users.noreply.github.com >
2026-02-09 00:22:24 +08:00
エイカク
a7e580407c
feat: supports electron app ( #4952 )
...
* feat: add desktop wrapper with frontend-only packaging
* docs: add desktop build docs and track dashboard lockfile
* fix: track desktop lockfile for npm ci
* fix: allow custom install directory for windows installer
* chore: migrate desktop workflow to pnpm
* fix(desktop): build AppImage only on Linux
* fix(desktop): harden packaged startup and backend bundling
* fix(desktop): adapt packaged restart and plugin dependency flow
* fix(desktop): prevent backend respawn race on quit
* fix(desktop): prefer pyproject version for desktop packaging
* fix(desktop): improve startup loading UX and reduce flicker
* ci: add desktop multi-platform release workflow
* ci: fix desktop release build and mac runner labels
* ci: disable electron-builder auto publish in desktop build
* ci: avoid electron-builder publish path in build matrix
* ci: normalize desktop release artifact names
* ci: exclude blockmap files from desktop release assets
* ci: prefix desktop release assets with AstrBot and purge blockmaps
* feat: add electron bridge types and expose backend control methods in preload script
* Update startup screen assets and styles
- Changed the icon from PNG to SVG format for better scalability.
- Updated the border color from #d0d0d0 to #eeeeee for a softer appearance.
- Adjusted the width of the startup screen from 460px to 360px for improved responsiveness.
* Update .gitignore to include package.json
* chore: remove desktop gitkeep ignore exceptions
* docs: update desktop troubleshooting for current runtime behavior
* refactor(desktop): modularize runtime and harden startup flow
---------
Co-authored-by: Soulter <905617992@qq.com >
Co-authored-by: Soulter <37870767+Soulter@users.noreply.github.com >
2026-02-08 21:49:54 +08:00
搁浅
30d1d55e3c
feat: add provider-souce-level proxy ( #4949 )
...
* feat: 添加 Provider 级别代理支持及请求失败日志
* refactor: simplify provider source configuration structure
* refactor: move env proxy fallback logic to log_connection_failure
* refactor: update client proxy handling and add terminate method for cleanup
* refactor: update no_proxy configuration to remove redundant subnet
---------
Co-authored-by: Soulter <905617992@qq.com >
2026-02-08 12:22:01 +08:00
Soulter
def8b730b7
fix: correct spelling of 'temporary' in SharedPreferences class
2026-02-07 14:01:08 +08:00
Soulter
22a109c2ae
feat: implement feishu / lark media file handling utilities for file, audio and video processing ( #4938 )
...
* feat: implement media file handling utilities for audio and video processing
* feat: refactor file upload handling for audio and video in LarkMessageEvent
* feat: add cleanup for failed audio and video conversion outputs in media_utils
* feat: add utility methods for sending messages and uploading files in LarkMessageEvent
2026-02-07 12:40:05 +08:00
LIghtJUNction
bf1bde79ec
Update astrbot/core/utils/io.py
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-02-06 04:22:03 +08:00
LIghtJUNction
3b93429353
新增cors配置项
2026-02-06 04:01:30 +08:00
LIghtJUNction
75ee46715a
支持ipv6并完善astrbot run子命令
...
* 默认host修改为::,同时新增两个环境变量DASHBOARD_HOST,DASHBOARD_ENABLE,和DASHBOARD_PORT对齐
* feat: systemd support (#4880 )
* fix: pyright lint (#4874 )
* feat: 将 MessageSession 的 platform_id 改为 init=False,实例化时无需传入
Co-authored-by: aider (openai/gpt-5.2) <aider@aider.chat >
* refactor: 将 isinstance 检查改为元组、将默认模型值设为空字符串、将类型注解改为 Any 并导入
* refactor: 为 _serialize_job 增加返回类型注解 dict
* fix: 使用 cast 获取百度 AIP 的 msg 并对 psutil_addr 引入 type: ignore
Co-authored-by: aider (openai/gpt-5.2) <aider@aider.chat >
* refactor: 引入 _AddrWithPort 协议并替换 conn.laddr 的 cast
Co-authored-by: aider (openai/gpt-5.2) <aider@aider.chat >
* fix: 在构建 AstrBotMessage 时对 ctx.channel 可能为 None 进行兜底处理
Co-authored-by: aider (openai/gpt-5.2) <aider@aider.chat >
---------
Co-authored-by: aider (openai/gpt-5.2) <aider@aider.chat >
* fix: TypeError when MCP schema type is a list (#4867 )
* Fix TypeError when MCP schema type is a list
Fixes crash in Gemini native tools with VRChat MCP.
* Refactor: avoid modifying schema in place per feedback
* Fix formatting and cleanup comments
* docs: update watashiwakoseinodesukara
Removed duplicate text and added a new image.
* 修复/跨平台一致性
* 琐事/类型标注和一些简单错误修正
* 修复/检查端口时候包含ipv6
* 修复/enable变量的赋值逻辑
---------
Co-authored-by: Dt8333 <25431943+Dt8333@users.noreply.github.com >
Co-authored-by: aider (openai/gpt-5.2) <aider@aider.chat >
Co-authored-by: boushi1111 <95118141+boushi1111@users.noreply.github.com >
Co-authored-by: Soulter <37870767+Soulter@users.noreply.github.com >
2026-02-06 02:46:16 +08:00
Soulter
f835f63542
feat: add trace settings management and UI for enabling/disabling trace logging ( #4822 )
...
* feat: add trace settings management and UI for enabling/disabling trace logging
* feat: enhance trace feature with internationalization support for hints and status messages
* fix: improve tool info extraction in run_agent function
2026-02-03 10:24:41 +08:00
Soulter
193676012f
feat: implement history persistence for agent interactions and enhance cron job permission handling
2026-02-01 17:42:08 +08:00
Soulter
5b7805e8d7
feat: trace and log file config ( #4747 )
...
* feat: trace
* fix(log): increase log cache size from 200 to 500
* feat(logging): add file and trace logging configuration options
2026-01-31 00:05:54 +08:00
Soulter
22bd8d6824
feat: support anthropic skills ( #4715 )
...
* feat: support anthropic skills
closes : #4687
* chore: ruff
* feat: implement skills management and selection in persona configuration
* feat: enhance skills management with local environment tools and permissions
2026-01-28 01:48:57 +08:00
Soulter
82e2e0d02f
feat: add web search references feature with sidebar and extraction logic ( #4515 )
...
* feat: add web search references feature with sidebar and extraction logic
* fix: reorder import statements for consistency
* chore: remove log
2026-01-16 16:49:48 +08:00
Soulter
981421ded6
docs: update readme
2026-01-12 20:31:17 +08:00
Soulter
241f1c26d3
feat: context compress ( #4322 )
...
* feat: context compressor
Co-authored-by: kawayiYokami <289104862@qq.com >
* Add comprehensive tests for ContextManager and ContextTruncator
- Implemented a full test suite for ContextManager covering initialization, message processing, token-based compression, and error handling.
- Added tests for ContextTruncator focusing on message fixing, truncation by turns, dropping oldest turns, and halving.
- Ensured that both test suites validate edge cases and maintain expected behavior with various message types, including system and tool messages.
* feat: add MockProvider for LLM compression tests
* chore: remove lock
* ruff fix
* fix
* perf
* feat: enhance context compression with token tracking and logging
* feat: update logging for context compression trigger
* feat: implement context compression logic with dynamic threshold and token tracking
* fix: reorder import statements for consistency
* feat: add token_usage tracking to conversations and update related processing logic
---------
Co-authored-by: kawayiYokami <289104862@qq.com >
2026-01-05 17:26:10 +08:00
Oscar Shaw
ef1feb639c
fix(utils): optimize pip install output decoding for cross-platform encoding compatibility ( #4249 )
2025-12-29 23:54:11 +08:00
RC-CHN
aa38fe776a
feat: supports data backup ( #4105 )
...
* feat: 添加数据迁移功能
* test: 添加迁移相关测试
* feat: 备份插件及相关持久化目录
* fix: 修复版本号比较逻辑,添加相关测试
* fix: 清洗文件名,添加相关测试
* fix: 修复安全文件名测试用例断言
* refactor: 优化代码,为备份模块提取公用常量
* feat: 修改备份版本校验逻辑,允许强制小版本间导入
* fix: 修复备份创建时间读取,修复备份相关i18n
* refactor(backup): 使用 astrbot_path 统一管理备份目录路径
* fix(backup): 清理备份模块中未使用的导入
* refactor(backup): 统一备份路径与参数并移除未用附件目录
- 通过 astrbot_path 动态获取备份/知识库/数据相关路径
- 移除 exporter/importer 未使用的 attachments_dir/data_root 传参
- 更新备份路由与测试用例的构造参数
* fix(dashboard): alias mermaid to dist entry for Vite prebundle
* fix(backup): 放行start-time接口到白名单以处理备份导入后jwt token变化导致无法自动刷新webui的问题
* chore(backup): 统一配置路径以使用动态数据目录
* refactor(backup): 使用 VersionComparator 替代重复的版本比较函数
* style(backup test): format code
---------
Co-authored-by: Soulter <905617992@qq.com >
2025-12-26 15:47:50 +08:00
Soulter
94ada3793e
Merge remote-tracking branch 'origin/master' into refactor/provider-source
2025-12-17 13:33:23 +08:00
Soulter
764b91a5f7
chore: ruff check
2025-12-16 12:21:14 +08:00
Soulter
c20c1b84bf
feat: implement LLM metadata fetching and integrate into provider model selection
2025-12-16 12:19:40 +08:00
Soulter
b8e4068c75
feat: support key-value storage for plugins ( #4048 )
...
* feat: support key-value storage for plugins
* fix: remove unnecessary initialization method from Main class
2025-12-15 16:50:44 +08:00
Soulter
45110200ea
feat: update provider and provider source configuration handling
2025-12-15 12:31:29 +08:00
Soulter
bb45d9cb54
stage
2025-12-13 17:16:07 +08:00
Soulter
8a0b7717cc
feat: supports webhook mode for Lark platform ( #4016 )
...
* feat: add Lark platform support with unified webhook configuration
* fix: update token verification logic in LarkWebhookServer
* feat: implement event deduplication and cleanup for Lark webhook events
2025-12-12 22:12:13 +08:00
Dt8333
f624971613
chore: fix bunches of type checking errors ( #3213 )
...
* chore(core.utils): 🚨 修正错误Lint
* chore(core.provider): 🚨 修复基类错误Lint
* chore(core.utils): 补全session_get()的重载
* chore(core.provider): 🚨 修正实现错误Lint
* chore(core.platform): 🚨 修正platform基类和webchat的错误Lint
* chore(core.platform): 修正错误实现Lint
* fix(core.provider): 修复循环调用和错误assert
* chore(core.platform): 修复部分实现Lint
* chore(core.provider): 补充Dify.text_chat_stream的参数类型
* chore(core.pipeline): 🚨 修复错误Lint
* fix(core.slack): 补充遗漏导入
* chore(core.utils): 修复错误的session_get声明
* chore(core.platform): 移除Lark adapter import中的wildcard
* chore(core.db): 修复声明和部分逻辑
* chore(core.db): 添加typings,使faiss参数能被正确识别。
* chore(core): 修复声明
* chore(core): 修改声明
* chore: 补充faiss声明
* chore(dashboard): 修改实现,减少报错
* chore(package): 修改部分声明与实现,减少报错
* chore(core): 添加Handler的overload,以去除部分assert同时通过类型检查
* chore(core.pipeline): 修改Pipeline Scheduler的execute,将判断属性改为判断类型,通过静态类型检查
* chore(core.config): 添加类型标注,通过类型检查
* chore(core.message): 为File._download_file添加检查,通过类型检查
* fix: 将断言改为条件判断以实现优雅关闭的容错性
* refactor: 移除 discord 客户端中的 assert,改用 if None 判断并抛出异常
Co-authored-by: aider (openai/gemini-3-pro-high) <aider@aider.chat >
* fix: DiscordPlatformAdapter 对 self.client.user 为 None 做日志并返回,移除断言
Co-authored-by: aider (openai/gemini-3-pro-high) <aider@aider.chat >
* fix: 增强 Lark 相关空值/异常检查并完善日志输出
Co-authored-by: aider (openai/gemini-3-pro-high) <aider@aider.chat >
* refactor: 将断言替换为条件检查并加入日志与错误处理
Co-authored-by: aider (openai/gemini-3-pro-high) <aider@aider.chat >
* chore: 移除LLM生成的无用注释
* refactor: 使用 File.get_file 替换下载逻辑并移除 assert,提供默认 filename
Co-authored-by: aider (openai/gemini-3-pro-high) <aider@aider.chat >
* fix: Slack Socket 未初始化抛出运行时异常,图片 URL 判空改为非空判断
* refactor: 将 WeChatPadProAdapter 的断言改为空值判断并添加日志
* refactor: 使用 isinstance 替代断言实现类型判断,便于静态检查
Co-authored-by: aider (openai/gemini-3-pro-high) <aider@aider.chat >
* fix: 去除cast,直接使用字段与字典访问,修正端口解析
Co-authored-by: aider (openai/gemini-3-pro-high) <aider@aider.chat >
* refactor: 使用 match-case 重构 ProviderManager 加载并通过类型检查抛出 TypeError
Co-authored-by: aider (openai/gemini-3-pro-high) <aider@aider.chat >
* fix: group_name_display 时若 group 对象为空则记录错误并返回
* fix: 将 _get_current_persona_id 的 assert 替换成 if guard 并返回 None
Co-authored-by: aider (openai/gemini-3-pro-high) <aider@aider.chat >
* fix: 优化插件目录存在性检查及图片URL非空验证,更新JSON排序配置
* fix: 将 datetime_str 的 assert 替换为显式检查并抛出异常
Co-authored-by: aider (openai/gemini-3-pro-high) <aider@aider.chat >
* refactor: 移除 cast,改为运行时检查并在找不到调度器时跳过
Co-authored-by: aider (openai/gemini-3-pro-high) <aider@aider.chat >
* refactor: 移除 cast,改用 isinstance 检查 FaissVecDB 并警告
Co-authored-by: aider (openai/gemini-3-pro-high) <aider@aider.chat >
* fix: 删除 typing.cast 导入,并在获取文件绝对路径前校验 file_
* refactor: 移除 typing.cast,简化内容安全检查调用
Co-authored-by: aider (openai/gemini-3-pro-high) <aider@aider.chat >
* refactor: 将 PlatformMetadata.id 设为必填并在注册时传入 id,移除 cast
* refactor: 移除 cast,改用 HasInitialize 与 isinstance 进行初始化
Co-authored-by: aider (openai/gemini-3-pro-high) <aider@aider.chat >
* fix: 为 ProviderManager.initialize 增加ID类型判断,避免 None 导致 get 失败
Co-authored-by: aider (openai/gemini-3-pro-high) <aider@aider.chat >
* refactor: 为 OTTSProvider 与 AzureNativeProvider 引入 _client 与 client 属性改进上下文管理
Co-authored-by: aider (openai/gemini-3-pro-high) <aider@aider.chat >
* fix: 为 Whisper 自托管源添加模型未初始化校验并直接调用 transcribe
Co-authored-by: aider (openai/gemini-3-pro-high) <aider@aider.chat >
* refactor: 移除未使用的 cast 导入并简化 platform_name 赋值
* refactor: 引入 cast 并对 id 使用 cast(str, ...) 提升类型安全
* fix: 将 _id_to_sid 返回改为 str,空值返回空串;对 id 与 message_id 使用 cast
Co-authored-by: aider (openai/gemini-3-pro-high) <aider@aider.chat >
* refactor: 重构 Discord 处理逻辑:强制 类型转换、优先斜杠指令并优化提及判断
Co-authored-by: aider (openai/gemini-3-pro-high) <aider@aider.chat >
* fix: 统一对 id 获取执行 cast,并在微信消息解析失败时抛错
* Revert "fix: 去除cast,直接使用字段与字典访问,修正端口解析"
This reverts commit 1cbfdf9d1b .
* fix: 百炼 Rerank 会话关闭时返回空结果;初始化 request.prompt 避免空值拼接
* fix: 统一处理搜索结果链接为字符串,新增 _get_url 助手并适配 Bing/Sogo
Co-authored-by: aider (openai/gemini-3-pro-high) <aider@aider.chat >
* refactor: 调整 call_handler 泛型、Discord 通道注解及 FishAudioTTS API 请求类型
* refactor: 使用 col(...) 替代列引用并对结果进行 CursorResult 强转
* chore: ruff format
---------
Co-authored-by: aider (openai/gemini-3-pro-high) <aider@aider.chat >
Co-authored-by: Soulter <905617992@qq.com >
2025-12-09 14:13:47 +08:00
Oscar Shaw
5d856900ef
perf: some UI/UX fixes, change Console to Platform Logs ( #3873 )
...
* refactor: 统一‘平台日志’文案
* perf: 优化自动滚动开关键操作逻辑
* perf: add tooltips to save and code editor buttons
2025-12-05 16:02:20 +08:00
Soulter
5714944eef
feat: unified platform webhook url ( #3889 )
...
* feat: unified platform webhook url
* chore: ruff format
* fix: 修复 Telegram 语音使用 Whisper API 报错 (#3884 )
* Update whisper_api_source.py
* chore: ruff format
---------
Co-authored-by: Soulter <905617992@qq.com >
* Update astrbot/dashboard/routes/platform.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update astrbot/core/platform/sources/qqofficial_webhook/qo_webhook_adapter.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* chore: ruff format
* fix: update webhook dialog descriptions for clarity in English and Chinese locales
* fix: update webhook URL paths to include '/api' prefix for consistency across the application
---------
Co-authored-by: 易推倒白毛 <zhaixingbi@gmail.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-12-03 15:44:52 +08:00
Soulter
2ba0460f19
feat: introduce file extract capability ( #3870 )
...
* feat: introduce file extract capability
powered by MoonshotAI
* fix: correct indentation in default configuration file
* fix: add error handling for file extract application in InternalAgentSubStage
* fix: update file name handling in InternalAgentSubStage to correctly associate file names with extracted content
* feat: add condition settings for local agent runner in default configuration
* fix: enhance file naming logic in File component and update prompt handling in InternalAgentSubStage
2025-12-01 18:12:39 +08:00