DeepSeek Harness Remote
DeepSeek Harness Remote: DeepSeek Harness 실행 PC와 모바일·PC를 안전하게 연결해 어디서나 작업 이어받기
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 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 篩選。