Initial project setup including the main agent script, configuration files, profile JSON state, systemd service unit, startup script, deployment documentation, and Python dependencies. Includes .env, venv/, and __pycache__/ which should likely be excluded via .gitignore to avoid committing secrets and artifacts.
103 lines
3.4 KiB
Markdown
Executable File
103 lines
3.4 KiB
Markdown
Executable File
# PsAgentAI - Personal Agent AI Conversacional
|
|
|
|
Sistema de Personal Agent AI Conversacional via Telegram que se comporta como uma companheira pessoal, conversando, cooperando e mantendo contexto contínuo com o usuário.
|
|
|
|
## Estrutura
|
|
|
|
```
|
|
app/
|
|
├── psagentai_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
|
|
- `/veria` — mostra o provider e o modelo de IA atuais
|
|
- `/configia` — configura interativamente o provider e o modelo de IA com seleção por botões
|
|
- `/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`.
|