機器人自動生成的 Paper Tools 宣傳圖,紅框標註導向收費網站的按鈕與原版開源 repo 位置

我的開源工具,被機器人業務盯上了!

前面分享的論文工具 claude-paper-tools,開源上線沒幾天,就收到了第一個 GitHub issue!第一次收到 issue 其實蠻開心的,點開一看更驚訝:對方不只讀了我的 code,還精準講出設計裡我最得意的部分。 他說他欣賞「模型與確定性檢查的硬切分」:grade_judge.py 不信任模型自己回報的證據等級,而是從降級項重新計算;argdown_lint.py 會抓出「替代指標跳到硬終點」這類論證跳躍。然後說他幫我做了一個線上入口,訪客不用安裝 Claude Code,上傳 PDF 就能跑評讀流程,連宣傳圖都做好了: 哇,有人這麼認真讀我的專案,還幫我做了網頁版和這麼漂亮的圖? 等等,這是真人嗎? 開心之餘總覺得哪裡怪怪的。這網站有免費額度、有點數收費系統,商業模式完整得不像順手之作。想說反正有 Claude,就請他去查查這位熱心網友的底細。 結果一查,反轉來得比想像中快🤣。Claude 列出的證據: 兩分鐘內,這個帳號對 26 個 repo 發了 issue。全部都是論文閱讀工具:arxiv-summarizer、paper_agent、PaperAgent⋯⋯我的排第 13 個。前一天還有另一波,打的是 Claude Skills 類的 repo。 連結裡的追蹤參數直接寫著 campaign 名稱:20260708-paper-reading-comprehension-assistants。這是排程好的行銷批次,不是有感而發。 帳號今年三月才建立,0 followers,卻有 140 個 repo。 GitHub 的搜尋 API 拒絕搜尋這個帳號(user cannot be searched),這通常代表帳號已經被平台標記為 spam。 那段讓我心花怒放的技術讚美,是 LLM 逐一讀每個 repo 自動生成的。爬 repo 餵給模型很便宜,這正是它讀起來「像真人」的原因。 最後一句「Feel free to close this if it isn’t relevant」,是 spam 帳號降低被檢舉率的標準話術。 宣傳圖角落有小字標我的 repo,連 star 數都即時抓,做得很精緻;但點進他網站的頁面,作者欄掛的是他自己的名字。MIT 授權確實允許商用,不過這個掛名方式就有點微妙了。 認真想了一下,這個生意其實跑得起來 罵完之後認真想,這個模式其實蠻厲害的。我實際註冊進去看了帳務頁,整個商業模式就攤在眼前:註冊送 500 點,跑一次論文分析扣 38 點左右,換算大概不到台幣 2 塊。免費額度夠你跑十幾次,嘗到甜頭之後,Stripe、PayPal、微信、支付寶四種儲值管道排排站等你。 ...

July 9, 2026 · 1 分鐘 · 130 字 · 陳柏威 Po-Wei Chen
claude-paper-tools 的 GitHub 風格封面卡,標示兩個 skill:評估可信度的實證醫學評讀,與三層結構快讀、生成自我測驗的內容吸收

我把 journal club 的「讀論文腦」寫成了 AI skill,還逼它不能靠印象唬爛

