joy-cli/domains/wenpai.sh
feibisi 3874b562c3 feat: joy CLI Python 2.0 — 50 命令全量重写 + pip 全集群部署
- 50 命令:patrol/health/board/recall/poke/who/inbox/mind/message/team 等
- 异步并行 SSH (asyncio subprocess)
- 命令注册表 + @command decorator + 插件扩展架构
- 环境检测 (Mac/VM/agent 身份)
- JSON 输出契约 (stdout=成功, stderr=错误 code)
- 权限模型 (agent 身份检测 + 环境限制)
- pytest 23/23 通过
- deploy-joy.sh 全集群 16 VM 部署脚本 (含 PEP 668 兼容)
- 旧 bash 版归档到 archive/commands.bash/

Closes: joy CLI 2.0 迁移
2026-07-07 11:38:03 +08:00

61 lines
2 KiB
Bash

# wenpai 领域检查 — WordPress 插件 + 发布 + 翻译(高价值业务)
domain_check() {
local result="{"
local issues=()
# 1. 翻译队列
local translate_queue
translate_queue=$(ssh -o ConnectTimeout=3 wenpai "ls ~/wenpai-yijian/overlay/joy/core/ 2>/dev/null | head -5" 2>/dev/null)
if [[ -n "$translate_queue" ]]; then
result+="\"translation\":\"active\""
else
result+="\"translation\":\"unknown\""
fi
# 2. WP 插件
local git_dir=~/Projects
local dirty_repos
dirty_repos=$(find "$git_dir" -name ".git" -maxdepth 3 -type d 2>/dev/null | while read d; do
local repo=$(dirname "$d")
local status
status=$(cd "$repo" && git status --short 2>/dev/null | wc -l | tr -d ' ')
(( status > 0 )) && echo "$(basename "$repo"):${status}"
done | head -10)
if [[ -n "$dirty_repos" ]]; then
local dirty_count
dirty_count=$(echo "$dirty_repos" | wc -l | tr -d ' ')
result+=",\"git_dirty\":${dirty_count}"
(( dirty_count > 3 )) && issues+=("${dirty_count} 个仓库有未提交变更")
else
result+=",\"git_dirty\":0"
fi
# 3. CI/发布
local journal=~/office/wenpai/journal.jsonl
if [[ -f "$journal" ]]; then
local release_issues
release_issues=$(tail -10 "$journal" 2>/dev/null | python3 -c "
import json, sys
for line in sys.stdin:
line = line.strip()
if not line: continue
try:
d = json.loads(line)
se = d.get('self_eval','')
doubts = d.get('doubts','')
if 'release' in se.lower() or '发布' in se or '部署' in se or 'deploy' in se.lower():
print(se[:120])
if doubts and doubts not in ('无','none',''):
print(f'doubt: {doubts[:80]}')
except: pass
" 2>/dev/null | tail -3)
[[ -n "$release_issues" ]] && issues+=("$release_issues")
fi
result+=",\"issues\":$(jq -nc '$ARGS.positional' --args ${issues[@]+"${issues[@]}"})}"
echo "$result" | jq .
}
domain_summary() {
echo "WP 代码/翻译队列监控"
}