52 Commits

Author SHA1 Message Date
a0ef78ac8d Improve create_session.dspy parameter handling for both request.form and direct params 2026-04-23 11:05:14 +08:00
0ac8ca310f Fix new_session.ui: remove custom toolbar and use params instead of data in urlwidget 2026-04-23 11:04:34 +08:00
f6c07f6d10 Implement create_session.dspy script and update backend function to call hermes-service API 2026-04-23 10:58:23 +08:00
607718ac21 fix: correct settings.ui to use get_setting() function instead of get_url 2026-04-22 21:55:19 +08:00
5e3067a92a fix(settings): resolve undefined security variable in settings.ui
- Added jinja2 set statement to fetch settings data from /hermes-web-cli/settings/ API
- Updated Form fields to use value/checked properties with proper fallbacks
- Implemented settings API endpoint to return current configuration
- Removed incorrect load event binding and template variable references
2026-04-22 21:51:04 +08:00
5b4085e6fd feat: add apikey field to hermes_services table structure and edit form 2026-04-22 21:02:16 +08:00
f7ef379a52 Add API key field to service configuration and support Bearer token authentication 2026-04-22 18:43:52 +08:00
4b53b0e778 Update Service menu URL to point to ./hermes_services endpoint 2026-04-22 18:29:47 +08:00
ac07140fc4 Further simplify new_session.ui: Remove session name field, let Hermes auto-generate session names 2026-04-22 18:03:51 +08:00
25add75558 Simplify new_session.ui: Remove AI Model field to use Hermes default model automatically 2026-04-22 18:01:51 +08:00
c898c9eef1 Fix new_session.ui: Use uitype instead of widgettype in Form fields, and implement proper Form toolbar actions 2026-04-22 17:49:07 +08:00
14ed67907a Fix settings.ui: Correct TabPanel structure using items instead of tabs, and use Form toolbar actions with proper uitype in fields 2026-04-22 17:40:35 +08:00
701aedfa5a Fix settings.ui: Replace non-existent Tabs控件 with TabPanel控件 and ensure Form控件 uses correct options.fields structure 2026-04-22 17:17:34 +08:00
02b2cdaeec Fix template variable references: Use quoted syntax '{{ 'widget-id'.data }}' to avoid Jinja2 UndefinedError with hyphenated widget IDs 2026-04-22 17:11:48 +08:00
2cda5570dc Fix list-component.js: Use correct bricks API methods - clear_widgets(), add_widget() instead of non-existent refresh() and appendChild() 2026-04-22 17:08:54 +08:00
3182fcdf97 Fix list-component.js: Remove non-existent refresh() method and use proper subwidgets array management for bricks framework compatibility 2026-04-22 17:07:42 +08:00
e726abcddb Refactor UI files to use registerfunction instead of inline script, following bricks-framework理念: minimize JS usage and use existing controls with auxiliary validation functions 2026-04-22 17:04:54 +08:00
63a3d3be59 Remove new-session.js: implement form handling inline using script actiontype, simplify model selection to text input 2026-04-22 16:48:10 +08:00
7daf801c99 Fix JavaScript files: use correct bricks.getWidgetById API with proper ID format 2026-04-22 16:43:09 +08:00
30eae89807 Fix Form控件结构: ensure all Form controls use options.fields instead of subwidgets 2026-04-22 16:39:31 +08:00
eee254da60 Fix new_session.ui: correct Form structure using options.fields instead of subwidgets 2026-04-22 16:34:06 +08:00
b30a98f65e Fix new_session.ui: add container ID and correct target reference for create_session button 2026-04-22 16:24:29 +08:00
82a58be972 Fix new_session.ui: correct URL reference and implement create_session functionality with proper registerfunction binding 2026-04-22 16:19:58 +08:00
73b833c1c3 Wrap Menu in VBox with fixed width: set outer VBox to 250px width and Menu to 100% width 2026-04-22 16:14:15 +08:00
3f449816ed Fix List component constructor: ensure opts.options exists before accessing width/height properties 2026-04-22 15:55:45 +08:00
fbd94e86a1 Fix settings.js syntax error: remove duplicate line numbers causing Unexpected token 'try' 2026-04-22 15:52:06 +08:00
3edfa140e9 Fix bricks framework API usage and file structure
- Move all JS files from wwwroot/scripts/ to wwwroot/ root directory to comply with ahserver requirements
- Fix component registration: use bricks.Factory.register() instead of bricks.register()
- Fix function registration: use bricks.RF.register() instead of bricks.registerFunction()
- Update UI files to use item_template_url with external templates for List components
- Add proper list item template files (session-list-item.ui, service-list-item.ui, model-list-item.ui)
- Ensure all custom components and functions use correct bricks framework API
2026-04-22 15:49:36 +08:00
34949ea16c Fix bricks-framework component usage: replace invalid List with custom implementation, replace Input/Checkbox/Select/Textarea with proper UiStr/UiInt/UiCheck/UiCode/UiText components with required name attributes 2026-04-22 14:59:53 +08:00
bc3e94b64a Fix Jinja2 template errors: use 'item' for List components and correct form field access 2026-04-22 14:48:50 +08:00
e846804ec8 Fix UI bindings and implement proper .dspy endpoints according to bricks-framework规范 2026-04-22 14:41:42 +08:00
6c28e4f6a9 fix: resolve Jinja2 template errors and undefined item variables
- Replace JavaScript ternary operator with Jinja2 if-else syntax in services.ui
- Change all 'item' references to 'data' in List component templates
- Add proper script bindings with data passing for List component actions
- Update main.dspy functions to use correct parameter names from form data
- Add missing update_model and remove_model functions for AI model management
- Ensure all List component interactions properly pass current item data
2026-04-22 14:25:08 +08:00
c158573a39 fix: replace backgroundColor with bgcolor in all UI files and add missing scripts
- Replace all 'backgroundColor' properties with 'bgcolor' to comply with bricks-framework specification
- Add missing UI files: new_session.ui, sessions.ui, services.ui, settings.ui
- Create scripts/main.dspy with all required functions for UI interactions
- Fix layout using css: 'filler' for main-content to properly fill remaining width
- Ensure all referenced links have corresponding script implementations
2026-04-22 14:15:54 +08:00
b152e41f69 fix: 清理临时文件 2026-04-22 14:03:57 +08:00
80781da286 fix: 移除Menu组件的item_cheight设置,使用缺省高度;确认使用bgcolor属性设置背景色 2026-04-22 14:03:46 +08:00
7624e3be08 fix: 修正index.ui中的控件ID引用,所有target统一使用'app.main-content'从body开始寻找 2026-04-22 13:54:58 +08:00
ff3275429d fix: 修正控件ID引用,动态加载的UI文件使用'app.main-content'从body开始寻找目标容器 2026-04-22 13:53:35 +08:00
2f312c0554 fix: 重新创建hermes_services/list端点用于code组件数据格式转换,修正new_session.ui配置 2026-04-22 13:48:17 +08:00
28459df92b fix: 清理临时文件 2026-04-22 13:20:54 +08:00
7d55ef7548 fix: 删除不必要的手动.dspy端点,修正new_session.ui使用标准CRUD端点和textField/valueField参数 2026-04-22 13:20:47 +08:00
51f9776f40 fix: 使用return而非print返回数组数据 2026-04-22 13:18:12 +08:00
62a666e16e fix: 修正hermes_services list端点返回格式,直接返回数组供code组件使用 2026-04-22 13:17:04 +08:00
d6e7309e85 fix(hermes-web-cli): correct new_session.ui implementation
- Change service_id field uitype from 'select' to 'code' (bricks has no select type)
- Create hermes_services/list/index.dspy endpoint to provide service list data for code component
- Use Form's built-in submit/cancel buttons instead of manual Button widgets
- Add sessions.json CRUD definition for session management
- Ensure proper data format for code component: {"value": "id", "text": "name"}
2026-04-22 13:13:36 +08:00
450820d9ed fix(hermes-web-cli): remove unnecessary binds from Menu widget
Menu widget automatically handles item_click events when url and target are provided
in menu items, so explicit binds are not needed.
2026-04-22 12:03:49 +08:00
930ed6dea7 feat(hermes-web-cli): update UI files to use CRUD auto-generated endpoints
- Refactor index.ui to use Menu widget for navigation following proper CRUD pattern
- Create session_messages.json CRUD definition for session messages management
- Update all UI files to reference correct CRUD auto-generated endpoints:
  * index.ui: /hermes-web-cli/hermes_service_sessions/
  * sessions.ui: /hermes-web-cli/active_sessions/
  * services.ui: /hermes-web-cli/hermes_services/
  * settings.ui, new_session.ui, edit_service.ui: updated service references
  * session_detail.ui, chat.ui, session_chat.ui: updated to use session_messages CRUD
