跳至主要內容

我在不會寫 code 的情況下做出一個桌面工具

當各種AI工具迅速發展的情況下,大家也開始製作自己常用的工具,更進一步公開分享給大家使用,例如 Jimmy Su 就分享自製的沉浸式翻譯工具,滿足一般人平時上網閱讀外文頁面的需求;進一步像是Justin Lee 開發的 ccxray,讓Claude Code的使用者可以監看Claude Code與Anthropic API之間的互動,使 AI Token 的消耗變成視覺化的儀表板。

為什麼做這個工具

AI 幫助許多一般網路使用者做出適合自己使用的工具,我自己也曾分享自己的經驗,現在做出一個應用程式的門檻已經降低許多,AI不會讓程式設計工作消失,反而讓更多人投入這樣的工作,從這個角度看應該是好事。

我自己也用AI打造一些工作上會使用的工具,包括後來做的這個「AI-Doc-Translator」,這是獨立自我日常工作使用的工具的其中一個功能,做成一支桌面程式。

由於每天都會接觸到外文論文、期刊,很多PDF檔下載後,只會放在儲存空間裡,或是丟到電子書應用程式裡,但什麼時候再打開?打開還要再閱讀外文的摘要、從頭理解?這些都會消耗掉耐心,於是我讓AI先幫我摘要重點,讓我大致了解檔案內容、記錄後,再做關聯成為自己的知識庫。

這個工具主要的功能是翻譯、摘要,它不是通篇翻譯,也不是改寫作者的內容,只做摘要,長期累積起來的文件會相當可觀,就可以做成知識庫應用。人們通常在下載文件時,自己已經先篩選過資料了,也不是隨便下載,所以使用者自己就是守門員。

為什麼不用 Notebook LM 就好

當然也有很多人習慣把檔案抓下來後丟進各種AI工具,Notebook LM、各種AI Chatbot或是翻譯軟體,但我自己在使用後的心得是,因為資料量太多,Notebook LM的效能會很差,而各種AI Chatbot 在對話結束後,使用者要再找回對話記錄可能還要花時間找尋。那為什麼不平時就開始做知識庫呢?所以在翻譯、摘要的過程中,也是在建立自己的知識庫,存在某個資料夾,可以再利用各種工具來搭建。

我自己是使用 Obsidian 配合 Claudian Plugin 一起使用。在閱讀由LLM產出的摘要時,我一定會遇到無法理解的內容,就可以再使用Claudian進一步「討論」內容,或請它解釋。於是文件就不是只有文件,而是可互動性的內容,也不會只在電腦裡積灰塵。

製作「AI-Doc-Translator」的過程

這不是我第一次用 AI 做工具。之前做過 DeepTechScout 的經驗,也用 AI 協助文字探勘的網站,所以對「把想法說清楚、讓 AI 幫你實踐」這件事已經有一些感覺。這 次的「AI-Doc-Translator」起點很簡單:我知道自己要什麼,也知道 AI 能幫我做到。

過程中最讓我意外的,是整個開發過程比我預期的更有趣。做網站的經驗讓我知道無障礙支援很重要,所以一開始就要求符合 WCAG 2.2 AA 標準,支援螢幕閱讀器、完整鍵盤操作,AI 幫我把這些實作進去。安全性也是,API 金鑰不能存成純文字、日誌輸出要自動遮蔽金鑰字串、輸出路徑要限制在指定目錄內,這些在對話過程中逐步確認、修改,最後還一起整理出 SECURITY.md,說明漏洞回報流程。README 的著作權聲明和免責聲明也是從討論著作權風險開始,把使用者需要知道的事情一起寫清楚,也許不是什麼大工程,但試著在設計階段就納入Security by design 與 Accessibility by design的概念,不等做完再補。

回頭看,技術門檻確實降低許多。GitHub 現在甚至可以直接從程式碼生成桌面安裝工具,很多過去需要時間、外力協助的事現在快很多。但知道要問什麼問題,來自以前的工作積累。無障礙的意識、著作權的判斷、安全性的概念,這些是我帶進來的,AI 幫我實現。AI 降低的是執行門檻,經驗的門檻依然存在,只是現在可以想到什麼就做什麼,不再被「不會寫程式」這件事卡住。

