# Beifong: A Sua Informação e Podcasts Personalizados Sem Lixo

- Fonte: https://doutorai.pt/apps/ai-news-and-podcast-agents
- Categoria: Equipas de Agentes
- Dificuldade: Avançado
- Modelos: OpenAI, Claude, Gemini, Llama, Grok
- Frameworks: Agno, Ollama (local)
- Corre local?: Sim (Ollama)
- Chaves necessárias: ELEVENSLAB_API_KEY, OPENAI_API_KEY, SLACK_APP_TOKEN, SLACK_BOT_TOKEN
- Licença: Apache-2.0
- Site: Doutor AI (https://doutorai.pt) - ferramentas de IA para pequenos negócios em português

## Tutorial completo

# 🦉 Beifong: A Tua Informação e Podcasts Personalizados Sem Lixo

![image](/assets/apps-img/4e1858e55ec000f9)

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](https://www.canva.com/design/DAGoUfv8ICM/Oj-vJ19AvZYDa2SwJrCWKw/watch?utm_content=D[…]hare&utm_medium=link2&utm_source=uniquelinks&utlId=h2508379667)

▶️ [Ver a demonstração no YouTube](https://youtu.be/dB8FZY3x9EY)

🔗 [Blog](https://arun477.github.io/posts/beifong_podcast_generator/)

## Índice

- [Introdução](#getting-started)
  - [Requisitos do Sistema](#system-requirements)
  - [Configuração Inicial e Instalação](#initial-setup-and-installation)
  - [Configuração do Ambiente](#environment-configuration)
  - [Iniciar a Aplicação](#starting-the-application)
- [Como Usar o Beifong](#how-to-use-beifong)
  - [Três Métodos de Utilização](#three-usage-methods)
- [Sistema de Processamento de Conteúdo](#content-processing-system)
  - [Processadores de Conteúdo Integrados](#built-in-content-processors)
  - [Criar Processadores de Conteúdo Personalizados](#creating-custom-content-processors)
- [Agente de IA e Ferramentas](#ai-agent-and-tools)
  - [Visão Geral da Arquitetura do Agente](#agent-architecture-overview)
  - [Adicionar Ferramentas Personalizadas](#adding-custom-tools)
  - [Configurar o Comportamento do Agente](#configuring-agent-behavior)
- [Pesquisa na Web e Automação de Navegadores](#web-search-and-browser-automation)
  - [Comandos de Pesquisa](#search-commands)
  - [Sessões de Login em Redes Sociais](#social-media-login-sessions)
  - [Configuração Avançada de Sessões Persistentes](#advanced-persistent-session-configuration)
- [Monitorização de Redes Sociais](#social-media-monitoring)
  - [Plataformas Suportadas](#supported-platforms)
  - [Configurar Recolha de Feed Agendada](#setting-up-scheduled-feed-collection)
  - [Visualizar Insights de IA](#viewing-ai-insights)
  - [Configurar Feeds Personalizados](#configuring-custom-feeds)
  - [Adicionar Novas Contas de Redes Sociais](#adding-new-social-media-accounts)
  - [Melhores Práticas de Agendamento](#scheduling-best-practices)
- [Geração de Áudio e Voz](#audio-and-voice-generation)
  - [Motores TTS Suportados](#supported-tts-engines)
  - [Adicionar Novos Motores de Voz](#adding-new-voice-engines)
- [Integrações](#integrations)
  - [Integração com Slack](#slack-integration)
  - [Configurar Aplicação Slack](#setting-up-slack-app)
  - [Permissões Necessárias do Slack](#required-slack-permissions)
  - [Configuração do Ambiente](#environment-configuration-1)
  - [Executar Integração com Slack](#running-slack-integration)
- [Armazenamento de Dados e Gestão de Ficheiros](#data-storage-and-file-management)
  - [Armazenamento em Base de Dados](#database-storage)
  - [Armazenamento de Ativos de Média](#media-asset-storage)
  - [Gerir o Crescimento do Armazenamento](#managing-storage-growth)
- [Opções de Implementação e Acesso](#deployment-and-access-options)
  - [Acesso à Rede Local](#local-network-access)
  - [Soluções de Acesso Remoto](#remote-access-solutions)
  - [Segurança](#security)
- [Opções de Nuvem](#cloud-options)
  - [Funcionalidades da Nuvem Beifong](#beifong-cloud-features)
- [Resolução de Problemas](#troubleshooting)
  - [Problemas de Instalação da Biblioteca Kokoro](#kokoro-library-installation-issues)
  - [Problemas de Instalação do Browseruse](#browseruse-installation-issues)
  - [Problemas de Instalação da Biblioteca FAISS](#faiss-library-installation-issues)
  - [Problemas de Recolha de Dados Baseada em Navegador](#browser-based-data-collection-issues)
- [Atualizações](#updates)

## Introdução

### Requisitos do Sistema

Antes de instalar o Beifong, assegura-te de que tens:

- Python 3.11+
- Redis Server
- Chave de API OpenAI
- (Opcional) Chave de API ElevenLabs

### Configuração Inicial e Instalação

```bash
# 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
```

### Configuração do Ambiente

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
```

### Iniciar a Aplicação

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.

```bash
source venv/bin/activate
```

```bash
# 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
```

#### Opcional: Modo de Desenvolvimento Frontend

```bash
npm run dev
```

Este comando inicia o servidor de desenvolvimento. A aplicação estará disponível em `http://localhost:3000`.

#### Estrutura do Projeto

A estrutura do projeto é a seguinte:

```
/project-root
│
├── /src
│   ├── /components
│   ├── /pages
│   └── /styles
│
├── /public
│   └── favicon.ico
│
├── package.json
└── README.md
```

#### Instalação

Para instalar as dependências do projeto, executa o seguinte comando:

```bash
npm install
```

#### Execução

Para executar a aplicação em modo de produção, utiliza:

```bash
npm start
```

#### Testes

Para executar os testes, utiliza:

```bash
npm test
```

#### Contribuição

Se desejas contribuir para este projeto, por favor, segue os seguintes passos:

1. Faz um fork do repositório.
2. Cria uma nova branch (`git checkout -b feature/nome-da-sua-feature`).
3. Faz as tuas alterações e commit (`git commit -m 'Adiciona uma nova feature'`).
4. Faz push para a branch (`git push origin feature/nome-da-sua-feature`).
5. Abre um Pull Request.

#### Licença

Este projeto está licenciado sob a Licença MIT. Veja o ficheiro [LICENSE](LICENSE) para mais detalhes.

```bash
# Navigate to web directory
cd web

# Install dependencies
npm install

# Start development server
npm start
```

## Como Usar Beifong

### Três Métodos de Utilização

Beifong oferece flexibilidade na forma como interages com o sistema:

1. **Interface Web Interativa** - Interface web para gestão de conteúdos e geração de podcasts
2. **Integração API** - Acesso programático para aplicações e fluxos de trabalho personalizados
3. **Agendamento Automatizado** - Configura tarefas recorrentes para processamento de conteúdos sem intervenção

## Sistema de Processamento de Conteúdos

### Processadores de Conteúdo Integrados

Beifong inclui vários processadores especializados para diferentes fontes de conteúdo:

- **Processador de Feed RSS** - Monitora feeds RSS em busca de novos artigos e conteúdos
- **Processador de Conteúdo de URL** - Extrai e processa conteúdo de páginas web
- **Analisador de Conteúdo AI** - Categoriza, resume e analisa a qualidade do conteúdo
- **Processador de Embedding de Vetores** - Cria representações vetoriais pesquisáveis do conteúdo
- **Indexer de Pesquisa FAISS** - Constrói índices de pesquisa para descoberta de conteúdos
- **Gerador de Roteiros de Podcast** - Cria episódios completos de podcast a partir de conteúdos selecionados
- **Processador Social X.com** - Rasteia e processa o teu feed de redes sociais X.com
- **Processador Social Facebook** - Rasteia e processa o teu feed de redes sociais Facebook

### Criar Processadores de Conteúdo Personalizados

Expande as capacidades do Beifong adicionando os teus próprios processadores de conteúdo:

#### Passo 1: Cria o Teu Módulo de Processador

```python
# 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']}")
```

#### Passo 2: Regista o Teu Processador

Adiciona o teu processador ao sistema em `models/tasks_schemas.py`:

```python
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",
    },
}
```

#### Passo 3: Implementa o Teu Processador

Cria uma nova tarefa utilizando a API ou a interface com o teu tipo de processador personalizado.

## Agente de IA e Ferramentas

### Visão Geral da Arquitetura do Agente

O sistema de IA da Beifong é construído sobre o framework [agno](https://github.com/agno-agi/agno) e inclui:

- **Ferramentas de Pesquisa** - Pesquisa semântica, pesquisa por palavras-chave e pesquisa na web baseada em navegador
- **Ferramentas de Geração de Conteúdo** - Escrita de scripts automatizada, criação de banners e produção de áudio
- **Estado de Sessão Persistente** - Mantém o contexto da conversa ao longo das interações
- **Orquestração de Ferramentas** - Gere fluxos de trabalho de múltiplos passos automaticamente

### Adicionando Ferramentas Personalizadas

Expande as capacidades do agente com ferramentas personalizadas:

```python
# 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
```

```markdown
Regista a tua ferramenta em `services/celery_tasks.py`:
```

```python
# Add import
from tools.my_custom_tool import my_custom_tool
# Add to tools list
tools = [my_custom_tool]
```

### Configurar o Comportamento do Agente

Modifica as instruções e o comportamento do agente em `db/agent_config_v2.py`:

```python
# Update the instructions to modify the agent's behavior
# Be careful to preserve the core flow stages while adding your customizations
```

## Pesquisa na Web e Automação de Navegador

O agente de pesquisa Beifong tem capacidades completas de automação de navegador através da biblioteca [browseruse](https://browser-use.com/), permitindo pesquisa na web e coleta automatizada de dados de qualquer website.

### Comandos de Pesquisa

Podes dar ao agente instruções de pesquisa específicas como:
- *"Vai ao meu X.com e coleta os melhores feeds positivos e informativos"*
- *"Navega no Reddit para discussões sobre desenvolvimentos em IA esta semana"*
- *"Procura no LinkedIn por publicações recentes sobre tendências em ciência de dados"*
- *"Visita sites de notícias e reúne artigos sobre energia renovável"*

O agente navegará pelos websites, interagirá com os elementos da página e extrairá automaticamente a informação solicitada.

### Sessões de Login em Redes Sociais

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:**

1. **Navega até à Aba Social** na interface web do Beifong
2. **Clica em "Configurar Sessão"** na secção de Configuração
3. **Processo de Login** - Uma janela do navegador abrirá onde tu:
   - Ingressas nas tuas contas de redes sociais normalmente
   - Completes quaisquer passos de verificação
   - Fechas o navegador quando terminares
4. **Persistência da Sessão** - O Beifong usará estas sessões autenticadas para futuras pesquisas automatizadas

### Configuração Avançada de Sessões Persistentes

Para sessões autenticadas persistentes e gestão avançada do navegador:

**Configuração do Caminho da Sessão Persistente:**
- As sessões de navegador por defeito são armazenadas na pasta `browsers/playwright_persistent_profile_web`
- Para caminhos de sessão persistente, modifica `tools/web_search` para usar `get_browser_session_path()` de `db/config.py`

**Notas Importantes sobre Gestão de Sessões Persistentes:**
- **Evita Uso Concorrente** - Assegura que nenhum outro processo utiliza a mesma sessão de navegador simultaneamente
- **Processadores de Monitorização Social** normalmente usam o caminho da função `get_browser_session_path()`
- **Desativa Processos Conflitantes** - Desliga a monitorização social na secção Voyager se estiveres a usar caminhos de sessão persistente
- **Separação Futura** - A gestão de sessões será separada em sessões individuais em atualizações futuras

**Resolução de Problemas de Sessões Persistentes:**
- Se as sessões de login expirarem, repete o processo de configuração da Aba Social
- Limpa os dados do navegador se tiveres problemas de autenticação
- Assegura que apenas um processo acede às sessões de navegador de cada vez

## Monitorização de Redes Sociais

### Plataformas Suportadas

O Beifong atualmente suporta monitorização automatizada para:

- **X.com (Twitter)** - Coleta e analisa os teus feeds de redes sociais
- **Facebook.com** - Monitora a tua linha do tempo e interações no Facebook

### Configuração de Coleta de Feeds Agendada

Para coletar automaticamente os teus feeds de redes sociais:

1. **Navega até à Aba Voyager** na interface web do Beifong
2. **Cria uma Tarefa Agendada** para monitorização de redes sociais
3. **Configura a Frequência de Coleta** - Define com que frequência desejas que os feeds sejam coletados
4. **Seleciona a Plataforma** - Escolhe entre processadores de X.com ou Facebook.com

### Visualização de Insights de IA

Uma vez que os teus feeds de redes sociais sejam coletados:

1. **Navega até à Aba Social** na interface web
2. **Vê a Análise Abrangente** - Cada publicação é analisada através de IA, fornecendo:
   - Análise de sentimento do conteúdo
   - Categorização de tópicos
   - Insights de envolvimento
   - Pontuação de relevância
3. **Explora Insights Completos** - Análises detalhadas para todo o conteúdo de redes sociais coletado

### Configuração de Feeds Personalizados

Podes facilmente personalizar quais feeds monitorizar:

**Modificando Fontes de Feed:**
- Navega até ao diretório `/tools/social/`
- Atualiza as URLs nos processadores de redes sociais
- **Monitora Perfis Específicos** - Configura para rastrear perfis específicos de X.com ou páginas do Facebook
- **Tipos de Feed Personalizados** - Adapta URLs para diferentes tipos de feeds de conteúdo

**Exemplos de Configuração de URL:**
- Rastrear um utilizador específico de X.com: Modifica as URLs para direcionar perfis particulares
- Monitorar páginas do Facebook: Configura URLs para feeds específicos do Facebook
- Monitorização de hashtags personalizadas: Define URLs para rastrear hashtags ou tópicos específicos

### Adicionando Novas Contas de Redes Sociais

O Beifong suporta fácil expansão para plataformas adicionais:

**Atualmente Suportadas:**
- X.com (Twitter)
- Facebook.com

**Opções de Integração Fácil:**
- **LinkedIn**
- **Reddit** 
- **Outras Plataformas** - A maioria das plataformas de redes sociais pode ser integrada usando a mesma framework, mas deves escrever um scraper personalizado ou usar uma API para isso.

**Atualizações Futuras:**
- A próxima versão incluirá mais conectores integrados para plataformas de redes sociais populares
- Suporte para gestão de múltiplas contas por plataforma

### Melhores Práticas de Agendamento

**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:**
- **Horários de Coleta Alternados** - Agenda a coleta do X.com e do Facebook.com em horários diferentes
- **Permitir Intervalos de Processamento** - Deixa tempo suficiente entre diferentes tarefas de redes sociais
- **Monitorizar Tempos de Execução** - Acompanha quanto tempo cada coleta leva para evitar sobreposições

**Exemplo de Agendamento Seguro:**
- Coleta de feed do X.com: A cada 2 horas aos :00 minutos
- Coleta de feed do Facebook.com: A cada 2 horas aos :30 minutos

**Melhorias Futuras:**
- A próxima versão irá fornecer sessões de navegador persistentes separadas para cada conta de rede social
- Isto eliminará a necessidade de agendamento cuidadoso e permitirá a coleta simultânea de múltiplas plataformas

## Geração de Áudio e Voz

### Motores TTS Suportados

Beifong suporta várias opções de texto para fala:

**Opções Comerciais:**
- **OpenAI TTS** 
- **ElevenLabs** 

**Opções de Código Aberto:**
- **Kokoro**

### Adicionando Novos Motores de Voz

O sistema TTS suporta a integração de motores adicionais:

**Potenciais Próximas Opções de Integração de Código Aberto:**
- **[Dia TTS](https://yummy-fir-7a4.notion.site/dia)** 
- **[CSM](https://github.com/SesameAILabs/csm)** 
- **[Orpheus-TTS](https://github.com/canopyai/Orpheus-TTS)** 

Adiciona motores TTS personalizados através da interface do motor tts_selector no diretório **utils**.

## Integrações

Beifong pode ser integrado com outras plataformas.

### Integração com Slack

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:**
- Mensagens diretas com BeifongAI em canais do Slack

### Configuração da App do Slack

Para integrar o Beifong com o teu espaço de trabalho Slack, precisas de criar uma app do Slack em Modo Socket:

#### Passo 1: Criar App do Slack

1. Visita [Slack API Apps](https://api.slack.com/apps) e clica em "Create New App"
2. Escolhe "From scratch" e fornece:
   - **Nome da App**: BeifongAI (ou o nome que preferires)
   - **Espaço de Trabalho**: Seleciona o teu espaço de trabalho Slack alvo
3. **Ativar Modo Socket**:
   - Navega até "Socket Mode" na barra lateral esquerda
   - Ativa "Enable Socket Mode"
   - Gera um Token de Nível de App com o escopo `connections:write`
   - Guarda o **Token de Nível de App** (este é o teu `SLACK_APP_TOKEN`)

#### Passo 2: Configurar Utilizador Bot

1. Navega até "OAuth & Permissions" na barra lateral esquerda
2. Desce até "Bot Token Scopes" e adiciona as permissões necessárias (ver seção seguinte)
3. Clica em "Install to Workspace" e autoriza a app
4. Copia o **Bot User OAuth Token** (este é o teu `SLACK_BOT_TOKEN`)

#### Passo 3: Ativar Assinaturas de Eventos

1. Navega até "Event Subscriptions" na barra lateral esquerda
2. Ativa "Enable Events"
3. Adiciona os eventos de bot necessários (ver seção de permissões abaixo)

### Permissões Necessárias do Slack

A tua app do Slack requer permissões específicas para funcionar corretamente com o Beifong:

#### OAuth & Permissions - Escopos de Token de Bot

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 App
- **`channels:history`** - Ver mensagens e outros conteúdos em canais públicos aos quais BeifongAI foi adicionado
- **`channels:read`** - Ver informações básicas sobre canais públicos num espaço de trabalho
- **`chat:write`** - Enviar mensagens como @BeifongAI
- **`files:read`** - Ver ficheiros partilhados em canais e conversas aos quais BeifongAI foi adicionado
- **`files:write`** - Carregar, editar e eliminar ficheiros como @BeifongAI
- **`im:read`** - Ver informações básicas sobre mensagens diretas às quais BeifongAI foi adicionado
- **`im:write`** - Iniciar mensagens diretas com pessoas

#### Assinaturas de Eventos - Eventos de Bot

Em "Event Subscriptions" → "Subscribe to bot events", adiciona:

- **`app_mention`** - Subscrever apenas os eventos de mensagem que mencionam a tua app ou bot
  - *Escopo Necessário: `app_mentions:read`*
- **`message.channels`** - Uma mensagem foi publicada num canal
  - *Escopo Necessário: `channels:history`*

### Configuração do Ambiente

Adiciona os teus tokens do Slack ao ficheiro `.env` no diretório `/beifong`:

```env
# 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
```

### Executar Integração com Slack

Uma vez que tenhas configurado a tua aplicação Slack e as variáveis de ambiente:

#### Passo 1: Instalar a Aplicação no Espaço de Trabalho

1. Assegura-te de que a tua aplicação Slack está instalada no teu espaço de trabalho.
2. Adiciona BeifongAI aos canais onde desejas utilizá-la.
3. Também podes enviar mensagens diretas para BeifongAI.

#### Passo 2: Iniciar a Integração com Slack

```bash
# 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
```

#### Passo 3: Interagir com BeifongAI

**Nos Canais do Slack:**
- Menciona @BeifongAI para iniciar uma conversa
- Cada menção cria um novo tópico para continuidade do contexto
- Exemplo: `@BeifongAI Podes ajudar-me a analisar as últimas notícias sobre desenvolvimentos em IA?`

**Documentação de Referência:**
- [Slack Socket Mode API](https://api.slack.com/apis/socket-mode)

## Armazenamento de Dados e Gestão de Ficheiros

### Armazenamento em Base de Dados

Todas as bases de dados da aplicação estão organizadas no diretório **databases** para fácil gestão e backup.

### Armazenamento de Ativos de Média

Os podcasts gerados, ficheiros de áudio e ativos visuais estão armazenados no diretório **podcasts**.

### Gestão do Crescimento do Armazenamento

Se o armazenamento de ativos crescer, considera estas estratégias de otimização de armazenamento:

**Integração com Armazenamento em Nuvem:**
- Usa s3fs para montar um bucket S3 como uma pasta local para ativos de média
- Configura caminhos de armazenamento personalizados em `.env` para usar discos maiores

**Limpeza Automatizada:**
- Configura arquivamento periódico de episódios de podcast mais antigos
- Implementa limpeza automatizada para gravações temporárias e ativos não utilizados
- Configura políticas de retenção para diferentes tipos de conteúdo

**Monitorização de Armazenamento:**
- Monitoriza o uso do disco à medida que a tua biblioteca de conteúdo cresce
- Configura alertas para limites de capacidade de armazenamento

**Nota:** Gestão de armazenamento mais eficiente e conectores de nuvem serão adicionados na próxima versão.

## Opções de Implementação e Acesso

### Acesso à Rede Local

```bash
# 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.

### Soluções de Acesso Remoto

Para aceder ao Beifong a partir de fora da tua rede local (solução alternativa):

#### Encaminhamento de Porta SSH

```bash
# Forward local port to remote machine
ssh -L 7000:localhost:7000 username@your-server-ip
```

#### Túnel Ngrok

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.

### Instalação

1. **Download**: Visita o [site do Ngrok](https://ngrok.com/download) e faz o download da versão adequada para o teu sistema operativo.
2. **Instalação**: Extrai o ficheiro e move o executável para um diretório que esteja no teu `PATH`, como `/usr/local/bin` no macOS ou Linux, ou `C:\Program Files` no Windows.

### Configuração

1. **Autenticação**: Após criares uma conta no Ngrok, obtém o teu token de autenticação na [página de autenticação](https://dashboard.ngrok.com/get-started/setup).
2. **Configura o token**: Executa o seguinte comando no terminal:

   ```bash
   ngrok authtoken <teu_token>
   ```

### Uso

Para iniciar um túnel, utiliza o seguinte comando:

```bash
ngrok http <porta>
```

Substitui `<porta>` pelo número da porta onde a tua aplicação está a correr, por exemplo, `3000`.

### Exemplos

- Para expor uma aplicação que está a correr na porta 3000:

  ```bash
  ngrok http 3000
  ```

- Para expor uma aplicação que está a correr na porta 5000:

  ```bash
  ngrok http 5000
  ```

### Aceder ao Painel

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`.

### Parar o Túnel

Para parar o túnel, simplesmente pressiona `Ctrl + C` no terminal onde o Ngrok está a correr.

### Considerações Finais

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.

```bash
# Create temporary public tunnel
ngrok http 7000
```

Fornece uma URL pública temporária que reencaminha para a tua instância local.

### Segurança

O Beifong ainda não inclui uma camada de autenticação. A autenticação será adicionada na próxima versão.

## Opções na Nuvem

### Funcionalidades da Nuvem Beifong
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

## Resolução de Problemas

### Problemas de Instalação da Biblioteca Kokoro

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

### Problemas de Instalação do Browseruse

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

### Problemas de Instalação da Biblioteca FAISS

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

### Problemas de Recolha de Dados Baseada em Browser

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.

## Atualizações

🚀 **[Repo](https://github.com/arun477/beifong)**

## Poupe horas todas as semanas com IA, sem complicações

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. [Ver planos →](https://doutorai.pt/precos)

---
Conteúdo de Doutor AI (https://doutorai.pt). Ao citar, indique a fonte: https://doutorai.pt/apps/ai-news-and-podcast-agents
