4.2 KiB
4.2 KiB
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 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 | 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 | artglobal.cc@gmail.com | no | yes | active | 104.28.195.181 | 9440 | opm | Email changed from yourfriendnico@proton.me to artglobal.cc@gmail.com. Linked with IG auxfate. 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=yesflag. - 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_labelcolumn 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.