feat: add psagentai agent with deployment and configuration
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.
This commit is contained in:
@@ -0,0 +1,102 @@
|
||||
# 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`.
|
||||
Reference in New Issue
Block a user