foundation-models-on-device
Permite que seu agente use modelos de linguagem no próprio dispositivo Apple. Ele gera texto, usa ferramentas e faz streaming de dados em tempo real em apps iOS.
O que ela faz
Esta ferramenta permite que aplicativos no seu iPhone (versão 26 ou superior) usem inteligência artificial diretamente no dispositivo. Ela pode gerar textos, entender comandos para realizar ações específicas e até mesmo criar respostas com informações organizadas, tudo isso sem precisar de internet e mantendo seus dados privados.
Quando usar
- ✓Criar um resumo de um texto longo.
- ✓Pedir sugestões de receitas com base nos ingredientes que você tem.
- ✓Gerar uma descrição organizada sobre um animal de estimação.
Exemplo do que pedir para a IA
“Resuma este artigo para mim em três pontos principais.”
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 aplicativo verifica se o seu iPhone é compatível e, em seguida, usa um modelo de inteligência artificial que já está no seu aparelho. Você pode dar instruções para ele gerar texto, criar dados estruturados ou até chamar funções específicas do aplicativo.
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 affaan-m/ECC --skill foundation-models-on-deviceOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/affaan-m/ECC/main/pi/core/skills/foundation-models-on-device/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.
FoundationModels: LLM no Dispositivo (iOS 26)
Padrões para integrar o modelo de linguagem no dispositivo da Apple em aplicativos usando o framework FoundationModels. Abrange geração de texto, saída estruturada com @Generable, chamadas de ferramentas personalizadas e streaming de snapshots — tudo rodando no dispositivo para privacidade e suporte offline.
Quando Ativar
- Construindo recursos com IA usando Apple Intelligence no dispositivo
- Gerando ou resumindo texto sem dependência da nuvem
- Extraindo dados estruturados de entrada em linguagem natural
- Implementando chamadas de ferramentas personalizadas para ações de IA específicas do domínio
- Transmitindo respostas estruturadas para atualizações de UI em tempo real
- Necessidade de IA que preserve a privacidade (nenhum dado sai do dispositivo)
Padrão Principal — Verificação de Disponibilidade
Sempre verifique a disponibilidade do modelo antes de criar uma sessão:
struct GenerativeView: View {
private var model = SystemLanguageModel.default
var body: some View {
switch model.availability {
case .available:
ContentView()
case .unavailable(.deviceNotEligible):
Text("Device not eligible for Apple Intelligence")
case .unavailable(.appleIntelligenceNotEnabled):
Text("Please enable Apple Intelligence in Settings")
case .unavailable(.modelNotReady):
Text("Model is downloading or not ready")
case .unavailable(let other):
Text("Model unavailable: \(other)")
}
}
}
Padrão Principal — Sessão Básica
// Single-turn: create a new session each time
let session = LanguageModelSession()
let response = try await session.respond(to: "What's a good month to visit Paris?")
print(response.content)
// Multi-turn: reuse session for conversation context
let session = LanguageModelSession(instructions: """
You are a cooking assistant.
Provide recipe suggestions based on ingredients.
Keep suggestions brief and practical.
""")
let first = try await session.respond(to: "I have chicken and rice")
let followUp = try await session.respond(to: "What about a vegetarian option?")
Pontos chave para instruções:
- Defina o papel do modelo ("Você é um mentor")
- Especifique o que fazer ("Ajude a extrair eventos de calendário")
- Defina preferências de estilo ("Responda o mais brevemente possível")
- Adicione medidas de segurança ("Responda com 'Não posso ajudar com isso' para solicitações perigosas")
Padrão Principal — Geração Guiada com @Generable
Gere tipos Swift estruturados em vez de strings brutas:
1. Defina um Tipo Generable
@Generable(description: "Basic profile information about a cat")
struct CatProfile {
var name: String
@Guide(description: "The age of the cat", .range(0...20))
var age: Int
@Guide(description: "A one sentence profile about the cat's personality")
var profile: String
}
2. Solicite Saída Estruturada
let response = try await session.respond(
to: "Generate a cute rescue cat",
generating: CatProfile.self
)
// Access structured fields directly
print("Name: \(response.content.name)")
print("Age: \(response.content.age)")
print("Profile: \(response.content.profile)")
Restrições @Guide Suportadas
.range(0...20)— intervalo numérico.count(3)— contagem de elementos de arraydescription:— orientação semântica para geração
Padrão Principal — Chamada de Ferramentas
Permita que o modelo invoque código personalizado para tarefas específicas do domínio:
1. Defina uma Ferramenta
struct RecipeSearchTool: Tool {
let name = "recipe_search"
let description = "Search for recipes matching a given term and return a list of results."
@Generable
struct Arguments {
var searchTerm: String
var numberOfResults: Int
}
func call(arguments: Arguments) async throws -> ToolOutput {
let recipes = await searchRecipes(
term: arguments.searchTerm,
limit: arguments.numberOfResults
)
return .string(recipes.map { "- \($0.name): \($0.description)" }.joined(separator: "\n"))
}
}
2. Crie Sessão com Ferramentas
let session = LanguageModelSession(tools: [RecipeSearchTool()])
let response = try await session.respond(to: "Find me some pasta recipes")
3. Lide com Erros de Ferramenta
do {
let answer = try await session.respond(to: "Find a recipe for tomato soup.")
} catch let error as LanguageModelSession.ToolCallError {
print(error.tool.name)
if case .databaseIsEmpty = error.underlyingError as? RecipeSearchToolError {
// Handle specific tool error
…
Perguntas frequentes
Preciso de internet para usar?
Não, a principal vantagem é que tudo roda no seu dispositivo, funcionando mesmo sem conexão.
Meus dados ficam seguros?
Sim, como a inteligência artificial roda no seu aparelho, nenhuma informação sai dele, garantindo sua privacidade.
Meu celular precisa ser muito novo?
Sim, esta funcionalidade está disponível apenas em dispositivos mais recentes (iOS 26 e superior) que suportam a inteligência artificial no dispositivo.
Detalhes
Descrição original do autor
Apple FoundationModels framework for on-device LLM — text generation, guided generation with @Generable, tool calling, and snapshot streaming in iOS 26+. Use when adding on-device LLM features with Apple FoundationModels on iOS 26+.
repo: affaan-m/ECC
Popularidade
- Estrelas no GitHub
- 280 mil
- Posição no ranking
- #56
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
accessibility
Ajuda seu agente a criar interfaces que todos possam usar. Garante que sites e aplicativos funcionem bem para pessoas com deficiência, como cegos ou com mobilidade reduzida.
affaan-m/ECC
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
Skills parecidas
mcp-builder
Ajuda seu agente a criar servidores que conectam LLMs a serviços externos. Essencial para integrar APIs e serviços usando Python ou Node/TypeScript.
anthropics/skills
prepare-mcp-integration
Prepara integrações com fornecedores (MCP) através de pesquisa e aprovação humana. Segue um processo guiado para novas integrações.
paperclipai/paperclip
first-task
Guia o agente na primeira tarefa do usuário. Ele interpreta a resposta inicial, esclarece o objetivo e propõe um plano ou tarefa única para aprovação.
paperclipai/paperclip