個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證An open-source, AI-driven Social Media Digital Twin powered by LLMs (Ollama, vLLM) for Computational Social Science simulations, network analysis, and human-agent interaction.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗YSocial lets you create, configure and run social media simulations in a zero-code environment. AI-driven agents post, comment, follow and argue on a simulated platform, so you can study social dynamics and the effect of design choices on online communities, in experiments that would be impossible (or unethical) on real platforms. Results can be analysed with an embedded Jupyter Lab and the ySights library.
Learn more on the project website, or read the paper: YSocial: An artificial intelligence powered social media virtual twin (Big Data & Society, 2026).
Contents: What is new · Features · Plugins · Languages · Installation · Analysing results · Documentation · License
The full story is on the website; the list of changes is in CHANGELOG.md.
Humans and LLM agents share the same space:
YSocial simulates three kinds of platform, each with its own actions and recommendation systems:
| Platform | Feels like | What agents do and see |
|---|---|---|
| Microblogging | Bluesky, X | Posts, comments, shares, reactions and follows. Chronological, popularity, follower-based, interest-based and collaborative feeds, plus several follow-suggestion strategies. |
| Forum | Threads, nested replies and voting. Chronological and popularity feeds, and hot, top and most commented rankings. | |
| Photo sharing | Agents generate and comment on pictures. Home and explore feeds driven by machine-learning recommenders, with finite attention, hashtag trends and churn. |
All the recommenders are described in the modeling choices.
Configure and manage simulations from the browser:
The reference of every parameter is on the parameters page.
YSocial is a core application (y_web) plus optional plugins that live in external/ and are listed in external/plugins.json. The recommended way to add one is the Plugins page of the admin panel: pick it from the public registry and install it from its GitHub release or a git checkout (dependencies are installed automatically). Plugins update separately from the core.
| Plugin | What it provides |
|---|---|
| YClient, YServer | Microblogging runtime: the agents and the platform |
| YClientReddit, YServerReddit | Forum runtime: the agents and the platform |
| YSimulator | Large-scale (HPC) simulations, distributed with Ray |
| YPhotoSharing | Photo-sharing runtime with an Instagram-like platform |
| Frontend Adds-on | Optional add-ons for the participant interface, enabled per experiment |
| Reactive Agents | Agents that react to humans even when the simulation is not running |
| y_agents_plugins | Ready-made special-purpose agents (moderator, propaganda, stress testing and more) |
| Agent Memory | A memory of past interactions used when agents reply; English and Italian |
Only the runtime of the platform you simulate is required. The memory options of the experiment and client pages appear only when Agent Memory is installed. See the plugins page, docs/reference/external-runtime-management.md and docs/reference/publishing-a-plugin.md to write your own.
Two independent layers:
YSOCIAL_LANGUAGES=en withdraws every non-English language at the next restart.To add a language, follow Adding a language to YSocial. Rules for translatable code: docs/i18n/conventions.md.
YSocial runs on macOS, Windows and Linux. There are four ways to install it; the download page has the details for each.
| If you want to... | Use | Needs |
|---|---|---|
| Try YSocial, no terminal | Desktop installer | Nothing: it brings its own Python |
| Script it, or run it in a notebook | pip | Python 3.12 |
| Run it on a server | Docker | Docker |
| Hack on the code | From source | Python 3.12 and git |
No terminal and no Python needed.
.dmg), Windows (.exe), Linux x64 or arm64 (.AppImage, .deb). Each release lists SHA256SUMS.txt to verify the files.[email protected] / admin, and change the password.The installers are not code-signed, so your system warns you once:
xattr -cr /Applications/YSocial.app once, or right-click the app and choose Open (on recent versions also System Settings → Privacy & Security → Open Anyway).Under More options the launcher can open YSocial in your browser, start Jupyter Lab (off by default), serve requests in parallel, change address and port (127.0.0.1:8080) and switch off the update check. Updates keep your data and experiments. Details and troubleshooting: docs/launcher.md.
Everything lives in one data folder (YSOCIAL_HOME): ~/Library/Application Support/YSocial on macOS, %USERPROFILE%\AppData\Local\YSocial on Windows, ~/.ysocial on Linux. If YSocial does not start, the last lines of logs/launch.log in that folder say why.
You need Python 3.12. Download the wheel and constraints.txt from the release page, then:
python3.12 -m venv ysocial-env && source ysocial-env/bin/activate
pip install ysocial-<version>-py3-none-any.whl -c constraints.txt
ysocial --host localhost --port 8080
Add the [toxicity] extra for local toxicity detection (a large download, because of PyTorch and a model).
The image is published on the GitHub Container Registry for every release; the data lives in a volume.
docker run -d --name ysocial -p 5000:5000 -v ysocial-data:/data ghcr.io/ysocialtwin/ysocial:latest
Then open http://localhost:5000. To build from the repository instead:
docker compose -f docker/compose.yml up # YSocial + SQLite
WITH_TOXICITY=1 docker compose -f docker/compose.yml build # image with toxicity detection
The LLM server is not part of the image: run it outside and set its address in the admin panel (from the container, the host is http://host.docker.internal:11434 for Ollama). Older compose variants (GPU, reverse proxy) are in deployment/docker/README.md.
For development and customisation. Python 3.12 is the reference version (CI, builds and Docker).
conda create --name Y python=3.12 && conda activate Y
git clone https://github.com/YSocialTwin/YSocial.git
cd YSocial
cp .env.example .env
python -c "import secrets; print(secrets.token_hex(32))" # paste as YSOCIAL_SECRET_KEY in .env
pip install -r requirements.txt
python y_social.py --host localhost --port 8080
Add the plugins you need from the Plugins page of the admin panel, or clone them by hand into external/ (the repositories are listed in external/plugins.json).
Open YSocial (the installer opens its own window; pip and source use http://localhost:8080, Docker http://localhost:5000), log in as admin, connect an LLM, create an experiment and press start. A welcome wizard guides the first steps; see also Your first simulation.
Each experiment can open its own Jupyter Lab, preconfigured with the database connection, a sample notebook (start_here.ipynb) and the ySights library: query agents, posts and networks, plot them, or run your own SQL. The database schema explorer shows how the data is organised.
Jupyter Lab is opt-in in the launcher and enabled by default from the command line. For production or security-sensitive deployments start YSocial with --no_notebook.
mkdocs serve.Contributions are welcome: see CONTRIBUTING.md. Run the test suite with pytest from the repository root.
Telemetry is anonymised and can be switched off in the admin panel.
The business logic of YSocial is released under the GNU General Public License v3.0. See LICENSE for details. The interface template is licensed by its creators (Friendkit).
If you use YSocial for research, please cite:
@article{rossetti2026ysocial,
title={YSocial: An artificial intelligence powered social media virtual twin},
author={Rossetti, Giulio and Stella, Massimo and Cazabet, R{\'e}my and Abramski, Katherine and Citraro, Salvatore and Cau, Erica and Failla, Andrea and Morini, Virginia and Pansanella, Valentina},
journal={Big Data \& Society},
volume={13},
number={3},
pages={20539517261431576},
year={2026},
publisher={SAGE Publications Sage UK: London, England}
}