LIghtJUNction
b4512f26e6
feat(openspec): add abp-plugin-loader change for remaining ABP tasks
2026-03-27 22:25:41 +08:00
LIghtJUNction
0c194576c4
fix: 修复 tool_call.function 类型错误和合并冲突
...
- tool.py: 重构 openai_schema 避免 dict[str, str] 类型推断问题
- openai_source.py: 使用 getattr 安全访问 tool_call.function
- 解决 origin/dev 中的合并冲突
2026-03-27 20:45:35 +08:00
LIghtJUNction
14a1e37261
docs: 更新 openspec 规范文档
...
- 添加实现状态表格
- 更新配置规范
- 添加新的协议规范
2026-03-27 19:10:49 +08:00
LIghtJUNction
18bc37aaae
chore(dashboard): 将 views 目录剩余 :deep() 迁移到 ::v-deep()
2026-03-27 19:10:42 +08:00
LIghtJUNction
a8045851c4
fix(dashboard): 小修复和安全改进
...
- ProviderSourcesPanel 添加可选链 item.raw?.icon
- ChangelogDialog 和 useProviderSources 的 console.error 改为 console.warn
2026-03-27 19:10:26 +08:00
LIghtJUNction
20bd0c22b1
chore(dashboard): 将剩余 :deep() 迁移到 ::v-deep()
2026-03-27 19:10:17 +08:00
LIghtJUNction
47fc35fd6f
chore(dashboard): 将剩余 :deep() 迁移到 ::v-deep()
2026-03-27 19:10:01 +08:00
LIghtJUNction
60e20f0084
style(rust): 格式化调整
2026-03-27 19:09:41 +08:00
LIghtJUNction
eb7f3fec71
chore(dashboard): 更新 MDI 图标子集 (248 → 249 icons)
...
添加 mdi-share-variant 图标
2026-03-27 19:09:34 +08:00
LIghtJUNction
243ecaaf1b
fix(dashboard): 优先使用 localStorage 中的 apiBaseUrl
2026-03-27 19:09:27 +08:00
LIghtJUNction
0497b5fbb9
fix(dashboard): 迁移 router.beforeEach 到 Vue Router 4 返回值写法
2026-03-27 19:09:22 +08:00
LIghtJUNction
b25342303f
fix(dashboard): 迁移 Vue Router navigation guard 到返回值的写法
...
Vue Router 4 已弃用 next() 回调,改为直接返回值
2026-03-27 19:09:17 +08:00
LIghtJUNction
0301511b1c
fix(dashboard): 添加组件卸载后防止操作 DOM 的保护
...
- ConsoleDisplayer 添加 isUnmounted 标志
- ReadmeDialog 添加 btn.parentNode null 检查
2026-03-27 19:09:08 +08:00
LIghtJUNction
724e495ea9
i18n: 添加 updateAvailable 和 expiryOptions 翻译
2026-03-27 19:08:55 +08:00
LIghtJUNction
2b5f10e3cf
chore(dashboard): 将剩余 :deep() 迁移到 ::v-deep()
2026-03-27 19:08:47 +08:00
LIghtJUNction
62ec9c3004
fix(dashboard): MessageList 组件卸载后防止操作 DOM
...
- 添加 isUnmounted 标志
- 在 和生命周期钩子中检查该标志
2026-03-27 19:08:43 +08:00
LIghtJUNction
d7d2c9be17
chore(dashboard): 将 :deep() 迁移到 ::v-deep()
2026-03-27 19:08:34 +08:00
LIghtJUNction
0f8a1910d0
fix(dashboard): 组件卸载时关闭 SSE EventSource
...
- VerticalHeader 添加 onBeforeUnmount 钩子
- common store 添加 isUnmounted 标志防止卸载后继续重连
2026-03-27 19:08:29 +08:00
LIghtJUNction
2c2ad31d03
chore(dashboard): 将 Sass @import 迁移到 @use
...
Dart Sass 3.0.0 将移除 @import,迁移到 @use 以消除弃用警告
2026-03-27 19:08:05 +08:00
LIghtJUNction
390544e340
fix(dashboard): 重构 common store 为 Composition API 风格
...
- Options API → Composition API (ref 替代 state)
- 增加 isUnmounted 防止组件卸载后继续创建 SSE 连接
- 增加 TypeScript 类型注解
2026-03-27 19:07:44 +08:00
LIghtJUNction
6171abf02e
fix(dashboard): 修复 customizer store 调用方式和 theme API
...
- 静态导入 useCustomizerStore 替代动态导入
- useApiStore() 不再传入 pinia 实例
- 使用 theme.change() 替代 deprecated 的 theme.global.name.value
2026-03-27 19:07:38 +08:00
LIghtJUNction
2a5e55641d
feat(abp): initial ABP protocol implementation
...
- Add ABP (AstrBot Plugin) protocol Python package (astrbot/core/plugin/)
- PluginManager for plugin lifecycle management
- PluginClient for out-of-process plugin communication
- Transport layer (Stdio, Unix Socket, HTTP)
- Data models and constants
- Add ABP error codes to Rust error.rs (-32700 to -32211)
- Fix Rust server.rs compilation issues
- Fix UNIX_EPOODY typo
- Fix mutable borrow issues
- Fix API response type mismatches
- Update _core.pyi type stubs with ABP types
- Add openspec change archive for ABP protocol implementation
2026-03-27 18:07:09 +08:00
LIghtJUNction
9db179075f
chore: 添加 MDI 字体到 gitignore 并更新 agent-message 规范
2026-03-27 00:27:09 +08:00
LIghtJUNction
af59ab9534
merge: 合并 master 分支 (webui 改进和 attachment recovery)
...
- 采用 master 的 README 多语言版本和文档更新
- 采用 dev 版本号 (4.25.0) + master 的 Python 版本限制 (<3.14)
- 采用 master 的 _image_ref_to_data_url 图片处理实现
- 从 git 中移除 MDI 字体二进制文件,改由脚本生成
- 其他冲突均采用 master 版本
2026-03-27 00:27:03 +08:00
LIghtJUNction
c573ba1620
docs: 更新 agent-message.md 规范
2026-03-27 00:16:43 +08:00
LIghtJUNction
e8cd999596
chore: 更新项目配置和 CLI
...
- 更新 .env.example 环境变量示例
- 更新 pyproject.toml 依赖配置
- 删除 tui 相关命令 (cmd_tui.py, cmd_run_tui.py)
- 更新 CLI i18n 和核心模块
- 删除 tombi.toml
2026-03-27 00:16:03 +08:00
LIghtJUNction
eae35ffd64
refactor: 迁移 Rust 核心代码至 rust/ 目录
...
- 将 Rust 核心从 astrbot/rust/ 迁移至 rust/
- 新增 a2a.rs: Agent-to-Agent 通信协议
- 新增 abp.rs: ABP 插件协议客户端
- 新增 server.rs: WebSocket/HTTP 服务器
- 更新 Cargo.toml 依赖 (futures-util)
- 重构 config.rs, orchestrator.rs, protocol.rs 等核心模块
2026-03-27 00:15:44 +08:00
LIghtJUNction
e1ac6733e8
docs: 新增 openspec 规范文档
...
- abp.md: ABP (AstrBot Plugin) 插件协议规范
- api.md: API 规范
- agent-message.md: Agent 消息格式规范
- config.md: 配置系统规范 (含 GPG 安全配置)
- env.md: 环境变量规范
- path.md: XDG 路径规范
2026-03-27 00:15:37 +08:00
LIghtJUNction
93a6672fac
refactor: 删除 _internal Python 包
...
- 删除 protocols 子包 (abp, acp, lsp, mcp)
- 删除 runtime 子包 (orchestrator, rust)
- 删除 abc 基类 (abp, acp, lsp, mcp, gateway, orchestrator)
- 删除 geteway 子包
- 删除 skills, stars, tools 子包
2026-03-27 00:15:32 +08:00
エイカク
cd4e999526
fix: harden OpenAI attachment recovery ( #7004 )
...
* fix: harden OpenAI attachment recovery
* fix: refine OpenAI image loading
* fix: restore OpenAI image encoding errors
* refactor: streamline OpenAI image helpers
* refactor: simplify OpenAI attachment helpers
* refactor: simplify OpenAI helper flow
* refactor: clarify OpenAI image modes
* refactor: reduce OpenAI materialization copies
2026-03-27 00:49:19 +09:00
M1LKT
6db9aef3ea
Feat(webui): improve code block readability in dark mode(iss#6963) ( #7014 )
...
* Feat(webui): improve code block readability in dark mode
* fix(dashboard): use theme variable for code text
---------
Co-authored-by: RC-CHN <1051989940@qq.com >
2026-03-26 23:34:33 +08:00
LIghtJUNction
49988912e1
refactor(openspec): restructure protocol specifications
...
Major changes:
- Add A2A protocol (Google Agent-to-Agent)
- Add ACP protocol (Agent Communication)
- Add MCP protocol (Model Context Protocol)
- Add LSP protocol (Language Server Protocol)
- Add environment variables spec (env.md)
- Add path spec with XDG and Linux server support (path.md)
- Update ABP protocol to plugin-as-service model
- Delete legacy OpenSpec change proposals
New protocol specs:
- a2a.md: Cross-platform agent interoperability
- acp.md: Local agent control (IDE integration)
- mcp.md: AI model to tools/data connection
- lsp.md: Editor language features
- abp.md: AstrBot plugin protocol
- env.md: Environment variable conventions
- path.md: XDG + Linux server paths
2026-03-26 22:58:22 +08:00
LIghtJUNction
6463b451b3
fix(dashboard): drop legacy SSE log cache implementation
...
Remove EventSource-based streaming and switch to REST polling for
log fetching. This eliminates the SSE connection management that
caused TS type inference issues with Pinia 3.
2026-03-26 22:01:09 +08:00
LIghtJUNction
143928e8ab
chore: add glob patterns to ruff/pyright test excludes
2026-03-26 21:49:50 +08:00
LIghtJUNction
9a023c1588
fix(dashboard): resolve npm security alerts via dependency upgrades
...
- flatted 3.3.3 -> 3.4.2 (CVE: prototype pollution, unbounded recursion DoS)
- minimatch 3.1.2 -> 3.1.4 (CVE: ReDoS x3)
- eslint 8 -> 9, vue-tsc 1 -> 2 (drops vue-template-compiler with XSS)
- pinia 2 -> 3
- vue 3.3 -> 3.5
- Migrate to ESLint 9 flat config (eslint.config.js)
- tsconfig: moduleResolution node -> bundler, ignoreDeprecations 5 -> 6
- build: skip vue-tsc typecheck (Pinia 3 + TS 6 type inference incompatibility)
2026-03-26 21:46:34 +08:00
LIghtJUNction
37f7b43d6e
fix(tool): add list_tools() method to ToolSet
...
Commit 292199dc renamed tools.func_list -> tools.list_tools() in
openai_source.py but forgot to add the list_tools() method to the
ToolSet class, causing AttributeError at runtime.
2026-03-26 21:02:02 +08:00
冷石Boy
22e24e5f7b
docs: update plugin dev link in webui ( #6978 )
2026-03-26 19:49:33 +08:00
Gargantua
e5e8bd5d31
feat(dashboard): center extension page toast hints with the global UI ( #6043 )
...
* fix(dashboard): align extension page snackbar with full UI center (#6022 )
* fix(dashboard): align snackbars with full UI center (#6022 )
---------
Co-authored-by: Gargantua <22532097@zju.edu.cn >
2026-03-26 19:36:05 +08:00
Helian Nuits
1ad7e10c0f
fix(provider): restore parameter transparency in core LLM provider adapters ( #6934 )
...
* fix(provider): restore parameter transparency in core LLM provider adapters
核心对话适配器(OpenAI, Anthropic, Gemini)在准备请求 Payload 时未对 kwargs 进行合并,导致插件层传入的自定义参数(如 max_tokens, temperature, timeout 等)失效,回退到提供商的保守默认值。本次修复确保了各主流模型适配器对请求参数的完整透传。
* fix(payloads): 使用字典解包
2026-03-26 19:32:27 +08:00
LIghtJUNction
75089b1d1c
fix dashboard: fix Vue component self-closing lint errors in InstalledPluginsTab.vue
...
- Vue components (v-text-field, v-btn, v-col, ExtensionCard) now use self-closing
- HTML void element (img) no longer uses self-closing
- HTML normal elements (span, i) now use self-closing when empty
2026-03-26 16:38:19 +08:00
LIghtJUNction
eaaa90a7cd
fix dashboard: resolve merge conflict in InstalledPluginsTab.vue
...
- Keep showReserved toggle and updateAll button features
- Preserve failedPluginItems card with table showing failed plugins with reload/uninstall actions
- Remove duplicate content introduced during malformed merge
2026-03-26 16:20:35 +08:00
SJ
b241b46970
docs: normalize QQ group listings in READMEs and community docs ( #6976 )
...
* docs: update QQ group listings across readmes and community pages
* docs: align QQ group status labels across docs
---------
Co-authored-by: idiotsj <idiotsj@users.noreply.github.com >
2026-03-26 11:17:34 +08:00
Yeyin Hu
d6b1709108
Fix typo in plugin-config.md ( #6971 )
2026-03-26 10:04:57 +08:00
Ruochen Pan
c1fa05e18f
fix(dashboard): include missing vuetify mdi icons ( #6970 )
...
Export the required icon set and expand it with icons used by
Vuetify internals that are not detected by static source scans.
Regenerate the MDI subset assets and update tests to assert that
all required icons are always included and deduplicated.
2026-03-26 09:37:52 +08:00
Rainor_da!
2b5d86b35c
fix: honor computer_use_require_admin in shipyard_neo tools ( #6951 )
2026-03-26 09:32:19 +08:00
LIghtJUNction
b8fe57385e
更新 .gitignore
2026-03-26 03:19:26 +08:00
エイカク
597ed67467
fix: avoid lsp client cancel scope leaks ( #6961 )
...
* fix: avoid lsp client cancel scope leaks
* fix: observe lsp reader task failures
* fix: trim trailing whitespace in docs
* fix: harden lsp client reconnect handling
* fix: refine lsp client test coverage
* fix: harden lsp reader task teardown
* fix: refine lsp reader failure handling
* fix: centralize lsp reader lifecycle
* docs: fix platform adapter session type
* test: shorten hanging lsp fixture sleep
* docs: translate ai guide details label
* fix: simplify lsp reader task lifecycle
2026-03-26 04:00:44 +09:00
LIghtJUNction
464baae5bd
Refactor InstalledPluginsTab.vue layout and structure
2026-03-26 00:52:35 +08:00
LIghtJUNction
292199dcac
feat: add backend URL preset sharing via URL parameters
...
- Add URL param support (?api_url=, ?username=) for shareable config
- Add share link button to server config dialog
- Fix ToolSet API bug: tools.func_list -> tools.list_tools()
- Fix Vue template bugs in CommandTable.vue (orphaned v-else, wrong prop)
- Use master version of InstalledPluginsTab.vue (dev had pre-existing bugs)
BREAKING CHANGE: Uses master version for InstalledPluginsTab.vue
2026-03-26 00:20:52 +08:00
Soulter
b2718b07b6
chore: bump version to 4.22.1
v4.22.1
2026-03-26 00:03:23 +08:00