前面分享的論文學習小站,有個「品質」、「內容」按鈕,那時沒有把背後的實作放出來。算是個有前端網頁,但後端還是要靠自己整理的平台。不過我自己的實作,當然後端還是要接給 AI,減輕認知的負荷,這裡就是把後端兩個 skill 分享出來,加速大家學習速度囉! — 一個負責「這篇可不可信」 第一個叫 paper-review,做的是 journal club 那種評讀。 依研究設計自動選對工具 它會依照論文的類別,選用建議的評讀工具,隨機對照試驗(randomized controlled trial)用 Cochrane RoB 2、觀察性研究用 ROBINS-I、系統性回顧用 AMSTAR-2、診斷準確度用 QUADAS-2,而不是拿一張萬用 checklist 硬套。這件事聽起來理所當然,但你知道大部分「AI 幫你看論文」其實就是一張萬用 checklist 套到底。 引用查核:先確認文獻「真的存在」 我最喜歡的一關是引用查核。它會先去 CrossRef 確認每一篇被引用的文獻「真的存在」,再比對「論文說這篇文獻講了什麼」跟「這篇文獻實際上講了什麼」。 為什麼要先查存不存在?因為 AI 寫出來的引用,沒稽核的話正確率其實只有四到八成,假 DOI、張冠李戴的狀況比想像中多。所以這一步是一個很便宜、但很有用的防呆。 統計顯著不等於臨床顯著 還有一個地方我很堅持:統計顯著不等於臨床顯著。所以它會把效果量拿去跟量表的最小臨床重要差異(minimal clinically important difference, MCID)比,p 值小於 0.05 但根本沒過 MCID,它就會直接講出來。 整體借鏡了林協霆醫師的分享,還有之前學 EBM 的內容,大家也可以再加入你覺得重要的部分。 — 重點:我不讓 AI 靠「印象」給分 這是這次我自己覺得最有意思的部分。 一開始我讓 Claude 自己算證據等級(GRADE)、自己判斷「結論有沒有超過資料能支撐的範圍」。但我後來覺得不對,因為這種東西讓語言模型「憑整體感覺」給一個分數,它其實很會講得頭頭是道,可是你沒辦法檢查它到底怎麼得出來的。 所以我乾脆寫了兩支確定性的小程式,把「判斷」跟「計算」分開: grade_judge.py:把 GRADE 變成算術 語言模型只負責評五個面向(risk of bias、inconsistency、indirectness、imprecision、publication bias),每個面向給「不嚴重/嚴重/很嚴重」。真正的最終等級由程式加總算出來,不是模型自己講。模型自報的等級只當參考,如果跟程式算的不一樣,程式還會跳出來提醒「這兩個對不上,回去重看某個面向」。 它甚至會幫你擋掉 GRADE 的規則錯誤,例如觀察性研究只要有任何一項被降級,就不准再往上升級,這個規則模型很容易記錯,程式不會。 argdown_lint.py:把結論的邏輯漏洞變成可以檢查的東西 這支更好玩。語言模型負責把論文的結論、還有每一個「用來支撐結論的發現」標上類型(這是隨機對照試驗的直接證據?還是只是相關性?還是只是替代指標?還是只是次要 outcome?),然後由程式判斷這個推論跳得合不合法。 例如「用替代指標的改善,去宣稱對真正的臨床終點有效」、「用相關性去宣稱因果」、「用單一研究去宣稱『一致地顯示』」,這些都是論文 spin 最愛躲的地方。程式抓到就直接標紅、回報有漏洞。 ...

July 7, 2026 · 1 分鐘 · 103 字 · 陳柏威 Po-Wei Chen
題庫領航首頁畫面,顯示距筆試倒數天數、開始練習、錯題區與 Dashboard 入口

刷題平台:間隔複習、錯題本、落點分析

備考復健科專科考試的這段日子,我用工程師的方式幫自己解決了一個老問題:考古題到底要怎麼練,才不會練完就忘?最後做出了一個小工具,叫「題庫領航」,想說整理一下、也開放出來分享給有需要的人。 🔗 線上 Demo(內建示範帳號,開啟就能玩):https://exam-demo.drpwchen.com 🔗 原始碼:https://github.com/drpwchen/exam-practice 為什麼想自己做一個? 準備筆試時,最有效的方式之一就是反覆練歷屆考題,並針對「會錯的」加強複習。道理大家都懂,但實際做起來有兩個痛點。 第一,單純看著題目考自己很容易疲倦,而且你會不自覺一直練「已經會的」,真正的弱點反而被跳過。 第二,「什麼時候該複習哪一題」這件事,靠人腦排程根本排不來。今天練的這題,三天後還記得嗎?一週後呢?沒有人知道,於是只能全部重練,效率很差。 我想起在背英文單字時用過的記憶演算法,心想:考古題不也是一種「要記住的卡片」嗎?於是就動手了。 它能做什麼? 把 PDF 考題變成可練習的題庫: 歷屆考題多半是 PDF,我寫了一條匯入管線,自動把題目、選項、答案切出來,圖片題(X 光、超音波、量表)也會一起抽出來。詳解直接以「該頁截圖」呈現,避免文字辨識誤植選項或答案。 用 FSRS 安排每一題的複習時間: FSRS 全名是 Free Spaced Repetition Scheduler,是一套間隔重複演算法。它會根據你每次作答的「對錯、信心、花了多久」,推估你對這一題的記憶曲線,然後在你「快要忘記、但還救得回來」的甜蜜點,把它再丟回來給你練。 和科內夥伴一起練: 你看得到同儕的進度,也看得到「大家最常錯的題」。一個人讀書很孤單,知道大家都卡在同一題,反而有種莫名的安心感 😅。 目標進度設定: 在 Dashboard 可以看到目前自己刷題進度、正確率,並且搭配目標設定功能,確立自己在幾天內需要完成多少題。 預測你考試當天大概會考幾分: 這是我自己最喜歡的功能。系統會用你各科的正確率、乘上該科在真實考試的配分權重、再乘上 FSRS 推估你「到考試那天」還記得多少,算出一個落點分數,還附上信賴區間,以及「持續複習」和「都不複習」兩種情境的對比。看著預測分數隨著複習慢慢往上爬,是很實在的回饋。 畫面一覽 📱 🏠 首頁 📄 PDF 考題原始畫面 ⚙️ 練習設定 ✍️ 答題畫面 👥 大家的錯題本 📌 個人錯題本(依失敗型態分類) 📊 Dashboard 總覽 🎯 落點分數預測 一些設計上的小巧思 做著做著,發現有些細節還滿有意思的: 錯題不是一視同仁。 我把答錯的題分成四種型態:死穴(反覆錯)、易忘(記憶留存率掉太快)、盲區(明明很有把握卻答錯,也就是過度自信)、新錯(最近一次才錯)。你可以只挑某一種弱點來補,對症下藥。 出題用三個池子混。 到期該複習的題 70%、沒看過的新題 20%、自己加星的題 10%,兼顧鞏固舊的跟攝取新的。 選項每次重新洗牌。 避免你背的是「答案在第三個」而不是真的會。 開放非商業使用,商業使用請另外聯絡 我把它整理成原始碼公開的版本,順手清掉了院內的真實資料,換成合成的示範資料,任何人 clone 下來就能看到完整功能。也歡迎其他專科的朋友 fork 過去,改成你自己科別的版本,引擎和排程都不用動,換掉題庫和分類就好。 ...

