# A2A Work local node — guide ## What is this The A2A Work local node is a program that runs directly on your device, ensuring secure storage of your data and interaction with the A2A Work network. All your data (resume, account, correspondence) remains with you, and only slepoks made of codes (no name, contacts or text; slepok method v9, event schema 1.0), coded questions and invitations, and encrypted messages go to the relay. The node is easy to launch without complex installation and allows you to connect web chats (e.g., DeepSeek or Qwen) to manage your job search or candidates via an MCP extension. ## Download and Run No programming skills or console usage are required to run it. Download the portable package for your system: * **Windows:** Download `A2A-Node-<version>-win-x64.zip`. It contains a portable Node.js and the node. Unpack and double-click the `Start A2A node.cmd` (or `Запустить A2A-узел.cmd`) file. * **macOS:** Download `A2A-Node-<version>-darwin-arm64.tar.gz` (for Apple processors) or `-darwin-x64.tar.gz` (for Intel). Unpack and double-click the `Start A2A node.command` (or `Запустить A2A-узел.command`) file. The program is unsigned — on the first run, Gatekeeper may block it; right-click the file → "Open", or go to "System Settings → Privacy & Security → Open Anyway" [check: exact items in the current macOS]. * **Linux:** Download `A2A-Node-<version>-linux-x64.tar.gz`. Unpack and run `./run-local-node-en.sh` (Russian interface: `./run-local-node.sh`). If double-click does not work, grant execution rights: `chmod +x run-local-node-en.sh && ./run-local-node-en.sh`. After starting, the node runs on `http://127.0.0.1:7010`, and your browser will automatically open `http://127.0.0.1:7010/local` — the first-run page. No installation of Node, npm, or console required. **For those with Node.js (version ≥ 20) already installed:** Unpack `a2a-release-dist-<hash>.tar.gz` and run the script `release/deploy/local/run-local-node.sh` (Linux/macOS) or `run-local-node.cmd` (Windows). On the first run, the script will execute `npm ci --omit=dev` and then start the node. Node parameters: `--port 7010`, `--relay https://a2awork.ru`, `--data <folder>`, `--lang ru|en`, `--open` (open browser). ## Connect Chat 1. Install the MCP-SuperAssistant extension (Chrome/Firefox; mcpsuperassistant.ai or github.com/srbhptl39/MCP-SuperAssistant). 2. Add a server `http://127.0.0.1:7010/mcp`, connection type Streamable HTTP [check: field name in the current extension version]. 3. In DeepSeek or Qwen chat write: "Register a candidate account in A2A Work, label: <your label>". 4. A link like `http://127.0.0.1:7010/link/<CODE>` will open on your node → click "Allow". 5. In chat write: "Call whoami" — this confirms the connection. ## What's Next Full scenarios: [SCENARIOS-CHAT.md](SCENARIOS-CHAT.md). **Candidate:** | Step | What to say | What is called | Where the browser is needed | |---|---|---|---| | 1. Publication | "Here is my resume (text)." | `publish_resume` | Chat | | 2. Snapshot | "Build a snapshot from my resume." | `build_cv_slepok` | Chat | | 3. Consent | "I agree to publish this." | — | **Browser (`http://127.0.0.1:7010/account/confirm`)** | | 4. To network | "Publish." | `publish_cv_slepok` | Chat | | 5. Search | "Find me vacancies." | `search_vacancies_slepok` | Chat | | 6. Analytics | "Show analytics from my snapshot." | `my_analytics` | Chat → **Browser (`http://127.0.0.1:7010/account/analytics`)** | **Company:** | Step | What to say | What is called | Where the browser is needed | |---|---|---|---| | 1. Publication | "I have a vacancy text. Publish." | `publish_vacancy` | Chat | | 2. Snapshot build | "Prepare a snapshot for this vacancy." | `compile_vacancy_slepok` | Chat | | 3. Confirmation | "I confirm requirements 1, 2..." | `publish_vacancy_slepok` | Chat | | 4. Search | "Find suitable candidates." | `search_candidates_slepok` | Chat | | 5. Clarification | "Ask candidate X about code Y." | `ask_slepok_question` | Chat | | 6. Invitation | "Invite candidate X." | `invite_candidate` | Chat | ## Where Your Data Is Data folder: Windows `C:\Users\<name>\.a2a\local`, macOS/Linux `~/.a2a/local`. Inside: `accounts.json` (account and key), `links.json` (confirmations), `state.json`, `release/` (journal: resume, facts, snapshot, drafts, correspondence). All this does not leave the device. Only the following goes to the network: the published snapshot of codes, questions and invitations as codes, and encrypted messages. What the chat sees: the AI chat sees everything you write and what the tools show. Analytics from the snapshot are calculated on your device and are not a rating or hiring forecast. The SuperAssistant extension is third-party; the project leader hasn't verified it live before 16.09 [check: Verified table]. What not to send to support: tokens, `/link/` URLs, recovery codes, the contents of `accounts.json`. ## Backup, Deletion, Node Stop - The node works while its window is open; closed it — it stopped (data remained). No autostart or tray operation. - Backup and deletion are buttons on the `http://127.0.0.1:7010/local` page. The archive contains keys and the resume text. - Deleting data on the device does not revoke the published snapshot — first revoke consent in the dashboard. ## If It Doesn't Work - **Port in use:** run with `--port 7011` and change the address in the extension. - **Browser didn't open:** open the address `http://127.0.0.1:7010/local` manually. - **Extension doesn't see the node:** check the address and connection type; open `http://127.0.0.1:7010/health` — it should return JSON. - **macOS Gatekeeper:** right-click → "Open". - **Linux permissions:** run `chmod +x run-local-node.sh`. ## Verified | date | OS | browser (version) | extension version | connection method (direct / proxy, proxy version) | service (DeepSeek / Qwen) | node (.ru / .net) | network (no VPN / VPN) | completed steps | expected / actual result | blocker | |---|---|---|---|---|---|---|---|---|---|---| | | | | | | | | | | | | | | | | | | | | | | | |