Soulter
e2a7a028bd
feat(migration): enhance migration process with error handling and agent runner config updates
2025-11-24 14:37:25 +08:00
Soulter
39eb367866
perf: improve file structure
...
- Implemented CozeAPIClient for file upload, image download, chat messaging, and context management.
- Developed DashscopeAgentRunner for handling requests to the Dashscope API with streaming support.
- Created DifyAgentRunner to manage interactions with the Dify API, including file uploads and workflow execution.
- Introduced DifyAPIClient for making asynchronous requests to the Dify API.
- Updated third-party agent imports to reflect new module structure.
2025-11-24 14:00:16 +08:00
Soulter
370cda7cf0
feat(dify_api_client): add docstring for file_upload method
2025-11-24 10:53:50 +08:00
Soulter
66b3eed273
fix: correct typo in agent state transition log message
2025-11-24 00:03:22 +08:00
Soulter
d560671d1f
feat: agent runner config migration
2025-11-23 20:54:19 +08:00
Soulter
910ec6c695
feat: implement third party agent sub stage and refactor provider management
...
- Added `ThirdPartyAgentSubStage` to handle interactions with third-party agent runners (Dify, Coze, Dashscope).
- Refactored `star_request.py` to ensure consistent return types in the `process` method.
- Updated `stage.py` to initialize and utilize the new `AgentRequestSubStage`.
- Modified `ProviderManager` to skip loading agent runner providers.
- Removed `Dify` source implementation as it is now handled by the new agent runner structure.
- Enhanced `DifyAPIClient` to support file uploads via both file path and file data.
- Cleaned up shared preferences handling to simplify session preference retrieval.
- Updated dashboard configuration to reflect changes in agent runner provider selection.
- Refactored conversation commands to accommodate the new agent runner structure and remove direct dependencies on Dify.
- Adjusted main application logic to ensure compatibility with the new conversation management approach.
2025-11-23 20:18:51 +08:00
Copilot
a04993a2bb
Replace insecure random with secrets module in cryptographic contexts ( #3248 )
...
* Initial plan
* Security fixes: Replace insecure random with secrets module and improve SSL context
Co-authored-by: LIghtJUNction <106986785+LIghtJUNction@users.noreply.github.com >
* Address code review feedback: fix POST method and add named constants
Co-authored-by: LIghtJUNction <106986785+LIghtJUNction@users.noreply.github.com >
* Improve documentation for random number generation constants
Co-authored-by: LIghtJUNction <106986785+LIghtJUNction@users.noreply.github.com >
* Update astrbot/core/utils/io.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update astrbot/core/platform/sources/wecom_ai_bot/WXBizJsonMsgCrypt.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update tests/test_security_fixes.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update astrbot/core/utils/io.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update astrbot/core/utils/io.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Fix: Handle path parameter in SSL fallback for download_image_by_url
Co-authored-by: LIghtJUNction <106986785+LIghtJUNction@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: LIghtJUNction <106986785+LIghtJUNction@users.noreply.github.com >
Co-authored-by: LIghtJUNction <lightjunction.me@gmail.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-11-03 02:43:00 +08:00
Copilot
94bf3b8195
Fix incorrect type annotations and errors ( #3250 )
...
* Initial plan
* Fix type annotation errors in cmd_conf, cmd_init, and version_comparator
Co-authored-by: LIghtJUNction <106986785+LIghtJUNction@users.noreply.github.com >
* Changes before error encountered
Co-authored-by: LIghtJUNction <106986785+LIghtJUNction@users.noreply.github.com >
* Fix more type annotation errors: change `= None` to `| None = None`
Co-authored-by: LIghtJUNction <106986785+LIghtJUNction@users.noreply.github.com >
* Fix final batch of type annotation errors
Co-authored-by: LIghtJUNction <106986785+LIghtJUNction@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: LIghtJUNction <106986785+LIghtJUNction@users.noreply.github.com >
Co-authored-by: LIghtJUNction <lightjunction.me@gmail.com >
2025-11-02 17:02:56 +08:00
Copilot
92abc43c9d
Fix mutable default arguments in constructors and methods ( #3247 )
...
* Initial plan
* Fix mutable default arguments in constructors and methods
Co-authored-by: LIghtJUNction <106986785+LIghtJUNction@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: LIghtJUNction <106986785+LIghtJUNction@users.noreply.github.com >
2025-11-02 12:57:37 +08:00
LIghtJUNction
0b7fc29ac4
style: add ruff lint module of isort and pyupgrade, and some ruff check fix ( #3214 )
...
Co-authored-by: Dt8333 <25431943+Dt8333@users.noreply.github.com >
Co-authored-by: Soulter <905617992@qq.com >
2025-11-01 13:26:19 +08:00
Soulter
0622d88b22
fix: revert 3106 ( #3153 )
...
* fix: revert 3106
Co-authored-by: Dt8333 <25431943+Dt8333@users.noreply.github.com >
Co-authored-by: LIghtJUNction <lightjunction.me@gmail.com >
Co-authored-by: exynos <110159911+xiaoxi68@users.noreply.github.com >
* Update astrbot/dashboard/routes/update.py
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
* fix: remove unnecessary version file handling in download_dashboard function
* fix: revert
---------
Co-authored-by: Dt8333 <25431943+Dt8333@users.noreply.github.com >
Co-authored-by: LIghtJUNction <lightjunction.me@gmail.com >
Co-authored-by: exynos <110159911+xiaoxi68@users.noreply.github.com >
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
2025-10-26 21:26:48 +08:00
Soulter
c1626613ce
fix: update repository references from Soulter/AstrBot to AstrBotDevs/AstrBot across documentation and codebase ( #3150 )
...
* fix: update repository references from Soulter/AstrBot to AstrBotDevs/AstrBot across documentation and codebase
- Updated README_ja.md to reflect new GitHub repository links.
- Modified AstrBotUpdator to download from the new repository.
- Changed download URLs in io.py for dashboard releases.
- Updated changelogs to point to the new issue links.
- Adjusted Docker compose file to reference the new repository.
- Updated Vue components in the dashboard to link to the new repository.
- Changed main.py to provide the correct download instructions for the new repository.
* fix: improve error handling for configId selection in AddNewPlatform component
* Update astrbot/core/utils/io.py
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
---------
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
2025-10-26 16:17:24 +08:00
LIghtJUNction
22c3b53ab8
fix(io.py): path改回传入文件地址,而不是传入文件夹地址
2025-10-26 15:41:20 +08:00
LIghtJUNction
4f4a9b9e55
fix(io.py): download_dashboard如果发现没有dist/assets/version文件,下载完毕自动写入(以防万一)
2025-10-26 15:35:25 +08:00
Soulter
afe007ca0b
refactor: 优化 packages/astrbot 内置插件的代码结构以提高可维护性和可读性 ( #2924 )
...
* refactor: code structure for improved readability and maintainability
* style: ruff format
* Update packages/astrbot/commands/provider.py
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
* Update packages/astrbot/commands/persona.py
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
* Update packages/astrbot/commands/llm.py
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
* Update packages/astrbot/commands/conversation.py
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
* fix: improve error handling message formatting in key switching
* fix: update LLM command to use safe get for provider settings
* feat: implement ProcessLLMRequest class for handling LLM requests and persona injection
---------
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
2025-10-01 21:29:15 +08:00
Ding Jiatong
a35c439bbd
fix: 使用增量解码器修复 Dify 流式返回结果偶现的解码错误 ( #2888 )
...
* fix: 修复linux下utf-8解码错误的问题
* feat: use incremental decoder
* fix: add type hint for response parameter in _stream_sse and refactor file upload method
---------
Co-authored-by: Soulter <905617992@qq.com >
2025-09-26 23:04:58 +08:00
Soulter
d5b3ce8424
fix: update download_dashboard to log specific dashboard release URLs
2025-09-23 13:10:33 +08:00
RC-CHN
dc9612d564
fix: 修复自定义文转图模板更新版本后会被覆盖的问题 ( #2677 )
...
* perf: 更新模板管理逻辑,在data目录中管理用户自定义模板,优化热重载逻辑
* refactor: 优化模板管理逻辑,重构模板复制和初始化流程,增强用户模板管理功能
* chore:移除无用注释
* remove:移除了t2i部分中不会走到的异常
* style: format code
* fix: trim whitespace from template names in create, update, and delete operations
---------
Co-authored-by: Soulter <905617992@qq.com >
2025-09-12 13:34:07 +08:00
RC-CHN
b31b520c7c
feat: 支持管理 T2I 模版 ( #2638 )
...
* feat:添加t2i模板管理后端api,移除config.py中重复功能
* feat: 添加T2I模板管理功能前端,支持模板的创建、应用和重置
* refactor: 修复错误的保存逻辑,将t2i注册时打印路由信息部分移到基类实现
* remove:移除了路由注册时的打印
* chore: format code
* fix: update input variant from solo to outlined for better UI consistency
---------
Co-authored-by: Soulter <905617992@qq.com >
2025-09-07 00:14:28 +08:00
Soulter
35eda37e83
Merge remote-tracking branch 'origin/releases/v3.5.27'
2025-09-04 15:30:15 +08:00
Soulter
2a7308363e
fix: 下载 WebUI 时,明确版本号
2025-09-04 13:54:16 +08:00
Soulter
8f4625f53b
Merge remote-tracking branch 'origin/master' into releases/4.0.0
2025-08-31 20:37:53 +08:00
Soulter
b1e4bff3ec
feat: 支持升级的同时更新到指定版本的 WebUI
2025-08-31 19:55:46 +08:00
Soulter
d2d5ef1c5c
feat: add custom T2I template editor ( #2581 )
2025-08-31 11:11:55 +08:00
Soulter
aa6f73574d
feat: 多 t2i 服务的随机负载均衡 ( #2529 )
2025-08-22 16:43:59 +08:00
Soulter
ac71d9f034
perf: 使用 run_coroutine_threadsafe
...
Co-authored-by: Raven95676 <raven95676@gmail.com >
2025-08-18 19:32:35 +08:00
Soulter
64bcbc9fc0
refactor: 重构 SharedPreference 类并采用数据库存储替换 json 存储 ( #2482 )
2025-08-18 19:12:26 +08:00
Soulter
1b37530c96
Merge remote-tracking branch 'origin/master' into releases/4.0.0
2025-08-02 20:14:18 +08:00
Soulter
842c3c8ea9
Refactor: using sqlmodel(sqlchemy+pydantic) as ORM framework and switch to async-based sqlite operation ( #2294 )
...
* stage
* stage
* refactor: using sqlchemy as ORM framework, switch to async-based sqlite operation
- using sqlmodel as ORM(based on sqlchemy and pydantic)
- add Persona, Preference, PlatformMessageHistory table
* fix: conversation
* fix: remove redundant explicit session.commit, and fix some type error
* fix: conversation context issue
* chore: remove comments
* chore: remove exclude_content param
2025-08-02 15:44:00 +08:00
Gao Jinzhe
140ddc70e6
feat: 使用会话锁保证分段回复时的消息发送顺序 ( #2130 )
...
* 优化分段消息发送逻辑,为分段消息添加消息队列
* 删除了不必要的代码
* style: code quality
* 将消息队列机制重构为会话锁机制
* perf: narrow the lock scope
* refactor: replace get_lock with async context manager for session locks
* refactor: optimize session lock management with defaultdict
---------
Co-authored-by: Soulter <905617992@qq.com >
Co-authored-by: Raven95676 <Raven95676@gmail.com >
2025-07-23 00:37:29 +08:00
Soulter
d7fd616470
style: code quality
2025-07-21 17:04:29 +08:00
chenpeng
ab677ea100
修正pilk依赖提示文案
...
增加监听wechatpadpro消息平台的事件
2025-07-02 17:30:37 +08:00
Soulter
d14513ddfd
fix: lint warnings
2025-06-28 14:51:35 +08:00
Soulter
9a9017bc6c
perf: use union oper for merging dict
...
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
2025-06-28 14:46:29 +08:00
Ruochen
f5bff00b1f
Merge branch 'master' of https://github.com/RC-CHN/AstrBot
2025-06-27 17:03:58 +08:00
Ruochen
27c9717445
feat:允许html_render方法传入配置参数
2025-06-27 17:03:26 +08:00
Soulter
51b015a629
Merge pull request #1830 from zhx8702/feat-wechat-tts-mp3towav
...
feat: wechatpadpro 触发tts时 添加对mp3格式音频支持
2025-06-25 22:46:10 +08:00
Soulter
345afe1338
fix: 修复 PipInstaller 中 pip 调用方式,确保使用当前 Python 解释器
2025-06-19 00:38:23 +08:00
zhx
ccb95f803c
feat: wechatpadpro 发送tts时 添加对mp3格式音频支持
2025-06-16 10:05:21 +08:00
zhx
0d5825bda9
feat: wechatpadpro 添加语音接收和发送的适配
2025-06-06 10:30:06 +08:00
Soulter
18f919fb6b
perf: pip_main wrapped in asyncio.to_thread
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-05-31 11:47:29 +08:00
Soulter
0924835253
feat: 将插件依赖检查和 pip 安装方法改为异步,以提高性能和响应速度
2025-05-31 11:44:58 +08:00
Raven95676
b858401098
chore: format code
2025-05-10 18:47:56 +08:00
Raven95676
c111da4681
refactor: 修改框架路径获取方式,规范化路径拼接
2025-05-06 17:30:34 +08:00
Soulter
20dabc0615
Merge pull request #1333 from LIghtJUNction/master
...
Feature: 新增CLI命令行程序
2025-05-01 20:53:58 +08:00
LIghtJUNction
b4f12fc933
✨ feat: supports CLI mode
...
Squashed by:
STEP1 - 新增CLI命令行程序
🎨 style: improve code style and some typo fixes
remove: llms.txt
2025-05-01 20:32:05 +08:00
Soulter
1d40b5a821
✨ feat(updator): 替换为采用 Semver 语义化版本来比较版本
2025-04-20 17:30:01 +08:00
Raven95676
cfae655068
perf: 修改默认会话过滤器标识符为umo
2025-04-19 11:57:22 +08:00
Soulter
33fd6a5016
perf: 优化 MCP 服务器的日志回显
2025-04-17 13:59:10 +08:00
Soulter
b825e51dab
chore: clean useless logs
2025-04-15 21:56:23 +08:00