一键导入
agilab-installer
Guidance for installing AGILAB, installing apps/pages, and debugging install/test failures.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Guidance for installing AGILAB, installing apps/pages, and debugging install/test failures.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | agilab-installer |
| description | Guidance for installing AGILAB, installing apps/pages, and debugging install/test failures. |
| license | BSD-3-Clause (see repo LICENSE) |
| metadata | {"updated":"2026-06-18T00:00:00.000Z"} |
Use this skill when working on:
install.sh / install.ps1 (root installer)src/agilab/install_apps.sh / src/agilab/install_apps.ps1 (apps/pages installer)src/agilab/apps/install.py (app install entry)install.sh ends with write_tokki_scope(): after app installation it reads
the installed-apps manifest (~/.local/share/agilab/installed_apps.txt) and
writes .tokki/scope at the repo root, one exclude <app-dir>/** line per
*_project directory not selected at install. Tokki drops these from repo maps
(read/query still reach them). The file is machine-specific and gitignored;
re-run the installer's app step (or add an include line — include overrides
exclude) if an app the user actually works on shows up excluded.
uv --preview-features extra-build-dependencies … for Python entrypoints.~/.agilab/.env edits, or ad-hoc pytest loops when install_apps.sh /
install_apps.ps1 is the intended model-free operation.uv --preview-features extra-build-dependencies run python tools/impact_validate.py --files install.sh src/agilab/install_apps.sh src/agilab/apps/install.py
or point it at the actual changed install/deploy files. Use the output to confirm whether install
repros, shared-core approval, or extra artifact refreshes are required.agi_dispatcher install hooks, or generic cluster deployment code, get explicit user approval
and explain the expected cross-app impact first../install.sh --non-interactive --cluster-ssh-credentials user:pass --apps-repository /path/to/apps-repo --install-apps --test-appscache_root="${XDG_CACHE_HOME:-$HOME/.cache}/agilab/source_validate"; root="$cache_root/agilab_source_validate_clean_$(date +%Y%m%d_%H%M%S)"; sandbox_home="$root/sandbox_home"; mkdir -p "$sandbox_home"; HOME="$sandbox_home" git clone https://github.com/ThalesGroup/agilab.git "$sandbox_home/agilab"cd "$sandbox_home/agilab" && git lfs install --local && git lfs pullHOME="$sandbox_home" AGI_LOCAL_SHARE="$PWD/localshare" ./install.sh --non-interactive --agi-cluster-share "$PWD/clustershare" --install-apps builtin --test-root --test-core --test-apps --skip-offline./install.sh --install-apps --test-apps --test-core.\install.ps1 -InstallApps -TestApps -TestCorecd src/agilab && APPS_REPOSITORY=/path/to/apps-repo AGILAB_DEV_APPS_REPOSITORY=1 BUILTIN_APPS=__AGILAB_ALL_APPS__ ./install_apps.shcd src/agilab && APPS_REPOSITORY=/path/to/apps-repo AGILAB_DEV_APPS_REPOSITORY=1 BUILTIN_APPS=__AGILAB_ALL_APPS__ ./install_apps.sh --test-appscd src/agilab && APPS_REPOSITORY=/path/to/apps-repo AGILAB_DEV_APPS_REPOSITORY=1 BUILTIN_APPS=flight_trajectory_project ./install_apps.sh --test-appscd src\agilab; $env:APPS_REPOSITORY="C:\path\to\apps-repo"; $env:AGILAB_DEV_APPS_REPOSITORY="1"; $env:BUILTIN_APPS="__AGILAB_ALL_APPS__"; .\install_apps.ps1 -TestApps./install.sh / .\install.ps1 only when root/core/end-user side effects are required.Install PyPI app flow or the CLI
agilab app search/check/install/list/update/remove for promoted public
agi-app-* packages.uv pip install --python;
discovery is via agilab.apps entry points, not copied source directories.APPS_REPOSITORY for source-checkout app repositories and symlinked local
app development; do not mix it with the PyPI app-package path.--test-apps / -TestApps.--test-core / -TestCore.Full source install validation
HOME under the new validation root. Do not rely on the
developer machine's ~/.agilab/.env, ~/wenv, ~/localshare, or previous
install logs when proving a release candidate.--agi-cluster-share "$PWD/clustershare" and AGI_LOCAL_SHARE="$PWD/localshare"
in the clean clone so cluster/local share values are written before root,
core, app, and demo validation.git lfs pull before install validation whenever built-in apps depend
on LFS-backed archives, especially flight_project dataset seeding.HOME, discard that result
as environment-polluted and rerun from a clean isolated HOME before
publishing or deploying.Windows install surface
install.ps1 or native Windows installer parity.AGILAB_WINDOWS_NET_USE_USER and
AGILAB_WINDOWS_NET_USE_PASSWORD are configured; AGILAB_WINDOWS_NET_USE_DRIVE
can override the default drive letter. Missing credentials are a supported
skip path, not an install failure by themselves.PyPI app package installs
agilab.apps entry points before adding
source-repository aliases.src/agilab/apps to paper over it.Source checkout still resolves end-user install paths
$HOME/agi-space/apps/builtin/<app>/.venv instead of the
active checkout's src/agilab/apps/builtin/<app>/.venv.~/.local/share/agilab/.agilab-path~/.agilab/.env keys such as APPS_PATH, IS_SOURCE_ENV, and share pathsst.session_state["env"] from an earlier runHOME and with a deliberately polluted fake HOME; a fix that
only works on the maintainer machine is not release-ready.$HOME/agi-space. The source run
must realign the active apps root and manager env path before app actions execute.Installer env propagation order
~/.agilab/.env values even
though the current install command passed --agi-cluster-share or AGI_LOCAL_SHARE,
inspect whether the installer writes env values before validation phases run.--test-root, --test-core, app
installs, and app tests. A late write can make validation exercise an old
share directory while the final env file looks correct.Cluster share setup with custom scheduler SSH or pre-mounted storage
agilab doctor --cluster ... --scheduler-ssh-port <port>
consistently for --setup-share sshfs --apply, --share-check-only, and full
cluster validation.--remote-cluster-share-premounted and prove
the sentinel path is visible from every worker. A writable worker directory
without the scheduler sentinel is not a valid cluster share.no-ssh-port,
treat that node as stale and rerun no-cache LAN discovery instead of forcing
validation against it.Dependency resolver drift in generated worker environments
module 'py7zr' has no attribute 'SevenZipFile', compare the resolved
dependency surface against the committed app/core constraints before editing
extraction logic. Pin or constrain the dependency when a new package release
removed the API used by AGILAB.uv --no-project --with ... probe.
Clear the generated ~/wenv/<app>_worker/.venv and refresh the lock when the
worker venv is polluted.Empty list options under set -u
--local-models "" must not
expand an unbound array like ${ordered[*]} under set -u.A previous agent already diagnosed the failure
uv sync --project <app>uv --offline sync --project <app>Assess the diagnostic below and find the better fix. Keep the plain repro as the first discriminator. Identify the real root cause, regression chain, weak points in the current diagnosis, the better fix, why it is better than the obvious fix, and the regression plan.tools/install_contract_check.py“Does not appear to be a Python project”
pyproject.toml/setup.py.uv pip install -e . from the repo root.App install fails with missing worker/manager
.../<app>_project/pyproject.toml.../<app>_project/src/<app>_worker/pyproject.tomlSource app install pollutes the root AGILAB UI venv
pyarrow, streamlit, or
streamlit_code_editor, while the app manager/worker venvs look unrelated.uv pip install without
--python <app>/.venv/bin/python..venv
or ambient PyCharm/Streamlit environment.AGILAB_DISABLE_DEPLOY_STAGE_CACHE=1 uv --preview-features extra-build-dependencies run python src/agilab/apps/install.py <app-project-path> --verbose 1 --force-installstreamlit, code_editor, pyarrowagilab.orchestrate_page_support.app_install_statusPlain uv sync works, AGILAB install still fails in worker phase
tools/impact_validate.py should report this path as an install-contract gate; do not push until
both repro commands below are green.uv sync --project <app>uv run python src/agilab/apps/install.py <app> --verbose 1uv --preview-features extra-build-dependencies run python tools/install_contract_check.py --app-path <app-project-path> --worker-copy ~/wenv/<app>_worker~/wenv/<app>_worker/pyproject.tomlshared-core-installer-issue, treat that as a shared install-plumbing bug first.uv subprocesses inheriting UV_RUN_RECURSION_DEPTH_deploy_local_worker() appending exact dependency pins into the worker copyagi-env, agi-node) being added one by one instead of together as local pathsread_agilab_path() causing a source checkout app to be treated like a generated install artifactagi_cluster.agi_distributor.deployment_build_support before changing app metadata.
Typical import failures here include No module named 'setuptools' from the build backend and
No module named 'psutil' from agi_node runtime imports during agi_node.agi_dispatcher.build.
Source-env build commands must keep the build-tool overlay (--with setuptools --with cython) and
add the local core projects as editable overlays (--with-editable <agi-env> and
--with-editable <agi-node>) so uv run --no-sync does not resolve stale index metadata while
building worker eggs or Cython extensions.
Do not paper over this by adding setuptools, cython, or psutil to every app manifest unless the
app itself imports them at runtime.HOME, then rerun the full failed-app slice or a full isolated installer
validation when multiple built-in apps failed.uv add agi-env / uv add agi-node or worker uv syncWorker manifest has unresolved local uv sources
agi-env -> ../../../core/agi-env or asks to rerun AGI.install because _uv_sources
is stale or incomplete.python - <<'PY' ... (Path('<worker-pyproject>').parent / raw_path).resolve().exists() ... PYpyproject.toml can use ../../../core/agi-env, but
src/<app>_worker/pyproject.toml currently needs ../../../../../core/agi-env
and ../../../../../core/agi-node to resolve from the worker directory.uv --preview-features extra-build-dependencies run pytest -q -o addopts= test/test_pyproject_dependency_hygiene.pytools/pypi_publish.py
so builtin_app_pyprojects() includes both *_project/pyproject.toml and
*_project/src/*_worker/pyproject.toml.Worker build fails because build tools are absent
agi_node.agi_dispatcher.build, bdist_egg, or build_ext
fails in a manager/worker project even though the app runtime dependencies
are otherwise installed. Common messages are No module named 'setuptools'
or No module named 'psutil'.uv run
command:
uv --project <app-or-worker> run --no-sync --with setuptools --with cython ...
Source-checkout builds must also overlay editable core projects:
--with-editable <agi-env> --with-editable <agi-node>.src/agilab/core/test/test_agi_distributor_deployment_build_support.py and
src/agilab/core/test/test_agi_distributor_deployment_remote_support.py.src/agilab/core/test slice if the branch will be pushed.Dataset extraction wipes seeded files
Some apps depend on outputs of others (e.g. LinkSim needs satellite trajectories). Preferred approach:
Maintain repo-managed agent skills across `.claude/skills` and `.codex/skills`, including targeted sync, validation, index regeneration, drift checks, and Tokki skill visibility. Use when adding or updating a shared skill, migrating a user-managed skill into the repo, or reconciling agent skill copies without overwriting unrelated skills.
Review AGILAB changes for security hardening risks. Use when code, docs, or workflows touch installers, Streamlit exposure, cluster/SSH/share behavior, app execution, notebooks, LLM connectors, secrets, PyPI/GitHub/Hugging Face publishing, dependency policy, or external repositories.
Route terse AGILAB operator requests such as "do it", "review AGILAB", "next move", "update repos", "merge it", "check again", "release", and "cluster validation" into the right repo skills, safety mode, validation depth, and output contract using session-derived policy.
Streamlit page authoring patterns for AGILAB (session_state safety, keys, rerun, UX).
Create, edit, inspect, or explain presentation slide decks (`.pptx`) with PptxGenJS, bundled layout helpers, and render/validation utilities. Use when tasks involve building a new PowerPoint deck, recreating slides from screenshots/PDFs/reference decks, modifying content while preserving editable output, extracting or explaining a specific slide, adding charts/diagrams/visuals, or diagnosing layout issues such as overflow, overlaps, and font substitution.
Produce deep AGILAB audit and code-review artifacts with evidence-backed findings, mandatory architecture-foundation readiness, blast-radius tracing, security/test posture, and prioritized recommendations. Use when the user says "review AGILAB", "audit AGILAB", "code review AGILAB", "deep review", "architecture review", "security review", asks for a review document, or asks for comparison-quality critique rather than a quick fix.