@protectqa/agent-runner-local
v0.1.0
Published
Local Agent Studio execution plane — vendor keys stay on your machine; ProtectQA is the control plane.
Maintainers
Readme
@protectqa/agent-runner-local
Local execution plane for ProtectQA Agent Studio. API keys and model calls stay on your machine; ProtectQA stores teams, boards, runs, and audit metadata only.
Requirements
- Node.js 18+
- A ProtectQA account with Agent Studio enabled
- Supabase migration
052_agent_studio_autonomous_runs.sqlapplied on your org
Quick start
1. In the browser
- Open Agent Studio → Vendors & Runtime
- Click Generate pairing code and copy the code
- Create a team and use Launch autonomous team with an objective
2. On your machine
npx @protectqa/agent-runner-local setup
npx @protectqa/agent-runner-local pair
npx @protectqa/agent-runner-local login
npx @protectqa/agent-runner-local add-key openai
npx @protectqa/agent-runner-local startFor a custom API host (self-hosted):
export TCL_API_URL=https://your-api.example.com
npx @protectqa/agent-runner-local pair3. Auth token (login)
The runner needs a Bearer token to sync JSONL events to the cloud. After signing in to ProtectQA in the browser:
- Open DevTools → Application → Local Storage
- Find
sb-*-auth-tokenand copy theaccess_tokenfrom the JSON - Run
agent-runner-local loginand paste it
Or set PROTECTQA_AUTH_TOKEN in your environment.
Commands
| Command | Description |
|---------|-------------|
| setup | Create ~/.protectqa/agent-runner/ |
| pair | Pair with a code from the UI |
| login | Save auth token for cloud sync |
| add-key <vendor> | Store key in local vault (openai, anthropic, google-gemini, ollama, …) |
| register-vendors | Push metadata (not keys) to ProtectQA |
| start | Poll and run team jobs (leave running) |
| start --once | Process one poll cycle |
| status | Show pairing + vault summary |
| doctor | Health check |
| vendors | List supported providers |
Security
- Plaintext API keys are never sent to ProtectQA.
- Vendor registration sends only
localKeyRef, label, and a redacted preview. - Set
PROTECTQA_VAULT_PASSPHRASEto encryptvault.encat rest. - Revoke a runner from Agent Studio to stop job polling.
Supported vendors (v0.1)
- openai — Chat Completions API
- anthropic — Messages API
- google-gemini — Generate content API
- ollama / lm-studio — Local HTTP (no key)
Publish (maintainers)
cd packages/agent-runner-local
npm run build
npm publish --access publicLicense
MIT
