Commit Graph

5262 Commits

Author SHA1 Message Date
DrSmoothl
1533ec505b chore(deps): remove unused Jotai dependency
- Jotai was declared in package.json but never imported or used in any source code
- Verified with grep -r 'jotai' dashboard/src/ (zero matches)
- Build remains unaffected after removal
2026-03-01 16:57:01 +08:00
DrSmoothl
f9dd197f53 refactor(types): add unified API response types and error helpers 2026-03-01 16:53:34 +08:00
DrSmoothl
416bf36f1a refactor(database_model): replace Literal with Enum for modified_by field 2026-02-28 22:47:40 +08:00
UnCLAS-Prommer
1e917cc87d Merge branch 'r-dev' of github.com:Mai-with-u/MaiBot into r-dev 2026-02-28 21:16:41 +08:00
UnCLAS-Prommer
a39ccedb9a 应要求提交上未完成的HFC, expression部分 2026-02-28 21:14:46 +08:00
DrSmoothl
5f5bdab85d 补全 WebUI 缺失文件 2026-02-28 20:50:04 +08:00
UnCLAS-Prommer
c58da95353 链式调用构建消息 2026-02-28 16:54:38 +08:00
UnCLAS-Prommer
78983c4ed8 expression 2026-02-28 15:57:44 +08:00
UnCLAS-Prommer
b9faed4924 拆分新的utils 2026-02-27 22:07:26 +08:00
UnCLAS-Prommer
e253a2ed2a 分离提及和at必回复 2026-02-27 16:11:47 +08:00
UnCLAS-Prommer
7ef21c516a 一点注释和渲染修改 2026-02-24 16:01:39 +08:00
UnCLAS-Prommer
a8e8f6b7b3 HFC对应修改(部分) 2026-02-24 15:59:35 +08:00
UnCLAS-Prommer
12d4f236be Merge branch 'r-dev' of github.com:Mai-with-u/MaiBot into r-dev 2026-02-23 21:29:35 +08:00
UnCLAS-Prommer
0d07e85434 全新的process方法完成(Message其他部分仍未完成);对应测试;调整部分注释;数据库检索优化 2026-02-23 21:29:17 +08:00
DrSmoothl
1fec4c3b9a feat(dashboard): add background customization system
Add image/video background support across 5 layout layers (page, sidebar,
header, card, dialog) with per-layer effect controls and custom CSS injection.
- IndexedDB asset store for blob persistence (idb)
- AssetStoreProvider for blob URL lifecycle management
- BackgroundLayer component with CSS effects and prefers-reduced-motion support
- useBackground hook with inherit logic
- BackgroundUploader with local file and remote URL support
- BackgroundEffectsControls and ComponentCSSEditor UI components
- Background settings integrated into AppearanceTab in settings.tsx
- Layout, Card, and Dialog integration via non-breaking wrapper components
2026-02-23 18:08:01 +08:00
UnCLAS-Prommer
698b8355a4 移除旧文件;补充chat_manager方法 2026-02-22 22:33:54 +08:00
UnCLAS-Prommer
37f8c923c1 ChatSession(原ChatStream)与ChatManager;由于功能简单,测试略 2026-02-22 22:26:28 +08:00
UnCLAS-Prommer
04a5bf3c6d Merge branch 'r-dev' of github.com:Mai-with-u/MaiBot into r-dev 2026-02-21 23:50:53 +08:00
UnCLAS-Prommer
8674f50d90 PersonInfo相关提交,添加注释,重命名文件 2026-02-21 23:50:18 +08:00
DrSmoothl
6378bb2052 fix Ruff 2026-02-21 16:29:30 +08:00
DrSmoothl
eaef7f0e98 Ruff Format 2026-02-21 16:24:24 +08:00
DrSmoothl
2cb512120b feat(plugin-system): harden P0 safety with workflow timeout, service ACL, and contract validation
- enforce step timeout/cancellation in workflow engine
- add caller authorization boundary for cross-plugin service calls
- validate params_schema and return_schema at runtime
2026-02-21 16:11:52 +08:00
UnCLAS-Prommer
6d196454ee Merge branch 'r-dev' of github.com:Mai-with-u/MaiBot into r-dev 2026-02-21 15:55:57 +08:00
UnCLAS-Prommer
119241f251 PersonInfoModel; 修改部分方法参数和部分文件位置;移除多余文件;炸毁可启动性 2026-02-21 15:54:03 +08:00
DrSmoothl
6fcc53a22b feat(plugin-system): add workflow pipeline and cross-plugin service registry 2026-02-20 19:24:05 +08:00
UnCLAS-Prommer
6bcd7cbebb Merge branch 'r-dev' of github.com:Mai-with-u/MaiBot into r-dev 2026-02-19 19:03:25 +08:00
UnCLAS-Prommer
1c0580c577 ImageManager及测试 2026-02-19 19:02:44 +08:00
DrSmoothl
6a54a796f1 修复 build 问题 2026-02-19 18:56:49 +08:00
DrSmoothl
79871100be feat(theme): add theme import/export and cleanup legacy code 2026-02-19 18:31:10 +08:00
DrSmoothl
bb556dc7ae feat(theme): extend settings UI with token controls and custom CSS editor 2026-02-19 18:22:35 +08:00
DrSmoothl
06a88a877f refactor(theme): migrate all CSS variable references and adapt third-party components
- Task 10: Bulk migrate CSS variable references from --primary/--secondary/etc to --color-primary/--color-secondary/etc across all components
- Task 11: Adapt CodeEditor to auto-detect theme from ThemeProvider context, remove hardcoded theme='dark' from plugin-config and bot config pages
2026-02-19 18:01:14 +08:00
DrSmoothl
b5088fa455 feat(theme): migrate CSS variables and Tailwind config, refactor settings UI color picker
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-02-19 17:44:49 +08:00
DrSmoothl
8fb137a318 feat(theme): add CSS injection pipeline, presets, rewrite ThemeProvider, FOUC prevention 2026-02-19 17:26:53 +08:00
DrSmoothl
6aa1132f4c feat(theme): add design token schema, palette derivation, CSS sanitizer, and storage manager 2026-02-19 17:16:28 +08:00
UnCLAS-Prommer
0a572515ba 表情管理器调整,减少计算 2026-02-19 00:04:53 +08:00
UnCLAS-Prommer
537b24c24e 获取和注册一体化修正 2026-02-18 21:34:56 +08:00
UnCLAS-Prommer
ccd1be7bed Merge branch 'r-dev' of github.com:Mai-with-u/MaiBot into r-dev 2026-02-18 16:00:58 +08:00
UnCLAS-Prommer
c9f72f7f2f 修改部分字段含义,维护缓存 2026-02-18 16:00:45 +08:00
DrSmoothl
f66e25b1a7 fix(webui): fix missing imports and create toml_utils module
- Create src/common/toml_utils.py with TOML utility functions
- Fix APIAdapterConfig → ModelConfig in config.py (4 locations)
- Fix git_mirror_service import path in plugin.py
- Fix emoji.py type annotations and unused imports
- Fix jargon.py comment (ChatStreams → ChatSession)
- All routers now import successfully
- Zero Peewee remnants verified across src/webui/
2026-02-17 20:19:37 +08:00
DrSmoothl
f97c24bf9e test(webui): add pytest tests for emoji, jargon, expression routes
- test_emoji_routes.py: 21 tests covering list/get/update/delete/batch operations
- test_jargon_routes.py: 25 tests covering CRUD + stats + chat list (2 skipped due to DB model)
- test_expression_routes.py: 24 tests covering legacy field compatibility + field removal
- All use in-memory SQLite + StaticPool for isolation
- All tests passing (68/68, 2 skipped)
2026-02-17 20:12:57 +08:00
DrSmoothl
7255cc5602 fix(webui): remove references to deleted Expression fields
- 移除 ExpressionUpdateRequest 中的 checked/rejected/require_unchecked 字段
- 移除更新逻辑中的 setattr
- 添加 chat_id → session_id 映射
2026-02-17 19:58:29 +08:00
DrSmoothl
390d1daefd refactor(webui): migrate jargon routes from Peewee to SQLModel
- 完全迁移到 SQLModel
- chat_id → session_id 映射
- ChatStreams → ChatSession 替代
- 移除 is_global 字段
- 使用 group_id 替代 group_name
2026-02-17 19:58:21 +08:00
DrSmoothl
7da0811b5c refactor(webui): migrate emoji routes from Peewee to SQLModel
- 完全迁移到 SQLModel,所有 DB 操作使用 get_db_session()
- 字段映射:image_hash → emoji_hash
- datetime 时间戳转换
- 移除 format/usage_count 字段
2026-02-17 19:58:14 +08:00
DrSmoothl
0ea18a4edc fix minssing files 2026-02-17 19:04:54 +08:00
DrSmoothl
760561f45e fix(version): update APP_VERSION to 1.0.0 2026-02-17 18:52:06 +08:00
DrSmoothl
6bb0bc9afc feat(dashboard): integrate DynamicConfigForm in model config page
- Add DynamicConfigForm import and fieldHooks integration
- Replace TaskConfigCard list with DynamicConfigForm in tasks tab
- Use hardcoded schema POC approach (fields: [], nested: {})
- Maintain existing auto-save and state management logic
- TypeScript compilation verified

