์ฌ๋๊ณผ AI ์์ด์ ํธ ๋ชจ๋๋ฅผ ์ํด ์ค๊ณ๋ ์ ์ผํ Upbit CLI.
curl -sSL https://kyungw00k.dev/upbit/install.sh | sh # ๋น ๋ฅธ ์ค์น
brew install kyungw00k/cli/upbit # HomebrewGo ํ๋ก์ ํธ์์ Upbit API ํด๋ผ์ด์ธํธ๋ฅผ ์ง์ ์ฌ์ฉํ ์ ์์ต๋๋ค:
go get github.com/kyungw00k/upbitpackage main
import (
"context"
"fmt"
"github.com/kyungw00k/upbit/api"
"github.com/kyungw00k/upbit/api/quotation"
"github.com/kyungw00k/upbit/api/exchange"
)
func main() {
// ๊ณต๊ฐ API (์ธ์ฆ ๋ถํ์)
client := api.NewClient("", "")
q := quotation.NewQuotationClient(client)
tickers, _ := q.GetTickers(context.Background(), []string{"KRW-BTC", "KRW-ETH"})
for _, t := range tickers {
fmt.Printf("%s: %v\n", t.Market, t.TradePrice)
}
// ์ธ์ฆ API
authClient := api.NewClient("your-access-key", "your-secret-key")
e := exchange.NewExchangeClient(authClient)
accounts, _ := e.GetAccounts(context.Background())
for _, a := range accounts {
fmt.Printf("%s: %s\n", a.Currency, a.Balance)
}
}| ํจํค์ง | Import ๊ฒฝ๋ก | ์ค๋ช |
|---|---|---|
| API ํด๋ผ์ด์ธํธ | github.com/kyungw00k/upbit/api |
JWT ์ธ์ฆ, Rate Limit, ์๋ ์ฌ์๋ HTTP ํด๋ผ์ด์ธํธ |
| ์์ธ ์กฐํ | github.com/kyungw00k/upbit/api/quotation |
์์ธ ๋ฐ์ดํฐ (ํ์ฌ๊ฐ, ์บ๋ค, ํธ๊ฐ, ์ฒด๊ฒฐ) |
| ๊ฑฐ๋ | github.com/kyungw00k/upbit/api/exchange |
๊ฑฐ๋ (์๊ณ , ์ฃผ๋ฌธ) |
| ์ ์ถ๊ธ | github.com/kyungw00k/upbit/api/wallet |
์ ๊ธ ๋ฐ ์ถ๊ธ |
| WebSocket | github.com/kyungw00k/upbit/api/websocket |
์๋ ์ฌ์ฐ๊ฒฐ ์ค์๊ฐ ์คํธ๋ฆฌ๋ฐ |
| ํ์ | github.com/kyungw00k/upbit/types |
๋ฐ์ดํฐ ๋ชจ๋ธ (Ticker, Candle, Order ๋ฑ) |
upbit ticker KRW-BTC # ํ์ฌ๊ฐ ์กฐํ
upbit candle KRW-BTC -i 1d --from 2025-01-01 # ๊ณผ๊ฑฐ ์บ๋ค (์บ์ ์ง์)
upbit watch candle KRW-BTC -i 1m # ์ค์๊ฐ ์บ๋ค์คํฑ ์ฐจํธ (TUI)
export UPBIT_ACCESS_KEY=... UPBIT_SECRET_KEY=...
upbit buy KRW-BTC -p 100000000 -V 0.001 # ์ง์ ๊ฐ ๋งค์
upbit buy KRW-BTC -p now -V 50% # ํ์ฌ๊ฐ๋ก ์๊ณ 50% ๋งค์
upbit sell KRW-BTC -V 100% # ์ ๋ ์์ฅ๊ฐ ๋งค๋
upbit balance # ํฌํธํด๋ฆฌ์ค (KRW ํ๊ฐ์ก)AI ํผ์คํธ โ upbit tool-schema๋ก LLM/MCP ๋๊ตฌ ํธ์ถ์ฉ JSON Schema ๋ด๋ณด๋ด๊ธฐ. Non-TTY ํ๊ฒฝ์์ ์๋ JSON ์ถ๋ ฅ์ผ๋ก AI ์์ด์ ํธ ํ์ดํ๋ผ์ธ์ ์ต์ .
์ค์๊ฐ TUI โ watch ticker/orderbook/trade/candle์ Bubble Tea ๊ธฐ๋ฐ์ผ๋ก ์ ๊ณต. Tab ํค๋ก ๋ณต์ ๋ง์ผ ์ ํ. ASCII ์บ๋ค์คํฑ ์ฐจํธ์ ๊ฑฐ๋๋ ํจ๋.
์ค๋งํธ ํธ๋ ์ด๋ฉ โ ํธ๊ฐ ๋จ์ ์๋ ๋ณด์ , ํผ์ผํธ ์ฃผ๋ฌธ(-V 50%, -t 100%), ๊ฐ๊ฒฉ ํค์๋(-p now/open/low/high), ์ต์ ๋ฆฌ ์ง์ ๊ฐ(--best), ์์ฝ ์ฃผ๋ฌธ(--watch). ๋งค์/๋งค๋ ์์ธ ๊ฐ์ด๋
์บ๋ค ์บ์ โ SQLite ์บ์์ --from ์๋ ํ์ด์ง๋ค์ด์
์ผ๋ก ์ ์ฒด ์ด๋ ฅ ์กฐํ. upbit cache๋ก ํ์ธ, --clear๋ก ์ญ์ .
๋ค๊ตญ์ด โ LANG=ko_KR โ ํ๊ตญ์ด, ๊ธฐ๋ณธ๊ฐ โ ์์ด. POSIX ๋ก์ผ์ผ ํ์ค (LC_ALL > LC_MESSAGES > LANG).
์์ฒด ์
๋ฐ์ดํธ โ upbit update๋ก GitHub Releases์์ ์ต์ ๋ฒ์ ๋ค์ด๋ก๋ (SHA256 ๊ฒ์ฆ). --check๋ก ๋ฏธ๋ฆฌ๋ณด๊ธฐ.
์ ์ฒด ๋ชฉ๋ก์ upbit --help๋ฅผ ์ฐธ๊ณ ํ์ธ์. ์ฃผ์ ๋ช
๋ น์ด:
| ์นดํ ๊ณ ๋ฆฌ | ๋ช ๋ น์ด |
|---|---|
| ์์ธ | ticker, candle, orderbook, trades, market, tick-size |
| ๊ฑฐ๋ | buy, sell, balance, order list/show/cancel/replace |
| ์ ์ถ๊ธ | wallet, deposit list/show/address, withdraw list/show/request |
| ์ค์๊ฐ | watch ticker/orderbook/trade/candle/my-order/my-asset |
| ์ ํธ๋ฆฌํฐ | tool-schema, api-keys, cache, update |
upbit ticker KRW-BTC # ํ
์ด๋ธ (ํฐ๋ฏธ๋)
upbit ticker KRW-BTC | jq . # JSON (ํ์ดํ, ์๋)
upbit ticker KRW-BTC -o csv # CSV
upbit ticker KRW-BTC --json price # ํ๋ ์ ํ| ์ปจํ ์คํธ | ๊ธฐ๋ณธ๊ฐ | ๋ณ๊ฒฝ |
|---|---|---|
| ํฐ๋ฏธ๋ (TTY) | ์ ๋ ฌ๋ ํ ์ด๋ธ | -o json, -o csv |
| ํ์ดํ (Non-TTY) | ์์ถ JSON | -o table, -o jsonl |
API ํค๋ ํ๊ฒฝ๋ณ์์์๋ง ์ฝ์ผ๋ฉฐ, ๋์คํฌ์ ์ ์ฅํ์ง ์์ต๋๋ค.
export UPBIT_ACCESS_KEY=your_access_key
export UPBIT_SECRET_KEY=your_secret_key์์ธ ์กฐํ ๋ช
๋ น์ด๋ ์ธ์ฆ ์์ด ์ฌ์ฉํ ์ ์์ต๋๋ค.
๊ฑฐ๋, ์
์ถ๊ธ, ์ค์๊ฐ ๊ฐ์ธ ์คํธ๋ฆผ(watch my-order, watch my-asset)์ ์ธ์ฆ์ด ํ์ํฉ๋๋ค.
Watch ๋ช ๋ น์ Bubble Tea ๊ธฐ๋ฐ ์ ์ฒด ํ๋ฉด ํฐ๋ฏธ๋ UI๋ฅผ ์ ๊ณตํฉ๋๋ค:
- watch ticker โ ์ค์๊ฐ ๊ฐ๊ฒฉ ํ ์ด๋ธ (์์น=์ด๋ก, ํ๋ฝ=๋นจ๊ฐ)
- watch orderbook โ ์คํ๋ ๋ ์ค์ฌ ๋งค์/๋งค๋ ํธ๊ฐ ์ฐจํธ
- watch trade โ ์ฒด๊ฒฐ ์คํธ๋ฆผ ์คํฌ๋กค
- watch candle โ ASCII ์บ๋ค์คํฑ ์ฐจํธ + ๊ฑฐ๋๋ ๋ฐ
๋ณต์ ๋ง์ผ: Tab ๋๋ โ/โ๋ก ์ ํ
upbit watch ticker KRW-BTC KRW-ETH KRW-XRP
upbit watch orderbook KRW-BTC
upbit watch candle KRW-BTC -i 1mupbit candle KRW-BTC --from 2025-01-01 # ์๋ ํ์ด์ง๋ค์ด์
(SQLite ์บ์)
upbit candle KRW-BTC --from 2025-01-01 --no-cache
upbit cache # ์บ์ ์ ๋ณด
upbit cache --clear # ์บ์ ์ญ์ AI ์์ด์ ํธ์ฉ upbit ์คํฌ ์ค์น:
curl -sSL https://kyungw00k.dev/upbit/install-skill.sh | sh~/.agents/skills/upbit/ (agentskills.io)๊ณผ .claude/skills/upbit/ (Claude Code) ์์ชฝ์ ์ค์น๋ฉ๋๋ค.
upbit tool-schema # ์ ์ฒด ๋ช
๋ น JSON Schema
upbit tool-schema buy # ํน์ ๋ช
๋ น (์๋ต ์คํค๋ง ํฌํจ)upbit update # ์ต์ ๋ฒ์ ๋ค์ด๋ก๋ ๋ฐ ์ค์น
upbit update --check # ํ์ธ๋ง ํ๊ณ ๋ค์ด๋ก๋ํ์ง ์์๋จ์ผ ์ ์ ๋ฐ์ด๋๋ฆฌ, ๋ฐํ์ ์์กด์ฑ ์์. ํฌ๋ก์ค ํ๋ซํผ: Linux, macOS, Windows (amd64, arm64).
AI ์์ด์ ํธ๊ฐ upbit๋ฅผ ์๋์ผ๋ก ํ์ฉํ ์ ์๋ Claude Code ์คํฌ์ด ์ ๊ณต๋ฉ๋๋ค.
/plugin marketplace add kyungw00k/skills
/plugin install cli-tools@kyungw00k-skills
- ์บ๋ค์คํฑ ์ฐจํธ๋ cli-candlestick-chart์์ ์๊ฐ์ ๋ฐ์์ต๋๋ค
MIT
