README
ยถ
๐ one-click-ai-tools (oct)
๐ฏ 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, ๋๋ opencodezai-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
ยถ
There is no documentation for this package.
Directories
ยถ
| Path | Synopsis |
|---|---|
|
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. |