diff --git a/docs/AGENT-INTEGRATION.md b/docs/AGENT-INTEGRATION.md index a0c469d..eb52ec7 100644 --- a/docs/AGENT-INTEGRATION.md +++ b/docs/AGENT-INTEGRATION.md @@ -11,6 +11,30 @@ Build the CLI with `cargo build --release -p searchi-cli --locked`. Create and index files through the normal CLI/desktop workflow first. MCP requires an explicit existing database; it never creates a new empty database after a typo. +Windows source archives can include the compiled CLI using +`python tools/package_windows.py --cli target/release/searchi.exe`. In that +archive, `searchi.exe` opens the desktop and `searchi-cli.exe` runs CLI/MCP +commands. Keep both beside the bundled runtime helpers. The published v0.1.0 +installer does not include the CLI; this packaging option is for a subsequent +archive and does not change that release. + +Packaging evidence, Windows VM 2026-10-13: 16 package tests passed in normal +and optimized Python modes, including CLI checksum inventory and rejection of +a mismatched CLI architecture without replacing the previous archive. The +locked release CLI built successfully. An actual local archive containing the +existing desktop release and this CLI passed size/SHA verification for all 40 +files. Its extracted `searchi-cli.exe mcp --help` executed successfully outside +the build directory. This checks packaging and startup, not a new semantic MCP +session, GPU behavior or a clean-machine install. + +Ignored archive: `.searchi/packages/searchi-windows-agent-preview.zip`, +152,098,987 bytes, SHA-256 +`9721a657458f140dc9271b508c810ca52b7e4b89ccff8f1cd3edb053dbe591a0`. +CLI SHA-256: +`7b40a3959e5bca811f79e0a0da1e0cf77505ede703cf92c8394f79b9a6167ab5`. +The archive is local only; the Gitea attachment size limit previously rejected +even the smaller desktop archive. Published installer contents are unchanged. + For names/content only: ```sh @@ -105,4 +129,4 @@ cargo test -p searchi-cli --test mcp Default tests use genuine SQLite retrieval without downloaded model assets. Hybrid mode uses the same real Google service; it has no simulated embeddings. Native Linux/macOS MCP execution and cross-platform packaging require their own -recorded checks; Windows CPU checks do not establish those releases. \ No newline at end of file +recorded checks; Windows CPU checks do not establish those releases. diff --git a/docs/BUILDING.md b/docs/BUILDING.md index 1aeade2..4b0d94f 100644 --- a/docs/BUILDING.md +++ b/docs/BUILDING.md @@ -210,11 +210,23 @@ python tools/embeddinggemma2/build_runtime.py --backend auto --jobs 2 python tools/embeddinggemma2/stage_runtime.py --backend auto python tools/media-runtime/provision.py --stage Set-Location apps/desktop -npm run tauri -- build --no-bundle +npm run tauri -- build --features custom-protocol --no-bundle Set-Location ../.. python tools/package_windows.py ``` +To include the CLI and read-only MCP server in this source archive: + +```powershell +cargo build --release -p searchi-cli --locked +python tools/package_windows.py --cli target/release/searchi.exe +``` + +The additional binary is named `searchi-cli.exe`; `searchi.exe` remains the +desktop launcher. Its model cache and database must be selected explicitly, +as described in [agent integration](AGENT-INTEGRATION.md). This option does not +add the CLI to the already published v0.1.0 installer. + The generated `.searchi/packages/searchi-windows.zip` contains the desktop, matching-architecture Google worker, FFmpeg/FFprobe and notices. It excludes model caches, local settings and indexes. `PACKAGE.json` records SHA-256 for diff --git a/tools/package_windows.py b/tools/package_windows.py index 4d7eef8..1368cc0 100644 --- a/tools/package_windows.py +++ b/tools/package_windows.py @@ -101,7 +101,7 @@ def pe_machine(path): return struct.unpack_from("