VoiceInput/scripts/create_app_bundle.sh
JOJO 76741877a8 feat: 朗读功能、弹窗优化、Node.js 打包、Prompt 更新
- Assist/Agent 模式新增朗读开关 + NSSpeechSynthesizer 语音合成
- 朗读完成后弹窗延迟5秒带动画关闭(不再写死15/20秒)
- 打字模式下不自动关闭弹窗
- 二次输入时取消旧朗读/旧延迟关闭,避免竞争问题
- Agent 进度计时器第二次输入时正确归零
- DMG 打包自动清空 models.json API Key
- Node.js 运行时打包进 Agent/bin/,用户无需安装
- Agent system prompt 更新为 VoiceInput 身份 + 语音容错说明
- AGENTS.md 全面更新,补全 Agent 模式文档
2026-04-29 18:22:14 +08:00

51 lines
1.6 KiB
Bash
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# create_app_bundle.sh - 将 SPM 构建产物打包为 .app bundle
# Usage: ./scripts/create_app_bundle.sh [debug|release]
set -e
BUILD_MODE="${1:-debug}"
PROJECT_DIR="$(cd "$(dirname "$0")/.." && pwd)"
BUILD_DIR="$PROJECT_DIR/.build"
BUNDLE_DIR="$BUILD_DIR/$BUILD_MODE/VoiceInput.app"
EXEC_SRC="$BUILD_DIR/$BUILD_MODE/VoiceInput"
CONTENTS_DIR="$BUNDLE_DIR/Contents"
MACOS_DIR="$CONTENTS_DIR/MacOS"
RESOURCES_DIR="$CONTENTS_DIR/Resources"
echo "📦 Creating app bundle at $BUNDLE_DIR..."
# 清空并创建目录结构
rm -rf "$BUNDLE_DIR"
mkdir -p "$MACOS_DIR"
mkdir -p "$RESOURCES_DIR"
# 复制可执行文件
cp "$EXEC_SRC" "$MACOS_DIR/VoiceInput"
chmod +x "$MACOS_DIR/VoiceInput"
# 复制 Info.plist 和图标
cp "$PROJECT_DIR/Sources/Resources/Info.plist" "$CONTENTS_DIR/Info.plist"
if [ -f "$PROJECT_DIR/Sources/Resources/AppIcon.icns" ]; then
cp "$PROJECT_DIR/Sources/Resources/AppIcon.icns" "$RESOURCES_DIR/AppIcon.icns"
fi
# 复制 Agent 目录智能体配置、运行时、Node.js
if [ -d "$PROJECT_DIR/Agent" ]; then
mkdir -p "$RESOURCES_DIR/Agent"
cp -R "$PROJECT_DIR/Agent/"* "$RESOURCES_DIR/Agent/"
echo " ✅ Agent directory copied"
if [ -f "$RESOURCES_DIR/Agent/bin/node" ]; then
chmod +x "$RESOURCES_DIR/Agent/bin/node"
echo " ✅ Node.js bundled"
fi
fi
# 更新 Info.plist 引用图标
/usr/libexec/PlistBuddy -c "Add :CFBundleIconFile string AppIcon" "$CONTENTS_DIR/Info.plist" 2>/dev/null || true
# 创建 PkgInfo
echo -n 'APPL????' > "$CONTENTS_DIR/PkgInfo"
echo "✅ App bundle created: $BUNDLE_DIR"