Continue
config.yaml의 models 목록에 이 모델을 추가하세요.
models:
- name: Twoody
provider: openai
model: Qwen3.5-9B-Q4_K_M
apiBase: http://127.0.0.1:47821/v1
apiKey: twk_…
Twoody는 내 컴퓨터에서 언어 모델을 실행합니다. twoody 명령으로 터미널에서 사용할 수 있고, OpenAI 호환 API로 내 프로그램에 제공할 수 있습니다. 이 컴퓨터에서만, 키가 있어야 사용할 수 있습니다.
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 install -g twoody
Mac이나 Linux에서 Homebrew로 설치합니다. Node.js도 함께 설치됩니다.
brew install osmove/twoody/twoody
Python 사용자용: 이 패키지는 같은 명령을 실행하며 Node.js 22 이상이 필요합니다.
pipx install twoody
컨테이너에서 Twoody Server만 실행합니다. 서버, NAS, Raspberry Pi용입니다. API는 http://127.0.0.1:3000/v1에서 이 컴퓨터의 프로그램에만 응답합니다.
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 serve
twoody api-key create "my-script"
02
twoody list는 이 컴퓨터의 모델을 보여 주고, twoody pull은 Twoody 카탈로그에서 모델을 설치하며, twoody run은 한 번 답하거나 대화를 이어 갑니다. 파이프로 텍스트를 넘길 수도 있습니다.
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
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에 응답합니다.
/v1/models
이 컴퓨터에 설치된 모델
/v1/chat/completions
답변, 스트리밍 여부 선택
/v1/embeddings
벡터(의미 검색 모델이 설치된 경우)
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 패키지)
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 패키지)
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의 모델을 사용할 수 있습니다. 예를 들면:
config.yaml의 models 목록에 이 모델을 추가하세요.
models:
- name: Twoody
provider: openai
model: Qwen3.5-9B-Q4_K_M
apiBase: http://127.0.0.1:47821/v1
apiKey: twk_…
Cline 설정에서 API 공급자로 OpenAI Compatible을 고르고 이 네 항목을 채우세요.
OpenAI Compatiblehttp://127.0.0.1:47821/v1twk_…Qwen3.5-9B-Q4_K_MAider에 Twoody 주소와 키를 알려 준 뒤, openai/ 다음에 모델 이름을 붙여 실행하세요.
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).
모델만 제공합니다. 기억, 문서, 대화는 Twoody 안에 남으며 절대 넘기지 않습니다. 이 컴퓨터의 프로그램에만 응답하고 네트워크나 웹 페이지에는 응답하지 않으며, 프로그램마다 취소할 수 있는 키가 필요합니다.