Image by Gerd Altmann from Pixabay

留言

此網誌的熱門文章

AI 提高產出,但誰得到好處?

我收集了 2026 年 3 月至 9 月由 Anthropic 研究團隊公開發表的 5 篇文章,讓 Claude 重新翻譯並編輯,並修改為習慣的閱讀語氣,以利閱讀。 Anthropic 今年 3 月發表的報告顯示,美國整體失業率沒有上升,但 22 到 25 歲的年輕人每月順利進入 AI 高曝露職業的比例比 2022 年低約 14%。這是我讀完今年他們發布的 5 份經濟研究摘要後,最常想起的一句話:「AI 讓產出變多」與「誰能把產出變成自己的收穫」,是兩個得分開回答的問題。 AI 做得到,不代表已經在做 過去大部分研究或媒體在衡量 AI 對工作的影響時,常問「AI 理論上能做哪些任務」。問題在於,AI 做得到,不代表企業或個人真的已經拿來用。 在這次閱讀的文章中,研究團隊提出「觀察曝露度」(Observed Exposure)。這個指標結合 O*NET(美國職業資訊網路,Occupational Information Network)的任務清單、理論可行性評分與 Claude 的實際使用資料,並對「自動化」與「工作用途」給予較高權重。 排名最高的是電腦程式設計師(約 75%)與資料輸入人員(約 67%),客服代表也名列前茅;另有 30% 的勞工觀察到曝露度為零。AI 目前的實際使用與理論能力還有一段距離。 在公布的研究中,高曝露職業的從業者有幾個共同特徵:女性比例高 16 個百分點、平均薪資高 47%、學歷較高、年齡也偏長。受衝擊的是中高薪的知識工作者,和「AI 先淘汰低薪年輕勞工」的直覺相反。 衝擊有多大?研究用差異中差異法比對,發現 ChatGPT 發布前後,高曝露職業的失業率未見系統性上升。唯一較清楚的訊號在 22 到 25 歲:這個年齡進入高曝露職業的新工作起始率,約比 2022 年低 14%。研究團隊也註明,這個結果僅勉強達到統計顯著。 同一套 AI,成果為何不同 在針對使用者研究的報告中,使用 6 個月以上 Claude 的人,其對話成功率為 73.1%,新使用者為 66.7%,相差 6.4 個百分點。控制任務類型後,差距縮到約 3 個百分點;再加上模型、使用情境、國家等變數,差距維持在約 4 個百分點。 Anthropic 曾假設,資深使用者會更傾向於把工作整包交給 AI 自動完成。研究的資料指向相反的方向:資深使用者更常與 Claude 來回...

停不下來的更新

