This extension connects your browser directly to NeomeAI. Once connected, youβll get a Client ID that you paste into the Social Website node to control your browser.
This ID uniquely links your browser to NeomeAI.
In NeomeAI:
Once connected, NeomeAI can control your browser safely and automatically.
This extension is now very simple. Each platform lives inside the CustomScripts folder, and background.js sends commands to the correct script.
In manifest.json, add the new website inside host_permissions.
"host_permissions": [
"https://x.com/*",
"https://www.reddit.com/*",
"https://www.tiktok.com/*",
"https://mail.google.com/*",
"https://web.telegram.org/*",
"https://discord.com/*"
]
Create a new file such as CustomScripts/discord.js.
export async function handleCommand(data) {
const action = String(data.action || "").trim().toLowerCase();
if (action !== "post") return;
// your platform logic here
}
Add the import at the top of background.js:
import { handleCommand as handleDiscordCommand } from "./CustomScripts/discord.js";
Then add it to the router:
const platformHandlers = {
x: handleXCommand,
reddit: handleRedditCommand,
tiktok: handleTikTokCommand,
gmail: handleGmailCommand,
telegram: handleTelegramCommand,
discord: handleDiscordCommand
};
To add a new platform, you only need to do 3 things:
1. Add the site to host_permissions
2. Create the new file in CustomScripts
3. Add the import and handler in background.js
Most AI tools try to control websites using APIs, stored credentials, or external automation servers. That approach creates risk: keys can leak, accounts can be compromised, and behavior becomes unpredictable.
NeomeAI uses a completely different model.
This extension runs inside your own Chrome browser. It uses your existing logged-in sessions β nothing is stored, nothing is shared.
The extension can only interact with websites you explicitly allow in manifest.json.
x.comreddit.comtiktok.commail.google.comweb.telegram.orgIf a site is not listed, it is impossible for the system to touch it.
The AI does not βfreestyleβ actions. It sends structured commands, and each platform script executes them in a controlled way.
This means:
Everything is visible and auditable.
A system that is both deterministic and safe by design.
Your browser executes the action. The AI only gives instructions.
That separation is the magic.
The system uses two simple message types to communicate between NeomeAI and your browser.
When NeomeAI wants your browser to do something, it sends a command.
{
"type": "cmd",
"platform": "x",
"action": "post",
"text": "Hello from NeomeAI"
}
{
"type": "cmd",
"platform": "x",
"action": "post",
"text": "Watch this video",
"media": [
{
"data": "data:video/mp4;base64,...",
"type": "video/mp4"
},
{
"data": "data:image/png;base64,...",
"type": "image/png"
}
]
}
The extension receives the command and executes it using your browser session.
When something happens in your browser, the extension sends an event back:
{
"type": "event",
"platform": "x",
"event": "mention",
"mention": {
"author": "user",
"text": "hey check this",
"url": "https://x.com/..."
}
}
Two message types. Deterministic. Nothing hidden.
No special platform required β works on Mac, Linux, and Windows.
cd your-folder
# go inside your project folder
python3 -m venv venv
# create a virtual environment
source venv/bin/activate
# activate the virtual environment (Mac/Linux)
pip install websockets
# install required dependency (use a fixed version like websockets==12.0)
# no need for the latest version
python3 client.py
# start the client
When you run client.py, it will display a Client ID.
Copy this Client ID and paste it into the Client ID field inside your Virtual Env node.
This connects your local environment to NeomeAI.
Run your WebSocket server on port 8888, use a Python virtual environment instead of global packages, expose it through yourserver.com with Nginx, and install SSL with Certbot so your node can use wss://yourserver.com.
You need to connect your domain to your server IP using DNS. This is done from your registrar or DNS provider such as Cloudflare or GoDaddy.
A record
Host: @
Value: YOUR_SERVER_IP
A record
Host: www
Value: YOUR_SERVER_IP
DNS changes usually start working quickly, but full propagation can take longer.
sudo apt update
# update package list
sudo apt install nginx python3 python3-venv certbot python3-certbot-nginx -y
# install nginx, python, virtual environment support, and certbot for nginx
Example structure:
/var/www/yourserver.com/WSserver/server.py
cd /var/www/yourserver.com/WSserver
# go inside your websocket server folder
python3 -m venv venv
# create isolated python environment
source venv/bin/activate
# activate the virtual environment
pip install websockets==12.0
# install fixed version = stable and predictable
This avoids global installs and keeps your server dependencies isolated.
Your Python server should bind to:
0.0.0.0:8888
cd /var/www/yourserver.com/WSserver
# go inside project folder
nohup ./venv/bin/python server.py > server.log 2>&1 &
# run server in background using the python inside your venv
This keeps your WebSocket server running after you close the terminal.
sudo nano /etc/nginx/sites-available/yourserver.com
Paste this:
server {
listen 80;
listen [::]:80;
server_name yourserver.com www.yourserver.com;
location / {
proxy_pass http://127.0.0.1:8888;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
sudo ln -s /etc/nginx/sites-available/yourserver.com /etc/nginx/sites-enabled/
# enable the site
sudo nginx -t
# test nginx config
sudo systemctl reload nginx
# reload nginx
sudo certbot --nginx -d yourserver.com -d www.yourserver.com
Follow the prompts, enter your email, agree to the terms, and let Certbot update your Nginx config automatically.
Your WebSocket server is now running on yourserver.com, uses a Python virtual environment, stays alive in the background using nohup, and has SSL installed with Certbot.
Use wss://yourserver.com as the endpoint in your node.