2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【実践】Windows11 + WSL + Codex + xangi + OpenClawで「自分専用AIエージェント」を構築してみた

2
Posted at

■ はじめに

からあげ(@karaage0703)さんのポストをきっかけに、AIエージェントに興味を持ちました。

https://x.com/karaage0703/status/2034389423929069833
image.png

紹介されていた書籍👇
「生活に溶け込むAI — AIエージェントで作る、自分だけのアシスタント」
をBOOTHで購入。

生活に溶け込むAI
image.png

本書ではRaspberry Piを前提とした構成になっていますが、
今回はWindows 11環境で構築を行いました。

WSL上にUbuntu環境を構築し、その中でAIエージェントを構築しています。

また、書籍ではClaude Codeが使用されていますが、今回は
👉 Codex CLI + xangi
という構成で実装しました。

さらに比較のために
👉 OpenClaw
も導入しています。

■ 構成全体

Discord
   ↓
(xangi / OpenClaw)
   ↓
Codex CLI
   ↓
AGENTS.md / BOOTSTRAP.md / memory / skills

👉 単なるAIではなく
👉 状態を持つエージェント

■ WSL + Ubuntu構築

wsl --install
wsl

■ Node / nvm

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash
source ~/.bashrc
nvm install node

■ Codex CLI

npm install -g @openai/codex

■ エージェント基盤

mkdir ~/ai-agent
cd ~/ai-agent

■ AGENTS.md(行動方針)

touch AGENTS.md
# AGENTS

## Role
あなたはソフトウェアエンジニア

## Behavior
- 簡潔に答える
- コード提示

👉 AIの「人格」を定義

■ BOOTSTRAP.md(初期化)

touch BOOTSTRAP.md
# BOOTSTRAP

## Initialization
- AGENTS.mdを読む
- memory確認

👉 AIの「動き」を定義

■ memory(永続記録)

mkdir memory
cd memory
touch user.md projects.md setup-log.md

👉 本質👇

AIに覚えさせるな
ファイルに書かせろ

■ skills(自動化)

cd ~/ai-agent
mkdir skills
touch skills/log-setup.md
# log-setup

## 目的
setup-log.mdに記録

👉 効果👇

毎回指示 → 自動化

■ Discord Bot作成

  1. https://discord.com/developers/applications
  2. New Application
  3. Bot作成
  4. Token取得
    image.png

■ 設定

  • MESSAGE CONTENT INTENT → ON

  • image.png

  • 権限

    • メッセージを送る
    • メッセージ履歴を読む
    • ファイル送付
      image.png

■ 注意

トークンは絶対に公開しない

■ xangi導入

git clone https://github.com/karaage0703/xangi.git
cd xangi
npm install
npm run build

■ ハマりポイント(重要)

spawn claude ENOENT

■ 原因

デフォルトがClaude

■ 解決

nano .env

image.png

DISCORD_TOKEN=xxxx
DISCORD_ALLOWED_USER=xxxx
AGENT_BACKEND=codex
WORKSPACE_PATH=/home/shirai/ai-agent

日本語書てあるから親切設計

image.png

👉 ここかなりハマった

■ 起動

npm start

■ OpenClaw導入

curl -fsSL https://openclaw.ai/install.sh | bash
openclaw onboard --install-daemon

■ WSLの罠

sudo nano /etc/wsl.conf
[boot]
systemd=true
wsl --shutdown

■ Gateway起動

openclaw gateway install
systemctl --user start openclaw-gateway

■ Discord allowlist設定(ハマりポイント)

OpenClawでDiscord連携する際、
ユーザー制限(allowlist)を設定しないとメッセージが無視される場合があります。

実際のログ:

reason: "no-mention"
discord: skipping guild message

■ 設定ファイル

~/.openclaw/openclaw.json

■ 修正前

"discord": {
  "enabled": true,
  "token": "xxxx",
  "groupPolicy": "allowlist",
  "guilds": {
    "*": {}
  },
  "streaming": "off"
}

■ 修正方法①(推奨:一時的に全開放)

まずは動作確認のため、以下に変更:

"discord": {
  "enabled": true,
  "token": "xxxx",
  "groupPolicy": "open",
  "guilds": {
    "*": {}
  },
  "streaming": "off"
}

■ これの意味

groupPolicy: open

👉 すべてのユーザー・チャンネルを許可

■ 修正方法②(本番向け:allowlist)

特定ユーザーのみ許可する場合:

"discord": {
  "enabled": true,
  "token": "xxxx",
  "groupPolicy": "allowlist",
  "allowFrom": ["679894887277133886"],
  "guilds": {
    "*": {}
  },
  "streaming": "off"
}

■ これの意味

allowFrom

👉 指定したユーザーIDのみ使用可能

■ 設定反映

systemctl --user restart openclaw-gateway.service

■ Discord接続の罠

@codex-bot こんにちは

エラー👇

no-mention

👉 解決👇

<@BOT_ID> テスト

<@1234567890> テスト

■ xangi vs OpenClaw

項目 xangi OpenClaw
軽さ
拡張 手動 自動
難易度

■ コスト問題

モデルが良いと金が溶ける

■ ハマりまとめ

  • Bot競合
  • systemd
  • メンション
  • Claude設定

■ まとめ

👉 結論

xangi → 軽い
OpenClaw → 強い

👉 使い分け

■ おわりに

正直、

1日でここまで作れるのは衝撃
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?