From 4fc8ca944ba256e6d91cf97074c7d7aefdb5a7d2 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 29 Apr 2026 10:08:37 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=B8=85=E7=90=86=5F=5Fpycache=5F=5F?= =?UTF-8?q?=E5=90=8E=E9=87=8D=E5=BB=BA=EF=BC=8C=E5=BD=BB=E5=BA=95=E8=A7=A3?= =?UTF-8?q?=E5=86=B3=E7=BC=96=E8=AF=91=E7=BC=93=E5=AD=98=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build/build_appimage.sh | 141 ---------------------------------------- build/build_linux.sh | 82 ----------------------- build/build_macos.sh | 82 ----------------------- build/build_windows.bat | 86 ------------------------ 4 files changed, 391 deletions(-) delete mode 100755 build/build_appimage.sh delete mode 100755 build/build_linux.sh delete mode 100644 build/build_macos.sh delete mode 100644 build/build_windows.bat diff --git a/build/build_appimage.sh b/build/build_appimage.sh deleted file mode 100755 index 5678e90..0000000 --- a/build/build_appimage.sh +++ /dev/null @@ -1,141 +0,0 @@ -#!/bin/bash -set -e - -echo "===== Building TrulyMEM AppImage =====" - -SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" -PROJECT_ROOT="$(dirname "$SCRIPT_DIR")" -cd "$PROJECT_ROOT" -echo "Project root: $PROJECT_ROOT" - -# ── 检查依赖 ────────────────────────────────────────────────────────────── -if ! command -v python3 &> /dev/null; then - echo "Error: python3 not found"; exit 1 -fi - -APPIMAGE_TOOL="${APPIMAGE_TOOL:-appimagetool}" -if ! command -v "$APPIMAGE_TOOL" &> /dev/null && [ ! -f "$APPIMAGE_TOOL" ]; then - echo "Warning: $APPIMAGE_TOOL not found, will try to create AppDir only" - SKIP_APPIMAGE=1 -fi - -# ── 虚拟环境 ────────────────────────────────────────────────────────────── -VENV_DIR="$PROJECT_ROOT/.venv_build" -echo "Creating virtual environment: $VENV_DIR" -python3 -m venv "$VENV_DIR" -source "$VENV_DIR/bin/activate" -pip install --upgrade pip -pip install -r requirements.txt - -echo "Cleaning previous builds..." -rm -rf build/dist build/__pycache__ 2>/dev/null || true - -# ── 打包 ────────────────────────────────────────────────────────────────── -echo "================================" -echo "Building TrulyMEM (TUI + Web embedded)" -echo "================================" -python -m PyInstaller trulymem_entry.py \ - --clean --onefile --console --name TrulyMEM \ - --add-data "ui/styles:ui/styles" \ - --add-data "core/prompts/templates:core/prompts/templates" \ - --add-data "static:static" \ - --add-data "templates:templates" \ - --add-data "core/web_api.py:core/" \ - --hidden-import textual \ - --hidden-import textual.app \ - --hidden-import textual.widgets \ - --hidden-import textual.css \ - --hidden-import openai \ - --hidden-import openai._client \ - --hidden-import neo4j \ - --hidden-import sqlite3 \ - --hidden-import core \ - --hidden-import core.embedded_db \ - --hidden-import core.graph_client \ - --hidden-import core.tool_executor \ - --hidden-import core.tool_limiter \ - --hidden-import core.tools \ - --hidden-import core.tools.memory_tools \ - --hidden-import core.prompts \ - --hidden-import core.prompts.prompt_manager \ - --hidden-import core.server \ - --hidden-import core.client \ - --hidden-import core.migrate \ - --hidden-import core.activity_recorder \ - --hidden-import ui \ - --hidden-import ui.app \ - --hidden-import ui.login_screen \ - --hidden-import ui.models \ - --hidden-import ui.models.message \ - --hidden-import ui.models.config \ - --hidden-import ui.models.log_entry \ - --hidden-import ui.widgets \ - --hidden-import ui.handlers \ - --hidden-import ui.services \ - --hidden-import ui.services.config_manager \ - --hidden-import ui.services.config_service \ - --hidden-import core.web_api \ - --hidden-import flask \ - --hidden-import flask_cors \ - --hidden-import werkzeug \ - --collect-all textual \ - --noconfirm - -# ── 创建 AppDir ─────────────────────────────────────────────────────────── -APP_NAME="TrulyMEM" -APP_DIR="$PROJECT_ROOT/build/${APP_NAME}.AppDir" -mkdir -p "$APP_DIR/usr/bin" -cp "dist/TrulyMEM" "$APP_DIR/usr/bin/TrulyMEM" - -# Desktop 文件 -cat > "$APP_DIR/${APP_NAME}.desktop" << EOF -[Desktop Entry] -Name=TrulyMEM -Comment=TrueHumanMEM - AI Memory System -Exec=TrulyMEM -Icon=${APP_NAME} -Terminal=true -Type=Application -Categories=Utility;AI; -EOF - -# 图标 -mkdir -p "$APP_DIR/usr/share/icons/hicolor/256x256/apps" -# 如果有图标文件就复制,否则创建占位 -if [ -f "pic/image.png" ]; then - cp "pic/image.png" "$APP_DIR/usr/share/icons/hicolor/256x256/apps/${APP_NAME}.png" - cp "pic/image.png" "$APP_DIR/${APP_NAME}.png" -else - # 创建最小占位图标(1x1 透明 PNG) - echo -n "" > "$APP_DIR/${APP_NAME}.png" -fi - -# AppRun -cat > "$APP_DIR/AppRun" << 'APPRUN' -#!/bin/bash -HERE="$(dirname "$(readlink -f "${0}")")" -export PATH="${HERE}/usr/bin:${PATH}" -exec "${HERE}/usr/bin/TrulyMEM" "$@" -APPRUN -chmod +x "$APP_DIR/AppRun" - -# ── 构建 AppImage ──────────────────────────────────────────────────────── -if [ "$SKIP_APPIMAGE" != "1" ]; then - echo "================================" - echo "Building AppImage" - echo "================================" - # 支持 ARCH 环境变量 - ARCH="${ARCH:-$(uname -m)}" "$APPIMAGE_TOOL" "$APP_DIR" "dist/TrulyMEM-${ARCH}.AppImage" - echo "AppImage: dist/TrulyMEM-${ARCH}.AppImage" -else - echo "(Skipped AppImage packaging, AppDir ready at $APP_DIR)" -fi - -echo "================================" -echo "===== Build Complete =====" -echo "Binary: dist/TrulyMEM" -ls -la dist/ - -deactivate -rm -rf "$VENV_DIR" -echo "Build finished successfully!" diff --git a/build/build_linux.sh b/build/build_linux.sh deleted file mode 100755 index 27aa0e6..0000000 --- a/build/build_linux.sh +++ /dev/null @@ -1,82 +0,0 @@ -#!/bin/bash -set -e - -echo "===== Building TrulyMEM for Linux =====" - -SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" -PROJECT_ROOT="$(dirname "$SCRIPT_DIR")" -cd "$PROJECT_ROOT" -echo "Project root: $PROJECT_ROOT" - -if ! command -v python3 &> /dev/null; then - echo "Error: python3 not found"; exit 1 -fi - -VENV_DIR="$PROJECT_ROOT/.venv_build" -echo "Creating virtual environment: $VENV_DIR" -python3 -m venv "$VENV_DIR" -source "$VENV_DIR/bin/activate" -pip install --upgrade pip -pip install -r requirements.txt - -echo "Cleaning previous builds..." -rm -rf build/dist build/__pycache__ 2>/dev/null || true - -echo "================================" -echo "Building TrulyMEM (TUI + Web embedded)" -echo "================================" -python -m PyInstaller trulymem_entry.py \ - --clean --onefile --console --name TrulyMEM \ - --add-data "ui/styles:ui/styles" \ - --add-data "core/prompts/templates:core/prompts/templates" \ - --add-data "static:static" \ - --add-data "templates:templates" \ - --add-data "core/web_api.py:core/" \ - --hidden-import textual \ - --hidden-import textual.app \ - --hidden-import textual.widgets \ - --hidden-import textual.css \ - --hidden-import openai \ - --hidden-import openai._client \ - --hidden-import neo4j \ - --hidden-import sqlite3 \ - --hidden-import core \ - --hidden-import core.embedded_db \ - --hidden-import core.graph_client \ - --hidden-import core.tool_executor \ - --hidden-import core.tool_limiter \ - --hidden-import core.tools \ - --hidden-import core.tools.memory_tools \ - --hidden-import core.prompts \ - --hidden-import core.prompts.prompt_manager \ - --hidden-import core.server \ - --hidden-import core.client \ - --hidden-import core.migrate \ - --hidden-import core.activity_recorder \ - --hidden-import ui \ - --hidden-import ui.app \ - --hidden-import ui.login_screen \ - --hidden-import ui.models \ - --hidden-import ui.models.message \ - --hidden-import ui.models.config \ - --hidden-import ui.models.log_entry \ - --hidden-import ui.widgets \ - --hidden-import ui.handlers \ - --hidden-import ui.services \ - --hidden-import ui.services.config_manager \ - --hidden-import ui.services.config_service \ - --hidden-import core.web_api \ - --hidden-import flask \ - --hidden-import flask_cors \ - --hidden-import werkzeug \ - --collect-all textual \ - --noconfirm - -echo "================================" -echo "===== Build Complete =====" -echo "Binary: dist/TrulyMEM" -ls -la dist/ - -deactivate -rm -rf "$VENV_DIR" -echo "Build finished successfully!" diff --git a/build/build_macos.sh b/build/build_macos.sh deleted file mode 100644 index 6be4722..0000000 --- a/build/build_macos.sh +++ /dev/null @@ -1,82 +0,0 @@ -#!/bin/bash -set -e - -echo "===== Building TrulyMEM for macOS =====" - -SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" -PROJECT_ROOT="$(dirname "$SCRIPT_DIR")" -cd "$PROJECT_ROOT" -echo "Project root: $PROJECT_ROOT" - -if ! command -v python3 &> /dev/null; then - echo "Error: python3 not found"; exit 1 -fi - -VENV_DIR="$PROJECT_ROOT/.venv_build" -echo "Creating virtual environment: $VENV_DIR" -python3 -m venv "$VENV_DIR" -source "$VENV_DIR/bin/activate" -pip install --upgrade pip -pip install -r requirements.txt - -echo "Cleaning previous builds..." -rm -rf build/dist build/__pycache__ 2>/dev/null || true - -echo "================================" -echo "Building TrulyMEM (TUI + Web embedded)" -echo "================================" -python -m PyInstaller trulymem_entry.py \ - --clean --onefile --console --name TrulyMEM \ - --add-data "ui/styles:ui/styles" \ - --add-data "core/prompts/templates:core/prompts/templates" \ - --add-data "static:static" \ - --add-data "templates:templates" \ - --add-data "core/web_api.py:core/" \ - --hidden-import textual \ - --hidden-import textual.app \ - --hidden-import textual.widgets \ - --hidden-import textual.css \ - --hidden-import openai \ - --hidden-import openai._client \ - --hidden-import neo4j \ - --hidden-import sqlite3 \ - --hidden-import core \ - --hidden-import core.embedded_db \ - --hidden-import core.graph_client \ - --hidden-import core.tool_executor \ - --hidden-import core.tool_limiter \ - --hidden-import core.tools \ - --hidden-import core.tools.memory_tools \ - --hidden-import core.prompts \ - --hidden-import core.prompts.prompt_manager \ - --hidden-import core.server \ - --hidden-import core.client \ - --hidden-import core.migrate \ - --hidden-import core.activity_recorder \ - --hidden-import ui \ - --hidden-import ui.app \ - --hidden-import ui.login_screen \ - --hidden-import ui.models \ - --hidden-import ui.models.message \ - --hidden-import ui.models.config \ - --hidden-import ui.models.log_entry \ - --hidden-import ui.widgets \ - --hidden-import ui.handlers \ - --hidden-import ui.services \ - --hidden-import ui.services.config_manager \ - --hidden-import ui.services.config_service \ - --hidden-import core.web_api \ - --hidden-import flask \ - --hidden-import flask_cors \ - --hidden-import werkzeug \ - --collect-all textual \ - --noconfirm - -echo "================================" -echo "===== Build Complete =====" -echo "Binary: dist/TrulyMEM" -ls -la dist/ - -deactivate -rm -rf "$VENV_DIR" -echo "Build finished successfully!" diff --git a/build/build_windows.bat b/build/build_windows.bat deleted file mode 100644 index 1efa5fd..0000000 --- a/build/build_windows.bat +++ /dev/null @@ -1,86 +0,0 @@ -@echo off -setlocal enabledelayedexpansion - -echo ===== Building TrulyMEM for Windows ===== - -set SCRIPT_DIR=%~dp0 -set PROJECT_ROOT=%SCRIPT_DIR%.. -cd /d "%PROJECT_ROOT%" -echo Project root: %CD% - -where python >nul 2>nul -if %ERRORLEVEL% neq 0 ( - echo Error: python not found - exit /b 1 -) - -set VENV_DIR=%PROJECT_ROOT%\.venv_build -echo Creating virtual environment: %VENV_DIR% -python -m venv "%VENV_DIR%" -call "%VENV_DIR%\Scripts\activate.bat" -pip install --upgrade pip -pip install -r requirements.txt - -echo Cleaning previous builds... -if exist build\dist rmdir /s /q build\dist -if exist build\__pycache__ rmdir /s /q build\__pycache__ - -echo ================================ -echo Building TrulyMEM ^(TUI + Web embedded^) -echo ================================ -python -m PyInstaller trulymem_entry.py ^ - --clean --onefile --console --name TrulyMEM ^ - --add-data "ui/styles;ui/styles" ^ - --add-data "core/prompts/templates;core/prompts/templates" ^ - --add-data "static;static" ^ - --add-data "templates;templates" ^ - --add-data "web_api.py;." ^ - --hidden-import textual ^ - --hidden-import textual.app ^ - --hidden-import textual.widgets ^ - --hidden-import textual.css ^ - --hidden-import openai ^ - --hidden-import openai._client ^ - --hidden-import neo4j ^ - --hidden-import sqlite3 ^ - --hidden-import core ^ - --hidden-import core.embedded_db ^ - --hidden-import core.graph_client ^ - --hidden-import core.tool_executor ^ - --hidden-import core.tool_limiter ^ - --hidden-import core.tools ^ - --hidden-import core.tools.memory_tools ^ - --hidden-import core.prompts ^ - --hidden-import core.prompts.prompt_manager ^ - --hidden-import core.server ^ - --hidden-import core.client ^ - --hidden-import core.migrate ^ - --hidden-import core.activity_recorder ^ - --hidden-import ui ^ - --hidden-import ui.app ^ - --hidden-import ui.login_screen ^ - --hidden-import ui.models ^ - --hidden-import ui.models.message ^ - --hidden-import ui.models.config ^ - --hidden-import ui.models.log_entry ^ - --hidden-import ui.widgets ^ - --hidden-import ui.handlers ^ - --hidden-import ui.services ^ - --hidden-import ui.services.config_manager ^ - --hidden-import ui.services.config_service ^ - --hidden-import web_api ^ - --hidden-import flask ^ - --hidden-import flask_cors ^ - --hidden-import werkzeug ^ - --collect-all textual ^ - --noconfirm - -echo ================================ -echo ===== Build Complete ===== -echo Binary: dist\TrulyMEM.exe -dir dist\ - -call deactivate -if exist "%VENV_DIR%" rmdir /s /q "%VENV_DIR%" -echo Build finished successfully! -endlocal