A native LLM client for iOS & Apple Watch. Run local GGUF models offline via llama.cpp, or connect to OpenAI/Claude/Gemini. Features local RAG, Model Context Protocol (MCP) tools, Siri Shortcuts, and cross-device sync. Built with Swift.
# Add to your Claude Code skills
git clone https://github.com/Eric-Terminal/ETOS-LLM-StudioGuides for using ai agents skills like ETOS-LLM-Studio.
Last scanned: 5/30/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-05-30T16:26:05.892Z",
"npmAuditRan": true,
"pipAuditRan": true
}ETOS-LLM-Studio is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by Eric-Terminal. A native LLM client for iOS & Apple Watch. Run local GGUF models offline via llama.cpp, or connect to OpenAI/Claude/Gemini. Features local RAG, Model Context Protocol (MCP) tools, Siri Shortcuts, and cross-device sync. Built with Swift. It has 139 GitHub stars.
Yes. ETOS-LLM-Studio passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/Eric-Terminal/ETOS-LLM-Studio" and add it to your Claude Code skills directory (see the Installation section above).
ETOS-LLM-Studio is primarily written in Swift. It is open-source under Eric-Terminal on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh ETOS-LLM-Studio against similar tools.
No comments yet. Be the first to share your thoughts!
一个运行在 iOS 和 Apple Watch 上的原生 AI 客户端。支持 OpenAI、Anthropic Claude、Google Gemini 与本机 GGUF / llama.cpp 模型,内置 MCP 工具调用、Agent Skills 技能包、本地 RAG 记忆、世界书、每日脉冲、应用锁与 SQLCipher 全盘加密、CloudKit / WatchConnectivity 双端同步以及 Siri 快捷指令。
English | 繁體中文 | 日本語 | Русский
在学校的日子挺无聊的,平时又总会冒出很多想问 AI 的问题。当时我嫌 App Store 上的 AI 应用要么贵得离谱,要么功能太残废(尤其是手表端),索性就自己动手搓了一个。
从最初那个只有 1,800 行代码、API Key 还要硬编码的简陋版本,到现在 641 个 Swift 源文件、226,381 行 Swift 代码(仅计算项目内 Swift,不把 llama.cpp 子模块和 VitePress 文档站依赖算进来)的工程,它确实已经长大了不少。虽然名字叫 "ETOS LLM Studio" 听着有点唬人,但它本质上还是我拿来探索大模型应用边界的试验场。
现在它已经不只是一个手表端 App 了:我把 iOS 端也一点点补成了完整版本,方便在手机上管理云端模型、本地 GGUF 权重、工具、记忆、世界书和每日脉冲;两端数据还能通过内置同步引擎自动互通。
因为我平时主要还是用 Mac 和 Watch,iPhone 端偶尔会有一些还在继续打磨的边角,不过我会继续慢慢补齐。
.elsbackup、Cherry Studio、RikkaHub、Kelivo、ChatBox、ChatGPT conversations 等第三方会话,并可导出 PDF / Markdown / TXT。SFSpeechRecognizer 流式识别,iOS / watchOS 录音流程内嵌到聊天输入栏,支持实时转写、音频直发和识别结果回填输入框。getSystemTime 等能力,支持按来源和用途分组、聊天工具开关、审批策略、会话级启用、分类收纳与工具详情页。CustomJSTools 独立目录,创建前会执行脚本验证,可像普通工具一样启用、禁用和配置审批策略。character_book 等常见世界书格式。.elsbackup 上传与安全恢复流程。.elsbackup 快照导入、手表端全量导入、CloudKit 传输(含 APNs 静默推送触发后台同步)、iCloud Drive 备份导出/导入、启动备份、损坏自愈,以及通过 S3 兼容对象存储(AWS S3 / Cloudflare R2)签名上传快照、浏览远端快照并从云端下载恢复。@AppStorage,所有运行时配置走 GRDB 持久化、运行时缓存读取并以后台异步写入派发回主线程,避免主线程 I/O 与多设备配置漂移;支持旧版 UserDefaults 配置的一次性迁移。说实话,我最开始是想做免费软件的。 但 Apple Developer Program 每年 $99 的费用,对我一个学生来说确实有点吃力。
后来有位投资人帮我垫付了这笔钱,代价是我需要通过软件收费来偿还这笔投资(而且还要分成给他)。所以 App Store 版本象征性地收了一点费用,这就当是大家众筹帮我还债,顺便买个“不用每七天重签一次”的便利服务。
但是,开源是我的底线。
所以现在的规则很简单:
技术本该共享,我不希望因为几十块钱的门槛,挡住了同样对代码感兴趣的你。
@AppStorage,GRDB 持久化 + 运行时缓存 + 后台异步写入)local-llama-cpp 提供商libetos-llama.a, Accelerate / Metal(watchOS 运行期固定 CPU 路径)GRDB.swift(Eric-Terminal fork)、SQLCipher.swift、swift-sdk(MCP)、swift-markdown-ui、SwiftMath、ZIPFoundation、Cepheus(watchOS 第三方键盘),并包含其传递依赖 networkimage、swift-cmark、eventsource、swift-nio 等)+ llama.cpp Git submodule + CMake/Ninja 静态库构建脚本项目采用双层结构:平台无关的 ETOSCore 框架 + 各平台独立的视图层。最近一轮重构引入了 Config/AppConfigStore 配置中心,全量替代 @AppStorage,并新增 LocalLLM / LocalLLMBridge 把本机 GGUF 推理接入现有聊天生命周期;同时把 MCP、同步导入、局域网调试和会话标签继续拆成独立模块。当前最大 Swift 文件约 1,540 行(Sync/WatchSyncManager.swift),本地模型管理页、同步引擎和工具中心仍是后续继续拆分的重型模块。
ETOSCore/ETOSCore/ ← 平台无关业务逻辑(293 个 Swift 源文件)
├── AppTool/ ← 本地工具、自定义 JS 工具、ask_user_input、SQLite 与沙盒文件工具
├── Attachments/ ← 文件附件文本抽取
├── Chat/ ← 聊天模型、消息版本、导出、渲染状态
│ └── Service/ ← ChatService 请求编排、响应解析、重试、工具、记忆与世界书注入
├── Config/ ← AppConfigStore 配置中心、键定义与旧版 UserDefaults 迁移
├── ConfigLoader/ ← Provider 配置、SQLite 存储、背景与一次性下载状态
├── Core/ ← 核心模型、JSONValue、请求体控制与共享基础设施
├── DailyPulse/ ← 每日脉冲生成、筛选、投递、反馈与任务数据
├── Feedback/ ← 应用内反馈助手、环境采集、DTO 与本地存储
├── Font/ ← 自定义字体库、字体路由与回退范围
├── LocalDebugServer/ ← 局域网调试客户端、Web 控制台、文件 / SQLite / Provider 命令与请求捕获
├── LocalLLM/ ← 本地 GGUF 模型记录、提供商桥接、参数映射与 Swift 推理入口
├── LocalLLMBridge/ ← llama.cpp C ABI / C++ 桥接层与静态库链接边界
├── Math/ ← LaTeX/数学公式渲染引擎
├── MCP/