本頁短網址:gg.gg/oitools
線上會議 Google Meet:https://meet.google.com (教學)
Google Site 協作平台 (建立網站):https://sites.google.com (教學1、教學2)
Google Classroom (建立數位教室):https://classroom.google.com (教學)
Google 雲端硬碟:https://drive.google.com/drive/my-drive (教學)
Jamboard 白板:https://jamboard.google.com
Google 表單:https://docs.google.com/forms (教學)
線上桌面 Classroom Screen:https://classroomscreen.com
滑鼠高亮 Cursor Highlighter (Chrome外掛):https://tinyl.io/5eZA (教學)
滑鼠高亮: AutoHotkey + Cursor Highlighter (說明)
螢幕截圖 Win + Shift + S,貼上 Ctrl + V
螢幕筆 Zoomit :https://tinyl.io/5eZK (教學)
螢幕筆 IPEVO:https://tinyl.io/5eZP
網頁筆 Page Marker:https://tinyl.io/7Aj3 (教學)
視窗置頂:https://tinyl.io/9QZv (介紹)
繪圖板:(畢竟用滑鼠寫字辛苦又不好看)
螢幕錄製 Loom (Chrome外掛):https://tinyl.io/5eZL (教學) (申請教育版)
Youtube 上傳影片:https://www.youtube.com (教學)
螢幕固定在上 DeskPins:https://tinyl.io/7uJY
PPT 遊戲 烏衣行簡報測驗範本(下載) (教學)
短網址(Chrome外掛):https://tinyl.io/5eZS
擋廣告 Youtube (Chrome外掛):https://tinyl.io/5eZT (教學)
擋廣告 網頁 (Chrome外掛):https://tinyl.io/7Ai7 、 https://tinyl.io/5eZY (教學)
擋廣告 微軟Edge (外掛):https://microsoftedge.microsoft.com/addons/detail/ndcileolkflehcjpmjnfbnaibdcgglog
手機、平板 Edge 擋廣告設定 (三個點 > 設定 > 隱私權與安全性 > 封鎖廣告(開啟) > 進階設定-允許可接受的廣告(關閉) )
大字體Font Changer Plus(Chrome外掛):https://tinyl.io/5gfg
快速鍵 「Ctrl - +」 或 「Ctrl 滾輪」縮放頁面
擋廣告 網頁 (Chrome外掛):https://tinyl.io/5eZY
illustimage圖庫:https://zh-tw.ac-illust.com
openclipart:https://openclipart.org
cocomaterial 圖庫CC0:https://cocomaterial.com
illustAC圖庫:https://ac-illust.com/tw
KissCC0圖庫:https://www.kisscc0.com/
Soco-st圖庫:https://soco-st.com/
FREEIMAGES圖庫:https://www.freeimages.com/tw
UVic’s Language Teaching Clipart Library:https://hcmc.uvic.ca/clipart
Pictarts圖庫:https://pictarts.com/
Human Pictogram2:http://pictogram2.com
CleanPNG圖庫:https://www.cleanpng.com
Burst圖庫:https://burst.shopify.com
Pixabay圖庫:https://pixabay.com
CupCake圖庫:https://cupcake.nilssonlee.se
StockSnap圖庫:https://stocksnap.io
Foter圖庫:https://foter.com
Gratisography圖庫:https://gratisography.com
PicJumbo圖庫:https://picjumbo.com/
Repo圖示圖庫:https://www.pngrepo.com/
xFrame亞洲臉孔圖庫:https://xframe.io
吉卜力劇照(合理使用):https://tinyl.io/4bTQ
DOTOWN點陣圖(合理使用):https://tinyl.io/5fvV (授權)
Stampo可愛圖(合理使用):https://stampo.fun (授權)
表情圖庫 https://emojixd.com
表情圖庫字體https://ggle.io/5umR
StockTune (PD公有授權):https://stocktune.com
Dust Sound 音樂(合理使用):http://dust-sounds.com (授權)
Mixkit音效:https://mixkit.co/free-sound-effects
Zapsplat音效:https://tinyl.io/4zbl
Mixkit音樂:https://mixkit.co/free-stock-music
FreePd音樂:https://freepd.com
pixabay Public Domain:https://pixabay.com/music/search/public%20domain%20music/
Zapsplat音樂:https://tinyl.io/4zbm
500Audio 音樂 (標註來源):https://zh.500audio.com/free-music
sampld 短音樂(免標註) https://open.sampld.app
Youtube下載:https://www.y2mate.com/zh-tw702
遮蔽網頁廣告教學:https://oikasu.com/wp/?p=627
線上Ai去背:https://pixian.ai/
Copainter 描圖Ai:https://www.copainter.ai
Recraft 繪圖Ai:https://app.recraft.ai/
ideoGram 繪圖Ai:https://ideogram.ai/
Raphael AI 繪圖Ai:https://raphael.app/zh-Hant
Youtube 轉 Gif:https://tinyl.io/9rLu
PNG/JPG 轉 PDF:https://tinyurl.com/yznwmayo
移除圖像 EXIF:https://tinyurl.com/yem7qszf
線上 GIF 建立器:https://tinyurl.com/yf9qsn5o
圖像灰度:https://tinyurl.com/yhq43ykr
GIF 壓縮器:https://tinyurl.com/yzwzkaze
分割 GIF:https://tinyurl.com/yfnhzuj8
Piconion 圖像編修標示:https://piconion.com/editor/
限時塗鴉:https://quickdraw.withgoogle.com/?locale=zh_TW
我畫你猜 Gartic:https://gartic.io
繪圖變動畫:https://sketch.metademolab.com/
線上白板:https://r7.whiteboardfox.com/
Google 小畫家:https://canvas.apps.chrome
AutoDraw 自動畫圖:https://www.autodraw.com
StoryTribe 視覺故事:https://storytribeapp.com/
圖片轉線稿:https://online.rapidresizer.com/photograph-to-pattern.php
Playground Ai 自動畫圖、修圖:https://playgroundai.com/ (介紹)
居家平面圖:https://floorplanner.com/
試算表插入雲端硬碟圖片(要設公開)=image("https://drive.google.com/uc?export=download&id="&mid(A1,33,33))
逐格動畫(像素):https://www.piskelapp.com/
逐格動畫(ninja):https://brush.ninja/create/animation-maker/
逐格動畫(flipanim):https://flipanim.com/
擋廣告 網頁 (Chrome外掛):https://tinyl.io/5eZY
Canva影片製作:https://www.canva.com || (申請教育版)
Genmo 影片生成AI:https://www.genmo.ai/
影片下載:https://loader.to/
ScreenRec螢幕錄影截圖:https://screenrec.com/
螢幕錄製 Loom (Chrome外掛):https://tinyl.io/5eZL (教學) (申請教育版)
螢幕錄製 JampShare:https://jumpshare.com
動畫影片製作:https://www.animaker.hk
語音轉動畫:https://new.express.adobe.com/tools/animate-from-audio
影片、音檔轉文字:https://tinyl.io/9xbr
pytranscriber:https://tinyl.io/BVF5
影片AI上字幕:https://www.csubtitle.com/
CapCut 影片與字幕:https://www.capcut.com/ 、轉SRT、轉正體
Youtube 雙字幕:https://tinyurl.com/yjfgjqbz
Youtube 中文配音:https://tinyurl.com/yoc42f2w
Youtube 下載:https://www.backupmp3.com/zh/
Youtube 下載影片聲音:https://www.subeasy.ai/zh-TW/youtube-to-mp4
Youtube 下載影片聲音:https://cobalt.tools/
SkipVids (Youtube):https://skipvids.com/
擋廣告 網頁 (Chrome外掛):https://tinyl.io/5eZY
Mp3轉字幕:https://tinyl.io/4lsg
線上錄音Vocaroo https://vocaroo.com/ (教學)
線上錄音Cloud Audio Recorder:https://tinyl.io/4zQx
線上錄音Beep https://www.beepaudio.com/record
聲音檔分享網站:https://www.whyp.it/
Audacity錄音:https://www.audacityteam.org/ (教學)
微軟文字轉語音 Azure:https://tinyl.io/56iV
pytranscriber語音影片轉文字:https://pytranscriber.github.io/download
聲音移除人聲、錄製等 https://vocalremover.org/zh
AI聲音降噪:https://ai-coustics.com/
Vidnoz 文字轉語音:https://tw.vidnoz.com/text-to-speech.html
TTSmaker 文字轉語音:https://ttsmaker.com/zh-hk
Voicerss文字轉語音Api:https://www.voicerss.org/
Voice Remaker文字轉語音(外掛):https://tinyl.io/9xaI
聽背景音樂:https://radio.madza.dev/
線上音頻混合工具:https://photoappworld.com/zh-hant/online-tools/audio-mixer
Handy開源語音輸入法:https://github.com/cjpais/Handy
字謎製作 CrossWordLabs:https://crosswordlabs.com/ (教學) (範例1、範例2)
自訂多題Wordle:https://splurdle.vercel.app
語詞卡 Quizlet:https://quizlet.com
答題遊戲 Blooket:https://www.blooket.com
答題遊戲 Kahoot!:https://kahoot.com (教學)
答題遊戲 Gimkit:https://www.gimkit.com/
多類型文字遊戲 Wordwall (免信箱驗證):https://wordwall.net/tc
classkick:https://classkick.com
LiveworkSheets:https://www.liveworksheets.com
語言熟練遊戲 Memrise:https://www.memrise.com/zh-hant/ (講義)、(教學影片)
即時反饋 Mentimeter:https://www.mentimeter.com
即時反饋 Poll Everwhere:https://www.polleverywhere.com
CCR雲端教室即時反饋:https://www.ccr.tw
PPT 互動教學及模板:https://ijuhsu.com/onlineteaching/
PPT 遊戲(Jasmine Su):https://tinyl.io/6iuX
PPT 遊戲 烏衣行簡報測驗範本(下載) (教學)
Flippity配對遊戲:https://www.flippity.net/MatchingGame.htm
Flippity語詞卡:https://www.flippity.net/Manipulatives.htm
中文轉注音拼音:https://tinyl.io/5fO4
繁簡轉換 新同文堂 (Chrome外掛):https://tinyl.io/5etN
繁簡轉換 OpenCC:https://opencc.byvoid.com/
Unicode 文字與符號:https://tinyurl.com/unicodesall
流程圖 Draw.io:https://app.diagrams.net
Miro 便利貼白板:https://miro.com/
華語文語料庫應用系統整合入口:https://coct.naer.edu.tw/
文字編輯 NotePad++:https://notepad-plus-plus.org/downloads/
離線文字比對:https://pcrookie.com/?p=5653
注音標註編輯器:https://www.cmex.org.tw/phon/
Fake Line Message Generator:https://flmg.guychienll.dev/zh-TW
烏衣行英語語詞遊戲:https://gnisew.github.io/match/en
Tongyi AI 語音轉文字:https://tongyi.aliyun.com/efficiency/
GitMind 自動心智圖:https://gitmind.com/tw/
LIME HD 輸入法自訂Android輸入法 https://github.com/plateaukao/sweetlime/releases
EmEditor 文字編輯器:https://zh-tw.emeditor.com/download
擋廣告 網頁 (Chrome外掛):https://tinyl.io/5eZY
PDFtools:https://www.pdftool.org/zh
PDFwind:https://www.pdfwind.com/zh-Hant
PDF 線上萬用工具:https://www.ilovepdf.com/zh-tw
Google Site 協作平台 (建立網站):https://sites.google.com
Google Classroom (建立數位教室):https://classroom.google.com
Glasp 網頁標記(外掛):https://tinyl.io/9ysA
Free VPN (外掛):https://tinyl.io/9xaJ
ThingLink:https://www.thinglink.com/
雲端硬碟轉網站 DriveToWeb:https://drv.tw/
ByetHost虛擬主機 https://byet.host
Google雲端硬碟檔案清單:https://tinyl.io/5l29 (說明)
CubeUpload免費圖床:https://cubeupload.com/ (說明)
imgpile 免費圖床:https://imgpile.com
免費音檔空間:https://whyp.it/ (介紹)
語法美化 Beautiful js:https://beautifier.io/
Qrcode Api 條碼產生器:https://tinyl.io/5e2x
隱藏網頁物件Print Edit WE (外掛):https://tinyl.io/9zOn
隱藏網頁物件Content Blocker (外掛):https://tinyl.io/8YJM
遮蔽網頁內容Content Edit & Blur(外掛):https://tinyl.io/87mD
Google Sheet 產生QRCODE:https://tinyl.io/7Ft1
遠端遙控Teamviewer https://www.teamviewer.com/tw
臨時免費信箱:https://mail.tm/zh/
Ggle.io 短網址:https://ggle.io/home.html
Twgo.io 短網址:https://twgo.io/
網頁轉Android Apk:https://tinyl.io/9A2E
Filen 雲端空間:https://filen.io
pCloud 雲端空間:邀請註冊
YayBoo靜態網頁空間:https://yay.boo
NeoCities靜態網頁空間:https://neocities.org
Kinsta靜態網頁空間:https://kinsta.com/static-site-hosting
<script src="https://www.w3schools.com/lib/w3.js"></script>
<link rel="stylesheet" href="https://www.w3schools.com/w3css/5/w3.css">
台語字型清單:https://tinyl.io/A3Zn
開源字體清單:https://free-font.vercel.app/open-source.html
【漢字字體】
<script src="https://oikasu.com/file/code2/twfont.js"></script> <!-- 貼在</body>前面 -->
document.write(`<link href="https://oikasu.com/file/code2/css/style.css" rel="stylesheet">`);
教育部標準楷書:https://tinyl.io/4bPk
教育部標準宋體:https://tinyl.io/4bPn
教育部隸書:https://tinyl.io/4bPq
全字庫正楷體、宋體:https://tinyl.io/4bRP
【注音字體】
依注音IVS字型規格製作之開源自由中文字型
Bpmf_Regulars.zip : 包含以下各種字體的Regular字重
BpmfGenRyuMin.zip : 源流注音明體
BpmfGenSekiGothic.zip : 源石注音黑體
BpmfGenSenRounded.zip : 源泉注音圓體
BpmfGenWanMin.zip : 源雲注音明體
BpmfGenYoMin.zip : 源樣注音明體
BpmfGenYoGothic.zip : 源樣注音黑體
BpmfZihiKaiStd.zip : 字嗨注音標楷
BpmfZihiSans.zip : 字嗨注音黑體
BpmfZihiSerif.zip : 字嗨注音宋體
BpmfSpecial.zip : 字嗨注音加框
Bpmf_VSIME.zip : 讀音選擇工具 (離線版):https://tinyurl.com/yjcu7ant
讀音選擇工具 (線上版):https://buttaiwan.github.io/bpmfvs/
霞鶩字體系列:https://tinyl.io/5p2U
cjkFonts 全瀨體:https://tinyl.io/4dcE
清松手寫體:https://tinyl.io/4bR7
隨峰體(手寫):https://tinyl.io/5qdn
cjkFonts 手寫4:https://tinyl.io/4dcD
【簡轉繁字型】
【拼音字體】
萌神黑體、萌神手寫體:https://toneoz.com/ime/
ToneOZ澳聲通標音工具:https://tinyl.io/4bRa
【字體工具】
強制指定字體(Chrome外掛):https://tinyl.io/7K6G
LearnAi:https://learnai.tw
ChatGPT:https://chat.openai.com/、Android、iPhone
Chat Everywhere:https://chateverywhere.app/zh
Claude.ai:https://claude.ai/chats (Google Sheet 外掛)
Perplexity:https://www.perplexity.ai
Monica:https://monica.im/ 、 Chrome外掛、Android、iPhone
MindStudio:https://youai.ai/
websim:https://websim.ai
diffit文本分析:https://web.diffit.me/
Magicschool.ai:https://www.magicschool.ai/
Eeduaide.ai:https://www.eduaide.ai/
Almanack.ai:https://almanack.ai/
Gamma 簡報:https://gamma.app (邀請註冊)
Mindshow 簡報:https://www.mindshow.fun/ (教學) (邀請註冊)
Napkin 圖解:https://app.napkin.ai
Krea 繪圖:https://www.krea.ai
微軟圖片生成:https://www.bing.com/images/create (四格漫畫)
AI Anime Generator:https://free.com.tw/aianimegenerator-top
MyMmap.Ai心製圖https://www.mymap.ai
MyLens 時間軸:https://mylens.ai/
Recraft 繪圖Ai:https://app.recraft.ai/
suno 作歌:https://suno.com/ (教學)
CKIP中文實驗室:https://ckip.iis.sinica.edu.tw/demo
Ai 工具集:https://ai-bot.cn
Ai 懶人包:https://neww.tw/aitools
Ai 先行者:https://www.ai-sian.com
Ai 人非人:https://www.humanornot.co
Gradio:https://www.gradio.app
llamaCoder 製作App:https://llamacoder.together.ai
LM Sudio Ai:https://lmstudio.ai
Cursor:https://www.cursor.com
v0.dev 程式設計:https://v0.dev
Poe:https://poe.com
客語 https://huggingface.co/formospeech/whisper-large-v3-taiwanese-hakka
客語 https://huggingface.co/spaces/united-link/taiwanese-hakka-tts
Kuse.ai:https://www.kuse.ai/
muziailab:https://www.youtube.com/@muziailab
網頁可被編輯:javascript:(function(){ if(document.body.contentEditable === 'true' || document.designMode === 'on'){ document.body.contentEditable = false; document.designMode = 'off'; showNotification('⛔ 取消編輯'); } else { document.body.contentEditable = true; document.designMode = 'on'; showNotification('✅ 啟用編輯'); } function showNotification(message) { var notification = document.createElement('div'); notification.style.position = 'fixed'; notification.style.top = '20px'; notification.style.left = '50%'; notification.style.transform = 'translateX(-50%)'; notification.style.backgroundColor = '#333'; notification.style.color = '#fff'; notification.style.padding = '10px 20px'; notification.style.borderRadius = '5px'; notification.style.zIndex = '9999'; notification.textContent = message; document.body.appendChild(notification); setTimeout(function() { document.body.removeChild(notification); }, 2000); } })();
查閩南語辭典:javascript:(function(){ var selectedText = window.getSelection().toString().trim(); if(selectedText !== ''){ window.open('https://sutian.moe.edu.tw/zh-hant/tshiau/?lui=tai_su&tsha=' + encodeURIComponent(selectedText), '_blank'); } })();
閩南語辭典例句標音RUBY:javascript:(function() { var spans = document.querySelectorAll('span.mb-0'); spans.forEach(function(span) { var chineseText = span.textContent.trim(); var div = span.nextElementSibling; var pinyinSpan = div.querySelector('span'); var pinyinText = pinyinSpan.textContent.trim(); var chineseCharacters = Array.from(chineseText);pinyinText = pinyinText.replace(/([,!;?‘’“”…─。,!「」『』、;:?\.])/g, ' $1 '); var pinyinArray = pinyinText.split(/\s+/); var rubyText = ''; var chineseIndex = 0; for (var i = 0; i < pinyinArray.length; i++) { if (pinyinArray[i] === '-' || pinyinArray[i] === '--') continue; var chinesePart = chineseCharacters.slice(chineseIndex, chineseIndex + pinyinArray[i].split(/[-]+/).length); rubyText += '<ruby style="padding: 2px;">' + chinesePart.join('') + '<rt style="font-size: 0.7em;">' + pinyinArray[i] + '</rt></ruby>'; chineseIndex += chinesePart.length; } var newHtml = '<span style="line-height: 2.2;">' + rubyText + '</span>' + '<div class="mb-0 fs-6">'; span.innerHTML = newHtml; });})();
母音標紅色:javascript:(function(){ var elements = document.querySelectorAll('body *'); elements.forEach(function(element) { if (element.childNodes.length === 1 && element.childNodes[0].nodeType === 3) { var text = element.textContent; var newText = text.replace(/ee|oo|er|ii|a|e|i|o|u|y|oe|[ýŷüǖǘǚÜǕǗǙǛƗǜɄɨʉÉéÀÁÂÈÊÌÍÎÒÓÔÙÚÛàáâèêìíîòóôùúûĀāĂăĒēĔĕĚěĪīĬĭŃńŌōŎŏŐőŪūŬŭŰűǍǎǏǐǑǒǓǔǸǹḾḿ]|ỳ|ȳ|y̌|M̀|m̀|M̂|N̂|m̂|n̂|M̄|N̄|m̄|n̄|M̆|m̆|N̆|n̆|Ő͘|ő͘|A̋|E̋|I̋|M̋|N̋|a̋|e̋|i̋|m̋|n̋|M̌|Ň|m̌|ň|O̍͘|o̍͘|A̍|E̍|I̍|M̍|N̍|O̍|U̍|a̍|e̍|i̍|m̍|n̍|o̍|u̍|Ő͘|ő͘|O̍͘|o̍͘|O͘|o͘|Ò͘|Ó͘|Ô͘|ò͘|ó͘|ô͘|Ō͘|ō͘|Ǒ͘|ǒ͘/gi, '<span style="color: #BB4422;">$&</span>'); element.innerHTML = newText; } }); })();
閩南語維基百科轉台羅:javascript: (function() {function convertText(text) {const replacements = [[/oe/g, 'ue'],[/őe/g, 'űe'],[/óe/g, 'ué'],[/òe/g, 'uè'],[/ôe/g, 'uê'],[/ǒe/g, 'uě'],[/ōe/g, 'uē'],[/o̍e/g, 'u̍e'],[/oa/g, 'ua'],[/őa/g, 'űa'],[/óa/g, 'uá'],[/òa/g, 'uà'],[/ôa/g, 'uâ'],[/ǒa/g, 'uǎ'],[/ōa/g, 'uā'],[/o̍a/g, 'u̍a'],[/oá/g, 'uá'],[/oà/g, 'uà'],[/oâ/g, 'uâ'],[/oǎ/g, 'uǎ'],[/oā/g, 'uā'],[/o̍a/g, 'u̍a'],[/oa̋/g, 'ua̋'],[/ek\b/g, 'ik'],[/e̋k\b/g, 'i̋k'],[/ék\b/g, 'ík'],[/èk\b/g, 'ìk'],[/êk\b/g, 'îk'],[/ěk\b/g, 'ǐk'],[/ēk\b/g, 'īk'],[/e̍k\b/g, 'i̍k'],[/eng\b/g, 'ing'],[/e̋ng\b/g, 'i̋ng'],[/éng\b/g, 'íng'],[/èng\b/g, 'ìng'],[/êng\b/g, 'îng'],[/ěng\b/g, 'ǐng'],[/ēng\b/g, 'īng'],[/e̍ng\b/g, 'i̍ng'],[/Oe/g, 'Ue'],[/Őe/g, 'Űe'],[/Óe/g, 'Ué'],[/Òe/g, 'Uè'],[/Ôe/g, 'Uê'],[/Ǒe/g, 'Uě'],[/Ōe/g, 'Uē'],[/O̍e/g, 'U̍e'],[/Oa/g, 'Ua'],[/Őa/g, 'Űa'],[/Óa/g, 'Uá'],[/Òa/g, 'Uà'],[/Ôa/g, 'Uâ'],[/Ǒa/g, 'Uǎ'],[/Ōa/g, 'Uā'],[/O̍a/g, 'U̍a'],[/Oá/g, 'Uá'],[/Oà/g, 'Uà'],[/Oâ/g, 'Uâ'],[/Oǎ/g, 'Uǎ'],[/Oā/g, 'Uā'],[/O̍a/g, 'U̍a'],[/Oa̋/g, 'Ua̋'],[/Ek\b/g, 'I̍k'],[/E̋k\b/g, 'I̋k'],[/Ék\b/g, 'Ík'],[/Èk\b/g, 'Ìk'],[/Êk\b/g, 'Îk'],[/Ěk\b/g, 'Ǐk'],[/Ēk\b/g, 'Īk'],[/E̍k\b/g, 'I̍k'],[/Eng\b/g, 'I̍ng'],[/E̋ng\b/g, 'I̋ng'],[/Éng\b/g, 'Íng'],[/Èng\b/g, 'Ìng'],[/Êng\b/g, 'Îng'],[/Ěng\b/g, 'Ǐng'],[/Ēng\b/g, 'Īng'],[/E̍ng\b/g, 'I̍ng'],[/o\u0358/g, 'oo'],[/ő\u0358/g, 'őo'],[/ó\u0358/g, 'óo'],[/ò\u0358/g, 'òo'],[/ô\u0358/g, 'ôo'],[/ǒ\u0358/g, 'ǒo'],[/ō\u0358/g, 'ōo'],[/o̍\u0358/g, 'o̍o'],[/\bCh([aeiounőóòôǒōo̍a̋áàâǎāa̍e̋éèêěēe̍űúùûǔūu̍i̋íìîǐīi̍n̋ńǹn̂ňn̄n̍])/g, 'Ts$1'],[/\bChh([aeiounőóòôǒōo̍a̋áàâǎāa̍e̋éèêěēe̍űúùûǔūu̍i̋íìîǐīi̍n̋ńǹn̂ňn̄n̍])/g, 'Tsh$1'],[/\bch([aeiounőóòôǒōo̍a̋áàâǎāa̍e̋éèêěēe̍űúùûǔūu̍i̋íìîǐīi̍n̋ńǹn̂ňn̄n̍])/g, 'ts$1'],[/\bchh([aeiounőóòôǒōo̍a̋áàâǎāa̍e̋éèêěēe̍űúùûǔūu̍i̋íìîǐīi̍n̋ńǹn̂ňn̄n̍])/g, 'tsh$1'],[/ⁿ/g, 'nn'],];for (const [pattern, replacement] of replacements) {text = text.replace(pattern, replacement);}return text;}function replaceText(element) {if (element.hasChildNodes()) {element.childNodes.forEach(replaceText);} else if (element.nodeType === Text.TEXT_NODE) {element.textContent = convertText(element.textContent);}}replaceText(document.body);})();
客語辭典改字體:javascript:(function(){ var supTags = document.getElementsByTagName('sup'); for (var i = supTags.length - 1; i >= 0; i--) { var supTag = supTags[i]; var text = supTag.textContent; var textNode = document.createTextNode(text); supTag.parentNode.replaceChild(textNode, supTag); } var tagsToReplace = { 'ˇ': 'ˇ', 'ˋ': 'ˋ', 'ˊ': 'ˊ', 'ˆ': 'ˆ', '⁺': '⁺', '+': '⁺' }; var elements = document.getElementsByTagName('*'); for (var i = 0; i < elements.length; i++) { var element = elements[i]; if (element.childNodes.length === 1 && element.childNodes[0].nodeType === 3) { var text = element.textContent; var newText = text.replace(/[\^ˇˋˊ⁺+]/g, function(match) { return tagsToReplace[match]; }); if (newText !== text) { element.textContent = newText; } } } document.body.style.fontFamily = "'台灣楷體', '台灣宋體' ";})();
Google 雲端硬碟分享連結轉直接下載:javascript:(function(){var f=function(){var t=prompt('Google Drive 連結轉下載 :','');if(null===t){return false;}if(!t){return 'error';}var a=t.match(/\/d\/([^\/]+)\//);return(null == a)?%27error%27:%27https://drive.google.com/uc?export=download&id=%27+a[1];};var r=f();if(false!==r){prompt(%27Direct Download Link :%27,r);}})();
網頁改為黑底白字:javascript:(function() { var style = document.createElement('style'); style.innerHTML = '* { background-color: #333 !important; color: #ddd !important; } a { color: #eef !important; } a:visited { color: #eef !important; } a:hover { color: #dfd !important; }'; document.head.appendChild(style);})();
壓縮解壓縮 7-zip:https://www.developershome.com/7-zip/ (教學)
Brightness Control 螢幕亮度調整:https://tinyl.io/AhFI (說明)
StrokesPlus滑鼠手勢:https://www.strokesplus.net
滑鼠手勢離線設定:https://tinyl.io/9JHU
HotkeyP 快速鍵:https://briian.com/86843
當您使用個人 Google 帳號在 Google AI Studio 申請免費 API 金鑰時,Google 提供了一個非常佛心的「免費方案 (Free Tier)」。以下是針對您問題的詳細解答:
Gemini API 的額度計算主要看兩個指標:請求次數 (Requests) 與 權杖數 (Tokens)。 以目前最適合一般應用的 Gemini Flash 模型為例,免費方案的額度大約如下(具體數字可能隨 Google 政策微調):
RPM (每分鐘請求數): 每分鐘最多 15 次 請求。
RPD (每天請求數): 每天最多 1,500 次 請求。
TPM (每分鐘權杖數): 每分鐘最多 100萬個 Tokens(這非常巨大,通常不會先觸發這個限制)。
💡 什麼是 Token(權杖)? Token 是 AI 閱讀和生成文字的「基本單位」。在繁體中文裡,通常 1 到 2 個中文字就會消耗 1 個 Token。我們每次送出的「提示詞 (Prompt)」加上 AI 回答的「生成內容」,兩者加起來的長度就是這次消耗的總 Tokens。
對於一個學校的網頁或個人工具來說,一天 1,500 次其實非常夠用(等於每天可以讓老師按 1,500 次生成教案)。但要避免「每分鐘 15 次」的限制被踩到,可以這樣做:
防止連點(前端防護): 在我們先前寫的程式碼中,只要使用者按下按鈕,按鈕就會反灰並顯示「載入中... (disabled)」,這就是為了防止使用者狂按,導致一分鐘內送出超過 15 次請求。
精簡提示詞: 盡量讓傳送給 AI 的問題精準、扼要,不要一次塞入整本幾萬字的書要求它分析,這可以節省 Token 消耗。
定期查看儀表板: 您可以隨時登入 Google AI Studio 的首頁,上面會有一個清晰的圖表顯示您今天已經用了多少額度。
如果您或您的使用者點擊太快(超過每分鐘 15 次),或者當天使用量爆表(超過 1,500 次):
系統層面: Google 的伺服器會拒絕服務,並回傳一個 429 Too Many Requests 的錯誤代碼。
使用者體驗: 我們在程式碼裡寫了「指數退避重試機制(Exponential Backoff)」。程式如果遇到 429 錯誤,它會偷偷等 1 秒再試一次,再失敗就等 2 秒、4 秒...。如果試了 5 次還是沒額度,畫面就會顯示:「發生錯誤:API 請求失敗...」等提示文字,不會導致您的網頁崩潰或當機。
費用層面: 在「免費方案」下,超過額度就是單純的「卡住不能用」,絕對不會突然跟您收錢,因為您根本沒有綁定信用卡。
如果額度用完了,您有兩個選擇:
解法 A:等待時間過去(免費) 如果是超過「每分鐘 15 次」,只要等下一分鐘就會自動恢復。 如果是超過「每天 1,500 次」,只要等午夜 12 點過後,額度就會重新計算,又可以免費使用了。
解法 B:升級為付費方案 (Pay-as-you-go) 如果您的網站超級受歡迎,每天 1500 次不夠用。您可以在 Google AI Studio 中設定結帳資訊(綁定信用卡),升級為付費版。付費版會解除這些嚴格的次數限制,改為「用多少算多少」。(註:Gemini Flash 的定價非常便宜,每 100 萬個輸入 Tokens 約只要幾十塊台幣)。
需要重新申請帳號嗎? 不需要。升級付費或等待額度重置,都在同一個 Google 帳號下進行即可。
一個帳號可以申請幾個 API 金鑰? 在 Google Cloud 的架構下,一個帳號可以建立多個「專案 (Projects)」,每個專案可以產生高達 300 個 API 金鑰。您可以為「教案系統」建一把金鑰,為「校網客服機器人」建另一把金鑰,方便管理。
⚠️ 關鍵觀念:免費額度是「跟著帳號/專案」共用的! 就算您在同一個帳號下申請了 10 把金鑰,這 10 把金鑰**「共享」那每天 1,500 次的免費額度。您無法**透過無限申請金鑰來獲得無限的免費次數(這會被 Google 視為濫用)。
要讓您剛才建立的「雙語教學儀表板」在您自己的網站上也能呼叫 AI,您需要一組自己的 API 金鑰 (API Key)。整個申請過程非常簡單,且目前有提供免費額度。
請按照以下步驟進行:
打開您的瀏覽器,前往 Google AI Studio 官方網站: 👉 https://aistudio.google.com/
點擊畫面上的 「Sign in to Google AI Studio」,並使用您的 Google 帳號(一般 Gmail 或學校/企業的 Google Workspace 帳號皆可)登入。
登入後,您會看到 AI Studio 的操作介面。
請在畫面左側的導覽選單中,找到並點擊 「Get API key」 (取得 API 金鑰) 這個選項。
在 API Keys 頁面中,點擊藍色的 「Create API key」 (建立 API 金鑰) 按鈕。
系統會跳出一個對話框,詢問您要在哪個專案中建立金鑰:
選項 A (推薦新手): 點選 「Create API key in a new project」 (在一個新專案中建立 API 金鑰)。系統會在背景自動幫您設定好一切。
選項 B: 如果您之前已經有在使用 Google Cloud (GCP),您可以從下拉選單選擇您現有的專案。
建立完成後,畫面上會出現一長串以 AIzaSy 開頭的亂碼,這就是您的專屬 API 金鑰!
點擊旁邊的複製圖示 (Copy)。
重要提示: 請將這串金鑰妥善保存在您的電腦中(例如記事本或密碼管理工具)。請不要將它傳送給不認識的人。
打開我們先前為您生成的 HTML 檔案,找到大約在頁面底部的 <script> 區塊,尋找以下這行程式碼:
// 原本長這樣(為空字串)
const apiKey = "";
// 將您複製的金鑰貼在引號中間,變成這樣(範例):
const apiKey = "AIzaSyC-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
儲存檔案後,用瀏覽器打開這個 HTML 檔,您的 AI 雙語教案助手跟難題顧問就能夠正式運作了!
因為我們撰寫的是單一 HTML 網頁 (純前端應用程式): 如果您只是將檔案存在自己的電腦上點開來用(本地端使用),把金鑰直接寫在程式碼裡是絕對安全的。
但是!如果您打算將這個網頁公開放到網路上(例如學校官網、GitHub Pages),請務必注意: 任何人只要對網頁按右鍵「檢視網頁原始碼」,都能看到您的這串 API Key,並拿去盜用您的額度。
如何防範? 如果您一定要公開放到網路上,請務必到 Google Cloud Console > 「API 和服務」 > 「憑證」中,找到您剛剛建立的這把金鑰,並設定 「應用程式限制 (HTTP 參照網址)」,限制只有「您網站的專屬網址」才能使用這把金鑰。這樣即使別人偷看了您的原始碼,也無法在別的網站上盜用!
註冊 GitHub 帳號: 如果你還沒有帳號,請先前往 GitHub 官網 註冊一個免費帳號。
準備基礎檔案: 準備一個簡單的 index.html 檔案作為你的網站首頁。
這是最關鍵的一步,儲存庫的命名規則決定了你的網站網址。
登入 GitHub 後,點擊右上角的 + 號,選擇 New repository。
在 Repository name 欄位中,輸入你的專屬網址名稱,格式必須為:你的使用者名稱.github.io
例如:如果你的 GitHub 帳號是 john123,這裡就必須填 john123.github.io。
Description (說明) 可以選擇性填寫。
將儲存庫設為 Public (公開),這是免費使用 GitHub Pages 的必要條件。
勾選 Add a README file (加入 README 檔案),方便之後管理。
點擊綠色的 Create repository 按鈕。
你可以透過 Git 指令碼上傳,或是直接透過網頁介面上傳。這裡介紹最簡單的網頁上傳方式:
進入你剛建立的儲存庫頁面。
點擊 Add file 按鈕,然後選擇 Create new file (或選擇 Upload files 直接上傳你寫好的網頁檔)。
在檔名欄位輸入 index.html。
在下方的編輯區貼上你的 HTML 程式碼。
點擊右上角的 Commit changes... 儲存檔案。
設定完成後,通常需要等待 1 到 5 分鐘讓 GitHub 處理。
打開瀏覽器,在網址列輸入你剛剛設定的網址:https://你的使用者名稱.github.io
只要看到你剛剛寫在 index.html 裡面的內容,就代表大功告成了!