一键导入
tuicraft
Use when interacting with a WoW 3.3.5a game world — sending chat messages, reading events, querying players, or managing groups via the tuicraft CLI
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when interacting with a WoW 3.3.5a game world — sending chat messages, reading events, querying players, or managing groups via the tuicraft CLI
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | tuicraft |
| description | Use when interacting with a WoW 3.3.5a game world — sending chat messages, reading events, querying players, or managing groups via the tuicraft CLI |
CLI client for World of Warcraft 3.3.5a. A background daemon maintains the game connection and buffers events. The daemon starts automatically on first use and stays running for 30 minutes of inactivity.
tuicraft status
Returns CONNECTED or an error. Check this before other commands.
tuicraft send "message" # say (nearby players)
tuicraft send -y "message" # yell (wider range)
tuicraft send -p "message" # party chat
tuicraft send -g "message" # guild chat
tuicraft send -w PlayerName "message" # whisper to player
Slash commands work too:
tuicraft send "/raid message" # raid chat
tuicraft send "/e waves hello" # text emote
tuicraft send "/dnd busy right now" # toggle DND status
tuicraft send "/afk grabbing coffee" # toggle AFK status
tuicraft send "/roll" # roll 1-100
tuicraft send "/roll 50" # roll 1-50
tuicraft send "/roll 10 20" # roll 10-20
tuicraft send "/1 message" # channel 1
tuicraft send "/2 message" # channel 2
tuicraft read # buffered events since last read
tuicraft read --wait 5 # wait 5 seconds, then return events
tuicraft tail # continuous stream (blocks)
Add --json for structured output. Each JSON line:
{"type":"PARTY","sender":"PlayerName","message":"hello"}
| Type | Meaning |
|---|---|
| SAY | Nearby /say chat |
| YELL | /yell chat |
| PARTY | Party member message |
| PARTY_LEADER | Party leader message |
| GUILD | Guild chat |
| OFFICER | Officer chat |
| RAID | Raid chat |
| RAID_LEADER | Raid leader message |
| RAID_WARNING | Raid warning |
| WHISPER | Incoming whisper |
| WHISPER_TO | Outgoing whisper confirmation |
| CHANNEL | Custom channel message |
| EMOTE | Player emote |
| SYSTEM | System messages and unimplemented packet notices |
| ENTITY_APPEAR | NPC/player/object appeared nearby (--json only) |
| ENTITY_DISAPPEAR | Entity left range (--json only) |
| ENTITY_UPDATE | Entity field changed (--json only) |
| FRIEND_ONLINE | Friend came online |
| FRIEND_OFFLINE | Friend went offline |
| FRIEND_ADDED | Friend added to list |
| FRIEND_REMOVED | Friend removed from list |
| FRIEND_ERROR | Friend operation error |
| IGNORE_ADDED | Player added to ignore list |
| IGNORE_REMOVED | Player removed from ignore list |
| IGNORE_ERROR | Ignore operation error |
| GUILD_ROSTER_UPDATED | Guild roster data received |
| GUILD_COMMAND_RESULT | Guild command error (permissions, not found) |
| GUILD_INVITE_RECEIVED | Incoming guild invitation prompt |
The channel field appears on CHANNEL events only.
Entity events include guid, objectType, name, and type-specific fields like level, health, maxHealth, x, y, z.
tuicraft who # all online players
tuicraft who "warrior" # filter by name/class/etc
tuicraft send "/join ChannelName" # join a chat channel
tuicraft send "/leave ChannelName" # leave a chat channel
tuicraft send "/invite PlayerName" # invite to group
tuicraft send "/kick PlayerName" # remove from group
tuicraft send "/leave" # leave group
tuicraft send "/leader PlayerName" # transfer leadership
tuicraft send "/accept" # accept pending invite (group or duel)
tuicraft send "/decline" # decline pending invite (group or duel)
Duel events (SMSG_DUEL_REQUESTED, COUNTDOWN, COMPLETE, WINNER,
OUTOFBOUNDS, INBOUNDS) are surfaced in the event stream as [duel]
labeled messages. Use /accept or /decline to respond to incoming
duel requests.
tuicraft send "/friends" # show friends list
tuicraft send "/friend add PlayerName" # add friend
tuicraft send "/friend remove PlayerName" # remove friend
IPC verbs:
echo "FRIENDS" | nc -U $TMPDIR/tuicraft-$(id -u)/sock
echo "FRIENDS_JSON" | nc -U $TMPDIR/tuicraft-$(id -u)/sock
echo "ADD_FRIEND PlayerName" | nc -U $TMPDIR/tuicraft-$(id -u)/sock
echo "DEL_FRIEND PlayerName" | nc -U $TMPDIR/tuicraft-$(id -u)/sock
tuicraft send "/ignore PlayerName" # add to ignore list
tuicraft send "/unignore PlayerName" # remove from ignore list
tuicraft send "/ignorelist" # show ignore list
Messages from ignored players are filtered from chat display and daemon read output.
IPC verbs:
echo "IGNORED" | nc -U $TMPDIR/tuicraft-$(id -u)/sock
echo "IGNORED_JSON" | nc -U $TMPDIR/tuicraft-$(id -u)/sock
echo "ADD_IGNORE PlayerName" | nc -U $TMPDIR/tuicraft-$(id -u)/sock
echo "DEL_IGNORE PlayerName" | nc -U $TMPDIR/tuicraft-$(id -u)/sock
tuicraft send "/groster" # show guild roster
Displays MOTD, guild info, and all members sorted by online status. Shows rank, level, class, zone, and notes for each member.
IPC verbs:
echo "GUILD_ROSTER" | nc -U $TMPDIR/tuicraft-$(id -u)/sock
echo "GUILD_ROSTER_JSON" | nc -U $TMPDIR/tuicraft-$(id -u)/sock
tuicraft send "/ginvite PlayerName" # invite to guild
tuicraft send "/gkick PlayerName" # remove from guild
tuicraft send "/gleave" # leave guild
tuicraft send "/gpromote PlayerName" # promote member
tuicraft send "/gdemote PlayerName" # demote member
tuicraft send "/gleader PlayerName" # transfer leadership
tuicraft send "/gmotd New MOTD" # set message of the day
tuicraft send "/gaccept" # accept guild invite
tuicraft send "/gdecline" # decline guild invite
IPC verbs:
echo "GINVITE PlayerName" | nc -U $TMPDIR/tuicraft-$(id -u)/sock
echo "GKICK PlayerName" | nc -U $TMPDIR/tuicraft-$(id -u)/sock
echo "GLEAVE" | nc -U $TMPDIR/tuicraft-$(id -u)/sock
echo "GPROMOTE PlayerName" | nc -U $TMPDIR/tuicraft-$(id -u)/sock
echo "GDEMOTE PlayerName" | nc -U $TMPDIR/tuicraft-$(id -u)/sock
echo "GLEADER PlayerName" | nc -U $TMPDIR/tuicraft-$(id -u)/sock
echo "GMOTD New MOTD" | nc -U $TMPDIR/tuicraft-$(id -u)/sock
echo "GACCEPT" | nc -U $TMPDIR/tuicraft-$(id -u)/sock
echo "GDECLINE" | nc -U $TMPDIR/tuicraft-$(id -u)/sock
The daemon exposes NEARBY and NEARBY_JSON IPC verbs for querying tracked entities:
echo "NEARBY" | nc -U $TMPDIR/tuicraft-$(id -u)/sock
echo "NEARBY_JSON" | nc -U $TMPDIR/tuicraft-$(id -u)/sock
In the TUI, toggle entity event display with /tuicraft entities on|off.
Complete example: forward party chat to an openclaw agent, filtering out the agent's own character to prevent feedback loops. Each agent turn runs in the background so the pipeline doesn't block.
tuicraft tail --json \
| jq -r --unbuffered '
select((.type == "PARTY" or .type == "PARTY_LEADER")
and .sender != "Xia")
| "\(.sender): \(.message)"' \
| while IFS= read -r line; do
openclaw agent --agent x \
--message "$line" \
</dev/null >/dev/null 2>&1 &
done
Replace Xia with the agent's WoW character name and x with the openclaw
agent id. The agent can respond in-game with tuicraft send -p "message".
To watch different event types, change the jq select filter:
| Filter | Events |
|---|---|
.type == "WHISPER" | Incoming whispers only |
.type == "GUILD" | Guild chat only |
.type != "SYSTEM" | Everything except system noise |
Use when the user asks why a change was made, what the reasoning behind code was, or wants to understand the context of past agent sessions and commits
Use when writing or modifying any TypeScript code. Defines the preferred code style — functional, inference-heavy, optimistic, compact.