Yoyak: um CLI simples de resumo de páginas web com base em LLM
(github.com/dahlia)Depois de investir cerca de meio dia, criei e publiquei como um app de CLI uma ferramenta simples de resumo de páginas web baseada em LLM. As tecnologias usadas parecem ter sido Deno, LangChain.js e cheer-reader (um substituto do Readability.js).
Para instalar, é necessário ter o Deno:
deno install --global --allow-net --allow-env jsr:@hongminhee/yoyak/cli
Antes do primeiro uso, é preciso configurar o modelo e a chave de API que serão utilizados:
yoyak set-model gemini-2.0-flash-exp # pede a chave de API via entrada padrão
Depois disso, basta colocar a URL da página web que você quer resumir após o comando yoyak summary.
yoyak summary https://github.com/dahlia/yoyak
Se também quiser traduzir, basta passar após a opção -l um código de idioma no formato ISO 639-1 (ex.: coreano → ko):
yoyak summary -l ko https://github.com/dahlia/yoyak
Se quiser apenas fazer o scrape sem resumo, use o comando yoyak scrape (a saída é em formato Markdown). Se quiser apenas traduzir sem resumo, basta passar a opção -l ao comando yoyak scrape.
Sem muitos recursos extras, foquei apenas nas funções de resumo e tradução. Espero que seja útil para vocês.
10 comentários
Olá, obrigado por criar uma funcionalidade tão boa.
Quero processar um pouco a string retornada, por exemplo, adicionando quebras de linha para melhorar a legibilidade.
Existe alguma forma de fazer isso? (Quando salvo em arquivo ou defino a codificação, a string continua aparecendo corrompida.)
Ah, resolvi, obrigado.
gemini-2.0-pro-exp-02-05
gemini-2.0-flash-thinking-exp-01-21
gemini-2.0-flash-lite-preview-02-05
Quando você realmente tiver tempo, acho que seria ainda melhor adicionar isso na próxima versão.
Adicionei isso. Ainda não lancei a versão 0.2.0, mas, se você instalar a versão 0.2.0-dev.5+a6daf279, já pode experimentar antes.
Excelente. Funciona bem.
Acho que ficou muito bom como CLI.
BOM TRABALHO 👍
Muito legal! 👍🏻
Parece bem útil poder resumir junto com a tradução! Vou usar bastante.
Será que também poderia haver uma opção de
endpointpersonalizado para chamar modelos locais ou auto-hospedados?Vou tentar adicionar isso em breve! Obrigado.