Xs xangi settings
Skill karaage0703/ai-assistant-workspace/skills/xs-xangi-settings
npx -y skills add karaage0703/ai-assistant-workspace --skill xs-xangi-settingsAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
xangiの設定確認・設定ファイル変更・反映再起動を行うスキル。最新仕様は対象cloneのxangiドキュメントを参照する。「このチャンネルでも応答して」「タイムアウト変えて」「設定確認して」で使用。
SKILL.md
6.9 KB, as published. Nobody here has run it
xangi 設定変更スキル
チャットから xangi の設定確認、設定ファイル変更、反映再起動を行う。
基本方針
xangi 本体の設定項目や運用コマンドは変わる。スキル内の古い一覧だけで判断せず、作業前に対象 clone の一次情報を読む。
読む順番:
[XANGI_ROOT]/docs/usage.mdの環境変数・service・再起動まわり[XANGI_ROOT]/.env.example[XANGI_ROOT]/src/prompts/xangi-commands-chat-platform.ts(チャット上でAIに注入される最新運用ルール)
[XANGI_ROOT] は設定変更対象の xangi clone。[WORKSPACE] はこのワークスペース。
実行フロー
Step 1: 対象インスタンスを特定
複数の xangi clone が同じマシンで動くことがあるため、まず対象 clone を決める。
# 実行中コンテキストが xangi 上なら cwd/repo を確認
pwd
git rev-parse --show-toplevel 2>/dev/null
# xangi clone 候補と設定ファイルを確認
find "$HOME" -maxdepth 2 -name .env -path "$HOME/xangi-*/*" -print 2>/dev/null
# WORKSPACE_PATH / XANGI_INSTANCE_ID / XANGI_PROCESS_NAME / DATA_DIR を見て対象を絞る
for f in "$HOME"/xangi-*/.env; do
[ -f "$f" ] || continue
echo "## $f"
grep -E '^(WORKSPACE_PATH|XANGI_INSTANCE_ID|XANGI_PROCESS_NAME|DATA_DIR)=' "$f" || true
done
判定の目安:
- 現在の Discord / Slack / Web Chat / LINE セッションを動かしている clone を優先
WORKSPACE_PATHがこのワークスペースを指す clone を優先XANGI_PROCESS_NAMEは./bin/xangi service ...の PM2 対象名- Docker運用では host 側の compose / 設定ファイルを対象にし、コンテナ内だけを書き換えない
Step 2: 最新ドキュメントを確認
対象 clone が /path/to/xangi なら:
cd /path/to/xangi
rg -n "service start|service stop|service restart|service status|XANGI_PROCESS_NAME|TIMEOUT_MS|CHANNEL_OVERRIDES|AUTO_REPLY_CHANNELS|SLACK_AUTO_REPLY_CHANNELS|system_settings|system_restart" \
docs/usage.md .env.example src/prompts/xangi-commands-chat-platform.ts
運用ルールの現在形:
- 起動・停止・再起動・状態確認は対象 clone の
./bin/xangi service start|stop|restart|statusを使う - PATHから使う場合は
xangi-dev/xangi-prodのような名前付き symlink を使う xangi-cmd system_restartは起動中プロセスに graceful shutdown を要求する低レベル操作system_settingsは確認用。AI はsystem_settingsで設定変更しない- 設定ファイル変更後は対象 clone で
./bin/xangi service restartする
Step 3: 要望の種類を判定
- 設定確認 → Step 4a
- 設定変更 → Step 4b
Step 4a: 設定確認
cd /path/to/xangi
# service 状態
./bin/xangi service status
# 現在の設定を確認(トークン等は表示しない)
grep -vE '(TOKEN|SECRET|PASSWORD|API_KEY)=' .env | grep -v '^#' | grep -v '^$'
出力例:
xangi 現在の設定
- 対象: /path/to/xangi
- service: online
- AUTO_REPLY_CHANNELS: 123456789,987654321
- AGENT_BACKEND: codex
- TIMEOUT_MS: 1800000
※ トークン類は非表示
Step 4b: 設定変更
- ユーザーの意図から対象変数を決める
- 対象 clone の
docs/usage.md/.env.exampleで現在の名前・デフォルト・注意を確認する - 設定ファイルの現在値を読む
- 設定ファイルを編集する(該当行を更新、なければ追加)
git diff -- .envは secrets を含む可能性があるため、そのまま貼らない。値は必要な範囲だけマスクして報告する- 反映に再起動が必要な場合、対象 clone とコマンドを明示して承認を取る
設定を変更しました
変更内容:
- AUTO_REPLY_CHANNELS: (なし) → 123456789,987654321
反映には再起動が必要です。
対象: /path/to/xangi
実行予定: cd /path/to/xangi && ./bin/xangi service restart
再起動の承認後:
cd /path/to/xangi
./bin/xangi service restart
./bin/xangi service status
よくある変更
チャンネル追加(メンションなしで応答)
「#generalでも反応して」
→ AUTO_REPLY_CHANNELS にチャンネルIDを追加
Slack の場合は SLACK_AUTO_REPLY_CHANNELS を使う。必要な Slack scope は対象 clone の docs/slack-setup.md で確認する。
タイムアウト変更
「タイムアウトを10分に」
→ TIMEOUT_MS=600000 に変更
ストリーミング切り替え
「ストリーミングオフにして」
→ DISCORD_STREAMING=false に変更
思考表示切り替え
「考え中アニメーションにして」
→ DISCORD_SHOW_THINKING=false に変更
バックエンド切り替え設定
チャンネル単位の切り替えは、xangi の slash command が CHANNEL_OVERRIDES に永続化する。手動編集する前に現在のコマンド名を docs/usage.md で確認する。
「ALLOWED_BACKENDSを全部有効にして」
→ ALLOWED_BACKENDS=claude-code,codex,gemini,local-llm に変更 → 再起動
「Local LLMのモデルを変えて」
→ LOCAL_LLM_MODEL=<model> に変更 → 再起動
Docker運用
Docker運用ではコンテナ内の一時設定ではなく、host 側の compose / 設定ファイルを変更する。反映は対象 clone の docker compose で行う。
cd /path/to/xangi
docker compose restart xangi
Gotchas
- xangi clone を取り違えると変更が反映されない。最初に
WORKSPACE_PATHとXANGI_PROCESS_NAMEを見る - トークン・secret は表示しない。確認時は
grep -vE '(TOKEN|SECRET|PASSWORD|API_KEY)='を使う system_settingsで AI が設定変更しない。最新のXANGI_COMMANDSでも確認専用扱い- 稼働中の自分を動かしている xangi を再起動する場合は、会話が一時中断するため、対象とコマンドを明示してから承認を取る
完了前チェックリスト
□ 対象 clone の docs/usage.md / .env.example / src/prompts/xangi-commands-chat-platform.ts を確認した
□ 対象 clone と設定ファイルを取り違えていない
□ secret を表示していない
□ 設定変更後、反映に必要な再起動コマンドを明示した
□ 再起動した場合は ./bin/xangi service status で状態を確認した
使用例
xangiの設定確認して
このチャンネルでも反応するようにして(チャンネルID: 123456789)
タイムアウトを10分に変更して
ストリーミング出力をオフにして
ALLOWED_BACKENDSを設定して