Jeder Suchlauf läuft nun in einem frischen Container pro Benutzer, dessen pro-Benutzer-Home als ~/.claude gemountet ist — Memories und Session-Contexte liegen damit strikt getrennt pro Benutzer. Die Such-Skills sind Shared-Code aus dem Image und werden im Container nur nach ~/.claude/skills verlinkt. Der Host-Runner startet pro Lauf `docker run --rm` und führt bis zu JOBSUCHE_MAX_PARALLEL (Default 4) Läufe parallel über verschiedene Benutzer aus (jeder hat eigenen Ollama-Key = getrennte Rate-Limits). Der alte gemeinsame ~/.claude-Pfad wird vom Runner nicht mehr beschrieben. - source/agent/: neues Agent-Image (Dockerfile + entrypoint + drei Skills) - scripts/jobsuche-runner.js: agentStarten als docker run, ensureAgentDir, runPool - scripts/jobsuche-runner.sh + bin/-Kopie: Image-Guard - package.json: docker:build-agent (lokal, ohne Registry-Push) Co-Authored-By: Claude <noreply@anthropic.com>
39 lines
1.0 KiB
JSON
39 lines
1.0 KiB
JSON
{
|
|
"name": "bewerbungs-tracker",
|
|
"version": "1.0.0",
|
|
"description": "Job Application Tracker für Jobcenter Grundsicherung Monatsberichte",
|
|
"main": "server.js",
|
|
"scripts": {
|
|
"start": "node server.js",
|
|
"dev": "nodemon server.js",
|
|
"docker:build": "docker build -t git.hackner.dev/thomas/jobbi-bewerbung:latest .",
|
|
"docker:push": "docker push git.hackner.dev/thomas/jobbi-bewerbung:latest",
|
|
"docker:deploy": "npm run docker:build && npm run docker:push",
|
|
"docker:build-agent": "docker build -t jobbi-bewerbung-agent:latest agent"
|
|
},
|
|
"dependencies": {
|
|
"ejs": "^3.1.9",
|
|
"express": "^4.18.2",
|
|
"imapflow": "^1.4.3",
|
|
"jspdf": "^2.5.1",
|
|
"jspdf-autotable": "^3.8.2",
|
|
"mailparser": "^3.9.12",
|
|
"multer": "^2.2.0",
|
|
"nodemailer": "^9.0.3",
|
|
"sqlite3": "^5.1.6"
|
|
},
|
|
"devDependencies": {
|
|
"nodemon": "^3.0.2"
|
|
},
|
|
"keywords": [
|
|
"job",
|
|
"application",
|
|
"tracker",
|
|
"jobcenter",
|
|
"grundsicherung",
|
|
"bewerbung"
|
|
],
|
|
"author": "",
|
|
"license": "MIT"
|
|
}
|