Repository navigation
Releases
Siliconflower 0.10.0
Changed
- Na interface, o modo
programaçãoaparece como ultracódigo, com as letras em arco-íris animado e fonte JetBrains Mono (OFL, embutida e recortada para Latin-1, 7 KB); o valor do modo, os prompts e a config salva não mudam (src/gui/client/,src/gui/server.ts).
Qual baixar?
Windows
Siliconflower-Setup-0.10.0.exe: o app de desktop, com instalador e atalho. Se não sabe qual, é este.siliconflower-portatil-windows-x64.exe: só o agente, sem instalar;siliconflower guiabre a interface no navegador.
Linux
Siliconflower-0.10.0-amd64.debouSiliconflower-0.10.0-x86_64.AppImage(cominstall-appimage.sh): o app de desktop.siliconflower-portatil-linux-x64: só o agente, sem instalar.
Siliconflower 0.9.1
Fixed
- Duas janelas que salvavam a mesma conversa no mesmo milissegundo não percebiam o conflito, e uma gravava por cima da outra: cada gravação leva agora uma revisão aleatória (
rev), e arquivos antigos seguem comparados porupdatedAt(src/services/conversations.ts,src/session.ts).
Incluído da 0.9.0 (não publicada separadamente)
Correções da revisão da 0.8.1 e o que faltava na interface: anexos, edição da última mensagem, tarefas em background, busca e renomeação de conversas. O projeto passa a ser só para Windows e Linux em x86_64.
Added
- Anexar arquivos pela interface: botão 📎, colar ou arrastar. Imagens em qualquer provedor; áudio e vídeo na API Xiaomi MiMo. Até 4 arquivos e 10 MB por mensagem, guardados em
workspaces/<workspace-id>/uploads/(src/session.ts,src/gui/). - Tarefas em background aparecem na barra lateral, com botão para encerrar cada uma (
src/session.ts,src/gui/client/). manage_background_taskcomstatusmostra empartialOutputo que um comando ainda em execução já imprimiu (src/services/background-tasks.ts).- Editar e reenviar a última mensagem: o botão Editar aparece ao passar o mouse sobre ela; a resposta antiga sai da tela e do histórico, e os anexos vão de novo (
src/session.ts,src/gui/). - Busca e renomeação de conversas na barra lateral (
src/services/conversations.ts,src/gui/client/app.js). - Realce de sintaxe nos blocos de código, sem dependências e sem HTML do modelo (
src/gui/client/markdown.js). contextTokensnoconfig.json: quanto cada pedido pode usar antes de compactar o histórico (padrão 90 mil) (src/context.ts).- Servidores MCP por HTTP:
urleheadersemmcpServers, também no formulário do app (src/mcp.ts,desktop/src/settings.ts). - Hooks
preToolepostTooltambém rodam para ferramentas MCP (src/session.ts).
Removed
- Suporte a macOS e a ARM: o projeto é só para Windows e Linux em x86_64.
build.tsrecusa outras plataformas,siliconflower guinão usa maisopen, e a documentação e opackage.json(os,cpu) deixam de citar macOS.
Changed
- Workflows de CI e release com
actions/checkout@v7esoftprops/action-gh-release@v3, que rodam em Node 24 (o Node 20 nas actions foi descontinuado pelo GitHub). read_filedevolve linhas inteiras até cerca de 28 mil caracteres e diz em que linha continuar, em vez de o começo e o fim com o meio cortado; uma linha acima de 4 mil caracteres é encurtada (src/tools.ts).- O texto de uma resposta em andamento vai para a página em pedaços, não inteiro a cada atualização (
src/gui/server.ts). - O limite de uma mensagem da página subiu de 1 MB para 16 MB, para caber os anexos (
src/gui/server.ts). @modelcontextprotocol/sdk1.32.2, que corrige quatro avisos de segurança do próprio SDK.
Fixed
- Um
hooks.jsonem~/.siliconflower/só rodava oonCommand:preTool,postTool,onEdit,onSessionStarteonSessionEnderam ignorados sem aviso, e quem moveu o arquivo do repositório ao atualizar para a 0.8.1 ficou sem eles. Agora cada evento vem doconfig.jsonou, na falta, dohooks.json(src/core/hooks.ts). - Conversas com mais de 40 mensagens tinham os resultados antigos de ferramentas cortados para 300 caracteres mesmo com o contexto quase vazio, e o modelo esquecia os arquivos que tinha lido; a compactação agora depende só do orçamento de tokens (
src/context.ts). - Um erro de rede com "aborted" no texto aparecia como "cancelado pelo usuário", sem mensagem de erro (
src/llm.ts,src/session.ts). - Uma resposta vazia do provedor deixava a tela sem nada; agora aparece um aviso (
src/session.ts). - Um stream que parava de enviar dados no meio da resposta prendia o turno para sempre; agora falha depois de 300 s sem dados (
src/llm.ts). search_filese oincludedegrep_contentfalhavam com*dentro de chaves ({*.ts,*.js}), e o ponto dentro de chaves casava com qualquer caractere (src/glob-util.ts).grep_contentcom uma regex de repetição aninhada, como(a+)+, podia congelar o agente inteiro, inclusive o botão Parar; o padrão agora é recusado (src/grep.ts).web_fetchcomtimeoutMsacima de 60 s era cortado em 60 s pelo limite fixo da ferramenta (src/tools.ts).edit_fileregravava com CRLF todas as linhas de um arquivo que tivesse um só\r\n; agora só o trecho trocado é reescrito (src/services/smart-edit.ts).- Windows: uma memória chamada
memoryera gravada no arquivo do índice e apagada por ele (src/services/memory.ts). ~/.siliconflower/outputs/crescia sem limite; saídas com mais de 7 dias são apagadas (src/context.ts).- Um servidor MCP que morria deixava suas ferramentas falhando até reiniciar o agente; agora é reconectado na chamada seguinte, e uma falha ao listar as ferramentas vai para o log (
src/mcp.ts). - Duas janelas no mesmo projeto (navegador e app) gravavam por cima da mesma conversa; a segunda a salvar agora continua numa cópia (
src/services/conversations.ts).
Security
- Credenciais em comandos e argumentos (
Bearer ...,sk-...,token=..., senha em URL) são mascaradas antes de ir para o log (src/logger.ts).
Siliconflower 0.8.1
Correções de perda de conversas, de turnos interrompidos que o modelo esquecia, de saídas de ferramenta sem corte e do cancelamento, além de uma de segurança: hooks dentro do repositório não rodam mais.
Changed
- Documentação enxugada: README sem repetições, ARCHITECTURE e PLATAFORMAS sem trechos duplicados, e o README explica o
envdo MCP e o erro de PATH comnpxdo nvm no app.
Fixed
- Trocar de conversa, começar outra ou apagar a atual enquanto ela era salva fazia o turno seguinte gravar por cima de outra conversa ou trazia a apagada de volta (
src/session.ts,src/services/conversations.ts). - Um erro do provedor ou um cancelamento no meio do turno apagava da memória do modelo os passos de ferramenta já concluídos, e ele refazia edições e comandos sem saber; agora esses passos ficam no histórico, e as chamadas que não rodaram recebem um resultado dizendo isso (
src/llm.ts,src/session.ts,src/services/subagent.ts). - Resultados de MCP,
manage_background_task,find_symbol,repo_map,list_directorye subagentes não eram cortados em 32 mil caracteres; o corte agora vale para toda ferramenta (src/llm.ts). - Imagens e áudios devolvidos por servidores MCP chegavam ao modelo como Base64 em texto, megabytes por captura de tela; agora viram uma nota curta (
src/mcp.ts). - A compactação do histórico encurtava o pedido atual do usuário antes dos resultados de ferramenta e deixava JSON inválido nos argumentos das chamadas, que faz provedores recusarem os pedidos seguintes (
src/context.ts). - Xiaomi MiMo: a compactação removia o
reasoning_contentdas mensagens com chamadas de ferramenta, que o MiMo exige; agora ele fica, encurtado (src/context.ts). - Subagentes usavam
todowrite, que substituía a lista de tarefas do usuário, esend_subagent_message, que contornava a proibição de recursão, e executavam ferramentas que não lhes foram oferecidas (src/services/subagent.ts). send_subagent_messagepara um subagente ainda em execução rodava a mesma sessão duas vezes ao mesmo tempo e embaralhava o histórico dela; agora é recusado.- Parar não interrompia
grep_content,search_files,repo_map,find_symbolnem os hooks, e uma ferramenta cancelada durante opreToolrodava mesmo assim (src/grep.ts,src/glob-util.ts,src/services/repomap.ts,src/core/hooks.ts,src/tools.ts). - A consulta DNS do
web_fetchficava fora do timeout e do cancelamento, e um DNS lento travava a ferramenta (src/services/web.ts). - Um
config.jsoncom erro de sintaxe era tratado como inexistente, e o assistente ou o formulário do app gravavam um novo por cima, perdendo hooks e servidores MCP; agora o erro aparece e o arquivo fica como está (src/config.ts,desktop/src/settings.ts). - Um
config.jsonsalvo com BOM (Bloco de Notas) ou com um campo de tipo errado era descartado inteiro (src/config.ts). - Hooks não rodavam para arquivos grandes: o conteúdo inteiro ia em
SILICONFLOWER_TOOL_ARGSe estourava o limite de variável de ambiente (E2BIG); os textos longos agora são encurtados (src/core/hooks.ts). - A conversão de HTML do
web_fetchlevava tempo quadrático em tags sem fechamento e congelava o agente inteiro por segundos ou minutos em algumas páginas (src/services/web.ts). grep_content,search_files,repo_mapefind_symbolentravam em/etc,/root,/boot,System32,.sshe.awsa partir de uma pasta acima delas (src/fs-util.ts).find_symbolcom nome vazio devolvia todos os símbolos do repositório.manage_background_taskcomlisttrazia a saída inteira de cada tarefa, e uma só com megabytes escondia as outras; agora mostra o começo de cada uma (src/tools.ts).- Uma mensagem acima de 1 MB na GUI fechava a conexão e sumia da caixa de texto; agora ela fica e a página explica o limite (
src/gui/client/app.js).
Security
- Um
.siliconflower/hooks.jsondentro do repositório não roda mais: um projeto clonado executava comandos seus a cadaexecute_command, mesmo numgit status. O arquivo vira um aviso no log e emshow_hooks, que indica para onde movê-lo (src/core/hooks.ts).
Siliconflower 0.8.0
A interface de terminal (TUI) saiu: as interfaces agora são o app de desktop e a GUI no navegador (siliconflower gui). O executável siliconflower continua: ele é o motor do app e mantém os subcomandos gui, config, show, init, ensure, skills, sync e logs.
Changed
siliconflowersem subcomando mostra a ajuda e indica o app de desktop ousiliconflower gui, em vez de abrir a conversa no terminal.- O modo
planopede para trocar de modo pelo seletor Modo da interface, sem citarCtrl+O.
Removed
- TUI em Ink (
src/App.tsx,src/MarkdownText.tsx,src/terminal.ts) e seus testes. - Logo em ASCII (
src/ascii.ts) e o teste dele. - Atalhos de terminal
Ctrl+E,Ctrl+OeCtrl+C; na GUI e no app, os seletores Modo e Pensamento e o botão Parar fazem o mesmo. - Saída sincronizada (DEC 2026) e a variável
SILICONFLOWER_NO_SYNC_OUTPUT. - Dependências
ink,ink-text-input,react,@types/react,@xterm/headlessechalk. - Shim de
react-devtools-corenobuild.ts. - Imagem da TUI no README (
assets/preview.png).
siliconflower-0.7.0
v0.7.0 Siliconflower 0.7.0
Siliconflower 0.5.0
Novidades
- Prompt de sistema reorganizado: agora tem seções e regras comuns a todos os modos: conteúdo externo é dado e não instrução, confirmar ações destrutivas, não ampliar o escopo, verificar o resultado e escolher a ferramenta certa. Também informa a data atual.
- Subagentes com contexto: recebem instruções do projeto, memórias, preferências, skills, idioma e diretório de trabalho.
- Subagentes
researcheplansomente leitura: a restrição é imposta no código.
Correções
- Modo
plano: o prompt dava a entender que a autorização liberava edições. Agora diz que seguem bloqueadas e como trocar de modo. grep_content: parava em 200 ocorrências sem avisar. Agora informa o corte.edit_file: editava o primeiro trecho quando a correspondência flexível de espaços era ambígua. Agora dá erro sem alterar o arquivo.- Ferramentas: as descrições agora informam a versão do PowerShell, os limites de tempo e o comportamento real.
- Tokens: a compactação do histórico e o contador da sessão passam a considerar o prompt e os schemas das ferramentas.
Como instalar
Baixe Siliconflower-Setup-0.5.0.exe abaixo e execute. Se você já tem o app, ele é atualizado. Quer só o terminal? Baixe siliconflower.exe.
O instalador não é assinado. O Windows SmartScreen pode avisar: clique em Mais informações e em Executar assim mesmo.
Detalhes no CHANGELOG.
SHA-256
9596d5a1f887e5a3e6805af9f19c904037054663d5d1596f9c7d88aa778ec9a4 Siliconflower-Setup-0.5.0.exe
9c614c4e017f693f45028b5d391f6c70647abe6915d88fa520bcb7bf6d201769 siliconflower.exe
Siliconflower 0.4.1
Correções
- Resposta interrompida: quando o provedor ou a conexão encerrava o stream antes do fim, o modelo era orientado a corrigir o JSON de uma chamada que só estava incompleta. Agora ele recebe o motivo certo e repete a chamada.
- Texto interrompido: a resposta parecia concluída. Agora termina com um aviso.
write_file: informava caracteres como se fossem bytes.
Como instalar
Baixe Siliconflower-Setup-0.4.1.exe abaixo e execute. Se você já tem o app, ele é atualizado. Quer só o terminal? Baixe siliconflower.exe.
O instalador não é assinado. O Windows SmartScreen pode avisar: clique em Mais informações e em Executar assim mesmo.
Detalhes no CHANGELOG.
SHA-256
fd0bff1447036622d32f67de7fd17d35f154bf85c8117c016f96a35f416dcbda Siliconflower-Setup-0.4.1.exe
2a393cd23aad2ddc85314b49d78fcc2ef8ced64ceba2ce8ada1953f46d682059 siliconflower.exe
Siliconflower 0.4.0
Novidades
Como instalar
- Baixe
Siliconflower-Setup-0.4.0.exeabaixo. - Execute com dois cliques. Não pede administrador e não exige Bun nem Node. Se você já tem o app, ele é atualizado.
Quer só o terminal? Baixe siliconflower.exe. O app já traz o próprio agente, então você não precisa dos dois.
O instalador não é assinado. O Windows SmartScreen pode avisar: clique em Mais informações e em Executar assim mesmo. Para conferir o arquivo, compare o SHA-256 no fim desta página.
Arquivos grandes
- Limite de saída dobrado: cada resposta do modelo agora pode ter até 32768 tokens, antes 16384. Se o provedor recusar esse valor, o pedido é repetido com 16384.
- Resposta cortada no limite: uma ferramenta com argumentos incompletos não executa mais, e o modelo recebe o motivo para escrever em partes. Um texto cortado agora termina com um aviso.
Mídia
- Nova ferramenta
read_media: o modelo vê imagens em qualquer provedor e, na API Xiaomi MiMo, também ouve áudios e vê vídeos.
Ferramentas
save_memory,recall_memoryeforget_memoryvirarammemory.create_artifact,read_artifact,list_artifactsedelete_artifactviraramartifact.manage_hookspassou a se chamarshow_hooks.- A saída do hook
onEditagora volta para o modelo junto com o resultado da edição.
Hooks que comparam SILICONFLOWER_TOOL_NAME com os nomes antigos precisam ser ajustados.
Correções
- "Pensando..." sumia no app e na interface do navegador depois do primeiro texto do turno, e a tela ficava sem sinal de atividade. Agora fica até o fim do turno.
write_filecom argumentos cortados criava um arquivo vazio chamadoundefinede relatava sucesso. Semcontent, esvaziava o arquivo existente. Agora recusa a chamada.
Detalhes no CHANGELOG.
SHA-256
f746f7784028a5dab33769793bc293f7578edf0f899feba14db174d2ad2e2b67 Siliconflower-Setup-0.4.0.exe
88d37a7dce04edd84baddff28af1264bbde2d1dc7a2e5a54690a9904a03a9ab7 siliconflower.exe
Siliconflower 0.3.0
Novidades
O Siliconflower agora tem app de desktop: dois cliques, janela própria, sem terminal e sem navegador. O modo terminal continua disponível.
Como instalar
- Baixe
Siliconflower-Setup-0.3.0.exeabaixo. - Execute com dois cliques. Não pede administrador e não exige Bun nem Node.
- Informe provedor, chave e modelo, e escolha a pasta do projeto.
Quer só o terminal? Baixe siliconflower.exe. O app já traz o próprio agente, então você não precisa dos dois.
O instalador não é assinado. O Windows SmartScreen pode avisar: clique em Mais informações e em Executar assim mesmo. Para conferir o arquivo, compare o SHA-256 no fim desta página.
App de desktop
- Uma janela por projeto, com agente e conversas próprios. Dá para abrir vários ao mesmo tempo.
- Conversas salvas: lista na lateral, nova conversa, retomar e apagar.
- Configurações sem terminal, com botão Testar conexão. A chave nunca volta para a tela.
- Se o agente cair, a janela oferece reabrir e a conversa volta. Só se perde a resposta em andamento.
- Fechar a janela encerra o agente e os comandos em background daquele projeto.
Interface no navegador
- Novo comando
siliconflower gui: a mesma interface no Firefox ou em outro navegador.
Correções
- Cancelar uma resposta deixava ferramentas já recebidas executarem e guardava o turno como concluído. Afetava a TUI.
config.jsonagora é gravado de forma atômica: uma queda no meio não perde a chave de API.- O erro HTTP 400 só com "Request failed", visto no Xiaomi MiMo, agora é repetido uma vez em vez de virar erro na conversa.
Bom saber
- As conversas ficam em
~/.siliconflower/workspaces/<projeto>/sessions/, em texto puro, incluindo o que as ferramentas leram. Veja SECURITY.md. - Aberto por atalho, o app usa as variáveis de ambiente do Windows, não as de um terminal.
- A TUI não salva conversas.
- O app só existe para Windows x64 e ocupa cerca de 420 MB depois de instalado.
Detalhes no CHANGELOG.
SHA-256
5ff415f3a35e3347300767d1b493fe5bd9099336ac8503b2b58dd16236ca521d Siliconflower-Setup-0.3.0.exe
d4b116ac44f3c208af2253898b864a515f58bfffdc7353691a1f2e48159251cb siliconflower.exe
Siliconflower 0.2.9
Novidades
Resumo das versões 0.2.7, 0.2.8 e 0.2.9 (as duas primeiras não tiveram release próprio).
Correções importantes
- Ctrl+C cancela a resposta em andamento em vez de fechar o app.
- Subagentes (
run_task) não são mais encerrados depois de 60 s. web_fetchdevolve o conteúdo da página, e não só o menu.- PowerShell: saída em UTF-8 (acentos corretos), sem carregar o
$PROFILE, e timeout ou cancelamento encerram também os processos filhos. - Contexto: o histórico é compactado a cada passo, e o modelo lembra das ferramentas que usou em mensagens anteriores.
- OpenAI: modelos de raciocínio passam a funcionar (
max_completion_tokens). - Segurança: fechado um bypass de SSRF via IPv6, e as variáveis de ambiente não são mais gravadas no
config.json. - Interface: o logo se adapta à largura da janela, e a tela é redesenhada sem restos depois de redimensionar.
Novos recursos
ask_questionpausa o agente e espera a sua resposta na TUI.- Memória por projeto: uma pasta vira projeto com
SILICONFLOWER.mdouAGENTS.md, criado comsiliconflower init. Pastas sem o arquivo começam sempre limpas. - Memória sob demanda: só o índice das memórias vai no prompt, o que economiza tokens.
Detalhes completos no CHANGELOG.
Windows
Baixe o executável standalone siliconflower.exe abaixo.
SHA-256: A52786B310E7B3E4A4835D9DF1E7B63C87F0317334387C8F47E8156D0CEFD1FC