Files
marco e489b6a2e2 feat: initial project setup with psagentia agent implementation
Add core Python agent with configuration management, environment setup,
and deployment documentation. Includes user/agent profiles, startup
scripts, and dependency management for the psagentia system.
2026-09-03 16:11:46 -03:00

101 lines
3.2 KiB
Markdown
Executable File

# PsAgentIA - Personal Agent IA Conversacional
Sistema de Personal Agent IA Conversacional via Telegram que se comporta como uma companheira pessoal, conversando, cooperando e mantendo contexto contínuo com o usuário.
## Estrutura
```
app/
├── psagentia_agent.py # Código principal do agente
├── iniciar.sh # Script de instalação e execução
├── requirements.txt # Dependências Python
├── .env # Configurações locais (não comitar)
├── .env.example # Exemplo de configuração
├── user_profile.json # Perfil do usuário
├── agent_profile.json # Perfil do agente (personalidade, traços, notas)
├── contexts/ # Históricos de conversa por data
│ └── YYYY-MM-DD.json
├── README.md
└── LICENSE
```
## Pré-requisitos
- Python 3.9+
- Conta no Telegram com bot criado via @BotFather
- Pelo menos uma chave de API de IA suportada
## Configuração
1. Copie `.env.example` para `.env` e preencha:
- `TELEGRAM_BOT_TOKEN` — token do bot do Telegram
- `TELEGRAM_CHAT_ID` — seu chat ID no Telegram
- `OPENROUTER_API_KEY` ou outra chave de API compatível
2. Ajuste intervalos se desejar:
- `MIN_INTERVAL_MINUTES`
- `MAX_INTERVAL_MINUTES`
- `MIN_MESSAGE_LINES` — define o número mínimo de linhas por mensagem do agente (padrão: `15`)
## Instalação e execução
```bash
cd app
chmod +x iniciar.sh
./iniciar.sh
```
O script cria o ambiente virtual, instala dependências e inicia o agente.
## Funcionalidades
- Onboarding inicial com perguntas para construir o perfil
- Histórico de conversa por dia em `contexts/`
- Perfil do usuário persistido em `user_profile.json`
- Perfil do agente persistido em `agent_profile.json` (nome, personalidade, traços e notas)
- Mensagens proativas em intervalos aleatórios configuráveis
- Mínimo de linhas por mensagem do agente configurável via `.env`
- Suporte a múltiplos provedores de IA:
- OpenRouter
- StepFun
- QwenCloud
- llama.cpp (local)
- Atualização dinâmica do perfil via comandos naturais no chat
## Comandos disponíveis
- `/start` — inicia ou reinicia a conversa
- `/ajuda` ou `/help` — exibe ajuda
- `/perfil` — mostra perfil do usuário e do agente
- `/agentprofile` — mostra apenas o perfil do agente
- `/reset` — reseta perfis do usuário e do agente
- `/limpar` — deleta todos os dados (perfis, contextos, chat_id)
- `/onboarding` — reinicia o onboarding
- `/newconfig` — reconfigura tudo do zero
- `/cancelar` — cancela operação em andamento
- `/incluirnomeuperfil <nome>` — atualiza seu nome no perfil
- `/incluirnoperfildoagent <texto>` — adiciona características ao perfil do agente
## Atualizando o perfil durante a conversa
### Perfil do usuário
Você pode atualizar seu perfil a qualquer momento usando frases como:
- `Inclui isso no meu perfil: ...`
- `Anote no meu perfil: ...`
- `Adicione no meu perfil: ...`
- `Salve no meu perfil: ...`
### Perfil do agente
Use `/incluirnoperfildoagent <texto>` para adicionar características ao perfil do agente.
Ou use frases como:
- `Inclui isso no perfil do agente: ...`
- `Anote no perfil do agente: ...`
## Licença
Uso proprietário. Veja o arquivo `LICENSE`.