Agente de Análise de AQI
O Agente de Análise de AQI é uma poderosa ferramenta de monitorização da qualidade do ar e recomendações de saúde, ajudando os utilizadores a tomar de…
- OpenAI
Equipas de Agentes ·Avançado
ELEVENSLAB_API_KEYOPENAI_API_KEYSLACK_APP_TOKENSLACK_BOT_TOKENLicença Apache-2.0 · conteúdo curado, traduzido e mantido pelo Doutor AI.
Beifong gere os teus artigos de confiança e fontes de plataformas de redes sociais. Gera podcasts a partir do conteúdo que confias e curas. Trata de todo o pipeline, desde a recolha e análise de dados até à produção de scripts e visuais.
▶️ Ver vídeo de demonstração HD
▶️ Ver a demonstração no YouTube
🔗 Blog
Antes de instalar o Beifong, assegura-te de que tens:
# Clone the repository
git clone https://github.com/arun477/beifong.git
cd beifong
# Create virtual environment
cd beifong
python -m venv venv
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
# Install browser
python -m playwright install
# (Optional but recommended) Download demo content
# Navigate to the beifong directory if not already there
cd beifong # Skip if already in the beifong folder
# This populates the system with sample data, curated source feeds, and assets
python bootstrap_demo.py
Cria um ficheiro .env na diretoria /beifong com as tuas chaves de API:
OPENAI_API_KEY=your_openai_api_key
ELEVENSLAB_API_KEY=your_elevenlabs_api_key # Optional
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_DB=0
Lança todos os serviços necessários em terminais separados (mas certifica-te de que inicias o python main.py primeiro antes de iniciares os outros, porque a primeira execução fará a inicialização da base de dados):
⚠️ Certifica-te de que ativaste o ambiente virtual em todos os terminais antes de iniciares cada script.
source venv/bin/activate
# Terminal 1: Start the main backend (first time run may take 2 to 3 minutes due to the setup process)
cd beifong
python main.py
# Terminal 2: Start the scheduler
cd beifong
python -m scheduler
# Terminal 3: Start the chat workers
cd beifong
python -m celery_worker
# Verify Redis is running
redis-cli ping
npm run dev
Este comando inicia o servidor de desenvolvimento. A aplicação estará disponível em http://localhost:3000.
A estrutura do projeto é a seguinte:
/project-root
│
├── /src
│ ├── /components
│ ├── /pages
│ └── /styles
│
├── /public
│ └── favicon.ico
│
├── package.json
└── README.md
Para instalar as dependências do projeto, executa o seguinte comando:
npm install
Para executar a aplicação em modo de produção, utiliza:
npm start
Para executar os testes, utiliza:
npm test
Se desejas contribuir para este projeto, por favor, segue os seguintes passos:
git checkout -b feature/nome-da-sua-feature).git commit -m 'Adiciona uma nova feature').git push origin feature/nome-da-sua-feature).Este projeto está licenciado sob a Licença MIT. Veja o ficheiro [LICENSE](LICENSE) para mais detalhes.
# Navigate to web directory
cd web
# Install dependencies
npm install
# Start development server
npm start
Beifong oferece flexibilidade na forma como interages com o sistema:
Beifong inclui vários processadores especializados para diferentes fontes de conteúdo:
Expande as capacidades do Beifong adicionando os teus próprios processadores de conteúdo:
# processors/my_custom_processor.py
def process_custom_task(parameter1=None, parameter2=None):
# Your processing logic here
stats = {"processed": 0, "success": 0, "errors": 0}
# Processing implementation
return stats
if __name__ == "__main__":
stats = process_custom_task()
print(f"Processed: {stats['processed']}, Success: {stats['success']}")
Adiciona o teu processador ao sistema em models/tasks_schemas.py:
class TaskType(str, Enum):
# Existing task types...
my_custom_processor = "my_custom_processor"
TASK_TYPES = {
# Existing types...
"my_custom_processor": {
"name": "My Custom Processor",
"command": "python -m processors.my_custom_processor",
"description": "Performs custom processing task",
},
}
Cria uma nova tarefa utilizando a API ou a interface com o teu tipo de processador personalizado.
O sistema de IA da Beifong é construído sobre o framework agno e inclui:
Expande as capacidades do agente com ferramentas personalizadas:
# tools/my_custom_tool.py
from agno.agent import Agent
def my_custom_tool(agent: Agent, param1: str, param2: str) -> str:
"""Tool description here"""
agent.session_state["my_key"] = "my_value"
# Tool implementation
result = f"Processed {param1} and {param2}"
return result
Regista a tua ferramenta em services/celery_tasks.py:
# Add import
from tools.my_custom_tool import my_custom_tool
# Add to tools list
tools = [my_custom_tool]
Modifica as instruções e o comportamento do agente em db/agent_config_v2.py:
# Update the instructions to modify the agent's behavior
# Be careful to preserve the core flow stages while adding your customizations
O agente de pesquisa Beifong tem capacidades completas de automação de navegador através da biblioteca browseruse, permitindo pesquisa na web e coleta automatizada de dados de qualquer website.
Podes dar ao agente instruções de pesquisa específicas como:
O agente navegará pelos websites, interagirá com os elementos da página e extrairá automaticamente a informação solicitada.
Para websites que requerem autenticação (X.com, Facebook, LinkedIn, etc.), precisas de estabelecer sessões autenticadas:
Configuração de Sessões de Redes Sociais:
Para sessões autenticadas persistentes e gestão avançada do navegador:
Configuração do Caminho da Sessão Persistente:
browsers/playwright_persistent_profile_webtools/web_search para usar get_browser_session_path() de db/config.pyNotas Importantes sobre Gestão de Sessões Persistentes:
get_browser_session_path()Resolução de Problemas de Sessões Persistentes:
O Beifong atualmente suporta monitorização automatizada para:
Para coletar automaticamente os teus feeds de redes sociais:
Uma vez que os teus feeds de redes sociais sejam coletados:
Podes facilmente personalizar quais feeds monitorizar:
Modificando Fontes de Feed:
/tools/social/Exemplos de Configuração de URL:
O Beifong suporta fácil expansão para plataformas adicionais:
Atualmente Suportadas:
Opções de Integração Fácil:
Atualizações Futuras:
Considerações Importantes sobre Agendamento:
⚠️ Evita Execução Concorrente - Ao agendar múltiplas tarefas de coleta de feeds de redes sociais, assegura que não sejam executadas simultaneamente. Todos os processadores de redes sociais partilham a mesma sessão de navegador persistente.
Abordagem de Agendamento Recomendada:
Exemplo de Agendamento Seguro:
Melhorias Futuras:
Beifong suporta várias opções de texto para fala:
Opções Comerciais:
Opções de Código Aberto:
O sistema TTS suporta a integração de motores adicionais:
Potenciais Próximas Opções de Integração de Código Aberto:
Adiciona motores TTS personalizados através da interface do motor tts_selector no diretório utils.
Beifong pode ser integrado com outras plataformas.
A integração do Beifong com o Slack permite-te interagir com o agente de IA diretamente do teu espaço de trabalho Slack. Cada conversa com o Beifong cria um tópico dedicado no Slack para a sessão.
Funcionalidade Principal:
Para integrar o Beifong com o teu espaço de trabalho Slack, precisas de criar uma app do Slack em Modo Socket:
connections:writeSLACK_APP_TOKEN)SLACK_BOT_TOKEN)A tua app do Slack requer permissões específicas para funcionar corretamente com o Beifong:
Adiciona os seguintes escopos em "OAuth & Permissions" → "Bot Token Scopes":
app_mentions:read - Ver mensagens que mencionam diretamente @BeifongAI em conversas em que a app estáassistant:write - Permitir que BeifongAI atue como um Agente de Appchannels:history - Ver mensagens e outros conteúdos em canais públicos aos quais BeifongAI foi adicionadochannels:read - Ver informações básicas sobre canais públicos num espaço de trabalhochat:write - Enviar mensagens como @BeifongAIfiles:read - Ver ficheiros partilhados em canais e conversas aos quais BeifongAI foi adicionadofiles:write - Carregar, editar e eliminar ficheiros como @BeifongAIim:read - Ver informações básicas sobre mensagens diretas às quais BeifongAI foi adicionadoim:write - Iniciar mensagens diretas com pessoasEm "Event Subscriptions" → "Subscribe to bot events", adiciona:
app_mention - Subscrever apenas os eventos de mensagem que mencionam a tua app ou botapp_mentions:readmessage.channels - Uma mensagem foi publicada num canalchannels:historyAdiciona os teus tokens do Slack ao ficheiro .env no diretório /beifong:
# Existing environment variables...
OPENAI_API_KEY=your_openai_api_key
ELEVENSLAB_API_KEY=your_elevenlabs_api_key # Optional
# Slack Integration
SLACK_BOT_TOKEN=xoxb-your-bot-user-oauth-token
SLACK_APP_TOKEN=xapp-your-app-level-token
# Redis configuration
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_DB=0
Uma vez que tenhas configurado a tua aplicação Slack e as variáveis de ambiente:
# Navigate to beifong directory
cd beifong
# Ensure your environment is activated
source venv/bin/activate
# Run the Slack integration script
python -m integrations.slack.chat
Nos Canais do Slack:
@BeifongAI Podes ajudar-me a analisar as últimas notícias sobre desenvolvimentos em IA?Documentação de Referência:
Todas as bases de dados da aplicação estão organizadas no diretório databases para fácil gestão e backup.
Os podcasts gerados, ficheiros de áudio e ativos visuais estão armazenados no diretório podcasts.
Se o armazenamento de ativos crescer, considera estas estratégias de otimização de armazenamento:
Integração com Armazenamento em Nuvem:
.env para usar discos maioresLimpeza Automatizada:
Monitorização de Armazenamento:
Nota: Gestão de armazenamento mais eficiente e conectores de nuvem serão adicionados na próxima versão.
# Start the backend with network access
cd beifong
python main.py --host 0.0.0.0 --port 7000
Isto torna a aplicação acessível através do endereço IP da tua máquina na tua rede local.
Para aceder ao Beifong a partir de fora da tua rede local (solução alternativa):
# Forward local port to remote machine
ssh -L 7000:localhost:7000 username@your-server-ip
Ngrok é uma ferramenta que permite expor um servidor local a um endereço público na internet. Isto é útil para testar aplicações web em desenvolvimento ou para partilhar rapidamente um projeto com outras pessoas.
PATH, como /usr/local/bin no macOS ou Linux, ou C:\Program Files no Windows.ngrok authtoken <teu_token>
Para iniciar um túnel, utiliza o seguinte comando:
ngrok http <porta>
Substitui <porta> pelo número da porta onde a tua aplicação está a correr, por exemplo, 3000.
ngrok http 3000
ngrok http 5000
Após iniciares o túnel, Ngrok fornecer-te-á um URL público. Podes aceder à tua aplicação através desse URL. Além disso, Ngrok disponibiliza um painel de controlo onde podes visualizar as requisições e respostas. O painel pode ser acedido em http://localhost:4040.
Para parar o túnel, simplesmente pressiona Ctrl + C no terminal onde o Ngrok está a correr.
Ngrok é uma ferramenta poderosa para desenvolvedores que necessitam de expor aplicações locais para testes ou demonstrações. Certifica-te de que segues as melhores práticas de segurança ao partilhares URLs públicos.
# Create temporary public tunnel
ngrok http 7000
Fornece uma URL pública temporária que reencaminha para a tua instância local.
O Beifong ainda não inclui uma camada de autenticação. A autenticação será adicionada na próxima versão.
Em Breve!
✅ Versão na nuvem do Beifong
✅ Mais conectores de redes sociais
✅ Mais opções de API. Claude, Gemini, OpenAI, Ollama
✅ Personalização de podcasts com mais estilos
✅ Mais opções de voz
✅ Melhor gestão de recolha e armazenamento de dados
✅ Camada de autenticação
Se a tua instalação falhar devido à biblioteca Kokoro, podes ignorar a instalação desta biblioteca e instalá-la apenas quando necessário como motor TTS. O Kokoro é opcional e apenas necessário se quiseres usá-lo para geração de texto para fala.
Para mais informações sobre o Kokoro, consulta a referência: https://github.com/hexgrad/kokoro
Se a tua instalação falhar devido ao browseruse, certifica-te de que a versão do Playwright está corretamente instalada. As funcionalidades de automação de browser dependem de o Playwright estar corretamente configurado.
Para mais referências e resolução de problemas: https://github.com/browser-use/browser-use
Se a instalação da biblioteca FAISS falhar, podes ignorar este erro e saltar a instalação do FAISS. Esta biblioteca é apenas necessária se quiseres usar a funcionalidade de pesquisa semântica. Se não precisares da funcionalidade de pesquisa semântica, podes ignorar a falha na instalação do FAISS.
Para referência: https://github.com/facebookresearch/faiss
Algumas das funcionalidades de recolha de dados dependem da automação de browser, que às vezes não funcionará corretamente em ambientes de servidor. Embora o Beifong continue a funcionar, algumas funcionalidades dependentes do browser podem não funcionar em ambientes de servidor sem a configuração adequada do browser.
🚀 Repo
O Agente de Análise de AQI é uma poderosa ferramenta de monitorização da qualidade do ar e recomendações de saúde, ajudando os utilizadores a tomar de…
Um assistente multiagente de migração de base de código, potenciado por IA, construído com LangGraph e Streamlit, que planeia tarefas de refatoração f…
Um agente de pesquisa IA avançado construído utilizando a estrutura Agno Agent, o modelo Qwen da Together AI e ferramentas Composio.
Precisa de uma solução à medida?
Não sabe por onde começar a usar IA no seu negócio? Receba uma avaliação gratuita e um plano à medida - sem compromisso.
O Doutor AI dá-lhe 1859 prompts de IA prontos a copiar, por indústria e em português simples - mais uma biblioteca técnica completa para quem quer ir mais longe.