July 2, 2026 · 1 分鐘 · 91 字 · 陳柏威 Po-Wei Chen
論文學習雷達網頁畫面,論文卡片帶有全文徽章與勾選動作鈕

把我的論文讀書小站開源了

前陣子分享了我自己做的論文讀書小站,收到不少訊息問「這個我也能用嗎?」、「到底怎麼運作的?」。這篇就好好把它講清楚,順便告訴你,我已經把它整理成開源版本放上 GitHub 了。 先講我想解決的問題。 身為復健科醫師,我想追的期刊有幾十本,還有幾位很想跟的作者、幾個一直在關注的主題。傳統做法是把一堆 RSS 訂閱倒進閱讀器或筆記軟體,結果每天累積上百篇,很快就變成一個「永遠讀不完、也不知道從哪讀起」的垃圾堆。最後不是焦慮,就是乾脆不看。 我要的不是「看更多」,而是一個會先幫我篩、幫我排序的雷達,讓我只把注意力放在真正該讀的那幾篇。於是有了這個小站,它大概分成這幾層在運作。 一、自動抓取:把幾十個來源收成一條河 每天清晨,主機會自動去抓幾十個來源:期刊的 RSS、還有用 PubMed 搜尋做的「作者追蹤」和「主題追蹤」。有些期刊的 RSS 很爛或根本擋機器人,我就改用 PubMed 的查詢繞過去,一樣抓得到,而且附帶 DOI 方便後面處理。全部抓回來後自動去重,變成一份乾淨的清單。 二、興趣評分,而且會越用越懂我 這是我最喜歡的一層。每一篇都會用一個「興趣模型」算分數,把我最可能有興趣的排到最上面,雜訊沉到下面。 更關鍵的是它會學。我在手機上滑的時候,看到喜歡的按個讚、沒興趣的略過,這些反應會回頭微調模型的權重。用得越久,它越懂我的口味,排序就越準。這種「你教它、它回饋你」的迴圈,是我覺得比單純 RSS 高明的地方。 三、全文三層:先幫我確認「拿不拿得到」 看到想讀的,最煩的往往是「找得到、但打不開全文」。所以每篇我都先自動幫它標好取得難度: 🟢 開放取用(Open Access):直接幫我把 PDF 抓下來。 🏥 機構訂閱:自動去查我所屬圖書館有沒有訂閱這本期刊、這篇現在拿不拿得到。 📎 自己補:以上都沒有的,附上連結讓我自己抓,或直接把 PDF 丟上去。 這樣我在滑的當下就知道每篇「能不能讀」,不用一篇一篇點進去碰運氣。 四、一個只給自己看的私密小站 整個站是鎖起來的,只有我進得去,沒有對外公開、也沒有署名。它是我一個人的閱讀桌,手機、電腦打開都是同一份狀態,昨天在捷運上勾過的、今天在醫院打開一樣看得到。介面就是一張張論文卡片,帶著上面說的徽章,還有幾顆動作鈕。 五、勾一勾,剩下的它包了 這是把前面所有東西串起來的閉環。看到喜歡的,我就勾「想整理內容」或「想評讀品質」,跟它說一聲,它就自動:幫我抓全文、把重點整理成筆記、做評讀,最後收進我自己的筆記系統裡。人在外面看到別人分享的好文章,也能直接丟進這個網頁,一樣幫我處理好。 於是我的閱讀從「被上百篇淹沒」,變成「每天滑一滑、勾幾篇、讀它整理好的重點」。省下來的時間跟力氣,比我想像的多很多。 開源出去,也歡迎你打造自己的雷達 我把自己的東西整理乾淨,放上 GitHub 了,附了中英文說明: 👉 https://github.com/drpwchen/paper-radar 它不只能用在醫學。任何有 RSS 的來源,論文、新聞、部落格,都能 fork 去改成自己領域的雷達。想自己架一個的人,可以照著說明走。 補充一下:雷達幫我挑出來的論文,下游是交給另外兩個負責「評讀」跟「整理」的工具去讀的,那部分我後來也整理開源了,寫在這篇。雷達管挑、skill 管讀,兩端接起來才是完整的讀論文流程。 最後講點私心。這個念頭其實在心裡很久了。還沒踏進 vibe coding 之前,我看到吳易澄醫師(運動醫學、復健醫學)做了一個類似的平台,那時候又羨慕又好奇,心想「要是我也有一個就好了」。沒想到現在真的能親手把它做出來,還能整理乾淨分享給大家。 從一個羨慕別人的念頭,到自己動手實現,再到開源分享出去,這種感覺真的很奇妙,也很開心 😊 如果你也常常被讀不完的資訊淹沒,歡迎來看看,也歡迎順手給顆星 ⭐,這對我會是很大的鼓勵。 如果這個工具有幫你省下時間,也歡迎請我喝杯珍奶,讓伺服器繼續轉下去 🧡 請我喝珍奶!

