Files
syn-chat-bot/manage_services.sh
Hyungi Ahn 852f5cb648 feat: kb_writer 마이크로서비스 + mail_bridge 추가
- kb_writer.py: DEVONthink AppleScript 브릿지 → 마크다운 파일 기반 전환 (포트 8095)
- knowledge-base/ 디렉토리 구조 (note, chat-memory, news)
- Handle Note: kb_writer 파일 저장 + Qdrant 임베딩 추가
- Embed & Save Memory: DEVONthink → kb_writer 교체
- mail_bridge.py: IMAP 날짜 기반 메일 조회 (포트 8094)
- mail-processing-pipeline: IMAP Trigger → Schedule + mail_bridge + dedup
- docker-compose, manage_services, LaunchAgent plist 업데이트

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-18 14:46:57 +09:00

83 lines
2.1 KiB
Bash
Executable File

#!/bin/bash
# manage_services.sh — LaunchAgent 일괄 관리
# 사용법: ./manage_services.sh status | start | stop | restart
SERVICES=(
"com.syn-chat-bot.chat-bridge"
"com.syn-chat-bot.heic-converter"
"com.syn-chat-bot.caldav-bridge"
"com.syn-chat-bot.devonthink-bridge"
"com.syn-chat-bot.kb-writer"
"com.syn-chat-bot.mail-bridge"
"com.syn-chat-bot.inbox-processor"
"com.syn-chat-bot.news-digest"
)
PLIST_DIR="$HOME/Library/LaunchAgents"
SRC_DIR="$(cd "$(dirname "$0")" && pwd)"
case "$1" in
status)
for s in "${SERVICES[@]}"; do
if launchctl list "$s" &>/dev/null; then
pid=$(launchctl list "$s" 2>/dev/null | awk 'NR==2{print $1}')
echo "$s: LOADED (PID: ${pid:-?})"
else
echo "$s: NOT LOADED"
fi
done
;;
start)
for s in "${SERVICES[@]}"; do
plist="$PLIST_DIR/${s}.plist"
src="$SRC_DIR/${s}.plist"
if [ ! -f "$plist" ] && [ -f "$src" ]; then
cp "$src" "$plist"
echo " Copied $s.plist to LaunchAgents"
fi
if [ -f "$plist" ]; then
launchctl load "$plist" 2>/dev/null
echo "$s: started"
else
echo "$s: plist not found"
fi
done
;;
stop)
for s in "${SERVICES[@]}"; do
plist="$PLIST_DIR/${s}.plist"
if [ -f "$plist" ]; then
launchctl unload "$plist" 2>/dev/null
echo "$s: stopped"
fi
done
;;
restart)
"$0" stop
sleep 1
"$0" start
;;
install)
echo "Installing plist files to $PLIST_DIR..."
for s in "${SERVICES[@]}"; do
src="$SRC_DIR/${s}.plist"
if [ -f "$src" ]; then
cp "$src" "$PLIST_DIR/"
echo "$s"
else
echo "$s: source plist not found"
fi
done
echo "Done. Run '$0 start' to start services."
;;
*)
echo "Usage: $0 {status|start|stop|restart|install}"
echo ""
echo " status - Show service status"
echo " start - Load and start all services"
echo " stop - Unload all services"
echo " restart - Stop then start"
echo " install - Copy plist files to ~/Library/LaunchAgents"
;;
esac