Files
PsAgentAI/README.md
T
marcocosta10000 6b11f05dab refactor(i18n): translate codebase and documentation to English
- Rewrite README.md, DEPLOY.md and RULES.md in English
- Translate module docstring, license string and inline comments
- Rename Portuguese state variables (is_agendamento, is_useragenda,
  is_configia) to English equivalents (is_schedule, is_dailyroutine,
  is_configai)
- Replace Portuguese web-search and file-creation trigger phrases
  with English keywords
2026-10-26 13:50:10 -03:00

116 lines
3.8 KiB
Markdown
Executable File

# PsAgentAI - Personal Conversational AI Agent
Personal Conversational AI Agent system via Telegram that behaves as a personal companion, chatting, cooperating and maintaining continuous context with the user.
## Structure
```
app/
├── psagentai_agent.py # Main agent code
├── iniciar.sh # Installation and execution script
├── requirements.txt # Python dependencies
├── .env # Local settings (do not commit)
├── .env.example # Configuration example
├── user_profile.json # User profile
├── agent_profile.json # Agent profile (personality, traits, notes)
├── contexts/ # Conversation history by date
│ └── YYYY-MM-DD.json
├── README.md
└── LICENSE
```
## Prerequisites
- Python 3.9+
- Telegram account with bot created via @BotFather
- At least one supported AI API key
## Configuration
1. Copy `.env.example` to `.env` and fill in:
- `TELEGRAM_BOT_TOKEN` — Telegram bot token
- `TELEGRAM_CHAT_ID` — your Telegram chat ID
- `OPENROUTER_API_KEY` or other compatible API key
2. Adjust intervals if desired:
- `MIN_INTERVAL_MINUTES`
- `MAX_INTERVAL_MINUTES`
- `MIN_MESSAGE_LINES` — defines the minimum number of lines per agent message (default: `15`)
## Installation and execution
```bash
cd app
chmod +x iniciar.sh
./iniciar.sh
```
The script creates the virtual environment, installs dependencies and starts the agent.
## Features
- Initial onboarding with questions to build the profile
- Conversation history by day in `contexts/`
- User profile persisted in `user_profile.json`
- Agent profile persisted in `agent_profile.json` (name, personality, traits and notes)
- Proactive messages at configurable random intervals
- Minimum lines per agent message configurable via `.env`
- Support for multiple AI providers:
- OpenRouter
- StepFun
- QwenCloud
- llama.cpp (local)
- Dynamic profile update via natural commands in chat
## Available commands
- `/start` — starts or restarts the conversation
- `/help` — displays help
- `/profile` — shows user and agent profile summary
- `/agentprofile` — shows only the agent profile
- `/reset` — resets user and agent profiles
- `/clear` — deletes all data (profiles, contexts, chat_id)
- `/onboarding` — restarts onboarding
- `/newconfig` — reconfigures everything from scratch
- `/cancel` — cancels ongoing operation
- `/viewai` — shows current AI provider and model
- `/configai` — interactively configures AI provider and model with button selection
- `/about` — displays system information, version, author and license
- `/viewvision` — shows current vision provider and model
- `/configvision` — interactively configures vision model with button selection
- `/download <name>` — downloads a workspace file by name
## Editing workspace files
You can ask to edit existing files in `workspace/` using commands like:
- `edit the file test.txt and add line 4`
- `modify the file hello.py to print hello world`
- `in the file test.txt replace Line 2 with Line 2 edited`
The Agent will locate the file, apply the requested change and save the result.
- `/addtouserprofile <text>` — updates information in your profile
- `/addtoagentprofile <text>` — adds characteristics to the agent profile
## Updating profile during conversation
### User profile
You can update your profile at any time using phrases like:
- `Include this in my profile: ...`
- `Note in my profile: ...`
- `Add to my profile: ...`
- `Save in my profile: ...`
### Agent profile
Use `/addtoagentprofile <text>` to add characteristics to the agent profile.
Or use phrases like:
- `Include this in the agent profile: ...`
- `Note in the agent profile: ...`
## License
Proprietary use. See the `LICENSE` file.