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>
A coordinated catch-up to Hermes v0.14.0 ("The Foundation Release"). v2.9 surfaces every Scarf-relevant feature from the v0.14 wave — the new /subgoal//yolo//sessions//codex-runtime slash commands, two new inference providers (xAI Grok OAuth + NovitaAI), two new gateway platforms (LINE + SimpleX Chat), two new web-search backends (Brave Search + DuckDuckGo), the OpenAI-compatible Hermes Proxy local server, ACP browser-tools setup, a YOLO mode warning banner, the Alibaba → Qwen Cloud display rename, and a stack of smaller settings/MCP/plugin additions. 24 new capability flags gate every surface; pre-v0.14 hosts render byte-identical to v2.8.0.
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.14.0+ recommended for full v2.9 feature support — /subgoal / /yolo / /sessions / /codex-runtime slash commands, xAI Grok OAuth + NovitaAI providers, LINE + SimpleX Chat platforms, Brave Search + DuckDuckGo web-search backends, MCP supports_parallel_tool_calls, Hermes Proxy local server, ACP --setup-browser, YOLO mode warning, Alibaba → Qwen Cloud display rename, docker_extra_args, display.timestamps, Cron deliver=all, Discord channel-history backfill, plugin tool_override badge, cross-session 1h Claude prefix cache. v0.13.0 still works for the v2.8 surface — Persistent Goals, ACP /queue, Kanban hallucination gate + diagnostics, Curator archive/prune, Google Chat, MCP SSE, etc.)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.
hermes acp --setup-browser --assume-yes to install Chromium and provision Playwright in one shot. Inline status strip + 10-minute timeout (chromium download is slow).approvals.mode = yolo and the host advertises hasYOLOWarning. Wired through ChatViewModel.approvalMode, refreshed off MainActor with the existing config diagnostics.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
In Scarf, go to Projects in the sidebar and click the + button to add your project folder. Or have your agent add it directly to the registry at ~/.hermes/scarf/projects.json:
{
"projects": [
{ "name": "my-project", "path": "/Users/you/Developer/my-project" }
]
}
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.
/subgoal <text> — layers extra success criteria onto an active /goal loop. Forms: <text> (add), remove N (drop the Nth), clear (empty the list). Optimistic local mirror on RichChatViewModel.activeSubgoals; the goal pill in the chat header gains a +N count badge with the full list in the hover tooltip./yolo — toggles dangerous-command auto-approval (approvals.mode = yolo) without leaving chat. Pairs with a new amber YOLO warning badge in the chat header so the state is always visible./sessions — browse and resume prior sessions inline./codex-runtime [auto|codex_app_server] — toggle the Codex app-server runtime for OpenAI/Codex models./handoff intentionally NOT in the ACP menu — verified against Hermes's command catalog: v0.14's /handoff <platform> is cli_only and hands a session to a messaging platform (Telegram/Discord/etc.), not to a different model. Mid-chat model switching keeps using the existing session/set_model RPC via the chat-header model badge.supports_parallel_tool_calls — new optional flag on MCP server entries. Tri-state picker in the editor ("Default (Hermes decides)" / "Enabled" / "Disabled") writes supports_parallel_tool_calls: <bool> or drops the key entirely.terminal.docker_extra_args — extra flags forwarded verbatim to docker run for the docker terminal backend. Comma-separated input; setter splits and serializes to YAML.display.timestamps — per-message timestamp toggle for TUI output. (ACP-relayed chat in Scarf shows turn-duration chips independently, so this only affects the CLI.) Also fixed a pre-existing v0.13 oversight: display.language was in the model but the YAML parser wasn't reading it back at load.deliver=all — fan-out routing intent for cron jobs. Field placeholder + helper text updated on v0.14.tool_override badge — plugins that declare tool_override: true in their manifest now render a visible badge in PluginsView so overridden built-in tools aren't a surprise.~/.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.
高质量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 不对第三方内容的准确性作法律背书。