AI Skill Hub 强烈推荐:scarf MCP工具 是一款优质的AI工具。AI 综合评分 8.2 分,在同类工具中表现稳健。如果你正在寻找可靠的AI工具解决方案,这是一个值得深入了解的选择。
为Hermes AI智能体打造的原生macOS和iOS应用,支持多窗口、多服务器连接。提供图形化界面管理AI代理任务,适合需要桌面级AI工具体验的开发者和专业用户。
scarf MCP工具 是一款基于 Swift 开发的开源工具,专注于 MCP工具、AI代理、macOS应用 等核心功能。作为 GitHub 开源项目,它拥有活跃的社区支持和持续的版本迭代,代码完全透明可审计,支持本地部署以保护数据隐私。无论是个人使用还是集成到企业工作流,都能提供稳定可靠的解决方案。
为Hermes AI智能体打造的原生macOS和iOS应用,支持多窗口、多服务器连接。提供图形化界面管理AI代理任务,适合需要桌面级AI工具体验的开发者和专业用户。
scarf MCP工具 是一款基于 Swift 开发的开源工具,专注于 MCP工具、AI代理、macOS应用 等核心功能。作为 GitHub 开源项目,它拥有活跃的社区支持和持续的版本迭代,代码完全透明可审计,支持本地部署以保护数据隐私。无论是个人使用还是集成到企业工作流,都能提供稳定可靠的解决方案。
# 克隆仓库 git clone https://github.com/awizemann/scarf cd scarf # 查看安装说明 cat README.md # 按 README 完成环境依赖安装后即可使用
# 查看帮助 scarf --help # 基本运行 scarf [options] <input> # 详细使用说明请查阅文档 # https://github.com/awizemann/scarf
# scarf 配置说明 # 查看配置选项 scarf --config-example > config.yml # 常见配置项 # output_dir: ./output # log_level: info # workers: 4 # 环境变量(覆盖配置文件) export SCARF_CONFIG="/path/to/config.yml"
<p align="center"> <img src="icon-v2.5.png" width="128" height="128" alt="Scarf app icon"> </p>
<p align="center"> A native macOS companion app for the <a href="https://github.com/hermes-ai/hermes-agent">Hermes AI agent</a>.<br> Full visibility into what Hermes is doing, when, and what it creates. </p>
<p align="center"> <img src="https://img.shields.io/badge/macOS-14.6+%20Sonoma-blue" alt="macOS"> <img src="https://img.shields.io/badge/Swift-6-orange" alt="Swift"> <img src="https://img.shields.io/badge/license-MIT-green" alt="License"> <br> <em>Available in English, 简体中文, Deutsch, Français, Español, 日本語, and Português (Brasil).</em> <br><br> <a href="https://www.buymeacoffee.com/awizemann"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me a Coffee" height="28"></a> </p>
Projects grow up — the biggest Projects update since v2.3. A project becomes a first-class object with its own mission-control pane, and gains three new powers. (Skips 2.14; this is a feature release, not a Hermes-compat one.)
WKWebView (no network, scoped assets, symlink-contained file reads) with default-deny permissions you review on first open. A mini-app's scarf.prompt(...) gets its own isolated, rate-limited hermes acp session — it can't reach your chats. Build one with the scarf-miniapp-author skill, or have Upgrade Project generate a starter. (v1 wires the read + prompt surfaces; kanban:write / file:write / net are declared but not yet enabled.)AGENTS.md / CLAUDE.md / .cursorrules automatically (new, resumed, and reconnected chats). Treat a project's context files like its code — only open chats in projects you trust.See the full v2.15.0 release notes.
ScarfGo — the iOS companion — gets Hermes profile switching, plus a remote-chat/Settings reliability fix that anyone running ScarfGo over SSH will feel. The shared-core pieces ride into the Mac app too.
hermes call at that profile for the selected server. It uses per-connection scoping and never runs hermes profile use, so it doesn't touch the host's active_profile — your Mac, terminal, cron, and running gateway keep their own profile. (Create / rename / delete / import / export stay Mac-only.) (#120)See the full v2.13.0 release notes.
A coordinated catch-up to Hermes v0.17.0 (2026.6.19) — the largest Hermes release yet, though Scarf needed only a focused slice — plus a remote-chat performance fix everyone on SSH will feel. Every new v0.17 surface is capability-gated, so pre-v0.17 hosts render byte-identical to v2.11.0; all flag/config/wire shapes were verified against the live v0.17 source.
hermes audit → security audit), xAI model migration (was dry-run only — now --apply), browser-tools setup (--assume-yes → --yes), and the no-op WhatsApp recipient allowlist (removed). Failed config saves now show the real reason.isV017OrLater; an adversarial fresh-eyes audit of the branch caught a real bug pre-release; 642 ScarfCore tests.See the full v2.12.0 release notes.
A coordinated catch-up to Hermes v0.16.0 (2026.6.5), headlined by a correctness fix for the first state.db schema change since v0.11. Every new surface is capability-gated or schema-detected, so pre-v0.16 hosts render byte-identical to v2.10.3.
/undo a conversation (a new messages.active column). Scarf now filters them out on every read path, schema-gated so older hosts don't error, so a rewound chat shows you what the agent actually sees instead of discarded messages.session_info_update notification.sessions.rewind_count column and flag heavily-edited sessions in the sidebar, the Sessions table, and the dashboard.slack.allowed_channels etc., DingTalk corrected to allowed_chats); and the cross-profile gateway digest, which assumed a non-existent --json flag, now parses the text output and shows up again.hermes sessions optimize), a Kanban "Goal · N" pill, and capability-gated session rename.verify verb removed, ACP /goal//subgoal de-advertised as gateway-only); AWS Bedrock registered + new providers/models flow automatically; new v0.16 capability flags + isV016OrLater; 628 ScarfCore tests.See the full v2.11.0 release notes.
A reliability and polish release on top of v2.10.1/v2.10.2, headlined by a fix for the 100% single-core CPU spin on large state.db files, plus a broad performance + correctness sweep from a full code audit.
state.db + uncheckpointed WAL that close+reopen was the whole cost. The read-only handle now stays open and sees Hermes's writes transparently.ServerLiveStatus only republishes @Observable state when the value actually changes, so unchanging healthy polls no longer re-render the status chrome.reasoning_content) and lazy-loads the chain-of-thought on open, keeping the fast two-phase loader's speed.load() over SSH; panes keep their data + state across switches and refresh only on real file changes or Reload.hermes config set now surfaces the wrapper's real exit code + stderr instead of a generic "Couldn't save."~/.hermes; and a Sparkle release-key safeguard.This release also carries v2.10.2's ACP permission-prompt fix ("Allow Once" / "Allow For Session" now reach Hermes correctly). See the full v2.10.3 release notes.
A "projects fundamentals" maintenance release on top of v2.10.0. Six interlocking fixes from user feedback:
/scarf-* slash commands — six bundled commands (scarf-new, scarf-help, scarf-dashboard, scarf-widget, scarf-cron, scarf-export) available in every chat, not just per-project. Loaded from ~/.hermes/scarf/slash-commands/ and bootstrapped on launch with the same version-gated upgrade pattern as bundled skills.scarf-template-author — SkillBootstrapService installs into ~/.hermes/skills/scarf/ (matching SkillsScanner's <category>/<skill>/SKILL.md layout) and auto-migrates the old flat install. One-time migration runs at first launch./ before opening a chat now shows the full agent-command set greyed-out ("Available once a chat is open") instead of collapsing to just /new.SKILL: / PROJECT_PATH: anchors that agents reliably treat as invocation markers (vs. the polite "use the skill" sentence agents routinely ignored). Skill-presence preflight in commit() guarantees the bundled skill is on disk before session/new.scarf-project block: Scarf platform reference — the managed block now describes Scarf's dashboard widget vocabulary, project slash commands, Kanban tenant, model presets, typed config, cron --workdir, skill loading, and template export. Idempotent + secret-safe + capped to ~30 lines. Now refreshed on template install too (previously chat-start only).hermes --version line, parsed semver/date, per-release flag list, and a Re-detect button. Capabilities auto-refresh on NSApplication.didBecomeActive so hermes update outside Scarf is picked up without a relaunch.See the full v2.10.1 release notes.
A coordinated catch-up to Hermes v0.15.0 ("The Velocity Release"). v2.10 surfaces the Scarf-relevant slice of the largest Hermes release yet — OpenAI as a first-class provider, the 104-PR Kanban maturation wave, Bitwarden Secrets Manager, MCP mTLS, skill bundles, per-session edit-approval modes, plus ntfy, xAI Web Search, and the xAI model-retirement migration. New v0.15 capability flags gate every surface; pre-v0.15 hosts render byte-identical to v2.9.x. (All flag/config/wire shapes were verified against the v2026.5.28 Hermes source before implementation.)
Scarf mirrors Hermes's surface area through a sidebar-based UI. Sections below map 1:1 to the app's sidebar.
The remote host must have:
ssh-add once in Terminal before connecting.sqlite3 on the remote $PATH — needed for the atomic DB snapshots. Install on the remote with apt install sqlite3 (Ubuntu/Debian), yum install sqlite (RHEL/Fedora), or apk add sqlite (Alpine).pgrep on the remote $PATH — used by the Dashboard "is Hermes running" check. Standard on every distro; install procps if missing.~/.hermes/ readable by the SSH user. When Hermes runs as a separate user (systemd service, Docker container), the SSH user needs read access to config.yaml and state.db. Either (a) SSH as the Hermes user, (b) chmod Hermes's home to be group-readable and add your SSH user to that group, or (c) set the Hermes data directory field when adding the server to point at the right location (e.g. /var/lib/hermes/.hermes).~/.hermes/ on each target host (v0.17.0+ recommended for the full v2.12 surface — WhatsApp Business Cloud API + SimpleX setup forms, Telegram rich-messages / online-offline status toggles, an opt-in curator-consolidation toggle, and a max-concurrent-sessions cap, on top of the v0.16 soft-delete/rewind correctness fixes and the broader v0.13–v0.15 feature set. Older hosts down to v0.6.0 work — every release-gated surface is capability-gated and simply hidden on hosts that don't support it.)sqlite3 on the remote (for atomic DB snapshots), and the hermes CLI resolvable from the remote user's PATH or at a path you specify per server. ScarfGo requires the same on every Hermes host it connects to.| Package | Purpose |
|---|---|
| [SwiftTerm](https://github.com/migueldeicaza/SwiftTerm) | Terminal emulator for the Chat feature |
| [Sparkle](https://github.com/sparkle-project/Sparkle) | Auto-updates from the GitHub-hosted appcast |
Everything else uses system frameworks: SQLite3 C API, Foundation JSON, AttributedString markdown, SwiftUI Charts, GCD file watching.
git clone https://github.com/awizemann/scarf.git
cd scarf/scarf
open scarf.xcodeproj
Or from the command line:
xcodebuild -project scarf/scarf.xcodeproj -scheme scarf -configuration Release -arch arm64 -arch x86_64 ONLY_ACTIVE_ARCH=NO build
For an unsigned local Debug build without an Apple Developer account (handy for contributors), use ./scripts/local-build.sh — see BUILDING.md for prerequisites.
1. Create the dashboard file
Create .scarf/dashboard.json in any project folder:
{
"version": 1,
"title": "My Project",
"description": "Project status at a glance",
"sections": [
{
"title": "Overview",
"columns": 3,
"widgets": [
{
"type": "stat",
"title": "Test Coverage",
"value": "87%",
"icon": "checkmark.shield",
"color": "green",
"subtitle": "+2.1% this week"
},
{
"type": "progress",
"title": "Sprint Progress",
"value": 0.73,
"label": "73% complete",
"color": "blue"
},
{
"type": "list",
"title": "Tasks",
"items": [
{ "text": "Write unit tests", "status": "done" },
{ "text": "Update API docs", "status": "active" },
{ "text": "Deploy to prod", "status": "pending" }
]
}
]
}
]
}
2. Register your project
Have your agent append a {name, path} entry directly to the registry at ~/.hermes/scarf/projects.json — Scarf watches the file and picks up the change on the next sidebar refresh, no manual UI step needed:
{
"projects": [
{ "name": "my-project", "path": "/Users/you/Developer/my-project" }
]
}
(You can also add the folder by hand in Scarf via Projects → + if you'd rather click than edit JSON — both paths write to the same file.)
3. View in Scarf
Select your project in the Projects sidebar — the dashboard renders immediately. Scarf watches the file for changes and refreshes automatically whenever the JSON is updated.
~/.hermes/.env and behavior toggles to ~/.hermes/config.yaml. WhatsApp and Signal pairing use an inline SwiftTerm terminal for QR scan and signal-cli daemon managementSOUL.md inline with markdown preview/command_name shell shortcuts with dangerous-pattern detection (rm -rf, mkfs, etc.)--type api-key handling. API keys never stored in UI state — only last-4 preview. Strategy picker (fill_first / round_robin / least_used / random)owner/repo, update, remove, enable/disable. Reads ~/.hermes/plugins/ directly for reliable statehttp://127.0.0.1:8645/v1), provider picker, live log tail, and a usage-help card. Point Codex CLI / Aider / Cline / VS Code Continue at the endpoint and any bearer token works — the proxy attaches your real credential{
"version": 1,
"title": "Required — dashboard title",
"description": "Optional — subtitle text",
"updatedAt": "Optional — ISO 8601 timestamp",
"sections": [
{
"title": "Section Name",
"columns": 3,
"widgets": [{ "type": "...", "title": "..." }]
}
]
}
Each section defines a grid with 1–4 columns. Widgets flow left-to-right, wrapping to new rows. See DASHBOARD_SCHEMA.md for the full schema reference with examples of every widget type.
If the connection pill is green but the Dashboard shows "Stopped", "unknown", or empty values, the SSH user can't read the Hermes state files. Open Manage Servers → 🩺 Run Diagnostics (or click the yellow "Can't read Hermes state" pill in the toolbar). The diagnostics sheet runs fourteen checks in one SSH session — connectivity, sqlite3 presence, read access to config.yaml and state.db, the effective non-login $PATH — and tells you exactly which one fails and why, with remediation hints for each. Use the Copy Full Report button to paste the full output into a bug report.
For the common "Hermes isn't at the default path" case (systemd services, Docker), Test Connection in the Add Server sheet now probes /var/lib/hermes/.hermes, /opt/hermes/.hermes, /home/hermes/.hermes, and /root/.hermes when it can't find state.db at ~/.hermes/, and offers a one-click fill if it finds any of them.
Scarf 是一款专为 Hermes AI agent 设计的原生 macOS 伴侣应用。它为用户提供了对 Hermes 运行状态的全面可视化能力,让你可以实时监控 Hermes 的执行过程、操作时间以及它所创建的所有内容,确保 AI Agent 的每一个动作都清晰可见、有迹可循。
Scarf 的 UI 设计与 Hermes 的侧边栏完全同步,实现了功能的 1:1 映射。通过最新的 v2.9 版本,Scarf 已全面适配 Hermes v0.14.0 的“基础发布版”功能,支持包括 `/subgoal`、`/yolo`、`/sessions` 及 `/codex-runtime` 在内的全新斜杠命令,并集成了 xAI Grok、NovitaAI 等推理提供商以及 Brave Search、DuckDuckGo 等 Web 搜索后端,提供与 OpenAI 兼容的强大体验。
运行 Scarf 需要 macOS 14.6+ (Sonoma) 系统;若需使用 iPhone 伴侣应用 ScarfGo,则需 iOS 18.0+;从源码构建则需 Xcode 16.0+。此外,远程主机必须具备 SSH 访问权限(通过本地 ssh-agent 进行密钥认证,无需手动输入密码),并且 `$PATH` 中必须包含 `sqlite3`,以便进行原子化的数据库快照操作。
你可以通过 ACP 命令快速配置环境:在 Health 视图中点击“Set up browser tools”按钮,即可一键运行 `hermes acp --setup-browser --assume-yes` 来安装 Chromium 并配置 Playwright。若需从源码构建,可以使用 Xcode 打开 `.xcodeproj` 文件,或通过命令行使用 `xcodebuild` 进行编译。对于没有 Apple Developer 账号的贡献者,推荐使用 `./scripts/local-build.sh` 进行本地 Debug 构建。
快速上手指南:首先,在任何项目文件夹中创建 `.scarf/dashboard.json` 文件,用于定义自定义仪表盘的内容。你可以通过 JSON 配置不同的 `sections` 和 `widgets`(如 `stat` 或 `progress` 类型),从而实现对项目状态、测试覆盖率等关键指标的实时可视化监控,让项目进度一目了然。
Scarf 支持通过斜杠命令进行高级配置。使用 `/subgoal <text>` 可以为当前的 `/goal` 循环添加额外的成功标准,并支持通过 `remove N` 或 `clear` 进行管理。针对 MCP (Model Context Protocol) 服务,新增了 `supports_parallel_tool_calls` 可选标志,允许在编辑器中通过三态选择器进行配置。此外,`terminal.docker_extra_args` 参数可将额外参数原样转发给 `docker run` 命令。
仪表盘 Schema 参考:Scarf 使用 JSON 格式定义仪表盘。每个 JSON 文件必须包含 `version` 和 `title` 字段,`description` 和 `updatedAt` 为可选字段。`sections` 数组定义了网格布局,每个 section 内可以包含多个 `widgets`,通过配置不同的类型和颜色,实现高度定制化的监控界面。
故障排除:如果连接指示灯显示为绿色,但 Dashboard 却显示“Stopped”、“unknown”或数值为空,通常是因为 SSH 用户缺乏读取 Hermes 状态文件的权限。此时,请前往 Manage Servers → Run Diagnostics,或点击工具栏中的黄色警告提示,运行内置的诊断程序,它将执行 14 项自动化检查以定位问题。
高质量MCP工具实现,原生性能优异。多窗口架构设计合理,活跃维护,502星反映社区认可度良好。
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
✅ MIT 协议 — 最宽松的开源协议之一,可自由商用、修改、分发,仅需保留版权声明。
总体来看,scarf MCP工具 是一款质量优秀的AI工具,在同类工具中具备一定竞争力。AI Skill Hub 将持续追踪其更新动态,建议收藏备用,结合自身场景选择合适时机引入使用。
| 原始名称 | scarf |
| 原始描述 | 开源MCP工具:Native macOS and iOS App for the Hermes AI agent — multi-window, multi-server (l。⭐502 · Swift |
| Topics | MCP工具AI代理macOS应用Swift开发多窗口管理 |
| GitHub | https://github.com/awizemann/scarf |
| License | MIT |
| 语言 | Swift |
收录时间:2026-05-16 · 更新时间:2026-05-19 · License:MIT · AI Skill Hub 不对第三方内容的准确性作法律背书。