60 Commits

Author SHA1 Message Date
a6ba382241 feat(tenant): multi-tenant domain routing endpoint + shell_theme dedup + dim_test path 2026-08-04 12:11:34 +08:00
64cc51cb6e feat(hotspot): comprehensive revamp — 6 tables, 3 fetch modes, 5-dim analysis
Database (3→6 tables):
- hotspot_source: support api/browser/crawler types with type-specific fields
- hotspot_schedule: cron/interval daemon config per source
- hotspot_fetch_log: per-run audit trail (status/duration/items/errors)
- hotspot_item: add heat_velocity, engagement/comment/share counts, sentiment
- hotspot_analysis: 5-dimension scoring (time/heat/content/propagation/audience)
- hotspot_alert: alert rules (heat threshold/velocity/sentiment triggers)

Fetch engine (3 modes):
- API: GET/POST + headers + Bearer auth + JSON extraction
- Browser: HTML title/link extraction + og:title fallback
- Crawler: recursive with depth/domain allowlist/link following

Analysis engine:
- Exponential decay model (7-day half-life)
- Auto-classify: emerging→rising→hot→cooling→expired
- 5-dimension scoring with detail JSON per dimension

Dashboard: 6 tabs + 7 stat cards + workflow guide
Permission paths: 42 paths registered (6 tables × 7 CRUD ops)
2026-08-01 11:14:58 +08:00
768544511c merge: resolve conflicts, keep hotspot module alongside remote changes 2026-08-01 10:46:29 +08:00
71ecb8fea1 feat: add hotspot radar module (热点雷达系统)
- Add hotspot_source/hotspot_item/hotspot_analysis table definitions
- Add MySQL DDL for all three tables with indexes
- Create hotspot dashboard UI (index.ui) with stats, tabs for CRUD
- Add DSPY endpoints: stats, fetch_now (RSS/API), analyze (auto-classify)
- Register paths in load_path.py with logined access
- Add '热点雷达' menu entry
2026-08-01 10:39:52 +08:00
ab79bea576 feat(load_path): register plaza_categories.dspy and plaza_providers.dspy endpoints 2026-07-30 16:13:55 +08:00
27dfc1b5c8 menu: replace old model lists with cockpit 模型广场, add 3 new llmage paths
- Replaced '供应商模型列表'+'模型列表' sub-items with single '模型广场'
  pointing to /llmage/model_plaza.ui
- Added 3 new paths to load_path: model_plaza.ui, plaza_model_cards.ui,
  api/get_plaza_models.dspy
