Files
PsAgentAI/README.md
T
marcocosta10000 4cd968a74e feat(vision): add configurable image analysis model and workspace file editing
- Add VISION_MODEL and VISION_PROVIDER env options with openrouter
  default and provider auto-detection from the model id
- Add /veriavision, /configiavision and /about commands
- Support natural-language editing of files inside workspace/ and a
  /baixar command to download them
- Replace config-based timezone with system-local time detection
- Add module version/author/license metadata
- Document development conventions in new RULES.md and update
  README.md/DEPLOY.md with the new commands and env vars
2026-10-26 11:28:59 -03:00

116 lines
4.1 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
- `/about` — exibe informações do sistema, versão, autor e licença
- `/veriavision` — mostra o provider e o modelo de visão atuais
- `/configiavision` — configura interativamente o modelo de visão com seleção por botões
- `/baixar <nome>` — baixa um arquivo do workspace pelo nome
## Editando arquivos do workspace
Você pode pedir para editar arquivos existentes no `workspace/` usando comandos como:
- `edite o arquivo teste.txt e adicione uma linha 4`
- `modifique o arquivo hello.py para imprimir hello world`
- `no arquivo teste.txt troque Linha 2 por Linha 2 editada`
O Agent irá localizar o arquivo, aplicar a alteração solicitada e salvar o resultado.
- `/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`.