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 "この文章を3つのポイントにまとめて"

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 "この文章を3つのポイントにまとめて"
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を選び、この4つの項目を入力します。

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の中にとどまり、一切渡しません。応答するのはこのコンピュータ上のプログラムだけで、ネットワークやWebページには応答しません。プログラムごとに、無効にできるキーが必要です。

  • モデルだけ
  • このコンピュータだけ
  • 取り消せるキー