Initial commit: yu-zhi-ran platform with automation integration

This commit is contained in:
lt
2026-04-19 14:05:09 +08:00
commit 3cb2df51c8
209 changed files with 80379 additions and 0 deletions
+139
View File
@@ -0,0 +1,139 @@
#!/bin/bash
# 微信公众号编辑器填充 - xdotool纯操作版(最稳定)
# 前置:VNC中已打开编辑器,窗口标题包含"公众号"
set -e
PROJECT_ROOT="/root/.openclaw/workspaces/yzr-yxl/projects/yu-zhi-ran"
MARKDOWN_FILE="$PROJECT_ROOT/content/drafts/001-wechat.md"
COVER_IMG="$PROJECT_ROOT/content/publishing/images/05-封面图.png"
# 检查文件
[ -f "$MARKDOWN_FILE" ] || { echo "错误: $MARKDOWN_FILE 不存在"; exit 1; }
[ -f "$COVER_IMG" ] || { echo "警告: 封面图不存在 $COVER_IMG"; }
# 获取文章内容
ARTICLE_TITLE=$(head -1 "$MARKDOWN_FILE" | sed 's/^# //')
ARTICLE_BODY=$(sed '1d;$d' "$MARKDOWN_FILE")
echo "=========================================="
echo "微信公众号编辑器填充(xdotool版)"
echo "=========================================="
echo "标题: $ARTICLE_TITLE"
echo "正文长度: $(echo "$ARTICLE_BODY" | wc -l)"
echo "封面: $COVER_IMG"
echo ""
echo "⚠️ 确保:"
echo " 1. VNC桌面已打开(http://10.2.0.14:6080/vnc.html"
echo " 2. 编辑器窗口已激活(点击一下编辑器区域)"
echo " 3. 编辑器是当前活动窗口"
echo ""
echo "3秒后开始..."
sleep 3
export DISPLAY=:0
# 查找编辑器窗口
echo "查找编辑器窗口..."
WIN_ID=$(xdotool search --name "公众号" | head -1)
if [ -z "$WIN_ID" ]; then
echo "❌ 未找到标题包含'公众号'的窗口"
echo "请确保编辑器窗口已打开并激活"
exit 1
fi
echo "✓ 找到窗口 ID: $WIN_ID"
# 激活窗口
xdotool windowactivate "$WIN_ID"
sleep 1
# 确保在编辑器内(点一下)
xdotool click 1
sleep 0.5
# Ctrl+A 全选并删除(清空可能存在的默认文本)
xdotool key ctrl+a
sleep 0.3
xdotool key Delete
sleep 0.5
# 输入标题
echo "输入标题..."
echo -n "$ARTICLE_TITLE" | xclip -selection clipboard
xdotool key ctrl+v
sleep 1
# 按 Tab 键移动到正文区域
echo "切换到正文..."
xdotool key Tab
sleep 0.5
# 可能还需要再按一次 Tab(取决于编辑器结构)
xdotool key Tab
sleep 0.5
# 全选正文区并清空
xdotool key ctrl+a
sleep 0.3
xdotool key Delete
sleep 0.5
# 粘贴正文(分段粘贴避免缓冲区溢出)
echo "粘贴正文(分段)..."
echo "$ARTICLE_BODY" | fold -s -w 100 | while IFS= read -r line; do
[ -z "$line" ] && continue
echo -n "$line" | xclip -selection clipboard
xdotool key ctrl+v
xdotool key Return
sleep 0.1
done
sleep 1
# 上传封面图
echo "上传封面图(手动确认)..."
echo "请手动:"
echo " 1. 点击编辑器工具栏的图片按钮(🖼️)"
echo " 2. 选择 '上传图片' 或 '本地上传'"
echo " 3. 文件路径: $COVER_IMG"
echo ""
echo "脚本暂停30秒,请完成上传..."
sleep 30
# 截图(已安装 scrot 或 import?)
SCREENSHOT_DIR="$PROJECT_ROOT/content/published/$(date +%Y-%m-%d)-wechat-draft"
mkdir -p "$SCREENSHOT_DIR"
if command -v scrot &>/dev/null; then
scrot "$SCREENSHOT_DIR/screenshot.png" 2>/dev/null && echo "截图: $SCREENSHOT_DIR/screenshot.png"
elif command -v import &>/dev/null; then
import -window "$WIN_ID" "$SCREENSHOT_DIR/screenshot.png" 2>/dev/null && echo "截图: $SCREENSHOT_DIR/screenshot.png"
else
echo "⚠️ 未找到截图工具,请手动截图保存到 $SCREENSHOT_DIR/"
fi
# 创建元数据
cat > "$SCREENSHOT_DIR/metadata.json" <<EOF
{
"title": "$ARTICLE_TITLE",
"markdown_file": "$MARKDOWN_FILE",
"cover_image": "$COVER_IMG",
"created_at": "$(date -Iseconds)",
"status": "draft",
"auto_filled": true,
"notes": "标题和正文已通过xdotool自动填充,封面图已手动上传到正文开头。请手动:1. 点击编辑器右侧'从正文选择'设置封面 2. 填写摘要和标签 3. 保存草稿"
}
EOF
echo "元数据: $SCREENSHOT_DIR/metadata.json"
echo ""
echo "=========================================="
echo "✅ 自动填充完成!"
echo "=========================================="
echo "剩余步骤(手动):"
echo " 1. 编辑器右侧 → 点击'从正文选择' → 选第一张图"
echo " 2. 填写摘要(150字内)"
echo " 3. 添加标签:阳台种菜,城市农业,种植,园艺"
echo " 4. 声明原创(如需)"
echo " 5. 保存草稿或发表"
echo ""
echo "编辑器窗口 ID: $WIN_ID"
echo "=========================================="