- Remove manual .dspy endpoint references in favor of standardized CRUD mechanism
- Follow module-development-spec and CRUD usage best practices
2026-04-22 11:55:16 +08:00
09ec855576 fix: correct Button控件属性和样式规范
- 将Button控件的'text'属性改为'label'(符合bricks-framework规范)
- 移除所有嵌套的'style'对象,将样式属性直接放在options顶层
- 确保所有UI文件符合bricks-framework最佳实践
2026-04-22 11:43:08 +08:00
5d4e70da8e feat: complete missing UI files and API endpoints for hermes-web-cli
- Added all missing .ui files referenced in index.ui:
  * new_session.ui
  * sessions.ui
  * services.ui
  * settings.ui
  * session_detail.ui
  * add_service.ui
  * edit_service.ui

- Created corresponding .dspy API endpoints with proper directory structure:
  * /hermes-web-cli/services → services/index.dspy
  * /hermes-web-cli/services/list → services/list/index.dspy
  * /hermes-web-cli/services/{id} → services/id/index.dspy
  * /hermes-web-cli/services/test?id={id} → services/test/index.dspy
  * /hermes-web-cli/sessions (POST) → sessions/index.dspy
  * /hermes-web-cli/sessions/messages?session_id={id} → sessions/messages/index.dspy
  * /hermes-web-cli/settings → settings/index.dspy
  * /hermes-web-cli/settings/reset → settings/reset/index.dspy

