Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Upwork Job Filter

Chrome 插件 + 本地 DeepSeek API。浏览 Upwork 页面时自动分析 job,标记 APPLY / PASS / EDGE。

架构

MacBook Chrome 插件 (content.js)
  ↓ POST /analyze
MacBook 后端 (backend/server.py, localhost:8765)
  ↓ DeepSeek V4 Flash API
verdict JSON → 插件渲染标记
  ↓ 自动 append
backend/job_log.jsonl  ← 所有分析记录 (JSONL, claude-code / hermes 可读)

安装

1. 启动后台 API

cd ~/sandbox/backend
export DEEPSEEK_API_KEY=sk-你的key
export UPWORK_FILTER_MODEL=deepseek-v4-flash
python3 server.py &

2. 装 Chrome 插件

  • Chrome → chrome://extensions/
  • 开启 Developer mode
  • Load unpacked → 选本目录

使用

  • 打开 upwork.com/nx/search/jobs/... → 每个 job card 自动加标记
  • 点进单个 job → 页面顶部显示详细分析面板

文件

upwork-filter-extension/
├── manifest.json
├── content.js         # 提取 DOM + 调 API + 渲染
├── content.css        # 标记样式
├── start.sh           # 启动后端
├── README.md          # 本文件
├── deploy_to_mac.sh   # MacBook 拉取最新 server.py
├── icons/
└── backend/
    ├── server.py      # HTTP 服务 (stdlib http.server + DeepSeek API)
    ├── prompt.md      # bluebird 筛选标准 (人手复制粘贴用; API 调用时自动追加 JSON 指令)
    └── job_log.jsonl  # 自动累积的分析记录 (每行一条 JSON)

job_log.jsonl 结构

每行一条分析记录:

{"ts": "2026-05-26 15:30:00", "title": "ESP32 firmware...", "verdict": "PASS", "red_lines": ["PCB design"], "reason": "..."}

部署

  • 源码 (权威)~/code/upwork-filter-extension/ (matrix_l)
  • 运行 (MacBook)~/sandbox/backend/server.py
  • 更新方式scp matrix_r:~/code/upwork-filter-extension/backend/server.py ~/sandbox/backend/

已知坑

  • prompt.md 给人手动用(纯文本输出),API 调用时 server.py 自动追加 JSON 指令
  • deepseek-v4-flash 偶发空响应,代码已处理
  • max_tokens=800(够长防止 JSON 截断)
  • 非贪婪匹配 + 多策略 JSON 提取,不用原来的 re.search(r'\{[\s\S]*\}') 贪婪匹配

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages