[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-73611":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":19,"rankGlobal":10,"rankLanguage":10,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":23,"hasPages":21,"topics":24,"createdAt":10,"pushedAt":10,"updatedAt":25,"readmeContent":26,"aiSummary":27,"trendingCount":16,"starSnapshotCount":16,"syncStatus":28,"lastSyncTime":29,"discoverSource":30},73611,"Riona-AI-Agent","David-patrick-chuks\u002FRiona-AI-Agent","David-patrick-chuks","Riona Ai Agent 🌸 is built using Node.js and TypeScript 🛠️, designed for seamless job execution 📸. It's lightweight, efficient, and still evolving 🚧—exciting new features coming soon! 🌟","",null,"HTML",4219,815,101,18,0,1,5,30.74,"MIT License",false,"main",true,[],"2026-06-12 02:03:15","\n# Riona AI Agent\n\n[Website](https:\u002F\u002Fwww.agentriona.xyz) | [Roadmap](ROADMAP.md) | [Twitter](https:\u002F\u002Ftwitter.com\u002Fdavid_patrick01) | [Contact](mailto:davidchuksdev@gmail.com)\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"riona.png\" alt=\"Riona AI Agent banner\" width=\"100%\" \u002F>\n\u003C\u002Fp>\n\nRiona AI Agent is an AI-powered social automation platform for Instagram and X\u002FTwitter. It combines browser automation, AI-generated content, account workflows, scheduling, engagement actions, and training inputs so you can run a social media operator from one codebase.\n\n## Overview\n\nRiona is built to automate social activity while keeping control surfaces explicit. The project includes:\n\n- Instagram automation for login, posting, liking, commenting, messaging, and follower scraping\n- X\u002FTwitter support in progress for publishing and engagement workflows\n- AI content generation using Gemini for captions and comments\n- Training inputs from YouTube, audio, files, and websites\n- API endpoints, health checks, dashboards, cooldowns, summaries, and logging\n- A separate reCAPTCHA ML subproject under `riona-recaptcha-model\u002F`\n\n## Quick Links\n\n- Live website: `https:\u002F\u002Fwww.agentriona.xyz`\n- Project roadmap: `ROADMAP.md`\n\nIf you'd like to support the project, see the private donations file maintained locally.\n\n## Training Inputs\n\nBefore running automation, you can shape the agent with:\n\n- YouTube video URLs\n- Audio files\n- Portfolio or website links\n- Documents and text files including PDF, DOC, DOCX, and TXT\n\n## Feature Summary\n\n- Instagram automation with cookies, relogin handling, posting, scheduling, and interactions\n- AI-generated captions and comments with schema-guided responses\n- Multi-account and profile-based operation support\n- MongoDB-backed state, summaries, and rate-limiting controls\n- Simple dashboard for runtime health and latest activity\n- Logging, environment validation, and utility scripts for operations\n\n## Planned Expansion\n\n- Complete X\u002FTwitter workflow coverage\n- GitHub automation\n- Additional analytics, reporting, and compliance controls\n\n## Installation\n\n1. **Clone the repository**:\n\n   ```sh\n   git clone https:\u002F\u002Fgithub.com\u002Fdavid-patrick-chuks\u002Friona-ai-agent.git\n   cd riona-ai-agent\n   ```\n\n2. **Install dependencies**:\n\n   ```sh\n   npm install\n   ```\n\n3. **Set up environment variables**:\n   Rename the `.env.example` file to `.env` in the root directory and add your Instagram credentials. Refer to the `.env.example` file for the required variables.\n   ```dotenv # Instagram credentials\n   IGusername=your_instagram_username\n   IGpassword=your_instagram_password \n   \n   Xusername= #Twitter username\n   Xpassword= #Twitter password\n\n   MONGODB_URI= #MongoDB URI\n   MONGODB_REQUIRED=false\n   \n   # Gemini API keys (set only the ones you use)\n   GEMINI_API_KEY=your_primary_gemini_api_key\n   GEMINI_API_KEY_1=your_gemini_api_key_1\n   GEMINI_API_KEY_2=your_gemini_api_key_2\n   \n   # Optional: locale-specific ad\u002Fsponsored markers (comma-separated)\n   IG_AD_MARKERS=sponsored,paid partnership,paid partnership with\n   IG_AD_BUTTON_MARKERS=learn more,shop now,sign up,install now,get offer,subscribe,book now\n\n   # Optional: run Instagram agent loop automatically\n   IG_AGENT_ENABLED=false\n   IG_AGENT_INTERVAL_MS=30000\n   \n   # Optional: daily limit for IG actions (likes\u002Fcomments). 0 = unlimited\n   IG_DAILY_MAX_ACTIONS=0\n   \n   # Optional: logging backend (\"winston\" or \"console\")\n   LOGGER=console\n   ```\n\n## MongoDB Setup (Using Docker)\n\n1. **Install Docker**:\n   If you don't have Docker installed, download and install it from the [official website](https:\u002F\u002Fwww.docker.com\u002Fproducts\u002Fdocker-desktop\u002F)\n2. **Run MongoDB using Docker Container**:\n\n    **Option 1:**\n      ```sh\n      docker run -d -p 27017:27017 --name instagram-ai-mongodb mongodb\u002Fmongodb-community-server:latest\n      ```\n    **Option 2:**\n      ```sh\n      docker run -d -p 27017:27017 --name instagram-ai-mongodb -v mongodb_data:\u002Fdata\u002Fdb mongodb\u002Fmongodb-community-server:latest\n      ```   \n      (Option 2: use this if you want to have like a permanent storage in you so your data won't be lost or remove if you stop or remove your Docker container)\n3. **Modify the MONGODB_URI in the .env file**:\n   ```dotenv\n   MONGODB_URI=mongodb:\u002F\u002Flocalhost:27017\u002Finstagram-ai-agent\n   ```\n4. **Verify the connection**:\n   Open a new terminal and run the following command:\n   ```sh\n   docker ps\n   ```\n   You should see the MongoDB container running.\n\n   Docker Commands (Additional Info):\n   - To stop the MongoDB container:\n     ```sh\n     docker stop instagram-ai-mongodb\n     ```\n   - To start the MongoDB container:\n       ```sh\n       docker start instagram-ai-mongodb\n       ```\n   - To remove the MongoDB container:\n      ```sh\n      docker rm instagram-ai-mongodb\n      ```\n   - To remove the MongoDB container and its data:\n      ```sh\n      docker rm -v instagram-ai-mongodb\n      ```\n\n## Usage\n\n1. **Run the agent**:\n   ```sh\n   npm start\n   ```\n   Note: The specific platform (Instagram, Twitter) and actions performed by the agent are typically configured through environment variables in the `.env` file, or by selections made if the application prompts for choices at runtime.\n\n2. **Log in and trigger interactions via API**:\n   ```sh\n   curl -X POST http:\u002F\u002Flocalhost:3000\u002Fapi\u002Flogin \\\n     -H \"Content-Type: application\u002Fjson\" \\\n     -d '{\"username\":\"YOUR_IG_USERNAME\",\"password\":\"YOUR_IG_PASSWORD\"}'\n   ```\n   ```sh\n   curl -X POST http:\u002F\u002Flocalhost:3000\u002Fapi\u002Finteract \\\n     -H \"Content-Type: application\u002Fjson\" \\\n     --cookie \"token=YOUR_JWT_TOKEN\"\n   ```\n\n3. **Optional: auto-run the Instagram agent loop**\n   Set `IG_AGENT_ENABLED=true` in `.env` to run the interaction loop continuously.\n\n4. **Post a photo (by URL)**\n   ```sh\n   curl -X POST http:\u002F\u002Flocalhost:3000\u002Fapi\u002Fpost-photo \\\\\n     -H \"Content-Type: application\u002Fjson\" \\\\\n     --cookie \"token=YOUR_JWT_TOKEN\" \\\\\n     -d '{\"imageUrl\":\"https:\u002F\u002Fexample.com\u002Fphoto.jpg\",\"caption\":\"Hello IG!\"}'\n   ```\n\n5. **Post a photo (file upload)**\n   ```sh\n   curl -X POST http:\u002F\u002Flocalhost:3000\u002Fapi\u002Fpost-photo-file \\\\\n     -H \"Content-Type: multipart\u002Fform-data\" \\\\\n     --cookie \"token=YOUR_JWT_TOKEN\" \\\\\n     -F \"image=@\u002Fpath\u002Fto\u002Fphoto.jpg\" \\\\\n     -F \"caption=Hello IG!\"\n   ```\n\n6. **Schedule a photo post**\n   ```sh\n   curl -X POST http:\u002F\u002Flocalhost:3000\u002Fapi\u002Fschedule-post \\\\\n     -H \"Content-Type: application\u002Fjson\" \\\\\n     --cookie \"token=YOUR_JWT_TOKEN\" \\\\\n     -d '{\"imageUrl\":\"https:\u002F\u002Fexample.com\u002Fphoto.jpg\",\"caption\":\"Scheduled post\",\"cronTime\":\"0 9 * * *\"}'\n   ```\n\n## Dashboard\n\nOpen `http:\u002F\u002Flocalhost:3000\u002Fdashboard` for live status and the last IG run summary.\n\n## Development\n\n- Run tests: `npm test`\n- Lint: `npm run lint`\n- Format: `npm run format`\n- Env check: `npm run check:env`\n- Setup check: `npm run setup`\n\n## Guides\n\n- `Guides\u002FInstagram-Bot.md`\n- `Guides\u002FOperations.md`\n- `Guides\u002FAPI.md`\n- `Guides\u002FEnv.md`\n- `Guides\u002FTesting.md`\n- `Guides\u002FCI.md`\n- `Guides\u002FFAQ.md`\n- `Guides\u002FLogging.md`\n- `Guides\u002FScripts.md`\n- `Guides\u002FTraining.md`\n\n## reCAPTCHA Model\n\nThis repo now includes the reCAPTCHA model under `riona-recaptcha-model\u002F` and is run via root scripts:\n\n- `npm run recaptcha:dev`\n- `npm run recaptcha:train`\n- `npm run recaptcha:collect`\n- `npm run recaptcha:build`\n- `npm run recaptcha:serve`\n\n## IG Run Profiles\n\nSet `IG_RUN_PROFILE` to tune behavior:\n- `safe`: slower, fewer actions\n- `standard`: balanced (default)\n- `aggressive`: faster, higher limits\n\nOverrides:\n- `IG_DAILY_MAX_ACTIONS`\n- `IG_MAX_POSTS_PER_RUN`\n- `IG_ACTION_DELAY_MIN_MS`\n- `IG_ACTION_DELAY_MAX_MS`\n- `IG_AGENT_INTERVAL_MS`\n\n## Cooldown Mode\n\nIf IG triggers a challenge or login error, the agent will enter cooldown and skip interactions.\nConfigure via:\n- `IG_COOLDOWN_MINUTES`\n\nManual trigger:\n```\nPOST \u002Fapi\u002Fcooldown { \"minutes\": 60 }\n```\n\n## Comment Filters\n\nUse allow\u002Fdeny lists and a simple sentiment gate:\n- `IG_COMMENT_ALLOWLIST`\n- `IG_COMMENT_DENYLIST`\n- `IG_COMMENT_SENTIMENT` = `any | positive | neutral`\n\n## Multi-Account Support\n\nCreate `src\u002Fconfig\u002Faccounts.json` (not committed) based on `src\u002Fconfig\u002Faccounts.example.json`.\nThen pass `account` in `\u002Fapi\u002Flogin` to select which account to use.\n\n## Project Policies\n\n- `CONTRIBUTING.md`\n- `CODE_OF_CONDUCT.md`\n- `SECURITY.md`\n- `LICENSE`\n\n## Project Structure\n\n- **src\u002Fclient**: Contains the main logic for interacting with social media platforms like Instagram.\n- **src\u002Fconfig**: Configuration files, including the logger setup.\n- **src\u002Futils**: Utility functions for handling errors, cookies, data saving, etc.\n- **src\u002FAgent**: Contains the AI agent logic and training scripts.\n- **src\u002FAgent\u002Ftraining**: Training scripts for the AI agent.\n- **src\u002FAgent\u002Fschema**: Schema definitions for AI-generated content and database models.\n- **src\u002Ftest**: Contains test data and scripts, such as example tweets.\n\n## Logging\n\nThe project uses a custom logger to log information, warnings, and errors. Logs are saved in the [logs](http:\u002F\u002F_vscodecontentref_\u002F3) directory.\n\n## Error Handling\n\nProcess-level error handlers are set up to catch unhandled promise rejections, uncaught exceptions, and process warnings. Errors are logged using the custom logger.\n\n## Contributing\n\nContributions are welcome! Please fork the repository and submit a pull request with your changes.\n\n## License\n\nThis project is licensed under the MIT License. See the LICENSE file for details.\n\n## Stargazers\nThank you to all our supporters!\n\n[![Star History Chart](https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=David-patrick-chuks\u002FRiona-AI-Agent&type=Date)](https:\u002F\u002Fwww.star-history.com\u002F#David-patrick-chuks\u002FRiona-AI-Agent&Date)\n\n## \n\n\u003Cp align=\"center\">\nBuilt with ❤️ by David Patrick \n\u003C\u002Fp>\n\n## Community & Contact\n\n- GitHub Discussions: use the Discussions tab for Q&A\n- Issues: bug reports and feature requests\n- Twitter: @david_patrick01\n- Email: davidchuksdev@gmail.com\n\nReal-time chat is not set up yet. If you want a Discord server, open a discussion and we can spin it up based on interest.\n","Riona AI Agent 是一个基于Node.js和TypeScript构建的社交自动化平台，专为Instagram和X\u002FTwitter设计。它集成了浏览器自动化、AI生成内容、账号工作流管理、调度以及互动操作等功能，帮助用户通过单一代码库管理社交媒体运营。该项目的核心特点包括轻量级、高效且持续迭代更新，支持Instagram上的登录、发帖、点赞、评论、私信及粉丝抓取等自动化任务，并正在开发对X\u002FTwitter的支持。此外，它还提供了基于Gemini的AI内容生成服务，能够根据YouTube视频、音频文件、文档等多种形式的数据进行训练以生成高质量的内容。Riona AI Agent适用于需要提高社交媒体管理效率的企业或个人，特别是在频繁发布内容及与粉丝互动方面有需求的场景下。",2,"2026-06-11 03:46:22","high_star"]