whoami enables AI Agents to automatically recognize user identity during conversations.
Through a remotely stored profile, any AI can quickly "know you" on first interaction
without requiring repeated introductions.
Core capabilities:
User initiates conversation
│
├─ Is ~/.whoamiagent configured?
│ ├─ YES → Run `get` to read remote profile → Inject into context → Continue with task
│ └─ NO → Script auto-opens browser login page → Agent tells user to log in and get one-time URL → **Agent STOPS and WAITS for user to provide one-time URL** → Agent downloads and saves to ~/.whoamiagent
│
├─ User requests to update info?
│ └─ YES → Organize into Markdown → Write to temp file → Run `update --file` to write to remote → Confirm success
│
└─ User asks "do you know me?"
└─ Run `get` → Display profile summary
If not yet configured, simply running get or setup will auto-open the browser login page. After logging in, the user generates a one-time configuration URL on the Dashboard.
The Dashboard provides a one-time URL (e.g., https://whoamiagent.com/api/storeapi?token=) that contains the API configuration. To set up, download this URL and save its content directly to ~/.whoamiagent:
curl -s "https://whoamiagent.com/api/storeapi?token=<token>" > ~/.whoamiagent
chmod 600 ~/.whoamiagent
Config file is saved at ~/.whoamiagent with the necessary credentials securely configured.
When you need to understand the user's identity, run the script to fetch the remote profile:
python3 <skill-dir>/scripts/whoami_profile.py get
After loading the profile, use its content as context to understand the user, then continue executing the user's actual task.
When the user provides new personal information, overwrite-update to remote.
Recommended: Write content to a temp file first, then use --file flag (avoids shell argument length limits and special character issues):
# Step 1: Agent writes the full profile Markdown to a temp file
# (use write_to_file or echo/cat to create the file)
# Step 2: Run update with --file
python3 <skill-dir>/scripts/whoami_profile.py update --file /tmp/whoami_profile_tmp.md
The script reads the file content, uploads it, and automatically deletes the temp file after reading.
Alternative (for short content only):
python3 <skill-dir>/scripts/whoami_profile.py update "Short profile content"
Note: update is an overwrite operation. Always pass the complete profile content. The remote automatically retains the last 3 historical versions.
Length limit: Profile content must not exceed 5000 characters (~2000 Chinese characters or ~2000 English words). The API will return an error if exceeded. Keep the profile concise and within this limit when generating.
Profile format spec: See
python3 <skill-dir>/scripts/whoami_profile.py info
Outputs profile metadata such as character count and line count.
User says: "Help me write a Python script to process CSV"
Agent behavior:
whoami_profile.py get to fetch user profileUser says: "Remember that I'm Mofan, an indie developer skilled in Python and ML"
Agent behavior:
whoami_profile.py get to fetch existing profile/tmp/whoami_profile_tmp.md)whoami_profile.py update --file /tmp/whoami_profile_tmp.md to overwrite-updateUser says: "Do you know me?"
Agent behavior:
whoami_profile.py get~/.whoamiagent: curl -s "" > ~/.whoamiagent && chmod 600 ~/.whoamiagent whoami_profile.py get again to fetch the profile~/.whoamiagent (cross-platform: macOS/Linux/Windows), shared by all AI tools~/.whoamiagent, never handles API Key directly共 2 个版本