start.sh 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. #!/bin/bash
  2. # 获取脚本所在目录的绝对路径
  3. SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
  4. # 激活虚拟环境
  5. if [ -f "${SCRIPT_DIR}/venv/bin/activate" ]; then
  6. source "${SCRIPT_DIR}/venv/bin/activate"
  7. else
  8. echo "警告: 虚拟环境未找到,将使用系统Python环境"
  9. fi
  10. # 默认配置
  11. RAP2_URL=${RAP2_URL:-"http://rap2.atmob.com"}
  12. RAP2_SID=${RAP2_SID:-""}
  13. RAP2_SID_SIG=${RAP2_SID_SIG:-""}
  14. # 解析命令行参数
  15. while [[ $# -gt 0 ]]; do
  16. case $1 in
  17. --url=*)
  18. RAP2_URL="${1#*=}"
  19. shift
  20. ;;
  21. --sid=*)
  22. RAP2_SID="${1#*=}"
  23. shift
  24. ;;
  25. --sid-sig=*)
  26. RAP2_SID_SIG="${1#*=}"
  27. shift
  28. ;;
  29. --help)
  30. echo "用法: ./start.sh [选项]"
  31. echo "选项:"
  32. echo " --url=URL 设置RAP2服务器地址"
  33. echo " --sid=SID 设置RAP2 koa.sid Cookie值"
  34. echo " --sid-sig=SIG 设置RAP2 koa.sid.sig Cookie值"
  35. echo " --help 显示此帮助信息"
  36. exit 0
  37. ;;
  38. *)
  39. echo "未知选项: $1"
  40. echo "使用 --help 查看帮助"
  41. exit 1
  42. ;;
  43. esac
  44. done
  45. # 构建参数
  46. ARGS=""
  47. if [ -n "$RAP2_URL" ]; then
  48. ARGS="$ARGS --rap2-url=$RAP2_URL"
  49. fi
  50. if [ -n "$RAP2_SID" ]; then
  51. ARGS="$ARGS --rap2-sid=$RAP2_SID"
  52. fi
  53. if [ -n "$RAP2_SID_SIG" ]; then
  54. ARGS="$ARGS --rap2-sid-sig=$RAP2_SID_SIG"
  55. fi
  56. echo "启动RAP2 MCP服务器..."
  57. echo "RAP2服务器: $RAP2_URL"
  58. if [ -n "$RAP2_SID" ] && [ -n "$RAP2_SID_SIG" ]; then
  59. echo "RAP2认证: 已配置"
  60. else
  61. echo "RAP2认证: 未配置"
  62. fi
  63. # 运行服务器,直接传递参数
  64. python "${SCRIPT_DIR}/rap2-mcp/rap2_mcp_server.py" $ARGS