一直更新Blog的版型,我必須承認是一件很無聊的事,不過這次除了版型的更動外,連分類和文章內文也做了變動。 先說分類吧!在Blogger叫做Label,不過,Blogger在分類上有一些bugs,只能使用英文,以前這裡的分類大多都是中文分類,結果在link上就是一堆亂七八糟的亂碼,所以我把它改成英文,同時細分一些項目,把出版的文章和一些教學的文章分開來,雖然已經很久沒寫新的,不過既然放上來就做個分類。然而就在新舊label移轉之後,發現中文的label還會存在,而且還會出現莫名奇妙的幽靈數字,Blogger知道這是個bug,不過似乎一直沒有修復的跡象。所以在分類上就出現了如右圖一般的情況,在英文標籤裡會有文章,但是在中文標籤裡是沒有文章出現的,但奇怪的是,有些中文標籤已經不見了,然而在Beauty-Beta這個部落格裡,我也做了分類上的變動,由於以前用英文開頭的Label,所以在label的變動上倒是不用擔心會有這樣的情況。 再來是文章的內容,把以前的文章重新分類,標題前面的一些全形符號或是分類刪掉,除了一些比較特殊的,我會留著,例如壹陸壹,因為在label裡為了統一,我留著原本的E61,但人家的店名是壹陸壹,所以留下文章標題前面的中文分類,另外像是Entertainment項目裡,可能有音樂,可能有電影,就會在前面留下中文分類。 前簡單的CSS和HTML改成現在的XML,這無疑是讓我們再多學些東西,能有時間鑽研當然是好事,可是轉換後,我一直沒有時間去改,當然多半也是因為懶,到現在也是拿別人做好的版型去改配色而已,所以像裡面的設定、安裝的widget和analytics的javascript都要一個一個重新裝,上個星期幾乎每天都弄到天亮才睡,只為了整理這個blog。也因為之前在blog裡放了technorati的分類,所以還要修改以前的文章,把它們加入technorati,還有裡面的語法要更改,所以這個星期甚至下個星期都會一直收到這裡的更新訊息,對於不斷收到訊息干擾的朋友們,在這裡說聲抱歉。 在版面上因為blogger系統在feed接受上的更新,所以還有四個東西沒加進去,分別是最近的文章(Recent Post)、Comments(目前是用別人寫的widget)還有GVO的feed訂閱顯示、Beauty-Beta的訂閱顯示也都還沒放上去。 在Feed訂閱上,以前bl...

用Claude Code做一個AI飲食營養分析Bot:從拍照辨識到條碼查詢的實作筆記

沒想到在十多年後,因為想做飲食營養控管,所以自己利用 AI 開始做一個簡單的食品營養分析工具,能分析我每餐的飲食是否充足或過量,並提供有依據的飲食建議。 最初的雛形是基於以往曾參與「 Food Open Data 」倡議的經驗,我希望用最簡單的方式,拍照-->AI辨識與分析-->提供建議,然後統計一段期間的營養攝取狀況。 最初的想法 當我把我的雛形想法告訴 AI 後,Claude Code 很快的就幫我設計好雛形、教我如何申請Telegram Bot,這些步驟都寫得很清楚,整個雛形做好不用半天,我還愣住了,怎麼可能這麼簡單?難怪那些應用程式公司只把飲食營養分析當作一個「附加功能」,主要目的是蒐集其他的生理監測資料,但這些公司蒐集資料的用途,我自己在處理過美國資料經紀公司所販售的資料隱私資訊後,這是值得關心的議題,但不在此篇文章裡討論。 不過,我只專注在飲食分析項目,我覺得這個功能如果可以做好,再想想其他的。最初的想法很宏大,因為家人與自己患有慢性疾病,所以特別針對某些族群設計,但事實上,如果沒有實際的使用情境,可能也無法做出符合需求的產品。 於是我把這個Bot的使用者只鎖定在我自己的飲食分析上,那就簡單多了。 工具與環境限制 我在今年已經改用 Claude Cowork 與 Claude Code 協作,雖然 Claude Code 有一般介面版,但我大多數時間都開著終端機視窗使用 Claude Code,這樣比較能專心工作。 基於使用工具的習慣,我使用 Claude Code 開始建置,當時的模型雖然已經有Opus 4.8,但Sonnet 4.6已綽綽有餘,而後來出現的Fable 5 則用在其他專案裡。 因為只做給自己用,所以選擇最簡單的 Chatbot 形式;也因為我希望可以自由的使用而不是提供過多的個人資料給其他平台,選用 Telegram Bot,而不是台灣人常用的 LINE Bot ,而且 LINE上太多廣告,根本不想開它。 在衡量經濟現實及自我管理資料的想法後,目前這個 Bot 與資料庫只放在我的電腦裡,沒有上雲端,當電腦休眠、網路斷線時,Bot就會停止工作。 雖然只是給我自己使用,但我還是要求資料庫是加密儲存的,匯出資料時也必須加密。 台灣的飲食文化很多元 我不是開發者、也不是營養師,我自己也沒使用過其他的應用程式,所以無從理解在開發飲食營...