EXPERIMENTE AQUI
Open Canvas é um aplicativo da web de código aberto para colaboração com agentes para escrever melhor documentos. É inspirado no "Canvas" da OpenAI, mas com algumas diferenças importantes.
Código aberto : todo o código, desde o frontend, ao agente de geração de conteúdo e ao agente de reflexão, é de código aberto e licenciado pelo MIT.
Memória integrada : o Open Canvas vem pronto para uso com um agente de reflexão que armazena regras de estilo e percepções do usuário em um armazenamento de memória compartilhada. Isso permite que o Open Canvas lembre fatos sobre você durante as sessões.
Comece a partir de documentos existentes : o Open Canvas permite que os usuários comecem com um texto em branco ou um editor de código na linguagem de sua escolha, permitindo que você inicie a sessão com o conteúdo existente, em vez de ser forçado a iniciar com uma interação por chat. Acreditamos que esta é uma UX ideal porque muitas vezes você já terá algum conteúdo para começar e desejará iterá-lo.
Memória : Open Canvas possui um sistema de memória integrado que irá gerar automaticamente reflexões e memórias sobre você e seu histórico de bate-papo. Eles são então incluídos nas interações de bate-papo subsequentes para proporcionar uma experiência mais personalizada.
Ações rápidas personalizadas : as ações rápidas personalizadas permitem que você defina seus próprios prompts vinculados ao usuário e persistam entre as sessões. Eles podem ser facilmente invocados com um único clique e aplicados ao artefato que você está visualizando no momento.
Ações rápidas predefinidas : há também uma série de ações rápidas predefinidas para tarefas comuns de escrita e codificação que estão sempre disponíveis.
Controle de versão do artefato : Todos os artefatos possuem uma “versão” vinculada a eles, permitindo que você viaje no tempo e veja versões anteriores do seu artefato.
Código, Markdown ou ambos : a visualização do artefato permite visualizar e editar o código e o markdown. Você pode até ter chats que geram código e artefatos de markdown e alternar entre eles.
Renderização e edição de markdown ao vivo : o editor de markdown do Open Canvas permite que você visualize o markdown renderizado enquanto você edita, sem ter que alternar entre voltar e quarto.
Você pode usar nossa versão implantada gratuitamente visitando opencanvas.langchain.com
ou
Você pode clonar este repositório e executá-lo localmente/implantar em sua própria nuvem. Consulte a próxima seção para ver as etapas sobre como fazer isso.
Executar ou desenvolver o Open Canvas é fácil. Comece clonando este repositório e navegando até o diretório.
clone git https://github.com/langchain-ai/open-canvas.gitcd open-canvas
Em seguida, instale as dependências via Yarn:
instalação de fio
Em seguida, instale o LangGraph Studio, que é necessário para executar os gráficos localmente, ou crie uma conta LangSmith para implantar em produção no LangGraph Cloud.
Depois disso, copie o conteúdo do arquivo .env.example
para .env
e defina os valores necessários:
# rastreamento LangSmithLANGCHAIN_TRACING_V2=true LANGCHAIN_API_KEY=# Chaves API LLM# Anthropic usado para reflexãoANTHROPIC_API_KEY=# OpenAI usado para geração de conteúdoOPENAI_API_KEY=# Implementação LangGraph ou servidor de desenvolvimento local via LangGraph Studio.# Se estiver executando localmente, esta URL deve ser definida no arquivo `constants.ts`. # LANGGRAPH_API_URL=# Supabase para autenticação# Public chavesNEXT_PUBLIC_SUPABASE_URL= NEXT_PUBLIC_SUPABASE_ANON_KEY=
Finalmente, inicie o servidor de desenvolvimento:
desenvolvedor de fios
Em seguida, abra localhost:3000 com seu navegador e comece a interagir!
Você também pode assistir a um breve vídeo passo a passo (2 minutos) sobre como configurar o Open Canvas localmente aqui.
Open Canvas foi projetado para ser compatível com qualquer modelo LLM. A implantação atual possui os seguintes modelos configurados:
Antrópico Claude 3 Haiku? : Haiku é o modelo mais rápido do Anthropic, ótimo para tarefas rápidas, como fazer edições em seu documento. Cadastre-se para uma conta Antrópica aqui.
Fogos de artifício Lhama 3 70B ? : Llama 3 é um modelo de código aberto SOTA da Meta, desenvolvido com Fireworks AI. Você pode se inscrever para uma conta aqui.
OpenAI GPT 4o Mini? : GPT 4o Mini é o menor e mais novo modelo da OpenAI. Você pode se inscrever para obter uma chave de API aqui.
Se desejar adicionar um novo modelo, siga estas etapas simples:
Adicione ou atualize as variáveis do provedor de modelo em constants.ts
.
Instale o pacote necessário para o provedor (por exemplo, @langchain/anthropic
).
Atualize a função getModelNameAndProviderFromConfig
em src/agent/utils.ts
para incluir seu novo nome de modelo e provedor.
Teste manualmente verificando se você pode:
4a. Gerar um novo artefato
4b. Gere uma mensagem de acompanhamento (acontece automaticamente após gerar um artefato)
4c. Atualizar um artefato por meio de uma mensagem no chat
4d. Atualizar um artefato por meio de uma ação rápida
4e. Repita para texto/código (garanta que ambos funcionem)
Abaixo está uma lista de recursos que gostaríamos de adicionar ao Open Canvas em um futuro próximo:
Renderizar React no editor : Idealmente, se você tiver o Open Canvas gerando código React (ou HTML), deveremos ser capazes de renderizá-lo ao vivo no editor. Editar : Isso está em fase de planejamento agora!
Vários assistentes : Os usuários devem ser capazes de criar vários assistentes, cada um com seu próprio armazenamento de memória.
Dê aos assistentes 'ferramentas' personalizadas : depois de implementarmos RemoteGraph
em LangGraph.js, os usuários deverão ser capazes de dar aos assistentes acesso para chamar seus próprios gráficos como ferramentas. Isso significa que você pode personalizar seu assistente para ter acesso a eventos atuais, seu próprio gráfico de conhecimento pessoal, etc.
Você tem uma solicitação de recurso? Por favor, abra um problema!
Gostaríamos de continuar desenvolvendo e melhorando o Open Canvas e queremos sua ajuda!
Para começar, há vários problemas do GitHub com solicitações de recursos que descrevem melhorias e adições para tornar a experiência do usuário do aplicativo ainda melhor. Existem três rótulos principais:
frontend
: Este rótulo é adicionado a problemas focados na UI e que não exigem muito ou nenhum trabalho do(s) agente(s).
ai
: Este rótulo é adicionado a questões focadas na melhoria do(s) agente(s) LLM.
fullstack
: este rótulo é adicionado a problemas que exigem a manipulação do código do front-end e do agente.
Se você tiver dúvidas sobre como contribuir, entre em contato comigo por e-mail: brace(at)langchain(dot)dev
. Para bugs/problemas gerais com o código, abra um problema no GitHub.