Spaces:
Sleeping
Sleeping
Commit History
-
補齊「使用手冊」→「使用說明」更名的實際內容改動
上一個 commit(8eccc5a)只有檔案改名本身進去了,實際的文字內容 改動(app_agent.py 的按鈕標籤/檔案路徑/註解、assets/app.css 註解、 docs/ 底下三份文件、使用說明.md 內文與版本日期、重新產生的 使用說明.docx)因為 git add 指令裡一個路徑打錯導致整批加入失敗, 沒有真的進到上一個 commit,這裡補上。 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>9615d53
-
統計穩定性警示、system prompt 補強、關於面板、多項 bug 修正
統計正確性: - cohens_d()/eta_squared() 分母趨近於零時回傳 None 而非失真數值 (新增 EFFECT_UNSTABLE_LABEL),修掉效果量算出天文數字的 bug - 新增 ZERO_VARIANCE_WARNING:任一組標準差趨近於 0 但檢定仍算出 p 值的退化情況,加註「統計穩定性有限」警示,不隱藏顯著性判斷 - 新增 ZERO_PROPORTION_WARNING(門檻 50%):任一組半數以上樣本值 為 0、SD 未趨近於零但平均數可能被離群值主導的情況,獨立於上面 的 SD 判準另外偵測,兩者可疊加、不重複描述同一組資料 - 修正 docx 差異性分析表格欄位定位改用欄名查表(原本 len(vals)-4 位置推算已對錯欄) - None/NaN 判斷全面改用 pd.isna(),修掉 docx 表格出現 "nan" 文字 - 群組標籤(如「人工翻譯」)修正為會實際套用到送給 LLM 的 difference_analysis 資料,不再只停留在畫面/圖表 - 差異性分析箱形圖:達顯著指標全部畫出(取消前 12 項上限),排序 改為先依組別、組內再依效果量絕對值 - 兩群比較用詞「較高/較低」、三群以上用詞「最高/最低」 System prompt(LLM1): - 補上角色邊界、11 條嚴格禁令(原 5 條)、指標代碼對照表、 metadata 一致性檢查指示 - 新增 INDICATOR_REFERENCE_TABLE:從 INDEX_CATEGORIES 動態產生, 取代手動謄寫,避免與實際指標定義漂移 - 每次分析新增 06_system_prompt.txt 可重現性附件,保留當次實際 送出的完整 system prompt 原文 介面: - 新增「關於」面板(系統版本、免責聲明、姊妹工具、開發紀錄;版權 /聯絡方式/引用格式因論文尚未發表,暫不公開真實姓名或 email) - 情境 1、4 卡片標題拿掉「同一原文的」;情境選擇小標改為 「請選擇最符合您針對同一原文的重譯研究設計的比較情境」 - 「語料 Metadata 說明」全面改稱「語料說明」(含隱形橋接按鈕文字 同步) - 隱私提醒文案調整(移除「先與計畫主持人確認」,改為「先行確認」) Co…f1c47a3
-
部署前整備:對話氣泡真人感、隱私告知、Space 存取控管與 Session 自動清理
對話流程/文案: - AI 對話補上使用者動作氣泡(上傳檔案、送出或略過語料 Metadata),避免 兩則 AI 訊息中間看起來像自問自答 - 使用者訊息泡泡改用獨立底色/邊框(淡綠),跟 AI 泡泡的中性藍灰區隔 - 對話中的 [WARNING] 純文字標籤改成 ⚠️ emoji,跟技術執行紀錄面板一致 - 使用者訊息裡殘留的舊工具名稱「ckip_segmentation_sumin」全面改為 「語料淬鍊(CorpusRefinery)」,含格式驗證訊息與失敗回退訊息 - 文本上傳卡片新增隱私提醒:告知使用者上傳內容會送第三方 AI 服務分析 部署與維運(對應 docs/開發優化建議.md 第一、四、六節): - app.py 新增 APP_AUTH_USERS 環境變數驅動的登入畫面(Gradio 內建 auth), 讓 Space 可保持 Public 但只有知道帳密的特定使用者能進入內容 - app_agent.py 新增 SESSIONS_DIR 自動清理:啟動時清一次、之後每 24 小時 重跑,依資料夾 mtime 判斷是否超過保留天數(預設 7 天,可用 SESSION_RETENTION_DAYS 覆寫),避免使用者研究語料無限期留在磁碟上 - app_agent.py 本機開發用的 share=True 改成看 GRADIO_SHARE 環境變數, 預設關閉,避免地端執行時意外對外開公開分享連結 使用手冊同步更新為目前實際流程(四步驟、CorpusRefinery 改名、群組層 改文字欄位、個體間比較消歧義邏輯、62/75 指標顯示範圍、下載捷徑精簡等)。 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>e02ce54
-
AI 頭像/AI對話圖示:兩顆星改成彩虹弧線
- assets/icons/ai-avatar.svg:頭像圖示從兩顆實心星改成三道白色同心弧 (彩虹弧線剪影),底色維持原本紫藍漸層不動 - assets/icons/chat-bubble.svg:AI對話導覽按鈕圖示同步改成同款弧線造型, 改用跟其他導覽圖示一致的單色線稿(#475569 / stroke-width 1.75), 深色模式沿用既有的 grayscale(1) invert(1) 反色濾鏡,不用額外處理 - assets/app.css:同步更新頭像區塊註解,說明沿用漸層 token 而非固定色的理由 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>f1121d3
-
AI 頭像:兩顆星改實心並放大
業主:對話列的 AI 頭像圖案兩顆都要實心,而且現在視覺上有點小。 - assets/icons/ai-avatar.svg 改 fill 實心、不再描邊,path 一併撐大: 大星 x3.9–17.1/y2.2–17.2、小星 x15.3–21.5/y13.6–20.7,幾乎填滿 24 的 viewBox(原本大星只有 x6.6–17.4/y3.4–16.6,小星更小一圈)。 - CSS:img 內距 5px→3px,圖案在 28px 圓內的可用範圍 18px→22px。 兩件事要一起做才有感——只縮內距是把細線稿放大,只放大 path 又會被內距框住。 - _ICON_PATHS 的行內版 path 同步更新,維持「檔案版與行內版一致」的既有慣例。 驗證:實測頭像容器仍 28px、內距 3px、圖案可用範圍 22px;截圖確認兩顆星 都是實心白、在漸層圓內明顯放大。(這次沒有用像素統計當佐證——頁面底色 本身就接近白,用亮度門檻數白點會把背景一起算進去,改以 DOM 量測+截圖 目視為準。) Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MQuAXWC1hCsiT48TXftPc71b38599 -
表格右側白帶:關掉 dataframe 內部捲軸佔位(不是欄位錯版)
業主回報「表格似乎都會有欄位錯版」,要求全部檢查。 先查證再修:寫了個稽核腳本逐張量全部 13 張表(語料說明 2 張+五個結果頁 11 張),比對每一欄的表頭寬與資料列寬——**沒有任何一欄真的錯位**(misaligned 全為 0)。真正的症狀是表格右側多出一條空帶:Gradio 給 dataframe 的內部 容器 .virtual-table-viewport 設了 max-height:500px + overflow-y:auto,列數 一多就出現垂直捲軸,佔掉 10px 版面寬度。實測不捲動時表格右緣只差 2px (框線),一捲動就跳到 12px,與業主截圖吻合。會踩到的是敘述統計/差異性 分析/監督式學習三張長表,加上業主環境裡列數較多的語料說明兩張表。 修法:.virtual-table-viewport { scrollbar-width: none !important } 捲軸不再佔版面寬度,白帶完全消失(13 張表重新量過,捲軸佔位全為 0、右緣 只剩 2px 框線)。滾輪/觸控/鍵盤照常可捲,虛擬化不受影響。 過程中排除掉的三條死路,已全部寫進 CSS 註解避免重走: 1. 用 ::-webkit-scrollbar 改寬度——完全沒生效。真因不是 specificity: Gradio 在該元件設了標準屬性 scrollbar-width/scrollbar-color,Chrome 一旦 看到標準屬性就整組忽略 legacy 的 ::-webkit-scrollbar 偽元素。 2. 拿掉 max-height 讓表格攤開、交給 canvas 捲(比照 .exec-log 的既有決定) ——會壞掉。這個表格是虛擬捲動,靠自己的捲動位置決定渲染哪幾列,拿掉之後 敘述統計變成「保留 2832px 高度卻只畫 1 列」的空表。 3. 只對語料表單藏捲軸、結果頁保留橫向提示——方向搞反。會產生白帶的是不需要 橫捲的長表,而唯一需要橫向捲軸的語言指標分析(76 欄)從不出現垂直捲軸。 代價講明:語言指標分析的橫向捲軸也跟著隱形(該表仍可橫捲,且它是唯一 需要橫捲的表)。CSS 裡留了一段註解掉的 #canvas_idx 規則,需要時解開即可 單獨還原它的捲軸。 另修:這輪自己引入又當場發現的 CSS 語…6366111 -
使用手冊圖示放大到與其他導覽圖示同量體、radio 欄位標籤對齊文字欄位
1. 使用手冊圖示比其他導覽項目小一圈。用截圖逐一量「非背景像素」的實際 上色範圍才確認:book-open 只有 16×15,folder/chat-bubble/table-cells 都是 18×16(viewBox 全部是 24×24,光看檔案看不出差別)。把 path 撐到 x 3.2–20.8、y 4.5–20,重量後為 18×16,與其他項目一致。 assets/icons/book-open.svg 與 _ICON_PATHS 的行內版同步改,並在註解留下 「新增導覽圖示要量上色像素」這條檢查。 2. 「群組數量/比較方式」欄位標籤原本是一般大小的深色字,跟同一張表單裡 「原文標題/作者」的小灰字粗體不同調——radio 的 fieldset 標籤走的是 Gradio 另一條規則。補上 #metadata_zone fieldset.block > span 對齊成 .7rem/700/--c-text-muted,實測兩者現在都是 11.2px/700/#475569。 .7rem 不是新發明的字級,是對齊 Gradio 既有的欄位標籤值,因此不套 --font-size-base(那是內文用的,標籤本來就小一階)。 驗證:情境 3 實測兩處標籤數值完全相同;十個導覽圖示重新量過上色範圍, 使用手冊已與 folder/chat-bubble/table-cells 同為 18×16。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MQuAXWC1hCsiT48TXftPc7502ffd8 -
淺色再調:線條改用次要按鈕邊框色、底色轉淺、白氣泡、語料表單去卡片
千卉四項指定: 1. 導覽列/對話列/內容列的邊線與水平線「改成跟『重新選擇研究情境』按鈕 的邊框色一樣」→ --c-border-strong 淺色改 rgba(2,132,199,.30),就是 button.secondary 用的那個值(實測 nav 分隔線與按鈕邊框已完全同色)。 對底 1.46:1。這是連續第三輪往柔和調,明確離開 WCAG 1.4.11 的 3:1, 屬業主拍板的視覺取捨;文字對比不受影響,仍全數通過 AA。 2. 淺色背景再淺一點 → --c-bg #e8f1fa → #f3f8fd。 3. 對話氣泡改白 → --c-bubble-bg 淺色 #ffffff(深色 #172136 不動)。 氣泡與欄底填色差剩 1.07:1,邊界改由 --c-bubble-border 撐(淺 1.69:1、 深 1.61:1,兩邊同一級)。 4. 語料說明表單去卡片: - 原文標題/作者/語言/出版年/版本:移除 Gradio 自動包的白色卡片。 這層卡片是兩件事疊起來的——.form 出框線、內層 .block 出白底與內距—— 兩層都要清才會消失。內距清掉後欄位左緣自然對齊小標題與下方表格, 達成業主要的「參考群組層資訊、水平橫列、靠左對齊」。 - 比較結構:gr.Group 改 gr.Column,Gradio 那條藍色標題橫幅與外框跟著 消失,標題自動變成跟「原文資訊」同款的藍色小標題。順帶符合本專案 既有定論——這版 Gradio 的 gr.Group 設 visible=False 只清空內容、 容器仍是 display:flex 會留空色塊,可切換的容器一律用 gr.Column。 已實測情境 1(不需要比較結構)該區塊 display:none、高度 0,無殘留。 - 群組數量/比較方式:同批去掉白底與內距。 順帶修掉一個既有 bug(業主截圖裡就已存在,不是這批造成):那兩組 radio 的選項被裁掉一半。真因是 .form 的 align-items:stretch 把每個欄位的高度 鎖成整列高度,而那個列高只算到選項區(61px)、沒算欄位標籤(20+8px), 多出來的 28px 被 fieldset…b1b0036 -
淡藍底色體系:降低純白/純黑面積,深淺共用三層結構
千卉回報「純黑或純白背景面積很大,整個視覺壓力也變大」,並指定淺色走 「氣泡淡藍+對話欄底稍深淡藍」(她的方案 2)、深色邏輯相同。量過之後 確認抱怨來源不只對話欄:淺色頁面底 #f8fafc 幾乎等於白,真正的大面積 純白是 --c-surface(表格資料列+所有 Gradio 區塊);深色則是 #020617 近乎純黑。 底色改成三層,淺深共用同一套邏輯: 底(--c-bg) 淺 #f8fafc→#e8f1fa 深 #020617→#0b1424 浮起物(--c-bubble-bg)淺 #eef2f7→#f5faff 深 #0d1526→#172136 資料紙張(--c-surface)淺 #ffffff 維持 深 #0d1526→#172136 淺色的表格/卡片刻意維持純白:75 項指標表格是資料密集區,可讀性優先於 「消滅所有純白」;染藍的是它下面那層底,白表格因此變成浮在淡藍上的紙張。 連帶 --c-surface2/--c-thead-bg/--background-fill-secondary 同批換成 同色相的值,避免藍底配灰塊。 線條改走 sky 相(千卉:淺色邊框不要太深,要維持亮麗的淺藍): --c-border-strong #a3aebd→#6ba3d6(結構線,約 2.3:1) --c-divider #b6c0cd→#a9cbe8(表格資料列細線) --c-input-border #a3aebd→#7fb0d9(約 2.0:1) 亮度級距不動,只換色相,手感與上一輪柔化後相同。 順帶修掉一個自己上一輪引入的深淺不一致:氣泡邊框原本共用 --c-divider, 淺色值卻是對著「深色結構線那一級(alpha .28)」挑的,而深色 --c-divider 是更淡的 .18,實測深色 1.37:1/淺色 1.61:1,兩個主題看起來不一樣。改成 獨立 token --c-bubble-border(淺 #a9cbe8、深 rgba(148,163,184,.26)), 兩邊實測都是 1.61:1,--c-divider 也回歸單一用途。 docs/design.md 同步:新增「底色體系:三層」章節(含淺色表格為何維持白底 的準則)、線條表換新值並補「淺色一…3dc69f8 -
線條柔化:結構線降到 2.25:1、氣泡邊框改細線與深色對齊
千卉看實機截圖後回饋兩點:①淺色氣泡的邊框要跟深色一樣淡、兩個模式一致 ②整體線條對比太高、看起來醜,要更柔和。 - --c-border-strong(淺色)#7c8798 → #a3aebd:對白從 3.64:1 降到 2.25:1。 這是刻意離開 WCAG 1.4.11 的 3:1 門檻的視覺決定,但仍是改版前 1.2:1 的 近兩倍,業主原本回報的「淺色看不清楚區塊」在這個亮度差已解決;文字對比 不受影響,全站文字維持 AA。日後若要嚴格達標,把這個 token 調回 #7c8798 即可,19 處線條會一起跟上。 - 對話氣泡邊框從結構線降到細線 --c-divider:淺色 #b6c0cd 對氣泡底 1.64:1、 對欄底 1.76:1,深色 rgba(148,163,184,.28) 疊 #0d1526 是 1.67:1,兩個模式 的邊框亮度差幾乎相同——「深淺一致」是量出來的,不是各挑一個順眼的值。 - --c-input-border(淺色)同步柔化成 #a3aebd。 - 使用者訊息氣泡維持與 AI 同款(業主確認先這樣,只靠左右對齊區分)。 docs/design.md 同步三處:token 表數值、結構線離開 3:1 的取捨說明、氣泡 邊框改用細線的量測依據。 驗證:重啟後實測淺色氣泡邊框 1.64/1.76:1、結構線 2.15-2.25:1,深色數值 與改動前完全相同;情境 1 走到語料說明表單、深淺兩色截圖確認,console 僅 3 筆既有外部資源錯誤。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MQuAXWC1hCsiT48TXftPc7059e85b -
業主第四輪修改:淺色對比度、AI 頭像、下載位置、使用手冊
1. 淺色模式對比度(深色維持原樣) 新增兩級線條 token:--c-border-strong(結構線,淺色 #7c8798,對白 3.64:1、對近白底 3.2-3.5:1)與 --c-divider(表格資料列細線)。深色值 沿用原本散在 .app-header/欄邊框/標題底線各處的 rgba(148,163,184,.28) 硬寫值,那批個別覆寫規則一併刪除。三個 token 宣告點(app.css :root/ .dark、app_agent.py _DARK_MODE_HEAD_CSS)同步。 對話氣泡:淺色底改 --c-bubble-bg #eef2f7(原本白底疊欄底只有 1.07:1) 並加 1px 結構線邊框。表格表頭底改 --c-thead-bg #e2e8f0、表頭分界線改 結構線。輸入框邊框(淺色)從 1.3:1 改 3.6:1。 2. AI 對話氣泡加頭像 gr.Chatbot(avatar_images=(None, ai-avatar.svg)),28px 圓形。漸層畫在 CSS 的 .avatar-container(吃 accent token、隨主題切換),SVG 檔只放 白色四角星——avatar_images 是 Python 端參數,同一個檔沒辦法隨主題換色。 3. 語言指標分析的下載區塊移到表格下方,與其他五個結果頁順序一致 (純宣告順序調整,_TAB_IDX 位置對應不動)。 4. 左側導覽列最後加「使用手冊」下載項目 放在 result_nav_col 外、nav-items-scroll 最末,全程可見;接專案根目錄 既有的 使用手冊.docx(實測下載 41783 bytes 一致,不用改 allowed_paths)。 它是下載動作不是頁面,不進 _ALL_NAV_IDS,不搶導覽 active 狀態。 #nav_guide_btn 比照 #reset_btn 加進導覽列樣式與收合狀態的選擇器清單。 順帶讓 result_nav_col 只佔內容高度(Gradio 預設 flex:1 1 auto 會把它 撐滿、把使用手冊推到欄底)。 docs/design.md 同步:兩級線條準則、對話氣泡…f5990cb
-
分析運算面板加上「請保持前景、電腦勿休眠」提醒文字
低風險緩解措施,對應開發優化建議.md第一節提到的連線中斷問題:系統 目前沒有連線中斷後恢復進度的機制,先用文案提醒使用者在看到「分析 完成」前不要把分頁切到背景或讓電腦休眠。只在任一子階段status為 running時顯示,全部done/failed後自動隱藏,不干擾完成後的畫面。 Playwright 驗證:情境1(略過Metadata路徑)跑一次完整分析,提醒文字 在運算期間正確顯示、分析完成後正確消失,無 console/server error。686c7cd -
E4:_CUSTOM_CSS 抽成獨立 assets/app.css
原本內嵌在 app_agent.py 裡約 2165 行的 CSS 字串常數,抽成獨立檔案, 改用 app.launch(css_paths=...)(Gradio 6 原生支援,語意與原本 gr.Blocks(css=...) 相同)。app_agent.py 從 6380 行降到 4185 行。 Playwright 驗證:淺色/深色模式畫面與抽出前逐像素一致,console 僅有 既有的 Gradio CDN 預載警告(非本次改動引入)。0a5d32e