Twoody
개발자

내 컴퓨터의 모델을 내 코드에서

Twoody는 내 컴퓨터에서 언어 모델을 실행합니다. twoody 명령으로 터미널에서 사용할 수 있고, OpenAI 호환 API로 내 프로그램에 제공할 수 있습니다. 이 컴퓨터에서만, 키가 있어야 사용할 수 있습니다.

  • 모델만
  • 이 컴퓨터만
  • 취소할 수 있는 키
Terminal
npm install -g twoody
twoody pull Qwen3.5-9B-Q4_K_M
twoody run Qwen3.5-9B-Q4_K_M "이 글을 세 가지 요점으로 요약해 줘"

01

명령 설치

어떤 방법으로 설치해도 같은 명령입니다.

Node.js 22 이상이 실행되는 곳이면 어디서나: Mac, Windows, Linux.

npm
npm install -g twoody

Mac이나 Linux에서 Homebrew로 설치합니다. Node.js도 함께 설치됩니다.

Homebrew
brew install osmove/twoody/twoody

Python 사용자용: 이 패키지는 같은 명령을 실행하며 Node.js 22 이상이 필요합니다.

pip
pipx install twoody

컨테이너에서 Twoody Server만 실행합니다. 서버, NAS, Raspberry Pi용입니다. API는 http://127.0.0.1:3000/v1에서 이 컴퓨터의 프로그램에만 응답합니다.

Docker
docker run -d --init --name twoody -p 127.0.0.1:3000:3000 \
  -e TWOODY_API_ALLOW_NETWORK=1 -v twoody:/data ghcr.io/osmove/twoody-server
docker exec twoody twoody-server models add Qwen3.5-4B-Q4_K_M
docker exec twoody twoody-server api-key create "my-script"

Twoody에서: 설정 › 개발자 › twoody 명령 설치.

앱 없이

twoody serve는 이 컴퓨터에서 Twoody Server를 http://127.0.0.1:3000으로 시작합니다. 다른 터미널에서 twoody api-key create를 실행하면 키가 만들어집니다. 처음에는 서버가 데이터 폴더에 남긴 설정 토큰으로 사용자를 이 서버의 소유자로도 만듭니다.

Twoody Server
twoody serve
twoody api-key create "my-script"

02

모델 실행

twoody list는 이 컴퓨터의 모델을 보여 주고, twoody pull은 Twoody 카탈로그에서 모델을 설치하며, twoody run은 한 번 답하거나 대화를 이어 갑니다. 파이프로 텍스트를 넘길 수도 있습니다.

Terminal
twoody list
twoody pull Qwen3.5-9B-Q4_K_M
twoody run Qwen3.5-9B-Q4_K_M "이 글을 세 가지 요점으로 요약해 줘"
cat notes.txt | twoody run Qwen3.5-9B-Q4_K_M "영어로 번역해 줘:"
twoody api-key create "my-script"

03

OpenAI 호환 API

twoody api-key create 또는 설정 › 개발자에서 키를 만드세요. 주소는 Twoody 앱에서는 http://127.0.0.1:47821/v1, twoody serve에서는 http://127.0.0.1:3000/v1입니다. /v1/models, /v1/chat/completions(스트리밍 여부 선택), /v1/embeddings에 응답합니다.

  • GET /v1/models 이 컴퓨터에 설치된 모델
  • POST /v1/chat/completions 답변, 스트리밍 여부 선택
  • POST /v1/embeddings 벡터(의미 검색 모델이 설치된 경우)
curl
curl http://127.0.0.1:47821/v1/chat/completions \
  -H "Authorization: Bearer $TWOODY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "Qwen3.5-9B-Q4_K_M", "messages": [{"role": "user", "content": "안녕하세요"}]}'

Python(openai 패키지)

Python
from openai import OpenAI

client = OpenAI(base_url="http://127.0.0.1:47821/v1", api_key="twk_…")
answer = client.chat.completions.create(
    model="Qwen3.5-9B-Q4_K_M",
    messages=[{"role": "user", "content": "안녕하세요"}],
)
print(answer.choices[0].message.content)

JavaScript(openai 패키지)

JavaScript
import OpenAI from "openai";

const client = new OpenAI({ baseURL: "http://127.0.0.1:47821/v1", apiKey: "twk_…" });
const answer = await client.chat.completions.create({
  model: "Qwen3.5-9B-Q4_K_M",
  messages: [{ role: "user", content: "안녕하세요" }],
});
console.log(answer.choices[0].message.content);

04

에디터나 에이전트에서

OpenAI 호환 주소를 받는 도구라면 어떤 것이든 Twoody의 모델을 사용할 수 있습니다. 예를 들면:

Continue

config.yaml의 models 목록에 이 모델을 추가하세요.

config.yaml
models:
  - name: Twoody
    provider: openai
    model: Qwen3.5-9B-Q4_K_M
    apiBase: http://127.0.0.1:47821/v1
    apiKey: twk_…

Cline

Cline 설정에서 API 공급자로 OpenAI Compatible을 고르고 이 네 항목을 채우세요.

API Provider
OpenAI Compatible
Base URL
http://127.0.0.1:47821/v1
API Key
twk_…
Model ID
Qwen3.5-9B-Q4_K_M

Aider

Aider에 Twoody 주소와 키를 알려 준 뒤, openai/ 다음에 모델 이름을 붙여 실행하세요.

Terminal
export OPENAI_API_BASE=http://127.0.0.1:47821/v1
export OPENAI_API_KEY=twk_…
aider --model openai/Qwen3.5-9B-Q4_K_M

twk_…는 본인의 키로 바꾸세요(twoody api-key create).

2026년 10월 30일 각 도구의 문서에서 확인한 설정: Continue, Cline, Aider.

API가 제공하는 것과 제공 대상

모델만 제공합니다. 기억, 문서, 대화는 Twoody 안에 남으며 절대 넘기지 않습니다. 이 컴퓨터의 프로그램에만 응답하고 네트워크나 웹 페이지에는 응답하지 않으며, 프로그램마다 취소할 수 있는 키가 필요합니다.

  • 모델만
  • 이 컴퓨터만
  • 취소할 수 있는 키