molykit
Ajuda seu agente a gerenciar conversas de IA. Permite interações fluidas com o usuário e o uso de ferramentas de IA.
O que ela faz
MolyKit é um conjunto de ferramentas para criar aplicativos de chat com inteligência artificial que funcionam em diferentes sistemas operacionais. Ele ajuda a conectar com serviços de IA como o OpenAI e a exibir as conversas de forma organizada.
Quando usar
- ✓Ao criar um aplicativo de chat com inteligência artificial.
- ✓Ao integrar um serviço de IA (como OpenAI) no seu aplicativo.
- ✓Quando você precisa que seu aplicativo de chat funcione em computadores e na web.
Exemplo do que pedir para a IA
“Como posso usar o MolyKit para criar uma interface de chat com o OpenAI?”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
O MolyKit oferece componentes prontos para exibir mensagens e caixas de texto, além de ferramentas para conectar com inteligências artificiais de forma eficiente e assíncrona, garantindo que tudo funcione bem em diferentes plataformas.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill molykitOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/skills/molykit/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Skill MolyKit
Melhores práticas para construir interfaces de chat com IA usando Makepad com MolyKit - um kit de ferramentas para aplicações de chat com IA multiplataforma.
Código fonte: /Users/zhangalex/Work/Projects/FW/robius/moly/moly-kit
Quando Usar
Use esta skill quando:
- Estiver construindo interfaces de chat com IA com Makepad
- Estiver integrando APIs OpenAI ou outros LLMs
- Estiver implementando async multiplataforma para nativo e WASM
- Estiver criando widgets de chat (mensagens, prompts, avatares)
- Estiver lidando com respostas de streaming SSE
- Palavras-chave: molykit, moly-kit, ai chat, bot client, openai makepad, chat widget, sse streaming
Visão Geral
MolyKit oferece:
- Utilitários async multiplataforma (PlatformSend, spawn(), ThreadToken)
- Widgets de chat prontos para uso (Chat, Messages, PromptInput, Avatar)
- Trait BotClient para integração com provedores de IA
- Cliente compatível com OpenAI com streaming SSE
- Tipos de protocolo para mensagens, bots e chamadas de ferramentas
- Suporte a MCP (Model Context Protocol)
Padrões Async Multiplataforma
PlatformSend - Enviar Apenas em Nativo
/// Implies Send only on native platforms, not on WASM
/// - On native: implemented by types that implement Send
/// - On WASM: implemented by ALL types
pub trait PlatformSend: PlatformSendInner {}
/// Boxed future type for cross-platform use
pub type BoxPlatformSendFuture<'a, T> = Pin<Box<dyn PlatformSendFuture<Output = T> + 'a>>;
/// Boxed stream type for cross-platform use
pub type BoxPlatformSendStream<'a, T> = Pin<Box<dyn PlatformSendStream<Item = T> + 'a>>;
Spawning Agnóstico de Plataforma
/// Runs a future independently
/// - Uses tokio on native (requires Send)
/// - Uses wasm-bindgen-futures on WASM (no Send required)
pub fn spawn(fut: impl PlatformSendFuture<Output = ()> + 'static);
// Usage
spawn(async move {
let result = fetch_data().await;
Cx::post_action(DataReady(result));
SignalToUI::set_ui_signal();
});
Cancelamento de Tarefas com AbortOnDropHandle
/// Handle that aborts its future when dropped
pub struct AbortOnDropHandle(AbortHandle);
// Usage - task cancelled when widget dropped
#[rust]
task_handle: Option<AbortOnDropHandle>,
fn start_task(&mut self) {
let (future, handle) = abort_on_drop(async move {
// async work...
});
self.task_handle = Some(handle);
spawn(async move { let _ = future.await; });
}
ThreadToken para Tipos Não-Send em WASM
/// Store non-Send value in thread-local, access via token
pub struct ThreadToken<T: 'static>;
impl<T> ThreadToken<T> {
pub fn new(value: T) -> Self;
pub fn peek<R>(&self, f: impl FnOnce(&T) -> R) -> R;
pub fn peek_mut<R>(&self, f: impl FnOnce(&mut T) -> R) -> R;
}
// Usage - wrap non-Send type for use across Send boundaries
let token = ThreadToken::new(non_send_value);
spawn(async move {
token.peek(|value| {
// use value...
});
});
Trait BotClient
Implementando Integração com Provedores de IA
pub trait BotClient: Send {
/// Send message with streamed response
fn send(
&mut self,
bot_id: &BotId,
messages: &[Message],
tools: &[Tool],
) -> BoxPlatformSendStream<'static, ClientResult<MessageContent>>;
/// Get available bots/models
fn bots(&self) -> BoxPlatformSendFuture<'static, ClientResult<Vec<Bot>>>;
/// Clone for passing around
fn clone_box(&self) -> Box<dyn BotClient>;
}
// Usage
let client = OpenAIClient::new("https://api.openai.com/v1".into());
client.set_key("sk-...")?;
let context = BotContext::from(client);
BotContext - Wrapper Compartilhável
/// Sharable wrapper with loaded bots for sync UI access
pub struct BotContext(Arc<Mutex<InnerBotContext>>);
impl BotContext {
pub fn load(&mut self) -> BoxPlatformSendFuture<ClientResult<()>>;
pub fn bots(&self) -> Vec<Bot>;
pub fn get_bot(&self, id: &BotId) -> Option<Bot>;
pub fn client(&self) -> Box<dyn BotClient>;
}
// Usage
let mut context = BotContext::from(client);
spawn(async move {
if let Err(errors) = context.load().await.into_result() {
// handle errors
}
Cx::post_action(BotsLoaded);
});
Tipos de Protocolo
Estrutura da Mensagem
pub struct Message {
pub from: EntityId, // User, System, Bot(BotId), App
pub metadata: MessageMetadata,
pub content: MessageContent,
}
pub struct MessageContent {
pub text: String, // Conteúdo principal (markdown)
pub reasoning: String, // Raciocínio/pensamento da IA
…
Perguntas frequentes
O que é 'cross-platform async'?
Significa que o código pode rodar de forma assíncrona (sem travar a interface) tanto em sistemas nativos (como Windows, macOS) quanto na web (WASM), usando as ferramentas certas para cada ambiente.
O que são 'chat widgets'?
São partes prontas da interface do usuário, como a área de mensagens, a caixa onde você digita o texto e a imagem do avatar, que o MolyKit oferece para facilitar a criação do chat.
Como o MolyKit se conecta com a IA?
Ele usa um 'BotClient' que pode ser configurado para se comunicar com diferentes provedores de IA, como o OpenAI, e recebe as respostas em tempo real (streaming).
Detalhes
Descrição original do autor
CRITICAL: Use for MolyKit AI chat toolkit. Triggers on: BotClient, OpenAI, SSE streaming, AI chat, molykit, PlatformSend, spawn(), ThreadToken, cross-platform async, Chat widget, Messages, PromptInput, Avatar, LLM
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #4671
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
agent-architecture-audit
Faz seu agente verificar se tudo está funcionando corretamente. Ele encontra e conserta problemas em sistemas de IA, garantindo que funcionem como esperado.
affaan-m/ECC
agent-eval
Ajuda seu agente a comparar diferentes ferramentas de programação de IA. Ele mede qual é mais rápido, barato e confiável para realizar tarefas específicas.
affaan-m/ECC
agent-harness-construction
Faz seu agente entender melhor como realizar tarefas. Ele otimiza as ferramentas e instruções que o agente usa para aumentar suas chances de sucesso.
affaan-m/ECC