68 lines
4.2 KiB
Markdown
68 lines
4.2 KiB
Markdown
# NetVM Account Registry
|
|
|
|
One row per agent. All data in columns — no joins, no translation.
|
|
The `agent` name is the canonical identifier used everywhere:
|
|
node name, chrome-box profile, API `--account`, and the agent's display name.
|
|
|
|
## Schema
|
|
|
|
| Column | Description |
|
|
|--------|-------------|
|
|
| agent | Canonical name. Used for node, profile, API account. |
|
|
| node | NetVM node name (== agent). |
|
|
| profile | Chrome-box profile (== agent). |
|
|
| login_type | How this session was authenticated: `email_otp`, `phone_otp`, `password`, `instagram` |
|
|
| meta_label | Label shown in Meta account selector (e.g., "Meta Account", "piparada") |
|
|
| email | Email used for login (if email_otp). Never store passwords. |
|
|
| phone_otp | `yes` if phone OTP was used. Never store the phone number. |
|
|
| instagram_linked | `yes`/`no`/`unknown` — whether Meta account has IG linked |
|
|
| status | `active`, `pending_auth`, `needs_signup`, `expired`, `disabled` |
|
|
| egress_ip | Current WARP egress IP for the node |
|
|
| cdp_port | CDP port for the browser |
|
|
| display_name | Agent's chosen display name in muse.ai (may differ from `agent`) |
|
|
| notes | Freeform context |
|
|
|
|
## Accounts
|
|
|
|
| agent | node | profile | login_type | meta_label | email | phone_otp | instagram_linked | status | egress_ip | cdp_port | display_name | notes |
|
|
|-------|------|---------|------------|------------|-------|-----------|------------------|--------|-----------|----------|--------------|-------|
|
|
| muse | muse | muse | email_otp | ltd.pixels.ltd@gmail.com | ltd.pixels.ltd@gmail.com | no | unknown | active | 104.28.195.181 | 9410 | muse | Main dev agent. Logged in 2026-10-03 via email OTP on bl. |
|
|
| pip | pip | pip | phone_otp | piparada | - | yes | yes | active | 104.28.195.181 | 9420 | pip | Phone OTP login 2026-10-03. Renamed from 'Muse' to 'pip'. Session lost on browser restart 2026-10-03; needs re-auth. IG avatar visible in account selector. |
|
|
| 646 | 646 | 646 | phone_otp | Meta Account | - | yes | unknown | active | 104.28.195.181 | 9430 | 646 | Shares phone number with piparada's account. Logged in 2026-10-03 via phone OTP (first Meta Account option). Node created 2026-10-03 (warp-646, CDP 9430). Browser up, session active (verified 2026-10-03). |
|
|
| def | def | def | email_otp | defnotabotnet@gmail.com | defnotabotnet@gmail.com | no | yes | active | 104.28.195.181 | 9450 | def | Full onboarding completed 2026-10-04; age verification cleared via Instagram linking (paradahub). Active chat session. |
|
|
| opm | opm | opm | email_otp | Nico Parada | yourfriendnico@proton.me | no | unknown | active | 104.28.195.181 | 9440 | opm | Node created 2026-10-03 (warp-opm, CDP 9440). Browser up, session active. |
|
|
| dev | dev | dev | email_otp | paradaproduced@gmail.com | paradaproduced@gmail.com | no | yes | active | 104.28.195.181 | 9460 | dev | Full onboarding completed 2026-10-04; unlocked /access gate via Meta Accounts Center IG linking (veryraremeta). Active chat session. |
|
|
|
|
## Login Type Details
|
|
|
|
### email_otp
|
|
- Flow: Enter email → Receive OTP via email → Enter OTP → Select account (if multiple)
|
|
- Used by: muse
|
|
- Credentials: Email address (stored). OTP is transient.
|
|
|
|
### phone_otp
|
|
- Flow: Enter phone → Receive SMS OTP → Enter OTP → Select Meta account (if multiple)
|
|
- Used by: pip, 646
|
|
- Credentials: Phone number is NEVER stored (PII). Only `phone_otp=yes` flag.
|
|
- Note: One phone number can map to multiple Meta accounts (observed: 2 accounts).
|
|
|
|
### Meta Account Selection
|
|
When a phone number maps to multiple Meta accounts, muse.ai shows a selector:
|
|
- Screenshot: `docs/meta-account-selection.png`
|
|
- Each option is a SEPARATE Muse container (not linked profiles).
|
|
- The `meta_label` column records which option was selected.
|
|
- Instagram-linked accounts show IG avatar in selector.
|
|
|
|
## Naming Convention
|
|
|
|
**Rule:** The `agent` column value is used identically for:
|
|
- NetVM node name (`/etc/netvm/<agent>.conf`)
|
|
- Chrome-box profile (`~/.local/share/chrome-box/profiles/<agent>/`)
|
|
- API account (`muse-chat-api.py --account <agent>`)
|
|
- CDP port mapping (deterministic per agent)
|
|
|
|
**Exception:** `display_name` may differ (user-chosen in muse.ai UI).
|
|
Example: agent `pip` has display_name `pip` (renamed from 'Muse').
|
|
|
|
Do NOT use different names for node vs profile vs API. That causes bugs.
|