Commit Graph

  • 000b3c0b10 fix: tag save blocks browser — capture 'this' before fetch (then callback 'this' is window, causing infinite loop) main yumoqing 2026-08-06 16:06:43 +08:00
  • 26c8d6b77a fix: save_tags return empty — fetch URL missing _webbricks_=1 (dspy returns HTML without it) yumoqing 2026-08-06 15:55:10 +08:00
  • fb706f72d9 bugfix yumoqing 2026-08-06 14:59:55 +08:00
  • bbf5b5f257 fix: tag save — close popup + location.reload (PopupWindow.clear_widgets breaks popup) yumoqing 2026-08-06 14:45:26 +08:00
  • 87ce210b58 fix: save_tags shows close button to dismiss popup after result yumoqing 2026-08-06 14:37:11 +08:00
  • 13b36df084 fix: tag save → backend save_tags.dspy returns widget, replaces popup content (no reload) yumoqing 2026-08-06 14:14:42 +08:00
  • ee0a563e92 fix: KB card buttons stick to bottom via filler; tag save uses reload instead of fragile DOM refresh yumoqing 2026-08-06 14:09:30 +08:00
  • e2d17b630b fix: rename form use 'value' not 'defaultValue' for Form pre-fill yumoqing 2026-08-06 13:57:05 +08:00
  • 14c72e29d7 fix: index.ui new_kb_form URL missing /rag/ prefix → use relative path yumoqing 2026-08-06 13:55:35 +08:00
  • 09336b3c10 fix: tag_list_panel use cheight instead of filler for proper scrolling yumoqing 2026-08-06 13:51:57 +08:00
  • 861cf0af19 fix: all popups close before action (rename, delete, tags) yumoqing 2026-08-06 13:48:51 +08:00
  • 017500e147 fix: storage_stats join knowledge_bases for org-consistent doc count; clean orphaned docs yumoqing 2026-08-06 13:44:57 +08:00
  • 70f8f27abb fix: kb_list only show org KBs (no NULL); tag_form close popup before refresh (remove alert) yumoqing 2026-08-06 13:40:30 +08:00
  • 7b99ebd16e fix: add import os in delete_kb; kb_list org filter + DynamicColumn layout yumoqing 2026-08-06 13:37:30 +08:00
  • 52bdc7ce40 fix: delete_kb returns urlwidget (not JSON), so bricks can render redirect to index.ui yumoqing 2026-08-05 19:03:14 +08:00
  • d9e1e77341 refactor: delete KB uses PopupWindow confirm form instead of JS confirm (no inline script) yumoqing 2026-08-05 18:20:23 +08:00
  • ee4bf7548a fix: delete script — assign JSON-safe name to JS var, no \n in string, no inline concat yumoqing 2026-08-05 18:12:27 +08:00
  • c0c5ba831f fix: escape KB name directly for JS single-quoted string, bypassing json.dumps double-quote entanglement yumoqing 2026-08-05 17:40:35 +08:00
  • ce457babe7 fix: rename_kb returns json.dumps; delete btn uses pre-computed safe_name yumoqing 2026-08-05 17:30:39 +08:00
  • e1f0c406ac fix(kb): escape namestr with json.dumps in delete button JS to prevent SyntaxError yumoqing 2026-08-05 17:15:13 +08:00
  • 5de0a87708 fix(kb): rename 403 (Jinja->Python), delete JS error (stopPropagation), card click restore yumoqing 2026-08-05 16:57:08 +08:00
  • 37fc233df2 fix: handle NULL org_id in rename/delete KB handlers (OR org_id IS NULL) yumoqing 2026-08-05 16:46:16 +08:00
  • 8f1f75c947 feat(kb): add rename and delete knowledge base yumoqing 2026-08-05 16:27:32 +08:00
  • 1dd59f7caa feat(tags): multi-select tag list + dedup create + tag_sync endpoint yumoqing 2026-08-05 15:36:44 +08:00
  • 371afae84a fix: file list action buttons spacing 6px->14px; drop analysis button; legacy /api/doc/upload now saves via FileStorage (flat files/ layout caused 404) yumoqing 2026-08-05 12:17:25 +08:00
  • 267fd276c5 fix: escape literal % in LIKE patterns (aiomysql %-format conflict -> TypeError) yumoqing 2026-08-05 11:55:18 +08:00
  • 3cb591ed92 feat: detail.ui face/voiceprint media card popups (DynamicColumn, image/audio playback) + tag buttons on cards and file list rows (tag_form.dspy -> add_tag.dspy, refresh media panel) yumoqing 2026-08-05 10:55:50 +08:00
  • 6878b58c95 refactor: kb cards via module-local kb_list.dspy (drop /api/kb/list dep); detail.ui file list -> filler+VScrollPanel no fixed height yumoqing 2026-08-04 16:14:45 +08:00
  • 548fc6013e feat: per-org storage quota enforcement — org_storage_limits table, upload rejection, UI display yumoqing 2026-08-04 15:36:53 +08:00
  • f160589370 bugfix yumoqing 2026-08-04 14:40:18 +08:00
  • 020c84bdfc bugfix yumoqing 2026-08-04 14:34:10 +08:00
  • 0bd425a2aa feat: put search results in VScrollPanel with filler layout (no fixed height) yumoqing 2026-08-04 14:04:07 +08:00
  • 7993b186da fix: stop double-encoding keyword - pass raw value as httpcall params (CRUD style); defensive unquote fallback in dspy for legacy cached UI yumoqing 2026-08-04 11:33:52 +08:00
  • dfad26d3c7 feat: hybrid search - add keyword LIKE recall merged with vector results, mark kw hits yumoqing 2026-08-03 19:19:32 +08:00
  • bd03743c6f fix: use resultValue() not getValue() for kb selector - getValue returns object, broke kb_id in URL yumoqing 2026-08-03 18:52:34 +08:00
  • 2d4ff6a19f debug: log incoming params_kw in search_result.dspy yumoqing 2026-08-03 18:34:50 +08:00
  • 84448259e2 fix: GPU URLs need :10443, create VDB collection before upsert, align VDB id with chunk id yumoqing 2026-08-03 17:02:06 +08:00
  • 598f5c5c23 sync: add batch_ingest.dspy from test env yumoqing 2026-08-03 10:40:25 +08:00
  • 8ab8987776 chore: remove debug traces from upload_file.dspy yumoqing 2026-07-31 18:59:15 +08:00
  • 5bf3ef3822 trace: check if DBPools blocks in background task yumoqing 2026-07-31 18:56:51 +08:00
  • 2f7acc8120 debug: trace background_reco execution in upload_file.dspy yumoqing 2026-07-31 18:53:31 +08:00
  • 8dad4e9b5e feat: async upload — return immediately, ingest in background yumoqing 2026-07-31 18:17:47 +08:00
  • cdc02e31e4 fix: search.ui - call buildUrlwidgetHandler result to actually fire HTTP request yumoqing 2026-07-31 16:35:10 +08:00
  • 7792aa913e fix: search.ui - code→UiCode widgettype + bricks.app.root→this.parent for urlwidget sub-page yumoqing 2026-07-31 16:14:53 +08:00
  • 7badd6e683 fix: search.ui getWidgetById 用 this 替代 bricks.app.root yumoqing 2026-07-31 15:48:55 +08:00
  • a644e41de3 fix: search.ui buildUrlwidgetHandler 参数顺序错误导致 TypeError yumoqing 2026-07-31 15:04:43 +08:00
  • 0cb6f34135 fix: search_result.dspy 用 StreamHttpClient + try/except 替代裸 aiohttp yumoqing 2026-07-31 14:59:18 +08:00
  • 0d6acfb4ef feat: analysis cards with face/voiceprint results + tag system yumoqing 2026-07-31 14:58:21 +08:00
  • 9b3cfb86c0 refactor: 用 StreamHttpClient 替代 aiohttp — DSPY 预置全局变量 yumoqing 2026-07-31 13:45:42 +08:00
  • 848644f229 fix: import aiohttp — 原代码所有 aiohttp 调用被 except:pass 静默吞掉 NameError yumoqing 2026-07-31 13:31:52 +08:00
  • d92275d811 fix: actually remove unused var tree in detail.ui yumoqing 2026-07-30 18:25:16 +08:00
  • df8d220308 fix: return type consistency + textAlign→halign + remove unused var (Agent 2 review) yumoqing 2026-07-30 18:24:04 +08:00
  • 1cb82b912d add text extraction for PDF/DOCX/PPTX/XLSX and MP4 keyframe CLIP embedding in upload_file.dspy yumoqing 2026-07-30 18:06:26 +08:00
  • c6110522c1 fix: root folder upload __root__ → empty string yumoqing 2026-07-30 18:00:00 +08:00
  • 5b1fb8e564 fix: try/except around DB queries (Agent 2 review) yumoqing 2026-07-30 17:43:18 +08:00
  • a440887028 fix: search bind passes {options:{url:...}} to buildUrlwidgetHandler yumoqing 2026-07-30 17:28:30 +08:00
  • 448645b0e2 fix: delete reloads file_list.dspy instead of delete response yumoqing 2026-07-30 17:13:58 +08:00
  • 89cb31897b fix: restore col widths + absolute delete URL + _webbricks_=1 yumoqing 2026-07-30 17:04:49 +08:00
  • 5ec01c3b18 fix: restore tree root node (📁 根目录) yumoqing 2026-07-30 16:55:19 +08:00
  • 8e1ef924e5 fix: download URL /idfile prefix, delete uses fetch, filename left-aligned yumoqing 2026-07-30 16:17:20 +08:00
  • 40cf8f3291 fix: int(total_size) + json.dumps default=str (Agent 2 review) yumoqing 2026-07-30 16:02:53 +08:00
  • eaa8d37816 fix: storage stats use int for doc/chunk counts yumoqing 2026-07-30 15:48:58 +08:00
  • f968f9f578 feat: dynamic storage stats display via storage_stats.dspy yumoqing 2026-07-30 15:45:07 +08:00
  • f63f742f8e fix: restore del_url line in file_list.dspy Hermes 2026-07-30 15:06:20 +08:00
  • c1a8f1643a fix: download URL uses file_path directly (/idfile/{id}.{ext}) Hermes 2026-07-30 14:49:19 +08:00
  • 908480f35e fix: file_url uses file_path directly with /idfile prefix Hermes 2026-07-30 14:24:49 +08:00
  • eed6da7667 fix: file download/view URL uses /idfile/{doc_id}.{ext} Hermes 2026-07-30 14:20:22 +08:00
  • f06063c0b5 fix: search page — use script bind to avoid datawidget crash Hermes 2026-07-30 13:55:06 +08:00
  • a481130810 feat: search page + KB selector + file upload, pipeline module Hermes 2026-07-30 13:53:17 +08:00
  • bd66e00a7a fix: use env.save_file/realpath instead of importing FileStorage in DSPY yumoqing 2026-07-30 10:38:06 +08:00
  • 3f3743842e fix: use FileStorage for upload/delete — hashed paths /idfile/191/193/197/97/xxx.txt yumoqing 2026-07-29 18:15:06 +08:00
  • c14588f33b fix: file list truncation+tooltip, fixed column widths, view/download/delete fix yumoqing 2026-07-29 17:14:38 +08:00
  • 0385670e38 fix: restore detail.ui with upload zone + upload_file.dspy yumoqing 2026-07-29 16:59:58 +08:00
  • 224496ae0e fix: file_list alignment + view/download/delete actions yumoqing 2026-07-29 16:41:32 +08:00
  • ac75d75ec4 fix: detail.ui restore tree + file_list.dspy with node_selected bind Hermes 2026-07-28 15:07:07 +08:00
  • c2f0d4e8a7 fix: detail.ui sidebar overflow hidden — prevent tree nodes from expanding menu width yumoqing 2026-07-27 18:51:19 +08:00
  • 850e96e0ea feat: uapi-based unified search with text+media, multi-KB, rerank yumoqing 2026-07-27 14:08:47 +08:00
  • f494eaa686 feat: uapi-based RAG ingest pipeline + improved delete cleanup yumoqing 2026-07-27 13:49:41 +08:00
  • 50b2e35e7b feat: replace hardcoded VDB/Graph calls with uapi-based async functions yumoqing 2026-07-27 12:10:28 +08:00
  • fbba95e683 fix: /rag/ prefix in all module URLs yumoqing 2026-07-24 14:34:36 +08:00
  • 0712856f09 add pyproject.toml yumoqing 2026-07-24 13:48:13 +08:00
  • e2c70c23c1 clean: remove conf directory yumoqing 2026-07-24 13:45:39 +08:00
  • 5664508234 fix: wwwroot/json/models/conf at repo root (Sage module convention) yumoqing 2026-07-24 13:39:39 +08:00
  • 8bef57b89e fix: move code into rag/ subpackage for find_packages() yumoqing 2026-07-24 13:36:54 +08:00
  • 796df405b4 fix: move CRUD json to json/, keep models/ for DB defs yumoqing 2026-07-24 13:35:13 +08:00
  • 93fa95ea69 fix: rename init_ragserver → init_rag_module yumoqing 2026-07-24 13:26:57 +08:00
  • 84f3d6e284 init: RAG business module yumoqing 2026-07-24 13:24:20 +08:00