2026-07-28 18:24:05 +08:00
cf88984a09 fix: skip comment lines in load_path.py paths parsing
Lines starting with # were parsed as path+role, causing
'#'.split() = ['#','sage_datamart'], where 'sage_datamart'
isn't 'any'/'logined'/'anonymous' and has no '.',
crashing add_roles_perm at role.split('.')
2026-07-27 10:55:20 +08:00
3290fd959e feat: sage_datamart 全量路径添加 load_path 权限
47个 UI/API/cron 路径注册,menu.ui=any,其余=logined
2026-07-25 18:02:23 +08:00
d88f09b3c4 feat: llmage上线检查子页面添加load_path权限
check_model_record, check_date_status, check_upapp, check_uapi,
check_uapiio, check_llm_api_map, check_pricing_program,
check_pricing_data
2026-07-24 23:46:45 +08:00
73ee108cab feat: add tenant landing page with multi-tenant support
- Add /tenant/index.ui using bricks framework (no inline styles)
- Use Image widget for all images (logo, hero, case studies)
- Register /tenant and /tenant/index.ui routes as 'any' permission
- Include responsive CSS with tenant- prefix to avoid conflicts
- Login button redirects to /rbac/user/login.ui
- Support multi-tenant customization via ?tenant=xxx parameter
2026-07-20 14:41:17 +08:00
76fca12d67 feat(unipay): register transfer_info.ui in load_path 2026-07-15 18:17:03 +08:00
6142ce8630 rbac: /download/** → logined (需登录下载) 2026-07-14 13:28:50 +08:00
1e745b79d0 rbac: register get_search_roleid.dspy 2026-07-13 11:30:53 +08:00
850ede92ac fix: add /appbase/get_icon.dspy to RBAC logined 2026-07-12 23:03:35 +08:00
42548faec2 fix: add RBAC for discount setting UI paths 2026-07-12 10:51:29 +08:00
1cde9f9534 fix: add RBAC for sub_distributor admin dspy endpoints 2026-07-10 12:15:47 +08:00
564e57d063 fix: add missing SVG icons (globe, setting, userrole) to RBAC any 2026-07-10 12:01:04 +08:00
04dbc7abcd fix: add ensure_* dspy paths + supply_contracts.svg to RBAC 2026-07-10 10:37:27 +08:00
6b2a787102 fix: add supplychain SVG image paths to load_path.py (any role) 2026-07-10 10:27:49 +08:00
8d641affad feat: 基础配置菜单(superuser)+会计RBAC路径 2026-07-09 17:16:02 +08:00
7646ab5fac rbac: add /supplychain/api/contract_attach_delete.dspy 2026-07-03 17:45:58 +08:00
0df2d20d12 feat: 注册 contract_upload.dspy 2026-07-03 17:05:26 +08:00
86176dfd96 feat: 注册 contract_attach 路径 2026-07-03 16:40:00 +08:00
57f683671e rbac: expand supplychain wildcards to 155 explicit paths 2026-07-03 14:06:13 +08:00
70bab439e9 feat: 注册 llm_metrics 和 user_llm_policy 路径 2026-07-02 13:16:26 +08:00
7d943284ae rbac: add /uapi/copy_uapi.ui and /uapi/api/copy_uapi.dspy paths 2026-07-01 14:22:02 +08:00
7bda5f4094 feat: 注册 rbac api 路径 — add_user.dspy / update_user.dspy 2026-06-29 15:12:45 +08:00
8f8543283b feat(pricing): register pricing_data_display.ui in load_path.py 2026-06-26 10:56:43 +08:00
Hermes Agent
d3ccdeaa3e feat: 注册accounting/credit_limit路径到RBAC 2026-06-24 16:39:39 +08:00
Hermes Agent
7b5180ea5c refactor: 移除 product_management 的 product_type_config 权限路径 2026-06-24 10:34:49 +08:00
Hermes Agent
9b6e3b7d14 feat: supplychain模块RBAC权限注册 - 新增38条路径: 对账/结算/充值/CRUD列表等页面和dspy 2026-06-18 13:51:46 +08:00
0fe1fbbff4 fix: rbac users CRUD - fix typos in load_path, add enable/disable user paths 2026-06-11 16:57:03 +08:00
176d147631 feat: register /llmage/v1/pricing route 2026-06-11 15:17:32 +08:00
3ec2798abb feat: add RBAC permission for /bricks/css/api_doc.css (any) 2026-06-02 20:37:20 +08:00
ec33e43971 feat: add cpcc RBAC permissions to load_path.py (55 entries) 2026-05-28 15:34:24 +08:00
46bc814fdc feat: replace index.ui with shell left-right layout, add missing routes for dashboard widgets and module index.ui files 2026-05-26 15:52:45 +08:00
6a27233d2d revert: remove llmage api paths from sage load_path.py
- These paths belong in llmage/scripts/load_path.py
- Follows the rule: module permissions in module's scripts/ directory
2026-05-26 14:32:50 +08:00
9fbc2b1dc6 feat: add llmage api endpoints to load_path.py for data_filter
- /llmage/api/llm_list.dspy logined
- /llmage/api/llm_create.dspy logined
- /llmage/api/llm_update.dspy logined
- /llmage/api/llm_delete.dspy logined
- /llmage/api/get_organizations.dspy logined
- /llmage/api/get_upapps.dspy logined
2026-05-26 14:28:57 +08:00
6af4770709 fix: add RBAC permissions for llmage /v1 API endpoints
Added logined permission entries for all v1 OpenAI-compatible endpoints:
- /v1/chat/completions (existing, was missing)
- /v1/models (existing, was missing)
- /v1/tasks (existing, was missing)
- /v1/video/generations (new)
- /v1/image/generations (new)

Each has both directory and index.dspy file entries.
2026-05-26 11:58:07 +08:00
c5d6ec6c8f feat: integrate product_management module - import, load, build loop, RBAC permissions 2026-05-25 15:24:12 +08:00
205547a4e0 add route for dashboard accounting_errors.ui 2026-05-24 17:27:36 +08:00
ad5da620e3 update dashboard_for_sage routes: replace .dspy with .ui endpoints
New routes:
- today_usage.ui, today_amount.ui, total_users.ui,
  concurrent_users.ui, top_models_chart.ui

Removed deprecated .dspy routes:
- api/get_today_usage.dspy, api/get_user_stats.dspy,
  api/get_top_models.dspy, api/dashboard_cards.dspy
2026-05-24 17:20:34 +08:00
cd80c53aaa chore: update dashboard permissions — replace dashboard_content.dspy with dashboard_cards.dspy 2026-05-24 16:44:30 +08:00
00ea7675ac chore: update dashboard_for_sage permissions — remove JS, add dashboard_content.dspy 2026-05-24 16:30:57 +08:00
96b0682a08 Add dashboard_refresh.js at wwwroot root path to RBAC permissions 2026-05-24 14:46:13 +08:00
25105e4f43 Add dashboard_for_sage RBAC permissions to load_path.py 2026-05-24 14:33:55 +08:00
yumoqing
c10d27879b bugfix 2026-03-21 11:43:22 +08:00
yumoqing
ea16538858 bugfix 2026-03-21 11:42:28 +08:00
yumoqing
b7c71bda18 bugfix 2026-03-21 11:41:03 +08:00
yumoqing
3d38d97676 bugfix 2026-03-21 11:38:53 +08:00