AIエージェントのOpenClawやClaude Coworkが話題になりましたが、動作させるためにはAIモデルのAPI利用料が必要になります。無料で気軽に試してみたいなら一度「OpenWork」を試してみては。性能は比べ物になりませんが、雰囲気は掴めるかも。
VMにセットアップ
今回はVM上のUbuntu 24.04デスクトップ環境にセットアップします。下記コードを端末にコピペします。
#!/usr/bin/env bash
# =============================================================================
# OpenWork — Ubuntu 24.04 ワンクリック セットアップスクリプト
# =============================================================================
set -euo pipefail
RED='\033[0;31m'; GREEN='\033[0;32m'; YELLOW='\033[1;33m'
CYAN='\033[0;36m'; BOLD='\033[1m'; RESET='\033[0m'
info() { echo -e "${CYAN}[INFO]${RESET} $*" >&2; }
success() { echo -e "${GREEN}[OK]${RESET} $*" >&2; }
warn() { echo -e "${YELLOW}[WARN]${RESET} $*" >&2; }
error() { echo -e "${RED}[ERROR]${RESET} $*" >&2; exit 1; }
echo -e "${BOLD}"
cat << 'BANNER'
___ __ __ _
/ _ \ _ __ ___ _ _\ \ / /__ _ __| | __
| | | | '_ \ / _ \ '_ \ \ /\ / / _ \| '__| |/ /
| |_| | |_) | __/ | | \ V V / (_) | | | <
\___/| .__/ \___|_| |_|\_/\_/ \___/|_| |_|\_\
|_|
Ubuntu 24.04 — ワンクリック インストーラー
BANNER
echo -e "${RESET}"
APP_DIR="$HOME/.local/share/openwork"
DESKTOP_FILE="$HOME/.local/share/applications/openwork.desktop"
REPO="different-ai/openwork"
TMPINFO=$(mktemp)
# ── 依存パッケージ ────────────────────────────────────────────────────────────
install_deps() {
info "依存パッケージを確認中..."
local pkgs=(curl wget jq libwebkit2gtk-4.1-0 libgtk-3-0 libayatana-appindicator3-1)
local missing=()
for pkg in "${pkgs[@]}"; do
dpkg -s "$pkg" &>/dev/null || missing+=("$pkg")
done
if [[ ${#missing[@]} -gt 0 ]]; then
info "インストール中: ${missing[*]}"
sudo apt-get update -qq
sudo apt-get install -y "${missing[@]}"
fi
success "依存パッケージOK"
}
# ── GitHub API でリリース情報取得 ─────────────────────────────────────────────
fetch_release_info() {
info "GitHub API で最新リリースを検索中..."
local api_response
api_response=$(curl -fsSL \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"https://api.github.com/repos/${REPO}/releases/latest")
local version
version=$(echo "$api_response" | jq -r '.tag_name // "不明"')
info "最新バージョン: $version"
local all_urls
all_urls=$(echo "$api_response" | jq -r '.assets[].browser_download_url')
local found
found=$(echo "$all_urls" | grep -iE '\.AppImage$' | grep -iE 'x86_64|amd64' | head -1 || true)
if [[ -n "$found" ]]; then
printf 'appimage\n%s\n' "$found" > "$TMPINFO"
return
fi
found=$(echo "$all_urls" | grep -iE '\.deb$' | grep -iE 'amd64|x86_64' | head -1 || true)
if [[ -n "$found" ]]; then
printf 'deb\n%s\n' "$found" > "$TMPINFO"
return
fi
echo "$all_urls" | sed 's/^/ /' >&2
error "Linux向けバイナリが見つかりません。https://github.com/${REPO}/releases を確認してください。"
}
# ── インストール後の実行コマンドを特定 ────────────────────────────────────────
find_launch_cmd() {
# .deb がインストールするバイナリ名は変わる可能性があるため動的に探す
local candidates=(OpenWork OpenWork-Dev openwork open-work)
for cmd in "${candidates[@]}"; do
if command -v "$cmd" &>/dev/null; then
echo "$cmd"
return
fi
done
# fallback: /usr/bin 以下を検索
local found
found=$(find /usr/bin -maxdepth 1 -iname 'openwork*' -o -iname 'open-work*' 2>/dev/null \
| grep -v -E 'server|orchestrator|router|mcp|versions' | head -1)
if [[ -n "$found" ]]; then
echo "$found"
return
fi
echo "OpenWork-Dev" # 現在の既知コマンド名
}
# ── AppImage インストール ──────────────────────────────────────────────────────
install_appimage() {
local url="$1"
local dest="$APP_DIR/openwork.AppImage"
mkdir -p "$APP_DIR"
info "ダウンロード中: $(basename "$url")"
wget --progress=bar:force -O "$dest" "$url"
chmod +x "$dest"
mkdir -p "$HOME/.local/bin"
cat > "$HOME/.local/bin/openwork" <<EOF
#!/usr/bin/env bash
export WEBKIT_DISABLE_DMABUF_RENDERER=1
exec "$dest" "\$@"
EOF
chmod +x "$HOME/.local/bin/openwork"
success "AppImage インストール完了"
}
# ── .deb インストール ─────────────────────────────────────────────────────────
install_deb() {
local url="$1"
local tmp="/tmp/openwork_install.deb"
info "ダウンロード中: $(basename "$url")"
wget --progress=bar:force -O "$tmp" "$url"
sudo dpkg -i "$tmp" || sudo apt-get install -f -y
rm -f "$tmp"
success ".deb インストール完了"
}
# ── デスクトップ登録 ──────────────────────────────────────────────────────────
create_desktop_entry() {
local launch_cmd="$1"
mkdir -p "$(dirname "$DESKTOP_FILE")" "$APP_DIR"
cat > "$DESKTOP_FILE" <<EOF
[Desktop Entry]
Name=OpenWork
Comment=Open-source alternative to Claude Cowork, powered by OpenCode
Exec=env WEBKIT_DISABLE_DMABUF_RENDERER=1 $launch_cmd %U
Icon=$APP_DIR/openwork.png
Terminal=false
Type=Application
Categories=Development;Utility;
StartupWMClass=openwork
Keywords=AI;agentic;workflow;opencode;
EOF
chmod +x "$DESKTOP_FILE"
update-desktop-database "$HOME/.local/share/applications/" 2>/dev/null || true
curl -fsSL -o "$APP_DIR/openwork.png" \
"https://raw.githubusercontent.com/${REPO}/dev/.github/openwork-icon.png" 2>/dev/null \
&& success "アイコン取得OK" || warn "アイコン取得失敗(動作には影響なし)"
success ".desktop エントリ作成完了"
}
# ── PATH 追加 ─────────────────────────────────────────────────────────────────
ensure_path() {
local dir="$1"
if [[ ":$PATH:" != *":$dir:"* ]]; then
local rc
rc=$([ -f "$HOME/.zshrc" ] && echo "$HOME/.zshrc" || echo "$HOME/.bashrc")
echo "export PATH=\"$dir:\$PATH\"" >> "$rc"
export PATH="$dir:$PATH"
warn "$dir を PATH に追加しました。"
fi
}
# ── メイン ────────────────────────────────────────────────────────────────────
main() {
echo -e "${BOLD}Ubuntu 24.04 VM 向け OpenWork インストール開始${RESET}\n"
sudo -v 2>/dev/null || error "sudo 権限が必要です。"
install_deps
fetch_release_info
local install_type url
install_type=$(sed -n '1p' "$TMPINFO")
url=$(sed -n '2p' "$TMPINFO")
rm -f "$TMPINFO"
info "インストール種別: $install_type"
info "URL: $url"
if [[ "$install_type" == "deb" ]]; then
install_deb "$url"
ensure_path "/usr/bin"
else
install_appimage "$url"
ensure_path "$HOME/.local/bin"
fi
# インストール後に実際のコマンド名を動的に特定
local launch_cmd
launch_cmd=$(find_launch_cmd)
info "起動コマンド: $launch_cmd"
create_desktop_entry "$launch_cmd"
echo ""
echo -e "${GREEN}${BOLD}╔══════════════════════════════════════════╗${RESET}"
echo -e "${GREEN}${BOLD}║ ✅ インストール完了! ║${RESET}"
echo -e "${GREEN}${BOLD}╚══════════════════════════════════════════╝${RESET}"
echo ""
echo -e " ${BOLD}起動方法:${RESET}"
echo -e " • アプリメニュー → 「OpenWork」を検索"
echo -e " • ターミナル: ${CYAN}WEBKIT_DISABLE_DMABUF_RENDERER=1 ${launch_cmd}${RESET}"
echo ""
echo -e " ${BOLD}毎回の起動が面倒な場合、エイリアスを設定:${RESET}"
echo -e " ${CYAN}echo \"alias openwork='WEBKIT_DISABLE_DMABUF_RENDERER=1 ${launch_cmd}'\" >> ~/.bashrc && source ~/.bashrc${RESET}"
echo -e " 以降は ${CYAN}openwork${RESET} だけで起動できます"
echo ""
echo -e " ${BOLD}APIキー不要で即使える!${RESET}"
echo -e " デフォルトの ${CYAN}OpenCode Zen${RESET} モデルはそのまま無料で利用可能"
echo ""
read -r -p "今すぐ起動しますか? [y/N]: " launch
if [[ "${launch,,}" == "y" ]]; then
WEBKIT_DISABLE_DMABUF_RENDERER=1 "$launch_cmd" &
disown
success "起動しました"
fi
}
main "$@"
起動方法
インストールが完了したら「y」を押せばすぐ起動します。
起動したらピン留めしておきましょう。次からはここからすぐに起動出来ます。
また次のコマンドでも起動できます。
WEBKIT_DISABLE_DMABUF_RENDERER=1 OpenWork-Dev
毎回このコマンドを打つのは面倒なので、エイリアスを設定してもよいですね。
echo "alias openwork='WEBKIT_DISABLE_DMABUF_RENDERER=1 OpenWork-Dev'" >> ~/.bashrc && source ~/.bashrc
以降は openwork だけで起動できます。またアプリメニュー(GNOMEのアクティビティ)からも「OpenWork」で検索して起動できるはずです。
日本語化して使用
起動したら、右下の⚙️マークから設定画面を開き、「Appearance」項目で「日本語」を選択して日本語化します。

日本語で依頼すればOKです。

日本語の「デスクトップ」フォルダは認識されず「desktop」フォルダが作成されたり、テキストファイルが保存されていなかったりしましたが、確認することで無事に作成されたようです。


