56 Commits

Author SHA1 Message Date
07b4893252 feat(llmage): 添加llmusage历史记录备份和记账失败检索功能
- 新增 llmusage_history 表:定时备份已记账(use_date<today)的历史记录
- 新增 llmusage_accounting_failed 表:记录记账失败详情,支持检索
- 新增 backup_accounted_llmusage() 函数:备份+清理历史数据
- 新增 get_failed_accounting_records() 函数:按条件检索失败记录
- 更新 llm_accoung_failed():同时写入失败表记录
- 新增 failed_accounting.ui 页面和 failed_accounting_list.dspy API
- 新增 llmusage CRUD API (create/update/delete)
- 新增表索引优化查询性能
- 更新 setup_llmage_perms.sh 添加新端点权限
- 生成生产迁移SQL: scripts/migrate_llmusage_history.sql
2026-05-24 13:55:48 +08:00
bcff4e1169 bugfix 2026-05-22 17:51:02 +08:00
7f681e30b9 buggix 2026-05-22 17:38:06 +08:00
66ed700261 bugfix 2026-05-22 11:33:02 +08:00
7e6054c230 buggix 2026-05-22 11:25:21 +08:00
5b3c7d4d02 refactor: 废弃llm_catalog_rel表, 分类关系改用llm_api_map
- 删除 llm_catalog_rel 表定义(models/json/xlsx)、CRUD文件、管理页面、迁移脚本
- utils.py: get_llms_by_catelog/get_llms_by_catelog_to_customer 的SQL从 llm_catalog_rel 改为 llm_api_map (加distinct去重)
- init.py: 缓存清除事件从 llm_catalog_rel 改为 llm_api_map
- menu.ui/index.ui: 移除类型关联菜单项
- dspy文件: v1/chat/completions, t2t, get_type_llms, list_catelog_models, list_paging_catelog_llms, llmcatelog_delete 全部改为 join llm_api_map
- 迁移脚本: 添加try/except兼容旧表不存在的情况
2026-05-21 16:22:59 +08:00
76622381be bugfix 2026-05-21 13:19:48 +08:00
c89de384b5 bugfix 2026-05-19 16:11:16 +08:00
7c7db5bd67 bugfix 2026-05-19 15:56:35 +08:00
3fea75395b bugfix 2026-05-18 16:02:31 +08:00
4280459fc4 refactor: remove add_cleanupctx for multi-process compatibility
- Extracted backend_accounting to independent process in sage/bin/
- Removed add_cleanupctx(start_backend) from load_llmage()
- Prevents duplicate billing loops in multi-worker Sage deployments

Related: sage repo feat/multi-process-scaling branch
2026-05-17 00:06:34 +08:00
94c6b9dcb4 bugfix 2026-04-10 16:53:30 +08:00
25951b71a6 bugfix 2026-04-10 16:51:53 +08:00
4db100cade bugfix 2026-04-10 16:48:33 +08:00
e3e52b156c bugfix 2026-04-09 15:46:55 +08:00
146753a2c9 bugfix 2026-04-09 07:55:13 +08:00
1eced06197 bugfix 2026-04-08 13:05:01 +08:00
3c9bd32b10 bugfix 2026-04-05 15:35:56 +08:00
6d94c00656 bugfix 2026-04-05 15:09:08 +08:00
fb69c48570 bugfix 2026-04-05 15:08:20 +08:00
a9dac89119 bugfix 2026-04-05 14:54:28 +08:00
79adf49709 bugfix 2026-04-03 14:34:58 +08:00
f16e6761f4 bugfix 2026-04-03 14:23:18 +08:00
e657196ce2 bugfix 2026-04-03 14:22:25 +08:00
600d69cd8d bugfix 2026-04-02 16:56:07 +08:00
19b05d5d29 bugfix 2026-04-01 18:54:10 +08:00
6c46e6b67d bugfix 2026-03-31 16:16:20 +08:00
c457e3bc33 bugfix 2026-03-31 15:46:26 +08:00
9efd0ecc67 bugfix 2026-03-30 15:52:56 +08:00
09bfe2a144 bugfix 2026-03-30 08:57:56 +08:00
ac6a3a42e3 bugfix 2026-03-30 08:36:31 +08:00
d63c4e33e1 bugfix 2026-03-30 08:34:20 +08:00
e2f6e4149c bugfix 2026-03-30 08:21:48 +08:00
9697b9c16c bugfix 2026-03-27 13:20:16 +08:00
86030862f0 bugfix 2026-02-11 17:24:58 +08:00
01e3ab7660 bugfix 2026-01-06 15:29:14 +08:00
9b5e6395ad bugfix 2026-01-06 13:31:50 +08:00
981a505f14 bugfix 2026-01-06 11:44:00 +08:00
fcea81fc1d bugfix 2026-01-06 11:13:36 +08:00
d32e25feb1 bugfix 2026-01-06 11:00:38 +08:00
ee24cb60ef bufix 2025-11-18 16:29:49 +08:00
b4a4e8d007 bugfix 2025-11-18 16:27:11 +08:00
38d3806e82 bugfix 2025-11-18 16:18:13 +08:00
8ad9dc27c0 bugfix 2025-09-25 17:40:00 +08:00
e8ca504eaa bugfix 2025-09-22 18:23:39 +08:00
90f1ca8e8a bugfix 2025-09-22 13:21:52 +08:00
b599492add bugfox 2025-09-22 13:19:27 +08:00
a8d69eeefe bugfix 2025-09-04 17:07:11 +08:00
331efe97bb bugfix 2025-09-04 11:08:21 +08:00
d4ff002c16 bugfix 2025-09-04 11:00:45 +08:00