FanBox is a desktop workspace for coding agents that combines local file browsing and editing with an embedded terminal. Developers use it to run agents such as Claude Code or Codex, see which files and lines they change, and take over the work when needed.
Getting it into your agent
There is no command for this one: it runs only inside a plugin, and the catalogue could not identify which plugin ships it. The source is linked below.
Wrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/alchaincyf/fanbox/fanbox-agent)<a href="https://agentmods.dev/skills/alchaincyf/fanbox/fanbox-agent"><img src="https://agentmods.dev/badge/skills/alchaincyf/fanbox/fanbox-agent/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/alchaincyf/fanbox/fanbox-agent"><img src="https://agentmods.dev/badge/skills/alchaincyf/fanbox/fanbox-agent.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00101 | $0.02064 |
| Opus 5 | $0.00051 | $0.01032 |
| Sonnet 5 | $0.00020 | $0.00413 |
| Haiku 4.5 | $0.00010 | $0.00206 |
Grade B, and why
fanbox-agent scanned grade B with 2 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Sends data to an external URLmediumData exfiltration
A POST to an outside endpoint may be telemetry or may be exfiltration; either way the mod talks to somewhere, and you should know where.
curl "${CT[@]}" -X POST -H 'Content-Type: application/json' -d '{"id":"t5"}' "$FANBOX_CTL/kill" Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
curl "${CT[@]}" "$FANBOX_CTL/terminals" Copies of this mod
1 near-identical copy found in the catalogue:
- fanbox-agent — 100% identical, 1 lines differ
How it starts
The opening of the file, as written. The whole thing — 135 lines — stays where its author put it; the contents beside it link to each section on GitHub.
FanBox 终端控制
只在 FanBox 桌面 app 的终端里可用。先确认门票在手:
[ -n "$FANBOX_CTL" ] && echo "在 FanBox 里,我是 $FANBOX_TERM_ID 号窗口" || echo "不在 FanBox 终端里,本 skill 不可用"
三个环境变量由 FanBox 注入:FANBOX_CTL(接口地址)、FANBOX_CTL_TOKEN(门票,每次启动随机、只存在于 FanBox 终端的环境里,绝不外传、不写进文件)、FANBOX_TERM_ID(自己的窗口 id)。
别给自己($FANBOX_TERM_ID)发指令——那会把你自己的输入流打乱甚至死循环。
接口速查
所有请求带 x-fanbox-token 头。以下用 CT 缩写公共参数:
CT=(-s -H "x-fanbox-token: $FANBOX_CTL_TOKEN")
列出所有终端窗口(id / 目录 / 前台进程 / 忙闲 / 最近输出尾巴):
curl "${CT[@]}" "$FANBOX_CTL/terminals"
# → {"ok":true,"terminals":[{"id":"t2","cwd":"…","proc":"claude","busy":false,"hooked":true,"state":"done","tail":"…"}]}
读某窗口最近输出(去 ANSI 纯文本,默认 200 行,最多 2000):
curl "${CT[@]}" "$FANBOX_CTL/read?id=t2&lines=100"
给窗口发指令(默认自动补回车提交;"submit": false 只输入不提交;多行文本发给 claude 等 TUI 加 "paste": true 走 bracketed paste 整块粘贴):
curl "${CT[@]}" -X POST -H 'Content-Type: application/json' \
-d '{"id":"t2","text":"npm test"}' "$FANBOX_CTL/send"
控制键直接发字符本身,如 Ctrl-C:{"id":"t2","text":"","submit":false}。
新开终端窗口(可选 autorun 开窗即执行,会等 shell 就绪再敲):
curl "${CT[@]}" -X POST -H 'Content-Type: application/json' \
-d '{"cwd":"/path/to/project","autorun":"claude \"跑通所有测试\""}' "$FANBOX_CTL/create"
# → {"ok":true,"id":"t5","autorun":true}
等窗口告一段落(HTTP 长轮询,timeoutMs 最长 240000):
curl "${CT[@]}" -X POST -H 'Content-Type: application/json' \
-d '{"id":"t5","timeoutMs":120000}' "$FANBOX_CTL/wait"
三种等法:
- 默认:前台回到裸 shell 且输出静默 ≥
idleMs(默认 2000)——适合等普通命令跑完 "idle":"quiet":只看输出静默——适合等 claude 等常驻 TUI 回答完,建议配"idleMs":3000"until":"正则":新输出匹配到正则就立刻返回——注意只匹配 wait 开始之后的新输出,所以要在结果出现前就发起 wait。命令回显也算输出:你敲的命令本身会先出现在流里,正则要用^锚定行首(如"^DONE$")才不会匹配到自己发的命令
返回 {ok, idle|matched|exited|timeout, elapsed, output},output 是等待期间的输出(最后 8KB),通常不用再 read。
关闭窗口:
curl "${CT[@]}" -X POST -H 'Content-Type: application/json' -d '{"id":"t5"}' "$FANBOX_CTL/kill"
定时任务:用户白话 → 你换算成 schedule
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 5d ago Changed · +1 lines 4eea9077c5cd
- 9d ago First seen · 134 lines · 101 tokens per session scan B 631a6c299240
fanbox-agent is a skill published in the GitHub repository alchaincyf/fanbox (1,005 stars, last pushed 5d ago), licensed MIT. It adds 101 tokens to every session and 2,064 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it B with 2 findings (sends data to an external url, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
chronicle
Analyze Copilot session history for standup reports, usage tips, session search, and session reindexing. Use when the user asks for a standup, daily summary, usage tips, workflow recommendations, wants to search or find past sessions by keyword/file/PR, wants to reindex their session store, or asks about deleting…
generate-run-commands
Generate or modify run commands for the current session. Use when the user wants to set up or update run commands that appear in the session's Run button.
get-search-view-results
Get the current search results from the Search view in VS Code.
channel_message
Use this skill to proactively send a one-way message to a user/session/channel, usually only when the user explicitly asks to send to a channel/session or when proactive notification is needed. First query sessions with qwenpaw chats list, then push with qwenpaw channels send.
tmux
Remote-control tmux sessions for interactive CLIs by sending keystrokes, capturing pane output, and managing terminal multiplexer windows. Enables parallel coding-agent orchestration, background process management, and REPL interaction via sockets. Use when the agent needs to launch, monitor, or coordinate…
things-mac
Manage Things 3 via the things CLI on macOS (add/update projects+todos via URL scheme; read/search/list from the local Things database). Use when a user asks Otto to add a task to Things, list inbox/today/upcoming, search tasks, or inspect projects/areas/tags.