Codync
免費、開源的 1:1 替代方案,取代 Grok Bot 與 Muse。從 iPhone、Mac 或 Linux 桌面將 Claude Code、Codex、Cursor 與 40+ 程式碼代理人作為持續機器人傳訊。群組聊天、主題串…
AI 翻譯
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗The Node.js half of the Brewtality-3-16 self-healing job-scraper
template for peviitor.ro. node-fetch + Cheerio, ESM,
Jest.
This is a template.
scraper/config/*.json,docs/,ai/and the workflows ship{{PLACEHOLDER}}values. To make a real scraper, copy this folder into a new repo and replace them — see the placeholder list.
demoanaf.ro) by CIF — name, active/inactive status, address. Cached in tmp/company.json (7-day TTL) with a stale-cache fallback.ai/AGENTS.md.docs/jobs.md and refresh docs/company.json for GitHub Pages.npm install
npm run test:unit # 151 tests — pass with placeholders in place
npm run scrape # runs the full pipeline (no-op until configured)
| Placeholder | Fill with |
|---|---|
FME SRL | legal name, uppercase (e.g. EXAMPLE COMPANY SRL) |
FME Romania | commercial brand |
17769115 | fiscal code (CUI), no RO prefix |
https://www.fme.ro | https://www.example.com |
https://apply.workable.com/fme-romania/ | the open-positions listing page |
| `` | the job sitemap URL (or "" if the site has none) |
https://apply.workable.com/j/ | canonical job-permalink prefix, e.g. https://www.example.com/jobs/ |
Cluj-Napoca | HQ city (falls back to România in the transform) |
/ / `` | primary CSS selectors for the listing (keep the generic fallbacks after them) |
peviitor-scrapers / fme-nodejs-scraper | the derived repo's owner / name |
Then adapt parseListing and scrapeCareers in scraper/index.js to the site,
and add a test per new cascade level.
npm run test:unit # always runs (placeholder-safe)
npm run test:integration # self-skips until a company is configured + ANAF reachable
npm run test:e2e # self-skips until configured; live careers-site + API otherwise
npm run test:consistency # needs GITHUB_REPOSITORY + GITHUB_TOKEN (for a derived repo)
If the job list is built client-side, node-fetch only sees an empty shell. Set
rendering in scraper/config/scraper.json:
"rendering": { "mode": "browser", "waitSelector": ".job-card", "timeoutMs": 30000 }
static (default) never launches a browser; browser always renders;
auto renders only when the static HTML parses to zero jobs. The scrape
workflow installs Chromium only when the mode is not static. Locally:
npx playwright install chromium. Code: scraper/browser.js; tests:
tests/unit/browser.test.js (fake Playwright) and
tests/integration/browser-live.test.js (real Chromium, skipped if absent).
MIT — see LICENSE. Managed by ASOCIATIA OPORTUNITATI SI CARIERE for the peviitor.ro job board.