LittleYellow
|
b2eb4fbfa3
|
docs: 清除 markdown lint 警告(MD040 補語言標註、MD060 關閉)
- MD040:AGENTS.md 四處與 README.md 一處的 fenced code block 補上語言標註
(目錄樹與格式範例用 text,index.md / log.md 的範例用 markdown)。
- MD060:本專案文件表格一律按終端顯示寬度對齊(CJK 佔 2 欄),而 MD060 以
字元位置比對管線符號,對 CJK 無感,兩者不可能同時滿足。選擇保留顯示寬度
對齊(人類在編輯器裡讀得順),以 .markdownlint.jsonc 關閉該規則並註明理由。
順帶修正 AGENTS.md §3.1 表格 entity 列的對齊——該列混入 ASCII 的 API,
原本比其他列短 1 欄。
未處理 MD013(行長 > 80):VS Code 的 markdownlint 擴充預設不啟用此規則,
且 §3.1 表格在維持顯示對齊的前提下無法壓到 80 字元以內。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-07-22 07:35:44 +08:00 |
|
LittleYellow
|
0b4c2bbb15
|
修復中文路徑 preflight 與 BM25 核心詞落空,測資改照現實建
兩個 bug 同源於自檢測資「照能過建、不照現實建」:
- ingest preflight:git status --porcelain 預設會把含中文或空格的路徑加引號
轉義,raw/ 白名單比對因此失效,中文檔名的 convert 產出被誤判為 raw/ 以外的
未提交變更而中止攝入。舊測資用 ASCII 檔名,整條路徑從未被走過。
- search:BM25Okapi 的 idf 在 df >= N/2 時 <= 0(rank_bm25 對負 idf 的替代值
epsilon x average_idf 在 average_idf 為負時同樣為負),與 search() 的 s > 0
過濾相乘,會讓「每頁都提到的核心詞」查詢全數落空——知識庫愈小、詞愈核心
愈嚴重,MCP 的 search_wiki 一併受害。改用 Lucene 式恆正 idf。
舊測資每個查詢詞都只出現在一頁(df=1),恰好避開此配置。
變更:
- tools/ingest.py:preflight 比對前剝除 git 的轉義引號
- tools/search.py:_BM25 子類覆寫 _calc_idf 為 log(1 + (N-df+0.5)/(df+0.5))
- tools/selfcheck_ingest.py:新增 preflight 中文檔名放行 / 非 raw 擋下的檢查
- tools/selfcheck_search.py:新增與既有頁共用核心詞的測資,鎖住 idf 退化
- tools/convert/selfcheck.py、tools/selfcheck_lint.py:測資檔名改中文+空格
- AGENTS.md §13.4:新增「測資照現實建,不是照能過建」規則
- README.md §3.2:補 convert 產出應保持未提交、由 ingest 一併 commit 的流程
驗證:四個自檢全數通過;分別移除兩個修法後對應檢查會失敗。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-07-22 07:21:45 +08:00 |
|
LittleYellow
|
cfd1876359
|
轉換工具強化:失敗診斷訊息 + 舊版格式升版 + 掃描 PDF vision fallback
- convert.py:轉換失敗改印例外型別、批次尾端彙總、--traceback 旗標;
空白轉換結果示警(避免純圖片 docx 等假成功靜默入庫)
- from_legacy.py(B):.doc/.xls/.ppt 經本地 LibreOffice headless 升版為
現代格式後再走既有轉換器;raw/originals 仍保存真正的舊格式原始檔
- to_image.py + from_vision.py(A):needs_ocr 的掃描/圖片型 PDF 逐頁
render → 本地 vision 模型轉錄(--vision);:cloud/未設定防護,
模型設定走 config/models.yaml 的 tasks.vision(預設不啟用)
- kb.ollama_chat 加 images 參數(向後相容);models.yaml 加 vision 範例
- selfcheck 補 legacy 路由、to_image 真測、from_vision 注入測、
--vision 端到端,全數 ALL PASS
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-07-21 07:00:32 +08:00 |
|
LittleYellow
|
1d1454e1b9
|
docs: 新增 README 使用手冊
操作導向的安裝/使用說明(環境、四大工作流、MCP、疑難排解);
schema 與規則仍以 AGENTS.md 為正本,不複製其內容(§11 雙棧規則)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-07-21 07:00:21 +08:00 |
|
LittleYellow
|
cb2c92452e
|
Phase 5: MCP 薄殼(search_wiki/read_page)+ BM25 檢索 + 三個 Copilot Custom Agents
kb-lint / lint (push) Has been cancelled
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-14 21:05:01 +08:00 |
|
LittleYellow
|
156c6db2f8
|
Phase 4: Lint — 五類健檢 + LLM 重複/矛盾偵測 + Gitea Actions 草稿 + selfcheck
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-14 21:01:37 +08:00 |
|
LittleYellow
|
f9a863e271
|
Phase 3: 攝入管線 — kb.py 共用模組 + ingest.py(重試/fallback/branch+PR)+ selfcheck
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-14 20:58:30 +08:00 |
|
LittleYellow
|
8d58436f05
|
Phase 2: 轉換管線 — 五個本地轉換器 + convert.py 統一入口 + selfcheck
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-14 20:51:17 +08:00 |
|
LittleYellow
|
59c16ea393
|
Phase 1: 骨架與 schema — 目錄結構、AGENTS.md 正本、指標檔、models.yaml、index/log 模板、manifest 結構
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-14 07:42:45 +08:00 |
|