one-click-ai-tools

command module
v0.1.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 12, 2026 License: MIT Imports: 1 Imported by: 0

README ยถ

๐Ÿš€ one-click-ai-tools (oct)

English

๐ŸŽฏ AI ์ฝ”๋”ฉ CLI๋ฅผ ํ•˜๋‚˜์˜ ๋ฐ”์ด๋„ˆ๋ฆฌ๋กœ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค โ€” ์ „๋ถ€ ์—…๋ฐ์ดํŠธ, ์ „๋ถ€ ์ฟผํ„ฐ ๊ฐ์‹œ, ์œ ์ง€๋ณด์ˆ˜ ์˜ˆ์•ฝ.

oct๋Š” ํฉ์–ด์ ธ ์žˆ๋Š” AI ์ฝ”๋”ฉ ๋„๊ตฌ ๊ด€๋ฆฌ๋ฅผ ํ•˜๋‚˜๋กœ ๋ชจ์œผ๋Š” ๋‹จ์ผ Go ๋ฐ”์ด๋„ˆ๋ฆฌ CLI์ž…๋‹ˆ๋‹ค.

  • ๐Ÿ”„ ์ „๋ถ€ ์—…๋ฐ์ดํŠธ โ€” Claude Code, Codex, Copilot, Cursor ๋“ฑ 10๊ฐœ CLI๋ฅผ ์„ค์น˜ ๋งค๋‹ˆ์ € ์ž๋™ ๊ฐ์ง€(brew/npm/๊ณต์‹ ์ธ์Šคํ†จ๋Ÿฌ)๋กœ ํ•œ ๋ฒˆ์— ์—…๋ฐ์ดํŠธ
  • ๐Ÿ“Š ์ „๋ถ€ ์ฟผํ„ฐ ๊ฐ์‹œ โ€” 14๊ฐœ ํ”„๋กœ๋ฐ”์ด๋”์˜ ๊ตฌ๋… ์ฟผํ„ฐ๋ฅผ ํ•˜๋‚˜์˜ ํ…Œ์ด๋ธ” / JSON / macOS ๋ฉ”๋‰ด๋ฐ”๋กœ ํ‘œ์‹œ
  • โฐ ์œ ์ง€๋ณด์ˆ˜ ์˜ˆ์•ฝ โ€” ์—…๋ฐ์ดํŠธ์™€ ์„ธ์…˜ ์ ๊ฒ€์„ launchd / cron / SchTasks์— ์˜ˆ์•ฝํ•˜๊ณ , ์ž„๊ณ„๊ฐ’ ๋„๋‹ฌ ์‹œ OS ์•Œ๋ฆผ

๐Ÿ’ก ์™œ oct์ธ๊ฐ€

์‚ฌ์šฉ๋Ÿ‰ ์กฐํšŒ ๋„๊ตฌ๋Š” ์—…๋ฐ์ดํŠธ๋ฅผ ๋ชป ํ•˜๊ณ , ์—…๋ฐ์ดํ„ฐ๋Š” ์‚ฌ์šฉ๋Ÿ‰์„ ๋ชป ๋ด…๋‹ˆ๋‹ค. oct๋Š” ์ด ๋‘˜์„ ํ•œ ๋ฐ”์ด๋„ˆ๋ฆฌ๋กœ ๋ฌถ์€ ๊ฒƒ์ด ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค.

  • ๐Ÿ“ฆ ๋‹จ์ผ Go ๋ฐ”์ด๋„ˆ๋ฆฌ โ€” Node/Python ๋Ÿฐํƒ€์ž„ ๋ถˆํ•„์š”, macOS / Linux / Windows
  • ๐Ÿ”€ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์ˆ˜์ง‘ โ€” usage API๊ฐ€ ์žˆ๋Š” ํ”„๋กœ๋ฐ”์ด๋”๋Š” API๋ฅผ ์ง์ ‘ ์กฐํšŒํ•ด ๋‚จ์€ ๋น„์œจ๊ณผ ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜๊ณ , API๊ฐ€ ์—†๋Š” ๋„๊ตฌ(Qwen ๋“ฑ)๋Š” ๋กœ์ปฌ ์‚ฌ์šฉ ๊ธฐ๋ก์œผ๋กœ ๋ณด์™„
  • ๐Ÿ”‘ ์ž๊ฒฉ์ฆ๋ช… ์žฌ์‚ฌ์šฉ โ€” ๊ฐ CLI๊ฐ€ ์ด๋ฏธ ์ €์žฅํ•œ OAuth ํ† ํฐยทAPI ํ‚ค๋ฅผ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉ, ๋ณ„๋„ ๋กœ๊ทธ์ธ ์—†์Œ
  • ๐Ÿ” ๋งค๋‹ˆ์ € ์ž๋™ ๊ฐ์ง€ โ€” ๋„๊ตฌ๋งˆ๋‹ค ์„ค์น˜๋œ ๋งค๋‹ˆ์ €๋ฅผ ์ฐพ์•„ ๋งž๋Š” ์—…๋ฐ์ดํŠธ ๋ช…๋ น์„ ์‹คํ–‰ (ํšŒ๊ท€ ํ…Œ์ŠคํŠธ๋กœ ๊ณ ์ •)

โšก ๋น ๋ฅธ ์‹œ์ž‘

๐ŸŒ ์„ค์น˜ (GitHub Releases)
curl -fsSL https://raw.githubusercontent.com/suho-han/one-click-ai-tools/main/scripts/install.sh | sh

์Šคํฌ๋ฆฝํŠธ๋Š” ํ˜„์žฌ OS/CPU์— ๋งž๋Š” ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ๋‚ด๋ ค๋ฐ›๊ณ , ๋ฆด๋ฆฌ์Šค checksum ํ•ญ๋ชฉ์ด ์žˆ์œผ๋ฉด ๊ฒ€์ฆํ•œ ๋’ค ๊ธฐ๋ณธ์ ์œผ๋กœ ~/.local/bin/oct์— ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. ํ„ฐ๋ฏธ๋„์—์„œ ์‹คํ–‰ํ•˜๋ฉด ์„ค์น˜ ์งํ›„ oct config๊ฐ€ ์ž๋™์œผ๋กœ ์—ด๋ฆฌ๊ณ , config๊ฐ€ ๋๋‚˜๋ฉด macOS ๋ฉ”๋‰ด๋ฐ” ํ—ฌํผ๋ฅผ ์ž๋™์œผ๋กœ ๋„์šด ๋’ค oct -h ๋ช…๋ น ์š”์•ฝ์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. ~/.local/bin์ด PATH์— ์—†์œผ๋ฉด ๋กœ๊ทธ์ธ ์…ธ ์„ค์ • ํŒŒ์ผ(zsh๋Š” ~/.zshrc, bash๋Š” ~/.bash_profile) ๋์— # added by one-click-ai-tools installer ๋งˆ์ปค์™€ ํ•จ๊ป˜ PATH๋ฅผ ์ž๋™ ์ถ”๊ฐ€ํ•˜๋ฉฐ, ๋‹ค์‹œ ์‹คํ–‰ํ•ด๋„ ์ค‘๋ณต๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๐Ÿ”ง ์„ค์น˜ ์˜ต์…˜ โ€” ํŠน์ • ๋ฒ„์ „ ยท ๊ฒฝ๋กœ ๋ณ€๊ฒฝ ยท config/PATH/๋ฉ”๋‰ด๋ฐ” ๊ฑด๋„ˆ๋›ฐ๊ธฐ
# ํŠน์ • ๋ฒ„์ „ ์„ค์น˜
curl -fsSL https://raw.githubusercontent.com/suho-han/one-click-ai-tools/main/scripts/install.sh | OCT_VERSION=v0.1.6 sh

# ๋ฒ ํƒ€/prerelease ์„ค์น˜ โ€” ์•ˆ์ •ํŒ oct๋ฅผ ๋ฎ์ง€ ์•Š๊ณ  oct-beta ๋ช…๋ น์œผ๋กœ ํ•จ๊ป˜ ์„ค์น˜๋˜๋ฉฐ,
# ๋ฉ”๋‰ด๋ฐ” ํ—ฌํผ๋„ ๋ณ„๋„ ์ด๋ฆ„(OctMenubarApp-beta)์œผ๋กœ ๋ถ„๋ฆฌ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค
curl -fsSL https://raw.githubusercontent.com/suho-han/one-click-ai-tools/main/scripts/install.sh | OCT_VERSION=v0.1.6-beta.1 sh

# ์„ค์น˜ ๊ฒฝ๋กœ ๋ณ€๊ฒฝ
curl -fsSL https://raw.githubusercontent.com/suho-han/one-click-ai-tools/main/scripts/install.sh | OCT_INSTALL_DIR=/usr/local/bin sh

# ์„ค์น˜ ํ›„ config ๋‹จ๊ณ„ ๊ฑด๋„ˆ๋›ฐ๊ธฐ
curl -fsSL https://raw.githubusercontent.com/suho-han/one-click-ai-tools/main/scripts/install.sh | OCT_INSTALL_RUN_CONFIG=0 sh

# PATH ์ž๋™ ๋“ฑ๋ก ๊ฑด๋„ˆ๋›ฐ๊ธฐ (์…ธ ์„ค์ • ํŒŒ์ผ์„ ์ˆ˜์ •ํ•˜์ง€ ์•Š์Œ)
curl -fsSL https://raw.githubusercontent.com/suho-han/one-click-ai-tools/main/scripts/install.sh | OCT_INSTALL_SKIP_PATH=1 sh

# ๋ฉ”๋‰ด๋ฐ” ์ž๋™ ์‹คํ–‰ ๊ฑด๋„ˆ๋›ฐ๊ธฐ
curl -fsSL https://raw.githubusercontent.com/suho-han/one-click-ai-tools/main/scripts/install.sh | OCT_INSTALL_RUN_MENUBAR=0 sh

# ์ด๋ฏธ ์„ค์น˜๋œ ๋ฐ”์ด๋„ˆ๋ฆฌ ์ œ๊ฑฐ (์žฌ์„ค์น˜ ์ „)
rm -f ~/.local/bin/oct ~/.local/bin/OctMenubarApp
๐Ÿบ ์„ค์น˜ (Homebrew)
brew install suho-han/tap/oct

Formula๋Š” ์ตœ์‹  stable GitHub Release๋ฅผ ์ถ”์ ํ•ฉ๋‹ˆ๋‹ค. prerelease๋Š” install.sh ์ฑ„๋„์„ ์ด์šฉํ•˜์„ธ์š”.

โฑ๏ธ ์ฒ˜์Œ 5๋ถ„
# 1. ์‚ฌ์šฉํ•  ๋„๊ตฌ/ํ”„๋กœ๋ฐ”์ด๋” ์„ ํƒ (์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ)
oct config

# 2. ์„ค์น˜๋œ AI CLI ์ „๋ถ€ ์—…๋ฐ์ดํŠธ โ€” ์‹คํ–‰ ์ „ ๊ณ„ํš ํ™•์ธ ๊ฐ€๋Šฅ
oct agent-update --dry-run --explain
oct agent-update

# 3. ์ „์ฒด ์ฟผํ„ฐ ํ˜„ํ™ฉ ํ™•์ธ
oct usage            # ์‚ฌ๋žŒ์šฉ ํ…Œ์ด๋ธ”
oct usage --json     # ์Šคํฌ๋ฆฝํŠธ/ํŒŒ์ดํ”„์šฉ
์‚ฌ์šฉ ๋ถ„์„ ๋ฐ ์ˆ˜์ง‘ ๊ฑฐ๋ถ€

๋ฐฐํฌํŒ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์‚ฌ์šฉ ๋ถ„์„์„ ์ผญ๋‹ˆ๋‹ค. ๋ช…๋ น ์ด๋ฆ„, ์‹คํ–‰ ๋ฐฉ์‹(CLIยท๋ฉ”๋‰ด๋ฐ”ยท๋น„๋Œ€ํ™”ํ˜•), ๋ฒ„์ „ยทOSยท๊ธฐ๊ธฐ ์ œํ’ˆ๊ตฐ, ์„ฑ๊ณต ์—ฌ๋ถ€ยท์‹คํ–‰ ์‹œ๊ฐ„, ๋ช…์‹œ์ ์œผ๋กœ ์„ ํƒํ•œ ํ”„๋กœ๋ฐ”์ด๋”์™€ ๋ฌด์ž‘์œ„ ์„ค์น˜ ID๋ฅผ ์ „์†กํ•ฉ๋‹ˆ๋‹ค. ์„ค์น˜๋ณ„ ์žฌ๋ฐฉ๋ฌธ๋„ ์ง‘๊ณ„ํ•˜๋ฏ€๋กœ ์™„์ „ ์ต๋ช…์ด ์•„๋‹Œ ๊ฐ€๋ช… ๊ธฐ๋ฐ˜ ๋ถ„์„์ž…๋‹ˆ๋‹ค. ํ”„๋กฌํ”„ํŠธ, ์ž๊ฒฉ์ฆ๋ช…, ๊ณ„์ •, ๋ช…๋ น ์ธ์žยท์˜ต์…˜ ๊ฐ’, ์˜ค๋ฅ˜ ๋‚ด์šฉ, ์‚ฌ์šฉ๋Ÿ‰ยท๋น„์šฉ ๋ฐ ํŒŒ์ผ ๊ฒฝ๋กœ๋Š” ์ „์†กํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ฃผ๊ธฐ์ ์ธ ๋ฉ”๋‰ด๋ฐ” ์กฐํšŒ์™€ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ ๊ฒ€์€ ์ œ์™ธํ•ฉ๋‹ˆ๋‹ค.

์ดํ›„ ์ˆ˜์ง‘์„ ๋„๋ ค๋ฉด oct config set telemetry-enabled false๋ฅผ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜ ๋ฉ”๋‰ด๋ฐ” Settings โ†’ General์—์„œ Share usage analytics๋ฅผ ๋„๊ณ  Save๋ฅผ ๋ˆ„๋ฅด์„ธ์š”. DO_NOT_TRACK=1 ๋˜๋Š” OCT_TELEMETRY_ENABLED=false๋กœ ์ผ์‹œ์ ์œผ๋กœ ๋Œ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ˆ˜์ง‘ ๊ฑฐ๋ถ€๋Š” ์ด๋ฏธ ๋ณด๊ด€๋œ ๊ธฐ๋ก์ด๋‚˜ ๋กœ์ปฌ ์„ค์น˜ ID๋ฅผ ์‚ญ์ œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ID๋Š” ~/.oct/telemetry/installation-id์— ์žˆ์œผ๋ฉฐ, ํŒŒ์ผ์„ ์‚ญ์ œํ•˜๋ฉด ๋‹ค์Œ ํ™œ์„ฑ ์‹คํ–‰์—์„œ ์ƒˆ ID๊ฐ€ ๋งŒ๋“ค์–ด์ง‘๋‹ˆ๋‹ค. ๋ถ„์„ ๊ธฐ๋ก์€ 90์ผ๊ฐ„ ๋ณด๊ด€ํ•ฉ๋‹ˆ๋‹ค. IP ์ฃผ์†Œ๋Š” ๋ถ„์„ ๊ธฐ๋ก์— ์ €์žฅํ•˜๊ฑฐ๋‚˜ ์œ„์น˜ ์ถ”์ •์— ์‚ฌ์šฉํ•˜์ง€ ์•Š์ง€๋งŒ, ๋„คํŠธ์›Œํฌ ์‚ฌ์—…์ž๋Š” ์ „์†ก ์ค‘ ๋ฐœ์‹  IP๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฉ”๋‰ด๋ฐ” Settings โ†’ About โ†’ Project โ†’ Feedback์—์„œ Send feedback์„ ๋ˆŒ๋ €์„ ๋•Œ๋งŒ ์ž‘์„ฑํ•œ ํ…์ŠคํŠธ์™€ ์ˆ˜์‹  ์‹œ๊ฐ์ด ์ „์†กยท์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ์„ค์น˜ ID๋‚˜ ๊ณ„์ •๊ณผ ์—ฐ๊ฒฐํ•˜์ง€ ์•Š์œผ๋ฉฐ, 90์ผ๊ฐ„ ๋ณด๊ด€ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ ๋ถ„์„ ์ˆ˜์ง‘ ๊ฑฐ๋ถ€์™€ ๋ณ„๊ฐœ์ด๊ณ  ์ „์†ก ์‹คํŒจ ์‹œ ์ž๋™ ์žฌ์ „์†กํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋น„๋ฐ€๋ฒˆํ˜ธยทAPI ํ‚คยท๊ฐœ์ธ์ •๋ณด๋Š” ์ž…๋ ฅํ•˜์ง€ ๋งˆ์„ธ์š”.

๐Ÿ—บ๏ธ ๋ช…๋ น์–ด ์ง€๋„

๋‹จ๊ณ„ ๋ช…๋ น์–ด ํ•˜๋Š” ์ผ
โš™๏ธ ์„ค์ • oct config ๋„๊ตฌยทํ”„๋กœ๋ฐ”์ด๋” ์„ ํƒ, ์‚ฌ์šฉ๋Ÿ‰ ํ‘œ์‹œ ๋ชจ๋“œ ๋“ฑ ์ผ๋ฐ˜ ์„ค์ • (์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ; ์•Œ๋ฆผ ์„ค์ •์€ ๋‹ค๋ฃจ์ง€ ์•Š์Œ)
๐Ÿ”„ ์—…๋ฐ์ดํŠธ oct agent-update ์„ค์น˜๋œ AI CLI ์ „๋ถ€ ์—…๋ฐ์ดํŠธ (--dry-run --explain ์‚ฌ์ „ ์ ๊ฒ€)
๐Ÿ“Š ๊ฐ์‹œ oct usage ์ „ ํ”„๋กœ๋ฐ”์ด๋” ์ฟผํ„ฐ 1ํšŒ ์กฐํšŒ (--json, --compact, --format waybar/polybar/swiftbar, --notify)
๐Ÿ“Š ๊ฐ์‹œ oct monitor ์ƒ์‹œ ๊ฐฑ์‹  ํ™”๋ฉด (--interval, --once, ์ •๋ ฌยทํ•„ํ„ฐ)
๐Ÿ“Š ๊ฐ์‹œ oct menubar macOS ๋ฉ”๋‰ด๋ฐ”์— ์ƒ์‹œ ํ‘œ์‹œ
๐Ÿ”” ์•Œ๋ฆผ oct alert ์„œ๋ธŒ์ปค๋งจ๋“œ ์—†์ด ์‹คํ–‰ํ•˜๋ฉด ๋ฐฉํ–ฅํ‚ค/ํ‚ค ์ž…๋ ฅ ๊ธฐ๋ฐ˜ ์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ ์•Œ๋ฆผ ์„ค์ •; configยทํ”„๋กœ๋ฐ”์ด๋” ์ž„๊ณ„๊ฐ’ยทtestยทsnooze ์ง€์›
โฐ ์˜ˆ์•ฝ oct schedule agent-update / session-refresh๋ฅผ OS ์Šค์ผ€์ค„๋Ÿฌ์— ๋“ฑ๋ก
โฐ ์˜ˆ์•ฝ oct session-refresh ํ”„๋กฌํ”„ํŠธ ์—†์ด ์„ธ์…˜ยท์ธ์ฆ ์ƒํƒœ๋งŒ probe (--dry-run)
๐Ÿฉบ ์ง„๋‹จ oct doctor shell PATH / bootstrap ์ง„๋‹จ, credentials๋กœ ํ”„๋กœ๋ฐ”์ด๋”๋ณ„ ์ž๊ฒฉ์ฆ๋ช… ์†Œ์Šค ์ง„๋‹จ
๐Ÿฉบ ์ง„๋‹จ oct update oct ์ž์ฒด ์—…๋ฐ์ดํŠธ
๐Ÿงช ๊ฐœ๋ฐœ oct release-doctor ๋ฆด๋ฆฌ์Šค ์ „ ์ ๊ฒ€ ํ•œ ๋ฒˆ์— ๋ณด๊ธฐ

oct --help๋Š” ์‚ฌ์šฉ ๋นˆ๋„ ๊ธฐ์ค€์œผ๋กœ ๊ทธ๋ฃนํ•‘ํ•ด ๋ณด์—ฌ์ค๋‹ˆ๋‹ค (Core / Configuration & Scheduling / Update & Maintenance).

๐Ÿ”„ ์ „๋ถ€ ์—…๋ฐ์ดํŠธ โ€” oct agent-update

oct agent-update                      # ์ „์ฒด ์—…๋ฐ์ดํŠธ ์‹คํ–‰
oct agent-update --dry-run --explain  # ์‹คํ–‰ ์—†์ด ๋„๊ตฌ๋ณ„ ๊ฐ์ง€ ๋งค๋‹ˆ์ €์™€ ๊ณ„ํš๋งŒ ์ถœ๋ ฅ

๋„๊ตฌ๋งˆ๋‹ค ์„ค์น˜ ๊ฒฝ๋กœ์™€ ๋งค๋‹ˆ์ €๋ฅผ ๊ฐ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์ง€์› ๋งค๋‹ˆ์ €: brew, npm, pnpm, yarn, cargo, go-install, pip, Cursor/Antigravity ๊ณต์‹ ์ธ์Šคํ†จ๋Ÿฌ โ€” ์ƒ์„ธ ๋งคํŠธ๋ฆญ์Šค๋Š” ์•„๋ž˜ Manager Support Matrix.

๐Ÿ“Š ์ „๋ถ€ ์ฟผํ„ฐ ๊ฐ์‹œ โ€” oct usage / oct monitor / oct menubar / oct alert

oct usage                        # 1ํšŒ ์กฐํšŒ
oct usage --compact              # C-45% X-25% ํ˜•ํƒœ ์š”์•ฝ
oct usage --json                 # JSON ์ถœ๋ ฅ
oct usage --notify               # ์ž„๊ณ„๊ฐ’ ๊ทœ์น™์— ๋”ฐ๋ผ ์•Œ๋ฆผ ๋ฐœ์†ก

์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ์ž์šฉ: --json ์ถœ๋ ฅ ๊ตฌ์กฐ๋Š” ์•ˆ์ •์ ์ธ ๊ณ„์•ฝ์œผ๋กœ ๋ฌธ์„œํ™”๋ผ ์žˆ์Šต๋‹ˆ๋‹ค โ€” docs/usage-json-schema.md ์ฐธ๊ณ .

๐Ÿ–ฅ๏ธ ์ƒํƒœ๋ฐ” ์—ฐ๋™ โ€” waybar / polybar / swiftbar (์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ์ž์šฉ)

๋ฆฌ๋ˆ…์Šค/macOS ์ƒํƒœ๋ฐ” ์—ฐ๋™์šฉ --format ๋ชจ๋“œ (์‹ฌ๊ฐ๋„์— ๋”ฐ๋ผ warn 85% / crit 95% ์ƒ‰์ƒ):

oct usage --format waybar        # waybar custom/script ๋ชจ๋“ˆ์šฉ JSON (text/tooltip/class)
oct usage --format polybar       # polybar custom script์šฉ ํ•œ ์ค„ (%{F#...} ์ƒ‰์ƒ, % ์ด์Šค์ผ€์ดํ”„)
oct usage --format swiftbar      # SwiftBar ํ”Œ๋Ÿฌ๊ทธ์ธ ํ”„๋กœํ† ์ฝœ (ํƒ€์ดํ‹€ + ๋“œ๋กญ๋‹ค์šด ๋ฉ”๋‰ด)
oct usage --format waybar --from-snapshot   # ๋ผ์ด๋ธŒ fetch ๋Œ€์‹  ๋งˆ์ง€๋ง‰ oct monitor ์Šค๋ƒ…์ƒท ์‚ฌ์šฉ

--from-snapshot์€ ~/.oct/state/usage-latest.json(oct monitor๊ฐ€ ๋งค ์‚ฌ์ดํด ๊ธฐ๋ก)์„ ์ฝ์œผ๋ฏ€๋กœ, ์ƒํƒœ๋ฐ”๊ฐ€ ์งง์€ ํด๋ง ๊ฐ„๊ฒฉ์œผ๋กœ ์žฌ์‹คํ–‰ํ•ด๋„ ํ”„๋กœ๋ฐ”์ด๋” ์ „์ฒด fan-out์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. waybar/polybar/swiftbar์™€ --compact๋Š” ๋ชจ๋‘ remaining ๊ธฐ์ค€์œผ๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

statusline ํฌ๋งท์€ ๊ฐ’ ์—†๋Š” ํ”„๋กœ๋ฐ”์ด๋”(๋ฏธ๊ตฌ์„ฑยท๋ฐ์ดํ„ฐ ์—†์Œ โ€” ? ํ† ํฐ)๋Š” ์ˆจ๊ธฐ๊ณ  ์‹คํŒจ(401 ๋“ฑ)๋Š” ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์ˆจ๊ฒจ์ง„ ๊ฐœ์ˆ˜๋Š” ํˆดํŒ ๋งˆ์ง€๋ง‰ ์ค„์— ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

oct monitor --interval 10s       # 10์ดˆ ๊ฐฑ์‹  ์ƒ์‹œ ํ™”๋ฉด
oct monitor --once --sort-by used --desc --top 5 --compact
๐Ÿ”” ๊ณ ๊ธ‰ ์•Œ๋ฆผ ์„ค์ • โ€” oct alert config / snooze

์„œ๋ธŒ์ปค๋งจ๋“œ ์—†์ด oct alert๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ๋ฐฉํ–ฅํ‚ค/ํ‚ค ์ž…๋ ฅ ๊ธฐ๋ฐ˜ ์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ ์•Œ๋ฆผ ์„ค์ •์ด ์—ด๋ฆฝ๋‹ˆ๋‹ค.

oct alert

# CLI๋กœ ์„ธ๋ถ€ ์กฐ์ •
oct alert config show
oct alert config set enabled true
oct alert config set threshold_percent 85
oct alert config set quiet 2h
oct alert config set-provider-threshold 5h 90 --provider codex
oct alert test --provider codex --window 5h --value 91
oct alert snooze set --duration 2h

โฐ ์œ ์ง€๋ณด์ˆ˜ ์˜ˆ์•ฝ โ€” oct schedule / oct session-refresh

oct schedule enable --task agent-update --interval daily --hour 9   # ๋งค์ผ 9์‹œ ์ „์ฒด ์—…๋ฐ์ดํŠธ
oct schedule enable --task session-refresh --interval 6h            # 6์‹œ๊ฐ„๋งˆ๋‹ค ์„ธ์…˜ ์ ๊ฒ€
oct schedule --task agent-update                                    # ๋“ฑ๋ก ์ƒํƒœ ํ™•์ธ
oct session-refresh --dry-run                                       # ํ† ํฐ ์†Œ๋ชจ ์—†์ด ์ˆ˜๋™ ์ ๊ฒ€

๐Ÿค– ์ง€์› AI ์—์ด์ „ํŠธ (์—…๋ฐ์ดํŠธ ๋Œ€์ƒ)

  • Claude Code (@anthropic-ai/claude-code)
  • Command Code (command-code, binary: commandcode / cmd)
  • OpenAI Codex (@openai/codex)
  • Antigravity CLI (๊ณต์‹ ์ธ์Šคํ†จ๋Ÿฌ, binary: agy)
  • GitHub Copilot (@github/copilot)
  • Cursor CLI (๊ณต์‹ agent ์„ค์น˜ ํ๋ฆ„, cursor.com/install)
  • OpenCode (opencode-ai)
  • Kimi Code (@moonshot-ai/kimi-code, binary: kimi) โ€” (experimental)
  • Qwen Code (@qwen-code/qwen-code, binary: qwen) โ€” (experimental)
  • MiniMax (mmx-cli, binary: mmx) โ€” (experimental)
๐Ÿ‘€ ์‚ฌ์šฉ๋Ÿ‰ ์ „์šฉ ํ”„๋กœ๋ฐ”์ด๋” (์„ค์น˜ ๋Œ€์ƒ ์•„๋‹˜, opt-in)

์„ค์น˜/์—…๋ฐ์ดํŠธ ๋Œ€์ƒ CLI๋Š” ์•„๋‹ˆ์ง€๋งŒ ์‚ฌ์šฉ๋Ÿ‰ ์กฐํšŒ๋งŒ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. agent_order ๋˜๋Š” enabled_tools์— ์ด๋ฆ„์„ ๋„ฃ์œผ๋ฉด ํ‘œ์— ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค (์˜ˆ: oct config set tools zai).

  • Z.ai (GLM Coding Plan) โ€” ZAI_API_KEY / ZHIPU_API_KEY, ๋˜๋Š” opencode zai-coding-plan ๋กœ๊ทธ์ธ โ€” (experimental)
  • DeepSeek โ€” DEEPSEEK_API_KEY โ€” (experimental)
  • OpenRouter โ€” OPENROUTER_API_KEY
  • Grok (xAI SuperGrok) โ€” grok login ์ž๊ฒฉ์ฆ๋ช… ๋˜๋Š” GROK_OAUTH_TOKEN โ€” (experimental)

(experimental)๋Š” ์‹ค๊ตฌ๋… API ์‘๋‹ต์— ๋Œ€ํ•œ ๋ผ์ด๋ธŒ ๊ฒ€์ฆ์ด ์•„์ง ์•ˆ ๋œ ํ†ตํ•ฉ์ด๋ผ๋Š” ๋œป์ž…๋‹ˆ๋‹ค (๋ผ์ด๋ธŒ ๊ฒ€์ฆ ์™„๋ฃŒ: Codex, Claude, Command Code, OpenCode, Antigravity, OpenRouter).

๐Ÿ‘ฅ ๋ฉ€ํ‹ฐ ๊ณ„์ • (codex, kimi, qwen, grok)

๊ณ„์ •์ด ์—ฌ๋Ÿฌ ๊ฐœ๋ฉด ๊ฐ๊ฐ์˜ ์ž๊ฒฉ์ฆ๋ช… ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋“ฑ๋กํ•ด์„œ ์‚ฌ์šฉ๋Ÿ‰์„ ํ•จ๊ป˜ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿงญ ์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ ํ™”๋ฉด์œผ๋กœ ๊ณ„์ • ๊ด€๋ฆฌํ•˜๊ธฐ

๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์€ ๋Œ€ํ™”ํ˜• ํ™”๋ฉด์ž…๋‹ˆ๋‹ค. codex ํ–‰ ์•„๋ž˜์˜ "โž• Add codex accountโ€ฆ" ํ•ญ๋ชฉ์„ ๊ณ ๋ฅด๋ฉด ๋ธŒ๋ผ์šฐ์ € ๋กœ๊ทธ์ธ์ด ๋ฐ”๋กœ ์—ด๋ฆฌ๊ณ , ๋กœ๊ทธ์ธ์ด ๋๋‚˜๋ฉด ๊ณ„์ • ์ด๋ฉ”์ผ์—์„œ ์ด๋ฆ„์„ ์ž๋™ ๋งŒ๋“ค์–ด ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: hansuho36@... โ†’ codex:han***o36, ํ™ˆ์€ ~/.codex-hansuho36) โ€” ์ž…๋ ฅ ์—†์ด ๋กœ๊ทธ์ธ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๊ณ„์ •์ด ๋“ฑ๋ก๋˜๋ฉด codex ํ–‰ ์•„๋ž˜์— "Manage existing accounts (N)" ํ–‰์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. Enter๋กœ ํŽผ์น˜๋ฉด ๋งˆ์Šคํ‚น๋œ ๊ณ„์ • ์ด๋ฆ„(codex:han***o36)์ด ํ‘œ์‹œ๋˜๊ณ , ๊ณ„์ • ํ–‰์—์„œ ๋‹ค์‹œ Enter๋ฅผ ๋ˆ„๋ฅด๋ฉด ๐Ÿ”„ Reconnect(ํ† ํฐ ์žฌ๋กœ๊ทธ์ธ)์™€ โŒ Disconnect(oct ์„ค์ •์—์„œ๋งŒ ์ œ๊ฑฐ; ์ €์žฅ๋œ ์ž๊ฒฉ์ฆ๋ช… ํŒŒ์ผ์€ ์œ ์ง€) ์•ก์…˜์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

oct config                                              # โž• Add codex accountโ€ฆ โ†’ ์ด๋ฆ„ ์ž…๋ ฅ โ†’ ๋กœ๊ทธ์ธ
oct config account add codex work                       # CLI: ์ด๋ฆ„๋งŒ ์“ฐ๋ฉด ~/.codex-work๋กœ ์ž๋™ ํŒŒ์ƒ
oct config account add kimi personal ~/.kimi-code-alt   # ๊ฒฝ๋กœ๋ฅผ ์ง์ ‘ ์ง€์ •ํ•  ์ˆ˜๋„ ์žˆ์Œ
oct config account list                                 # ๋“ฑ๋ก ๋ชฉ๋ก ํ™•์ธ
oct config account remove codex work                    # ๋“ฑ๋ก ํ•ด์ œ

๋“ฑ๋กํ•˜๋ฉด oct usage ํ‘œ์—์„œ ํ•ด๋‹น ํ”„๋กœ๋ฐ”์ด๋” ํ–‰ ๋ฐ”๋กœ ์•„๋ž˜์— codex:work, kimi:personal ๊ฐ™์€ ํ–‰์ด ์ƒ๊ธฐ๊ณ , ์ปดํŒฉํŠธ/์Šคํ…Œ์ดํ„ฐ์Šค๋ผ์ธ ํ‘œ๊ธฐ๋Š” XW, KP์ฒ˜๋Ÿผ ๋ณ„์นญ ์ฒซ ๊ธ€์ž๊ฐ€ ๋ถ™์Šต๋‹ˆ๋‹ค. ๊ณ„์ • ํ–‰์€ ๊ธฐ๋ณธ ํ–‰์ด ํ‘œ์‹œ๋  ๋•Œ ํ•จ๊ป˜ ํ‘œ์‹œ๋˜๋ฉฐ, oct alert config set-provider-threshold ... --provider codex:work์ฒ˜๋Ÿผ ์•Œ๋ฆผ ๋Œ€์ƒ์œผ๋กœ๋„ ์“ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐ŸŽ ๋ฉ”๋‰ด๋ฐ” ํ—ฌํผ (macOS)

macOS ๋ฆด๋ฆฌ์ฆˆ tarball(oct ์„ค์น˜ ์Šคํฌ๋ฆฝํŠธ, oct update)์—๋Š” Swift menubar helper๊ฐ€ ํ•จ๊ป˜ ๋“ค์–ด ์žˆ์–ด oct์™€ ๊ฐ™์€ ๋””๋ ‰ํ„ฐ๋ฆฌ(๊ธฐ๋ณธ ~/.local/bin)์— ์ž๋™ ์„ค์น˜๋ฉ๋‹ˆ๋‹ค. ์†Œ์Šค์—์„œ ์ง์ ‘ ๋นŒ๋“œํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

oct menubar                # ๋ฉ”๋‰ด๋ฐ” ์•ฑ ์‹คํ–‰
oct menubar doctor         # helper ํƒ์ƒ‰/launch ์ƒํƒœ ์ ๊ฒ€
oct menubar build-helper   # Swift helper build
oct menubar install-helper # ~/.local/bin/OctMenubarApp ๋กœ ์„ค์น˜
โš™๏ธ Settings ํ™”๋ฉด ๋ฒ”์œ„์™€ ํŽ˜์น˜ ํƒ€์ž„์•„์›ƒ

๋ฉ”๋‰ด๋ฐ” ์•ฑ์˜ Settings๋Š” Providers(๋„๊ตฌ ์„ ํƒยท์—…๋ฐ์ดํŠธ), Display(์™ธํ˜•ยท์‚ฌ์šฉ๋Ÿ‰ ํ‘œ์‹œ), Alerts(์ „์—ญ ์•Œ๋ฆผ), Automation(์„ธ์…˜ ๊ฐฑ์‹ ยท๋กœ๊ทธ์ธ ์‹œ ์‹คํ–‰), About(์•ฑ ์ •๋ณดยท๋ฒ„์ „ยท์—…๋ฐ์ดํŠธ ํ™•์ธยทํ”„๋กœ์ ํŠธ ๋งํฌ) ํƒญ์œผ๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค. ๋ณ€๊ฒฝํ•œ ์„ค์ •์€ ํƒญ์„ ์ด๋™ํ•ด๋„ ์œ ์ง€๋˜๋ฉฐ, ์ฐฝ ํ•˜๋‹จ์˜ Save changes๋กœ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. Terminal ๋ช…๋ น ์‹คํ–‰์šฉ Tools ํƒญ์€ ์—†์œผ๋ฉฐ ๋ช…๋ น์€ oct CLI์—์„œ ์ง์ ‘ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Alerts ํƒญ์€ ์•ˆ์ „ํ•œ ์ „์—ญ ์„ค์ •๋งŒ ๋…ธ์ถœํ•˜๊ณ , ํ”„๋กœ๋ฐ”์ด๋”๋ณ„ ์ž„๊ณ„๊ฐ’์ด๋‚˜ snooze ์ œ์–ด๋Š” ๋…ธ์ถœํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๊ณ ๊ธ‰ ์„ค์ •์€ oct alert config ...์™€ oct alert snooze ...๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

์„ค์ •์„ ์ฒ˜์Œ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋™์•ˆ ์ง„ํ–‰ ํ‘œ์‹œ๊ฐ€ Settings ์ฐฝ ๊ฐ€์šด๋ฐ์— ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ๋ถˆ๋Ÿฌ์˜ค๊ธฐ๊ฐ€ ๋๋‚˜๋ฉด ์„ฑ๊ณต ์•ˆ๋‚ด๊ฐ€ 5์ดˆ ๋’ค ํŽ˜์ด๋“œ์•„์›ƒ๋˜๋ฉฐ, ์˜ค๋ฅ˜ ์•ˆ๋‚ด๋Š” ์ž๋™์œผ๋กœ ์‚ฌ๋ผ์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Alerts ํƒญ์˜ ์ž„๊ณ„๊ฐ’ ์Šฌ๋ผ์ด๋”๋Š” 5% ๊ฐ„๊ฒฉ(5~95%)๊ณผ ๋งˆ์ง€๋ง‰ 99%๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. "Use the same threshold for 5h, 7d, and 1m"์„ ์„ ํƒํ•˜๋ฉด ์„ธ ๊ธฐ๊ฐ„์— ๋™์ผํ•œ Alert threshold๊ฐ€ ์ ์šฉ๋˜๊ณ , ํ•ด์ œํ•˜๋ฉด ๊ฐ ๊ธฐ๊ฐ„์˜ ์Šฌ๋ผ์ด๋”๋งŒ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์ฒดํฌ ์ƒํƒœ๋Š” ๋‹ค์Œ ์‹คํ–‰์—๋„ ์œ ์ง€๋˜์ง€๋งŒ, ์™ธ๋ถ€ ์„ค์ •์—์„œ ์„ธ ๊ฐ’์ด ๋‹ฌ๋ผ์ง€๋ฉด ์ž๋™์œผ๋กœ ํ•ด์ œ๋ฉ๋‹ˆ๋‹ค.

About ํƒญ์—๋Š” ์‹คํ–‰ ์ค‘์ธ ๋ฉ”๋‰ด๋ฐ” ์•ฑ ๋ฒ„์ „, GitHub ์ €์žฅ์†Œ์™€ ํ›„์› ๋งํฌ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. "Automatically check for updates"๋Š” ์ฆ‰์‹œ ์ ์šฉ๋˜๋Š” ์•ฑ ์„ค์ •์œผ๋กœ, ์ผœ๋ฉด 5๋ถ„๋งˆ๋‹ค ์ƒˆ GitHub Release๋ฅผ ํ™•์ธํ•ด ๋‹ค์šด๋กœ๋“œ ํŽ˜์ด์ง€ ๋งํฌ๋ฅผ ๋ณด์—ฌ์ฃผ๊ณ  ๋„๋ฉด ํ™•์ธ๊ณผ ์•Œ๋ฆผ์„ ์ค‘์ง€ํ•ฉ๋‹ˆ๋‹ค. ์—…๋ฐ์ดํŠธ๋ฅผ ์ž๋™ ์„ค์น˜ํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค.

oct usage --json์˜ ์ „์ฒด ํŽ˜์น˜ deadline(๊ธฐ๋ณธ 15์ดˆ)์€ OCT_USAGE_FETCH_TIMEOUT ํ™˜๊ฒฝ๋ณ€์ˆ˜๋กœ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (์˜ˆ: OCT_USAGE_FETCH_TIMEOUT=8s oct usage). 5~18์ดˆ ๋ฒ”์œ„๋กœ ํด๋žจํ”„๋˜์–ด menubar helper์˜ 20์ดˆ ํ”„๋กœ์„ธ์Šค ํƒ€์ž„์•„์›ƒ ์•ˆ์— ํ•ญ์ƒ ๋ถ€๋ถ„ ๊ฒฐ๊ณผ๊ฐ€ ๋„์ฐฉํ•ฉ๋‹ˆ๋‹ค.

๐Ÿงฐ Manager Support Matrix

ํŽผ์ณ์„œ ๋ณด๊ธฐ โ€” ๊ฐ์ง€ ๊ธฐ์ค€ ยท ์„ค์น˜ ๋ช…๋ น ยท built-in ์‚ฌ์šฉ์ฒ˜
Manager ๊ฐ์ง€ ๊ธฐ์ค€ ์„ค์น˜ ๊ฒฝ๋กœ built-in ์‚ฌ์šฉ์ฒ˜
brew brew --prefix ํ•˜์œ„ binary ๋˜๋Š” brew list brew upgrade <formula> Homebrew๋กœ ์„ค์น˜๋œ Claude/Cursor/OpenCode/Codex
npm npm prefix -g ๋˜๋Š” npm list -g npm install -g <package> Claude/Command Code/OpenCode/Codex/Copilot ๊ธฐ๋ณธ fallback
pnpm pnpm bin -g ๋˜๋Š” pnpm list -g pnpm add -g <package> provenance ๊ธฐ๋ฐ˜ ๊ฐ์ง€๋งŒ ์ง€์›
yarn yarn global bin ๋˜๋Š” yarn global list yarn global add <package> provenance ๊ธฐ๋ฐ˜ ๊ฐ์ง€๋งŒ ์ง€์›
cargo cargo: package prefix ๋˜๋Š” cargo bin path cargo install <crate> --locked explicit package override
go-install go: package prefix ๋˜๋Š” go env GOPATH bin path go install <package>@latest explicit package override
pip pip: package prefix ๋˜๋Š” python3 -m site --user-base bin path python3 -m pip install --upgrade <package> explicit package override
cursor-agent tool identity (cursor-agent / cursor / agent) curl https://cursor.com/install -fsS | bash Cursor CLI
antigravity-installer tool identity (agy / antigravity, legacy gemini*) curl -fsSL https://antigravity.google/cli/install.sh | bash Antigravity CLI

์ด built-in support matrix๋Š” internal/update/manager_test.go์—์„œ ํšŒ๊ท€ ํ…Œ์ŠคํŠธ๋กœ ๊ณ ์ •ํ•ฉ๋‹ˆ๋‹ค.

โœ… Requirements

  • ์‚ฌ์šฉ์ž: macOS agent-update ์ง€์›์—๋Š” Homebrew (Linux/Windows๋Š” CLI ๊ธฐ๋Šฅ๋งŒ)
  • ๊ฐœ๋ฐœ์ž (์†Œ์Šค ๋นŒ๋“œ/ํ…Œ์ŠคํŠธ): Go >= 1.25

๐Ÿšข Release

  • ๊ธฐ๋ณธ ๋ฐฐํฌ ์ฑ„๋„: GitHub Releases + scripts/install.sh
  • ๋กœ์ปฌ ๋ฆด๋ฆฌ์Šค ๋ž˜ํผ: bash scripts/release-package.sh vX.Y.Z

๐Ÿ“„ License

MIT ยฉ Suho Han

Documentation ยถ

The Go Gopher

There is no documentation for this package.

Directories ยถ

Path Synopsis
cmd
oct-analytics-server command
oct-analytics-server is a local-only backend for two independently exposed proxies: public ingestion and a tailnet-private dashboard.
oct-analytics-server is a local-only backend for two independently exposed proxies: public ingestion and a tailnet-private dashboard.
internal
analyticsserver
Package analyticsserver stores non-identifying command events and explicitly submitted feedback text, never HTTP metadata or client addresses.
Package analyticsserver stores non-identifying command events and explicitly submitted feedback text, never HTTP metadata or client addresses.
ui

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL