poe-models
Look up Poe model details — pricing, context window, modalities, tool/vision/reasoning support — by querying Poe's /v1/models catalog API.
- License 许可
- MIT
- 所属仓库
- kfet/fir
- 最近更新
- 2026-11-14
- Stars
- ★ 1
- Forks
- 0
01 前言 Front Matter
- name
- poe-models
- builtin
- true
- override
- true
- description
- Look up Poe model details — pricing, context window, modalities, tool/vision/reasoning support — by querying Poe's /v1/models catalog API.
02 资源文件 1
- 脚本scripts/models.sh4.2 KB
03 SKILL.md 正文
Poe Models Skill
Query Poe's OpenAI-compatible model catalog at https://api.poe.com/v1/models to inspect pricing, context windows, supported features (tools, vision, reasoning effort), and endpoints for any bot.
The endpoint is public — no auth required — but the script will send a Bearer token if one is available (resolution order matches poe-usage: POE_API_KEY env → ~/.config/fir/models.json .providers.Poe.apiKey → ~/.config/fir/auth.json .poe.access/.poe.key).
Usage
# Summary table of all bots
bash "$SKILL_DIR/scripts/models.sh"
# Filter by substring (case-insensitive) on id or display name
bash "$SKILL_DIR/scripts/models.sh" --filter claude
bash "$SKILL_DIR/scripts/models.sh" --filter gpt-5
# Full normalized JSON details for one model
bash "$SKILL_DIR/scripts/models.sh" --id claude-haiku-4.5
# Machine-readable JSON for all (filtered) models
bash "$SKILL_DIR/scripts/models.sh" --filter qwen --json | jq '.[].id'
# Raw upstream response (everything Poe returns)
bash "$SKILL_DIR/scripts/models.sh" --raw
# Cap rows in table mode
bash "$SKILL_DIR/scripts/models.sh" --limit 20
| Flag | Meaning |
|---|---|
--filter STR |
Substring match on id + display_name (case-insensitive) |
--id ID |
Show full JSON for a single bot by exact id |
--json |
Emit normalized JSON array for the filtered set |
--raw |
Dump the upstream response as-is |
--limit N |
Cap table rows |
Output fields
Table columns: ID, CTX (context window, k-rounded), PROMPT and COMPLETION (USD per token — multiply by 1e6 for per-1M cost), TOOLS, VISION, EFFORT (advertises reasoning_effort).
Normalized JSON (--json) per entry:
id,display_name,owned_by,descriptioninput_modalities— e.g.["text", "image"]supported_features— e.g.["tools", "streaming"]supported_endpoints— e.g.["/v1/chat/completions", "/v1/messages"]context_length,max_output_tokenspricing— Poe's raw object (prompt,completion,input_cache_read,input_cache_write— USD per token, as strings)reasoning—{ required, supports_reasoning_effort }tools,vision— convenience booleans
Notes
- Poe's metadata is incomplete for many third-party bots:
context_lengthof0means Poe didn't fill it in. Use--rawand grep the description as a last resort. - For richer parsing (description-mined context windows, hardcoded overrides, endpoint routing rules), see
cmd/generate-models/main.go(fetchPoeModels). - For point balance and usage history rather than the model catalog, use the
poe-usageskill.
04 同仓库更多 Skills
wt
Spawn a fresh fir agent in its own tmux session on its own git worktree. Use whenever the user wants the work — or the conversation about the work — to happen over there, not here. If the user points at this skill, or has directly loaded it in the context, that alone is the cue — spawn, don't inline.
wrap-up
Wrap up work on a project branch — review, fix, and simplify in a loop until clean, then ff-merge to main.
tmux-observer
Attach a tmux window to an already-running fir session — observe its transcript and drive its input via tmux send-keys. Use when you need to watch or steer another fir agent.
tmux-driver
Drive interactive CLIs (python, gdb, etc.) via named tmux sessions with multi-window support. Falls back to fir's built-in PTY driver when tmux is unavailable.
telegram-bot-setup
Set up a new Telegram bot channel for a fir project — install the telegram MCP, create a per-project state dir, drop in the bot token, wire .fir/mcp.json with TELEGRAM_STATE_DIR, pair the user, and verify. Use when the user asks to add, configure, or onboard a Telegram bot for a fir worktree/project.
sync
Sync with an upstream source repo — detect changed files, apply equivalent downstream edits, update the baseline, and report any new features or non-trivial changes picked up.