- Fixed UI styling to comply with bricks-framework (removed nested style objects)
- Updated URL references to use query parameters instead of path parameters for dynamic routes
- All files follow production-ready module development specifications
2026-04-22 11:22:44 +08:00
b0da1c3bd7 Fix sessions/recent endpoint: Create recent directory with index.dspy script to provide recent sessions data API 2026-04-22 10:49:21 +08:00
526151b901 feat(hermes-web-cli): redesign index.ui with complete user interaction features
- Replace service-only management interface with full AI agent dashboard
- Implement modern dark theme UI using UI/UX Pro Max design principles
- Add comprehensive navigation with sidebar and main content area
- Create complete page suite: new_session, sessions, services, session_chat, settings
- Integrate all user interaction functions into unified interface
- Follow bricks-framework best practices and production-ready standards
2026-04-21 17:16:13 +08:00
d229138adc fix: Complete hermes-web-cli module with all required fixes
- Add load_hermes_web_cli function to fix ImportError
- Update data_url paths to use /hermes-web-cli/... instead of /api/...
- Add missing renew.dspy file with complete business logic
- Update all .ui files with correct endpoint references
- Ensure module is fully functional for Sage integration
2026-04-21 15:37:20 +08:00
5399546114 feat: Add Popup and PopupWindow examples and update chat interface
- Add comprehensive examples for Popup.ui and PopupWindow.ui components
- Update chat.ui to use PopupWindow for better desktop-like experience
- PopupWindow provides draggable, resizable application windows with title bar
- Popup provides modal/non-modal popup layers with auto-dismiss support
- Both components support proper event handling and lifecycle management
- Examples demonstrate real-world usage patterns for hermes-web-cli module
2026-04-21 13:47:40 +08:00