July 1, 2026 · 1 分鐘 · 67 字 · 陳柏威 Po-Wei Chen
Vault Search 語意搜尋面板

我把 Obsidian 變成會「用意思找筆記」的第二大腦(並且開源了)

一個困擾我很久的小事 我是 Obsidian 的重度使用者,vault 裡躺著好幾千則筆記。 但有件事很不方便:Obsidian 內建的搜尋,只會找「你打的那幾個字」。 問題是,三年前寫的筆記,我哪記得當時用了什麼字?我心裡想的是「鬆弛性膀胱要怎麼處理」,筆記裡寫的卻是 Neurogenic Bladder → flaccid type → 間歇性導尿。字對不起來,搜尋就一片空白。最慘的是,有好幾次我以為自己沒寫過,結果重寫一遍,事後才發現早就有一篇更完整的躺在那裡 😅 所以我花了點時間,幫自己的 vault 裝上一套「用意思找筆記」的工具。用了大半年,現在把它整理乾淨、開源出來。 三套組 它不是一個大功能,而是三個各司其職、共用同一份索引的小工具。 🔍 Vault Search — 用一句話找到對的段落 最核心的一個。你用自然語言問一句話,它回傳語意上最接近的筆記段落,而不是關鍵字比對。 我打「脊髓損傷後的鬆弛性膀胱怎麼處理」,它直接翻出 Neurogenic Bladder 那篇,即使那幾個中文字一個都沒出現在筆記裡。它看的是意思,不是字。 結果還會自動分成「主要相關」跟「其他相關」兩層,並且可以折疊預覽,不用一篇一篇點開。 🔗 Related Notes — 替你的筆記接上神經 這是一個會即時更新的側欄。當我在讀某篇筆記、或選取一段文字時,它自動在旁邊跳出相關的其他筆記。 對我來說這是「驚喜製造機」。很多「我早就忘記自己寫過」的東西,就這樣被串了起來。寫一篇新筆記的時候,旁邊會冒出三五篇舊筆記提醒我「這裡其實可以連過去」,慢慢把零散的卡片織成一張網。 💬 Vault Chat — 直接跟自己的筆記對話 這就是大家熟悉的 RAG:它先搜尋相關筆記,再把內容餵給 AI 回答。但我刻意設計了三種模式: Vault 模式:只根據筆記回答,不用擔心 AI 自己生成內容。 Hybrid 模式:以筆記為主,不足時用 AI 自己的知識補充,並標明哪些是「補充」。 Free 模式:不搜尋筆記,純自由對話,還能查 PubMed 文獻。 每次回答後,它會列出引用了哪幾篇筆記,可以一鍵點開查證。對醫療這種「答錯會出事」的領域,可追溯來源這件事我很在意。 點開任何一個引用,還能看到它實際餵給 AI 的那段筆記原文,整條推理鏈是攤開可查的。 ...

June 23, 2026 · 1 分鐘 · 139 字 · 陳柏威 Po-Wei Chen