Task 14 complete - Wave 4 finished (4/4)
2026-02-17 18:32:31 +08:00
DrSmoothl
2de618464a docs(dashboard): add comprehensive dynamic form system documentation
- Overview of schema-driven UI system
- Quick start guide with examples
- Backend UI metadata guide (json_schema_extra)
- Hook component creation tutorial
- API reference for all components
- Troubleshooting section
2026-02-17 18:18:51 +08:00
DrSmoothl
fa15fef1f0 feat(dashboard): convert 4 Sections to Hook components
- Create PersonalitySectionHook (medium complexity)
- Create DebugSectionHook (simple complexity)
- Create ExpressionSectionHook (high complexity)
- Create BotInfoSectionHook (simple complexity)
- Update hooks/index.ts with exports
- Pattern validated across different complexity levels
2026-02-17 18:18:44 +08:00
DrSmoothl
69dfd0cac6 test(dashboard): add unit tests for dynamic form components
- Create comprehensive test suite for DynamicField (21 tests)
- Create comprehensive test suite for DynamicConfigForm (10 tests)
- Create comprehensive test suite for FieldHookRegistry (21 tests)
- Configure Vitest 4.0.18 with jsdom environment
- Add test setup with ResizeObserver and matchMedia polyfills
- 52 tests total covering all core functionality
2026-02-17 18:18:32 +08:00
DrSmoothl
c58ad64352 feat(dashboard): integrate DynamicConfigForm for ChatSection POC
- Register ChatSectionHook as 'replace' mode field hook
- Replace ChatSection rendering with DynamicConfigForm
- Use hardcoded minimal schema (POC - API integration pending)
- Preserve all existing state management and auto-save logic
- TypeScript compilation: ✓ PASSED

Complete Task 11 (Wave 3)
Ref: WebUI config visualization refactor plan
2026-02-17 17:46:40 +08:00