DeepSeek Harness Remote
DeepSeek Harness Remote 可将手机或另一台电脑与你运行 DeepSeek Harness 的电脑安全连接,随时随地继续你的工作,方便随时查看进度并继续工作。
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗這是一套不需要任何 AI 也能運作的職缺追蹤系統:
config.yaml 的規則篩選(地區、排除服務業/業務/資深職等)、去除重複、只保留 45 天內的職缺。docs/data/jobs.json,並顯示在一個免費的網站(GitHub Pages)上,可搜尋、篩選、排序。docs/data/companies.json)。一開始已經放入 153 筆先前整理好的職缺與 39 間公司/工作室,另外在測試時實際抓了一次(共 600 筆)。
| 來源 | 抓什麼 | 備註 |
|---|---|---|
| 104 人力銀行 | 約 30 個關鍵字,台北市,以及新北的板橋、中和、永和、新店、三重、蘆洲、新莊、土城;另搜遠端職缺 | 會讀職缺內頁補上工作天數、遠端說明。新北其他區不留 |
| 518 熊班 | 14 個關鍵字 | 結果較雜,靠規則篩掉服務業與新北非捷運區 |
| PTT HomeTeach、PTT part-time | 最新幾頁貼文 | 非正式貼文,未經查證,請自行判斷。地點是自由文字,同樣只留台北市、遠端與上述新北行政區 |
| Yourator | 關鍵字搜尋,只留入門/實習 | 日期是「幾天前活躍」,沒有確切日期 |
| LinkedIn(免登入的公開頁) | 13 個關鍵字,入門/實習 | |
| 1111 家教網 | 台北市,以及新北上述行政區的家教與伴讀 | 只寫「新北市」而沒有行政區的案件不留 |
每個來源互相獨立:某一個網站壞掉或擋住,其他來源照常更新;全部失敗時保留上次的資料,不會清空。
每次執行的結果(成功/部分成功/失敗、抓到幾筆、新增幾筆)會寫在 docs/data/meta.json,網站的「資料來源與說明」分頁也看得到。
config.yaml ← 關鍵字與篩選規則(你最常改的檔案)
requirements.txt ← Python 套件清單
scraper/run.py ← 主程式:抓取、篩選、去重、保留 45 天
scraper/common.py ← 共用工具與規則判斷
scraper/sources/*.py ← 每個網站一個檔案
scraper/ai_filter.py ← (選用)AI 篩選
docs/index.html, app.js, style.css ← 網站
docs/config.js ← (選用)Supabase 網址與 anon key;留空就只用本機
docs/data/jobs.json ← 職缺資料(自動更新)
docs/data/companies.json ← 公司與工作室名單(手動維護)
docs/data/meta.json ← 最近一次執行紀錄
.github/workflows/update.yml← 每天自動執行的設定
supabase/schema.sql ← (選用)雲端同步的資料表與權限
tools/seed_from_canvas.js ← 產生初始資料用的小工具(平常用不到)
到 https://github.com/signup 註冊免費帳號。
job-tracker(或任何英文名字)。job-tracker.zip 解壓縮。⚠️
.github資料夾是隱藏資料夾,有些電腦預設看不到。
- Mac:在 Finder 按
Cmd + Shift + .顯示隱藏檔。- Windows:檔案總管 →「檢視」→ 勾選「隱藏的項目」。
如果拖不進去,也可以在 GitHub 上「Add file」→「Create new file」,檔名輸入
.github/workflows/update.yml,再把檔案內容貼上。
main,資料夾選 /docs,按「Save」。https://你的帳號.github.io/job-tracker/。「Settings」→「Actions」→「General」→ 最下面「Workflow permissions」選 Read and write permissions → Save。
(設定檔裡已經寫了 contents: write,但有些帳號預設仍需要開這個。)
沒有要用 AI 可以跳過,系統照樣每天更新。 「Settings」→「Secrets and variables」→「Actions」→「New repository secret」,依序新增:
| Name | Value |
|---|---|
AI_API_KEY | 你的金鑰 |
AI_BASE_URL | 服務網址(見下方表格;用 OpenAI 可不填) |
AI_MODEL | 模型名稱(見下方表格;用 OpenAI 可不填,預設 gpt-4o-mini) |
補充:GitHub 規定,如果 repo 連續 60 天沒有任何活動,排程會自動暫停,到 Actions 頁面重新啟用即可。
直接在 GitHub 網頁上打開 config.yaml → 右上角鉛筆圖示(Edit)→ 修改 → 「Commit changes」。下次執行就會套用。
常改的地方:
sources → "104" → keywords:104 的搜尋關鍵字,一行一個,前面是 - 。518、LinkedIn、Yourator 也各有自己的 keywords。locations → include:地點要包含哪些字才保留(例如 台北、遠端)。新北還要再出現 new_taipei_districts 裡的行政區(板橋、中和、永和、新店、三重、蘆洲、新莊、土城);只有「新北市」或汐止、林口、淡水等區會被拿掉。完全遠端不受行政區限制。exclude → service_keywords:職稱或公司名稱含這些字就排除(餐飲、門市等)。exclude → other_keywords:其他想排除的字(工程師、業務等)。exclude → max_experience_years:要求超過幾年經驗就排除。categories:四個類別各自的判斷關鍵字,由上到下第一個符合的就是它的類別。keep_days:保留幾天內的職缺(預設 45)。ai → profile:給 AI 看的求職條件說明。注意 YAML 格式:縮排要用空白(不要用 Tab),冒號後面要空一格。改壞了 Actions 會顯示紅色叉叉,把檔案改回來即可。
scraper/ai_filter.py 使用通用的「OpenAI 相容」介面,只要改三個 secret 就能換服務,程式不用動:
| 服務 | AI_BASE_URL | AI_MODEL(範例) |
|---|---|---|
| OpenAI | https://api.openai.com/v1(可不填) | gpt-4o-mini |
| Google Gemini | https://generativelanguage.googleapis.com/v1beta/openai | gemini-2.0-flash |
| DeepSeek | https://api.deepseek.com/v1 | deepseek-chat |
| Groq | https://api.groq.com/openai/v1 | llama-3.1-8b-instant |
| OpenRouter | https://openrouter.ai/api/v1 | openai/gpt-4o-mini 等 |
| Ollama(自己電腦) | http://localhost:11434/v1 | qwen2.5:7b 等;金鑰隨便填,例如 ollama |
模型名稱各家會更新,請以各服務官網的最新清單為準。 Ollama 跑在你自己的電腦上,GitHub 的主機連不到,所以只能在自己電腦手動執行(見下方「在自己電腦執行」)。
想完全停用 AI:刪除 AI_API_KEY 這個 secret 即可。
AI 只會做三件事:重新分類、判斷適合度(高/中/低)、寫一句話備註。網站上會多出「AI 適合度」篩選。
預設不會刪除任何職缺;如果想讓 AI 自動移除「低」適合度的職缺,把 config.yaml 的 ai.drop_low_fit 改成 true。
在本機用實際資料試算(python -m scraper.ai_filter --dry-run):
| 情境 | 新職缺數 | 輸入 tokens | 輸出 tokens |
|---|---|---|---|
| 第一次執行(達上限) | 150 | 約 24,400 | 約 4,500 |
| 平常每天(估計) | 20~60 | 約 3,500~10,000 | 約 600~1,800 |
以 gpt-4o-mini 的價格(約每百萬輸入 tokens US$0.15、輸出 US$0.60,請以官方最新價格為準)計算,第一次約 US$0.007,平常每天不到 US$0.005,一個月大約 US$0.1~0.2(約新台幣 3~6 元)。Gemini、Groq 等服務常有免費額度,可能完全不用錢。
需要先安裝 Python 3.10 以上。
pip install -r requirements.txt
python -m scraper.run # 抓全部來源
python -m scraper.run --only 104 ptt # 只抓某些來源(代號:104 518 ptt yourator linkedin tutor1111)
python -m scraper.ai_filter --dry-run # 只估算 AI token,不呼叫
python -m scraper.ai_filter # 有設定 AI_API_KEY 環境變數才會執行
cd docs && python -m http.server 8000 # 然後打開 http://localhost:8000
在台灣的電腦執行,比 GitHub 的國外主機更不容易被網站擋。執行完可以把 docs/data/jobs.json 與 meta.json 上傳到 GitHub 覆蓋。
沒做這一段也完全沒問題:docs/config.js 的兩個值留空時,網站跟以前一樣,收藏、狀態、備註只存在這台裝置的瀏覽器。
做完之後,用同一個電子郵件登入,手機和電腦會看到同一份進度。網站仍是純靜態檔案,不需要建置;登入用電子郵件裡的連結或驗證碼,網站不會保存密碼。
supabase/schema.sql,整份貼上,按 Run。看到成功即可。https://,例如 https://你的專案.vercel.app(Vercel 的根目錄是 docs、沒有建置步驟)。不要只填網域。少了 https:// 時,點登入信會被帶到 Supabase 的網址,而不是這個網站。https://你的專案.vercel.app、https://你的專案.vercel.app/、https://你的專案.vercel.app/**。http://localhost:8000/**。sb_publishable_ 開頭)。service_role 或 secret key。那種金鑰可以繞過權限,不能放進網站。docs/config.js,把網址填進 url,金鑰填進 anonKey,存檔並部署。兩個都留空就會關閉同步。這組 anon / publishable key 會出現在公開網頁上,這是預期的。資料表開了 Row Level Security:沒登入的人讀不到,登入之後也只能讀寫自己的列。免費額度對這種個人小量資料足夠。
meta.json 一直顯示「失敗」,可以改在自己電腦執行,或在 config.yaml 把該來源的 enabled 改成 false。scraper/sources/*.py。config.yaml,或開啟 AI 篩選。