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
Soulter
03bb278f50
chore: ruff check
2025-12-08 11:00:43 +08:00
Soulter
a5e0974da3
chore: ruff format
2025-12-08 00:36:56 +08:00
vmoranv
f0fb447fbc
feat: custom plugin api source manager ( #3956 )
...
* feat: custom plugin api source manager
* fix: rename plugin source file in a safer way
* chore: turned the way of saving plugin source to backend and refacted some components
* style: clean up whitespace and improve logging message formatting
---------
Co-authored-by: Soulter <905617992@qq.com >
2025-12-08 00:32:50 +08:00
ZouYonghe
8d3ff61e0d
Format plugin route with ruff
2025-11-30 11:56:24 +08:00
ZouYonghe
4c03e82570
Fix plugin update JSON parsing and concurrency handling
2025-11-30 11:50:46 +08:00
ZouYonghe
1dd1623e7d
feat: batch update plugins via new api
2025-11-30 11:11:36 +08:00
Misaka Mikoto
a0690a6afc
feat: support options to delete plugins config and data ( #3280 )
...
* - 为插件管理页面中,删除插件提供一致的二次确认(原本只有卡片视图有二次确认)
- 二次确认时可选删除插件配置和持久化数据
- 添加对应的i18n支持
* ruff
* 移除未使用的
const $confirm = inject('$confirm');
2025-11-04 11:48:48 +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
6dd9bbb516
feat: enhance plugin metadata with display name and logo support
2025-10-26 20:30:54 +08:00
Soulter
d2df4d0cce
Feature: 支持在配置文件配置可用的插件组 ( #2505 )
...
* feat: 增加可用插件集合配置项
* remove: 旧版平台可用性配置
已经基于多配置文件实现。
* feat: 应用配置文件插件可用性配置
* perf: hoist if from if
2025-08-20 15:25:41 +08:00
Soulter
369eab18ab
Refactor: 重构配置文件管理,以支持更灵活的、会话粒度的(基于 umo part)配置文件隔离 ( #2328 )
...
* refactor: 重构配置文件管理,以支持更灵活的、基于 umo part 的配置文件隔离
* Refactor: 重构配置前端页面,新增数个配置项 (#2331 )
* refactor: 重构配置前端页面,新增数个配置项
* feat: 完善多配置文件结构
* perf: 系统配置入口
* fix: normal config item list not display
* fix: 修复 axios 请求中的上下文引用问题
2025-08-13 09:18:49 +08:00
Misaka Mikoto
7a8d65d37d
feat: add plugins local cache and remote file MD5 validation ( #2211 )
...
* 修改openai的嵌入模型默认维度为1024
* 为插件市场添加本地缓存
- 优先使用api获取,获取失败时则使用本地缓存
- 每次获取后会更新本地缓存
- 如果获取结果为空,判定为获取失败,使用本地缓存
- 前端页面添加刷新按钮,用于手动刷新本地缓存
* feat: 增强插件市场缓存机制,支持MD5校验以确保数据有效性
---------
Co-authored-by: Soulter <905617992@qq.com >
2025-08-02 14:03:53 +08:00
Raven95676
0321e00b0d
perf: 移除nh3
2025-07-09 20:32:14 +08:00
鸦羽
af98cb11c5
fix: handle missing nh3 library in plugin.py
2025-05-30 10:35:48 +08:00
Raven95676
537d373e10
fix: Fix potential XSS risk in plugin README content
2025-05-29 22:35:24 +08:00
Soulter
ad51381063
perf: 动态路由注册
2025-05-23 15:18:16 +08:00
anka
46d44e3405
fix: 🧩 在前端实现mcp服务器的搜索
2025-04-30 23:52:55 +08:00
zhx
b62b1f3870
feat: 添加插件能针对不同消息平台开启关闭的功能
...
Squashed:
chore: merge master branch
chore: merge from master branch
chore: rename updateAllPlatformCompatibility to update_all_platform_compatibility for consistency
Reviewed by:
@Raven95676 @Soulter
2025-04-09 17:27:44 +08:00
kterna
062d482917
fix
2025-04-09 08:43:16 +08:00
kterna
68885a4bbc
Update astrbot/dashboard/routes/plugin.py
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-04-08 16:30:36 +08:00
kterna
59fbd98db3
1
2025-04-08 14:31:35 +08:00
kterna
45ef5811c8
1
2025-04-08 14:02:59 +08:00
zhx
dec91950bc
feat: 安装完插件后自动弹出插件仓库 README 对话框
2025-04-01 10:04:04 +08:00
Soulter
750b16b6ee
✨ feat: add demo mode
2025-03-27 15:54:23 +08:00
pre-commit-ci[bot]
b669b31451
🎈 auto fixes by pre-commit hooks
2025-03-23 15:07:22 +00:00
冰苷晶
1cb2b62f81
fix: fix error
2025-03-23 23:02:34 +08:00
冰苷晶
d10cb84068
fix: fix SSLCertVerificationError
2025-03-23 22:55:07 +08:00
Soulter
a5ffb0f8dc
perf: 安装/更新插件后直接热重载而不重启;更新 plugin 指令
2025-03-08 00:20:48 +08:00
Soulter
49bba9bf98
style: format codes
2025-03-03 13:30:55 +08:00
Soulter
53d1398d30
fix: 修复子指令组不能被调用的问题
2025-02-19 15:53:01 +08:00
Soulter
4678222e9b
👌 refactor: 更换为预编译指令的方式处理指令组指令
2025-02-19 14:55:14 +08:00
Soulter
0481e1d45e
fix(core): github mirror not applied successfully
2025-02-11 01:10:17 +08:00
Soulter
ba45a2d270
feat: 支持设置GitHub反向代理地址
2025-02-09 18:51:53 +08:00
Soulter
3489522bbb
feat: 支持展示插件是否有更新
2025-02-08 12:22:36 +08:00
Soulter
af8c81b621
feat: 支持重载插件
2025-02-06 17:27:53 +08:00
Soulter
06b5275e48
perf: 增加报错显示
2025-02-06 16:43:40 +08:00
Soulter
3800e96d14
fix: 修复metadata不生效的问题
...
feat: 支持查看插件行为
2025-02-06 15:10:24 +08:00
Soulter
a5b885a774
fix: schema 中 object hint 不显示 #290
...
feat: 优化插件市场的访问
2025-02-04 16:36:00 +08:00
Soulter
0f1fe1ab63
fix: 硅基流动 not a vlm 和 tool calling not supported 报错 #305 # 291
...
perf: 安装和更新插件后全量重启避免奇奇怪怪的bug
feat: 支持 /tool off_all 停用所有函数工具
2025-02-03 13:20:49 +08:00
Soulter
76a6218be6
fix: 修复webui无法从本地上传插件的问题
2025-02-01 19:31:29 +08:00
Soulter
5dd1488b5d
perf: 优化webui和主程序更新的协调
...
fix: 修复某些请求不能正确应用代理的问题
2025-01-21 01:08:15 +08:00
Soulter
d3d428dc9d
fix: 管理面板支持禁用/启用插件
2025-01-08 23:04:03 +08:00
Soulter
b72c69892e
test: dashboard test
2024-12-26 22:59:17 +08:00
Soulter
7c06d82f27
perf: plugin manager 重复 reload 释放资源
2024-12-25 12:50:29 +08:00
Soulter
9c50889371
feat: backend market api
2024-12-15 13:04:18 +08:00
Soulter
c6bdac8835
format: code lint
...
(ruff, uv 是个好东西)
2024-12-10 22:09:53 +08:00
Soulter
bdfc77d349
refactor: im so tired :)
2024-12-09 22:38:42 +08:00
Soulter
7abe90f2ac
feat: 使用 jwt 用于管理面板鉴权
2024-12-03 19:35:07 +08:00
Soulter
750a93a1aa
remove: 移除了 nakuru-project 库
...
但仍然使用其对 OneBot 的数据格式封装。
2024-12-02 19:31:33 +08:00