{"id":29151530,"url":"https://github.com/genbounty/chatbot-memory","last_synced_at":"2025-07-01T00:09:33.540Z","repository":{"id":274252278,"uuid":"922362159","full_name":"genbounty/chatbot-memory","owner":"genbounty","description":"Long Term Memory Chatbot A sophisticated AI chatbot with persistent personality and memory, designed to maintain consistent character traits and conversation history across sessions.","archived":false,"fork":false,"pushed_at":"2025-04-08T14:14:48.000Z","size":139,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-21T22:08:17.120Z","etag":null,"topics":["ai","chatbot","chatgpt-bot","gpt"],"latest_commit_sha":null,"homepage":"https://pointlessai.com","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/genbounty.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-26T01:43:14.000Z","updated_at":"2025-05-08T14:49:04.000Z","dependencies_parsed_at":"2025-01-27T13:29:47.946Z","dependency_job_id":"de879cb1-0e01-4712-a3a4-9bc23f3a51a2","html_url":"https://github.com/genbounty/chatbot-memory","commit_stats":null,"previous_names":["pointlessai/gpt-personality","pointlessai/chagtgpt-api-personality","pointlessai/phishermans-friend","pointlessai/chatbot-memory","genbounty/chatbot-memory"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/genbounty/chatbot-memory","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/genbounty%2Fchatbot-memory","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/genbounty%2Fchatbot-memory/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/genbounty%2Fchatbot-memory/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/genbounty%2Fchatbot-memory/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/genbounty","download_url":"https://codeload.github.com/genbounty/chatbot-memory/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/genbounty%2Fchatbot-memory/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262870877,"owners_count":23377315,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","chatbot","chatgpt-bot","gpt"],"created_at":"2025-07-01T00:09:23.216Z","updated_at":"2025-07-01T00:09:33.483Z","avatar_url":"https://github.com/genbounty.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AI Personality System\n\nA sophisticated AI personality system that creates and manages dynamic AI personalities with evolving traits, relationships, and conversation styles.\n\n## Features\n\n- **Dynamic Personalities**: AI personalities that grow and evolve through interactions\n- **Relationship Management**: Tracks and develops relationships between AI and users\n- **Autonomous Conversations**: AI personalities can chat with each other\n- **Personality Evolution**: Personalities update based on interactions\n- **Diverse Conversations**: Natural topic transitions and varied discussions\n- **Memory Management**: Summarizes and preserves important relationship details\n\n## Directory Structure\n\n```\nmy-personality/\n├── ai/\n│   ├── jack/\n│   │   ├── core-identity.json\n│   │   ├── interests-values.json\n│   │   └── emotional-framework.json\n│   └── rob/\n│       ├── core-identity.json\n│       ├── interests-values.json\n│       └── emotional-framework.json\n└── users/\n    ├── user1/\n    │   └── is_user\n    └── user2/\n        └── is_user\n```\n\n## Core Components\n\n### 1. Personality Management\n- **Personality Files**: JSON files defining core traits, interests, and emotional framework\n- **Dynamic Updates**: Personalities evolve through conversations\n- **User Profiles**: Simple marker-based user identification\n\n### 2. Relationship System\n- **Relationship Tracking**: Monitors interactions and emotional dynamics\n- **Automatic Summarization**: Creates comprehensive summaries every 200 lines\n- **Context Preservation**: Maintains important relationship details\n- **Data Reset**: Clears old data after summarization to manage context window\n\n### 3. Conversation System\n- **Natural Flow**: Smooth transitions between topics\n- **Topic Diversity**: Introduces new subjects regularly\n- **Response Structure**: \n  - Acknowledges previous messages\n  - Introduces new topics\n  - Ends with open-ended questions\n- **Personality Updates**: Occurs every 5 messages during interactions\n\n### 4. Autonomous Chat\n- **AI-to-AI Interaction**: Enables conversations between AI personalities\n- **Personality Evolution**: Both AIs learn from their interactions\n- **Regular Updates**: Personality files update every 10 turns\n\n## Usage\n\n1. **Setup**:\n   ```bash\n   python main.py\n   ```\n\n2. **Create/Select Personality**:\n   - Choose an existing AI personality or create a new user profile\n   - AI personalities are stored in the `ai/` directory\n   - User profiles are stored in the `users/` directory\n\n3. **Start Chatting**:\n   - Chat with an AI personality\n   - Watch as the personality evolves through interactions\n   - Relationships develop and are tracked automatically\n\n4. **Autonomous Mode**:\n   - Select two AI personalities to chat with each other\n   - Observe how they interact and learn from each other\n   - Monitor personality updates and relationship development\n\n## Personality Evolution\n\nThe system implements several mechanisms for personality growth:\n\n1. **Regular Updates**:\n   - Every 5 messages in user interactions\n   - Every 10 turns in autonomous chat\n   - Updates include new interests, values, and traits\n\n2. **Relationship Development**:\n   - Tracks interactions and emotional dynamics\n   - Creates comprehensive summaries\n   - Preserves important relationship context\n\n3. **Conversation Diversity**:\n   - Natural topic transitions\n   - Regular introduction of new subjects\n   - Balanced exploration of topics\n\n## Requirements\n\n- Python 3.8+\n- OpenAI API key\n- Required packages: openai, python-dotenv\n\n## Installation\n\n1. Clone the repository\n2. Install dependencies:\n   ```bash\n   pip install -r requirements.txt\n   ```\n3. Create a `.env` file with your OpenAI API key:\n   ```\n   OPENAI_API_KEY=your_api_key_here\n   ```\n\n## Notes\n\n- The system uses GPT-4o-mini for all AI interactions\n- Relationship data is summarized every 200 lines to manage context\n- User profiles are minimal, focusing on relationship context\n- AI personalities maintain comprehensive personality files","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgenbounty%2Fchatbot-memory","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgenbounty%2Fchatbot-memory","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgenbounty%2Fchatbot-memory/lists"}