diff --git a/skills/mpi-terms-search/SKILL.md b/skills/mpi-terms-search/SKILL.md index 1eddb12..c207d25 100644 --- a/skills/mpi-terms-search/SKILL.md +++ b/skills/mpi-terms-search/SKILL.md @@ -6,14 +6,14 @@ category: research # Terms Search -Database: `$MPI_PROJECT_ROOT/toolkit/terms-database/termlib.duckdb` -CLI: `$MPI_PROJECT_ROOT/toolkit/terms-database/search.py` -Server: `$MPI_PROJECT_ROOT/toolkit/terms-database/server.py` +Database: `toolkit/terms-database/termlib.duckdb` +CLI: `toolkit/terms-database/search.py` +Server: `toolkit/terms-database/server.py` ## CLI (preferred) ``` -$MPI_PROJECT_ROOT/toolkit/terms-database/search.py [limit] +toolkit/terms-database/search.py [limit] ``` Multi-word queries are ANDed. Searches both `zh` and `en` columns. @@ -22,7 +22,7 @@ Multi-word queries are ANDed. Searches both `zh` and `en` columns. ```python import sys -sys.path.insert(0, '$MPI_PROJECT_ROOT/terms-search') +sys.path.insert(0, 'toolkit/terms-database') from search import search results = search("空性", limit=5, src="DoT定稿") # → list of {zh, en, loc, source} dicts @@ -32,7 +32,7 @@ Use this inside `execute_code` scripts for batch lookups — no subprocess neede ## HTTP API (use only when CLI is insufficient) -Start: `python3 $MPI_PROJECT_ROOT/toolkit/terms-database/server.py` (port 8910) +Start: `python3 toolkit/terms-database/server.py` (port 8910) - `GET /` — plain HTML UI (form + results table, no CSS) - `GET /` — plain HTML UI (form + results table, no CSS) @@ -64,14 +64,14 @@ Errors return `{"error": "..."}` with HTTP 500 (API) or shown inline (UI). ## Direct DuckDB ``` -duckdb $MPI_PROJECT_ROOT/toolkit/terms-database/termlib.duckdb +duckdb toolkit/terms-database/termlib.duckdb ``` Key tables: `unified_terms_flat` (zh, en, loc, source), individual source tables, `unified_terms` view. ## Rebuilding -Terms data comes from `$MPI_PROJECT_ROOT/guide/03 术语库/`. To rebuild: +Terms data comes from `guide/03 术语库/`. To rebuild: 1. Convert source xlsx/ods → CSV+YAML in `_output/` 2. Rebuild DuckDB from CSVs 3. Materialize `unified_terms_flat` view → table for performance diff --git a/skills/mpi-terms-search/references/translation-alignment.md b/skills/mpi-terms-search/references/translation-alignment.md index a5180cd..7a6bb9e 100644 --- a/skills/mpi-terms-search/references/translation-alignment.md +++ b/skills/mpi-terms-search/references/translation-alignment.md @@ -10,7 +10,7 @@ After producing a first-pass translation, or when the user asks to check termino 1. Read the full translated file. Extract all Chinese terms from `{% "TERM" (pinyin) = ENGLISH ... %}` blocks. -2. Start the search server: `python3 $MPI_PROJECT_ROOT/toolkit/terms-database/server.py &` (port 8910). It may already be running — check with `curl -s http://localhost:8910/`. +2. Start the search server: `python3 toolkit/terms-database/server.py &` (port 8910). It may already be running — check with `curl -s http://localhost:8910/`. 3. Batch-search each term via the HTTP API: ``` diff --git a/skills/mpi-translation-review/references/terms-db-alignment.md b/skills/mpi-translation-review/references/terms-db-alignment.md index 6f48b4f..fe7ef34 100644 --- a/skills/mpi-translation-review/references/terms-db-alignment.md +++ b/skills/mpi-translation-review/references/terms-db-alignment.md @@ -8,7 +8,7 @@ Import directly in `execute_code` scripts — no subprocess, no server, no text ```python import sys -sys.path.insert(0, '$MPI_PROJECT_ROOT/terms-search') +sys.path.insert(0, 'toolkit/terms-database') from search import search results = search("三级修学", limit=5) @@ -20,7 +20,7 @@ results = search("空性", loc="心经", src="DoT定稿", limit=5) ```python import sys -sys.path.insert(0, '$MPI_PROJECT_ROOT/terms-search') +sys.path.insert(0, 'toolkit/terms-database') from search import search terms = ["三无漏学", "八步三禅", "闻思修", ...] diff --git a/skills/readme.dj b/skills/readme.dj index d8a4680..430b488 100644 --- a/skills/readme.dj +++ b/skills/readme.dj @@ -9,10 +9,10 @@ Add to `~/.hermes/config.yaml`: ```yaml skills: external_dirs: - - $MPI_PROJECT_ROOT/toolkit/skills + - /path/to/mpi/toolkit/skills ``` -{% Edit config.yaml directly — `hermes config set` stores list values as strings. %} +{% Replace `/path/to/mpi` with the absolute path to this repository. Edit config.yaml directly — `hermes config set` stores list values as strings. %} ## Skills diff --git a/terms-database/search.py b/terms-database/search.py index 12e4c0f..6654257 100755 --- a/terms-database/search.py +++ b/terms-database/search.py @@ -1,4 +1,7 @@ -#!/usr/bin/env python3 +#!/usr/bin/env -S uv run --script +# /// script +# dependencies = ["duckdb"] +# /// """Full-text search over MPI term database. Queries unified_terms_flat via DuckDB LIKE. Module usage: