Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: Security advisory
url: https://github.com/TencentCloud/Octop/security/policy
url: https://github.com/XYAIStudio/FreeOS/security/policy
about: Report security vulnerabilities privately (do not open a public issue)
- name: Documentation
url: https://github.com/TencentCloud/Octop/tree/main/docs
url: https://github.com/XYAIStudio/FreeOS/tree/main/docs
about: Read architecture, API, CLI, and configuration guides
37 changes: 27 additions & 10 deletions .github/workflows/docker-publish.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
name: Docker Publish

# 仅在版本标签(v*)上构建并同步发布镜像到 Docker Hub 与 GHCR。
# 文档与对外引用统一使用:ghcr.io/tencentcloud/octop
# (Hub 仍用 DOCKERHUB_* secrets 同步推送。)
# 仅在版本标签(v*)上构建并同步发布镜像。
# 对外规范名:ghcr.io/xyaistudio/freeos
# Docker Hub 为可选镜像(需 DOCKERHUB_USERNAME / DOCKERHUB_TOKEN);
# 未配置 Hub secrets 时只推 GHCR,不让发版门禁因此变红。
#
# 触发路径:
# 1. 人工推送 v* tag → on.push.tags
Expand All @@ -14,8 +15,8 @@ name: Docker Publish
# FnOS FPK 由 Release 成功后自动 dispatch,并等待本工作流推送的 :{version} 就绪。
#
# 拉取示例:
# docker pull ghcr.io/tencentcloud/octop:latest
# docker pull ghcr.io/tencentcloud/octop:0.0.1
# docker pull ghcr.io/xyaistudio/freeos:latest
# docker pull ghcr.io/xyaistudio/freeos:0.0.3
on:
push:
tags:
Expand Down Expand Up @@ -58,6 +59,7 @@ jobs:
uses: docker/setup-buildx-action@v3

- name: Log in to Docker Hub
if: ${{ secrets.DOCKERHUB_USERNAME != '' && secrets.DOCKERHUB_TOKEN != '' }}
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
Expand All @@ -72,17 +74,32 @@ jobs:

- name: Image names
id: image
env:
HUB_USER: ${{ secrets.DOCKERHUB_USERNAME }}
run: |
echo "ghcr=ghcr.io/$(echo '${{ github.repository }}' | tr '[:upper:]' '[:lower:]')" >> "$GITHUB_OUTPUT"
echo "hub=${{ secrets.DOCKERHUB_USERNAME }}/octop" >> "$GITHUB_OUTPUT"
set -euo pipefail
ghcr="ghcr.io/$(echo '${{ github.repository }}' | tr '[:upper:]' '[:lower:]')"
echo "ghcr=${ghcr}" >> "$GITHUB_OUTPUT"
images="${ghcr}"
if [ -n "${HUB_USER}" ]; then
hub="${HUB_USER}/freeos"
echo "hub=${hub}" >> "$GITHUB_OUTPUT"
images="${images}"$'\n'"${hub}"
else
echo "hub=" >> "$GITHUB_OUTPUT"
echo "::notice::DOCKERHUB_USERNAME unset; publishing GHCR only (${ghcr})"
fi
{
echo "images<<EOF"
printf '%s\n' "${images}"
echo "EOF"
} >> "$GITHUB_OUTPUT"

- name: Docker metadata
id: meta
uses: docker/metadata-action@v5
with:
images: |
${{ steps.image.outputs.hub }}
${{ steps.image.outputs.ghcr }}
images: ${{ steps.image.outputs.images }}
# 显式 raw tag:兼容 push.tags 与 Auto Tag 的 workflow_dispatch
tags: |
type=raw,value=${{ steps.ver.outputs.version }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/fnos-build-fpk.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ name: Build Octop FPK
#
# 制品复用:
# - Docker 镜像:不再重建,等待 docker-publish 推送的
# ghcr.io/tencentcloud/octop:{version|latest}
# ghcr.io/xyaistudio/freeos:{version|latest}
# - Native wheel:优先从同版本 GitHub Release(v*)下载;
# 缺失时再回退到本仓源码构建
# - 产物挂到同一个 v* GitHub Release(与 wheel / 桌面包并列),不再单独打 fnos-* tag
Expand Down
11 changes: 7 additions & 4 deletions .github/workflows/octop-desktop.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
name: FreeOS Desktop Package

# Filename kept as octop-desktop.yml so auto-tag / existing dispatch keep working.
# Publishes FreeOS-desktop-* / FreeOS-portable-* (Windows NSIS .exe is the
# product installer: Octop shell + bundled openXYOS).
# Publishes FreeOS-desktop-* / FreeOS-portable-*. Default packaging is zero-Node;
# this workflow explicitly sets SHIP_OPENXYOS_RUNTIME=1 for the transitional
# managed-Node + iframe desktop bridge (not the destination architecture).
#
# 正式发版:Auto Tag 在打 v* 后与 Release / Docker Publish 一并 dispatch。
# 产物 upsert 到同一 GitHub Release。手工补包:workflow_dispatch + release_tag
Expand Down Expand Up @@ -187,9 +188,10 @@ jobs:
- name: Assemble green zip
env:
GREEN_HOST_PLAT: ${{ matrix.plat }}
# v0.0.3 ships the managed Organization runtime with the desktop
# package so the integrated Organization entry works offline.
# Transitional desktop flavor (0.0.3 iframe bridge). Default packaging
# is zero-Node; do not treat this flag as the permanent product.
SKIP_ORG_SIDECAR: "0"
SHIP_OPENXYOS_RUNTIME: "1"
run: |
set -euo pipefail
echo "GREEN_HOST_PLAT=${GREEN_HOST_PLAT} RUNNER_ARCH=${RUNNER_ARCH:-} uname=$(uname -ms)"
Expand Down Expand Up @@ -263,6 +265,7 @@ jobs:
- name: Package desktop app with bundled portable runtime
working-directory: desktop/src
env:
# Transitional desktop bridge only. Source / Docker stay zero-Node.
SHIP_OPENXYOS_RUNTIME: "1"
run: >-
wails3 task package
Expand Down
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,16 @@
### 变更

- P1.4:本机模型与本机知识库作为默认路径。设置向导默认先选 Ollama(本机 OpenAI 兼容地址不必填云密钥);模型页默认打开「本地」标签;知识库空状态先引导本机文件夹,向量默认本机 ONNX。云厂商与 ima 仍是可选项。说明见 `docs/user-guide.md`、`docs/configuration.md`。
- 默认绿色包 / NSIS `SHIP_OPENXYOS_RUNTIME` 回到 `0`(与 Phase 5 测试一致)。桌面 CI **显式** `SHIP_OPENXYOS_RUNTIME=1`,现有 Windows 用户仍可走 iframe 桥。
- 缺少托管 Node 时 `ManagedOrganizationRuntime.start()` 只记警告并跳过,不再让 `uv run` / 测试因 `FREEOS_ORG_INTEGRATED=1` 整进程失败。

### 修复

- `freeos backup` 纳入宿主组织树:`{FREEOS_HOME}/org/*.sqlite`、`org-os/`、`org-skills/`、`tenants/`、`asset-packs/`、`openxyos-mirror/`、`governance/`。旧归档无 `includes_org` 时恢复不覆盖这些目录。

### 文档

- P2:Node 过渡说明与 FreeOS 发版卫生。[docs/node-runtime.md](docs/node-runtime.md) / [docs/node-runtime.zh-CN.md](docs/node-runtime.zh-CN.md) 写明 `uv run` / Docker **默认零 Node**;桌面 `SHIP_OPENXYOS_RUNTIME=1` 仅为过渡桥,不是永久产品。`SECURITY.md`、Issue 模板、Docker Publish / FnOS compose 不再指向 TencentCloud/Octop 安全公告或 `ghcr.io/tencentcloud/octop`;规范镜像为 `ghcr.io/xyaistudio/freeos`。Docker Hub 登录改为可选,避免未配置 secrets 时发版门禁变红。
- 冻结 FreeOS 产品契约(P0.1):[docs/product-contract.md](docs/product-contract.md) / [docs/product-contract.zh-CN.md](docs/product-contract.zh-CN.md)。核心愿景采用「创立初心」定稿(中文原文;英文 README 为忠实对应;使用方式段为工作室比喻:本机安顿起步,组织像另一间可独立布置的房间)。产品口号:**FreeOS:自由的 AI 工作室,想象空间由你来打开** / *Your FreeOS, free for you.* 托管 Node / 内嵌组织页仅为过渡桥,终态是把 openXYOS 迁入宿主并导出可商业化源码。取代先前「组织身份为唯一权威」与「永久 / 默认捆绑 Node 运行时」表述。冲突文档改为 Historical vs Current,不删工程历史。
- 官网 `website/` 文案对齐产品契约:中文口号作 Hero / 标题,英文 *Your FreeOS, free for you.* 作 EN 标题与 meta;工作室比喻贯穿介绍与 FAQ;下载入口只指向 GitHub Releases 列表(不写死版本号、不直链安装包);不再承诺永久零 Node,托管运行时写成迁向宿主原生界面的过渡。

Expand Down
6 changes: 3 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,15 +86,15 @@ Branch from `main` → PR into `main` (tag if shipping a patch) → PR into `dev

# 贡献指南

感谢你对 Octop 的关注!Octop 是 [Octop Harness](https://github.com/TencentCloud) 生态中的可自托管 AI 助手平台,支持多用户与多 Agent。
感谢你对 **FreeOS**([XYAIStudio/FreeOS](https://github.com/XYAIStudio/FreeOS))的关注。本仓库是 Octop + openXYOS 的独立下游;产品意图见 [docs/product-contract.md](docs/product-contract.md)。质量门禁仍是 Octop 宿主的 `make all`。

## 环境搭建

**前置条件:** Python 3.12+、Node.js 18+、[uv](https://docs.astral.sh/uv/)

```bash
git clone https://github.com/TencentCloud/Octop.git octop
cd octop
git clone https://github.com/XYAIStudio/FreeOS.git
cd FreeOS
make install
make install-hooks # 每个 clone 执行一次:提交前跑 make all + 前端 build
make all # format-all + 后端 lint / typecheck / test
Expand Down
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -212,6 +212,8 @@ Optional Node sidecar (export/sync/advanced deploy only):
FREEOS_ORG_SIDECAR=1 bash scripts/run-org-sidecar.sh
```

Flag table and Node cut plan: [docs/node-runtime.md](docs/node-runtime.md).

Default origin if opted in: `http://127.0.0.1:3780`. Organization and
`freeos org loop run` do **not** wait for `/api/health/livez`.

Expand Down
10 changes: 5 additions & 5 deletions README_CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,14 @@

<p align="center">
<a href="https://www.python.org/downloads/"><img alt="Python 3.12+" src="https://img.shields.io/badge/python-3.12%2B-blue?logo=python&logoColor=white" /></a>
<a href="https://github.com/TencentCloud/Octop/blob/main/LICENSE"><img alt="License: MIT" src="https://img.shields.io/badge/license-MIT-green" /></a>
<a href="LICENSE"><img alt="License: MIT" src="https://img.shields.io/badge/license-MIT-green" /></a>
<a href="https://github.com/XYAIStudio/FreeOS/releases"><img alt="Version" src="https://img.shields.io/badge/version-0.0.3-orange" /></a>
<a href="https://github.com/TencentCloud/Octop"><img alt="上游:Octop" src="https://img.shields.io/badge/上游-Octop-1677ff.svg?style=flat" /></a>
<a href="https://github.com/XYAIStudio/openXYOS"><img alt="组织模块:openXYOS" src="https://img.shields.io/badge/组织模块-openXYOS-0f766e.svg?style=flat" /></a>
<a href="https://pypi.org/project/octop/"><img src="https://img.shields.io/pypi/v/octop" alt="PyPI" /></a>
<a href="https://github.com/astral-sh/ruff"><img alt="Code Style: Ruff" src="https://img.shields.io/badge/code%20style-ruff-000000?logo=ruff&logoColor=white" /></a>
<a href="https://github.com/TencentCloud/Octop"><img alt="GitHub stars" src="https://img.shields.io/github/stars/TencentCloud/Octop?style=social" /></a>
<a href="https://github.com/TencentCloud/Octop/fork"><img alt="GitHub forks" src="https://img.shields.io/github/forks/TencentCloud/Octop?style=social" /></a>
<a href="https://github.com/XYAIStudio/FreeOS"><img alt="GitHub stars" src="https://img.shields.io/github/stars/XYAIStudio/FreeOS?style=social" /></a>
<a href="https://github.com/XYAIStudio/FreeOS/fork"><img alt="GitHub forks" src="https://img.shields.io/github/forks/XYAIStudio/FreeOS?style=social" /></a>
<a href="https://discord.gg/jPas5J8Ua"><img alt="Discord" src="https://img.shields.io/badge/Discord-%E5%8A%A0%E5%85%A5-5865F2?logo=discord&logoColor=white" /></a>
</p>

Expand Down Expand Up @@ -569,6 +569,6 @@ cd dashboard && npx tsc --noEmit

感谢所有贡献者:

<a href="https://github.com/tencentcloud/octop/graphs/contributors">
<img src="https://contrib.rocks/image?repo=tencentcloud/octop" />
<a href="https://github.com/XYAIStudio/FreeOS/graphs/contributors">
<img src="https://contrib.rocks/image?repo=XYAIStudio/FreeOS" />
</a>
10 changes: 6 additions & 4 deletions SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,18 +11,20 @@

**Please do not open a public GitHub issue for security vulnerabilities.**

- **GitHub Security Advisory:** [Create advisory](https://github.com/TencentCloud/Octop/security/advisories/new)
- **GitHub Security Advisory:** [Create advisory](https://github.com/XYAIStudio/FreeOS/security/advisories/new)
- **Email:** jubaoliang@gmail.com

We aim to acknowledge reports within **3 business days** and provide a fix timeline within **7 business days** for confirmed issues.

Octop upstream advisories (MIT host this project is derived from) live at [TencentCloud/Octop](https://github.com/TencentCloud/Octop/security/advisories). Report **FreeOS** issues here, not there.

## Scope

Octop is a self-hosted control plane. Operators are responsible for:
FreeOS is a self-hosted control plane. Operators are responsible for:

- Securing the host and network exposure of `octop run`
- Securing the host and network exposure of `freeos run` / `octop run`
- Rotating JWT secrets and admin credentials
- Reviewing tool guard rules under `~/.octop/security/tool_guard/`
- Reviewing tool guard rules under `{FREEOS_HOME}/security/tool_guard/` (legacy `~/.octop/security/tool_guard/`)
- Protecting LLM API keys and IM channel credentials

See [docs/configuration.md](docs/configuration.md) for deployment hardening guidance.
14 changes: 8 additions & 6 deletions desktop/portable/package.sh
Original file line number Diff line number Diff line change
Expand Up @@ -241,12 +241,14 @@ assemble_one() {
cp "${TEMPLATES}/README.txt" "${staging}/README.txt"
chmod +x "${staging}/start.sh"

# A production package always contains the organization runtime. Developers
# may opt out only with SHIP_OPENXYOS_RUNTIME=0 or SKIP_ORG_SIDECAR=1.
if [[ "${SHIP_OPENXYOS_RUNTIME:-1}" == "0" ]]; then
SKIP_ORG_SIDECAR=1
elif [[ -z "${SKIP_ORG_SIDECAR:-}" ]]; then
SKIP_ORG_SIDECAR=0
# Default is **zero-Node** (uv run / Docker / source / Phase-5 installer).
# Desktop CI sets SHIP_OPENXYOS_RUNTIME=1 for the transitional iframe bridge.
# Explicit SKIP_ORG_SIDECAR=0 still ships the sidecar even if the ship flag
# is unset. Do not treat SHIP_OPENXYOS_RUNTIME=1 as the permanent product.
if [[ "${SHIP_OPENXYOS_RUNTIME:-0}" == "0" ]]; then
SKIP_ORG_SIDECAR="${SKIP_ORG_SIDECAR:-1}"
else
SKIP_ORG_SIDECAR="${SKIP_ORG_SIDECAR:-0}"
fi
export SKIP_ORG_SIDECAR
echo "[package] ${plat}: org sidecar (SKIP_ORG_SIDECAR=${SKIP_ORG_SIDECAR})" >&2
Expand Down
10 changes: 5 additions & 5 deletions desktop/src/build/windows/Taskfile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ tasks:
PORTABLE_ZIP: '{{.PORTABLE_ZIP | default (printf "../portable/release/FreeOS-portable-windows-%s-%s.zip" (.ARCH | default ARCH) (.VERSION | default "dev"))}}'

maybe-stage:openxyos-runtime:
summary: Stage openxyos-runtime.zip unless explicitly disabled for a development-only host build
summary: Stage openxyos-runtime.zip only when SHIP_OPENXYOS_RUNTIME=1 (transitional desktop bridge)
status:
- test "{{.SHIP_OPENXYOS_RUNTIME}}" != "1"
cmds:
Expand All @@ -65,10 +65,10 @@ tasks:
PORTABLE_ZIP: "{{.PORTABLE_ZIP}}"
VERSION: "{{.VERSION}}"
vars:
SHIP_OPENXYOS_RUNTIME: '{{.SHIP_OPENXYOS_RUNTIME | default "1"}}'
SHIP_OPENXYOS_RUNTIME: '{{.SHIP_OPENXYOS_RUNTIME | default "0"}}'

package:
summary: Packages the full NSIS installer with the managed organization runtime.
summary: Packages the NSIS installer. Node sidecar is opt-in (SHIP_OPENXYOS_RUNTIME=1, transitional).
cmds:
- task: stage:portable
vars:
Expand Down Expand Up @@ -99,7 +99,7 @@ tasks:
vars:
ARCH: "{{.ARCH | default ARCH}}"
VERSION: '{{.VERSION | default "dev"}}'
SHIP_OPENXYOS_RUNTIME: '{{.SHIP_OPENXYOS_RUNTIME | default "1"}}'
SHIP_OPENXYOS_RUNTIME: '{{.SHIP_OPENXYOS_RUNTIME | default "0"}}'
PORTABLE_ZIP: '{{.PORTABLE_ZIP | default (printf "../portable/release/FreeOS-portable-windows-%s-%s.zip" .ARCH .VERSION)}}'
ARCHIVE: '{{.BIN_DIR}}/{{.APP_NAME}}-desktop-windows-{{.ARCH}}-{{.VERSION}}.exe'

Expand All @@ -125,7 +125,7 @@ tasks:
ARCH: '{{.ARCH | default ARCH}}'
VERSION: '{{.VERSION | default "dev"}}'
VERSION_NSIS_DEFINE: '{{if and .VERSION (ne .VERSION "dev")}}-DINFO_PRODUCTVERSION="{{.VERSION}}" {{end}}{{if eq .SHIP_OPENXYOS_RUNTIME "1"}}-DOPENXYOS_RUNTIME_ZIP_PRESENT {{end}}'
SHIP_OPENXYOS_RUNTIME: '{{.SHIP_OPENXYOS_RUNTIME | default "1"}}'
SHIP_OPENXYOS_RUNTIME: '{{.SHIP_OPENXYOS_RUNTIME | default "0"}}'
ARG_FLAG: '{{if eq (.ARCH | default ARCH) "amd64"}}AMD64{{else}}ARM64{{end}}'
ARCHIVE: '{{.BIN_DIR}}/{{.APP_NAME}}-desktop-windows-{{.ARCH}}-{{.VERSION}}.exe'

Expand Down
16 changes: 8 additions & 8 deletions desktop/src/build/windows/nsis/project.nsi
Original file line number Diff line number Diff line change
Expand Up @@ -52,14 +52,14 @@ ManifestDPIAware true

LangString FINISH_RUN ${LANG_SIMPCHINESE} "运行 FreeOS"
LangString FINISH_RUN ${LANG_ENGLISH} "Run FreeOS"
LangString OPENXYOS_WORKDIR ${LANG_SIMPCHINESE} "正在安装完整组织运行时(受管 Node、openXYOS 前端和业务后端)"
LangString OPENXYOS_WORKDIR ${LANG_ENGLISH} "Installing the full organization runtime (managed Node, openXYOS frontend, and business backend)"
LangString OPENXYOS_COPY_ZIP ${LANG_SIMPCHINESE} "正在复制完整 openXYOS 运行包"
LangString OPENXYOS_COPY_ZIP ${LANG_ENGLISH} "Copying the complete openXYOS runtime payload"
LangString OPENXYOS_OPTIONAL_SKIP ${LANG_SIMPCHINESE} "开发构建已明确关闭组织运行时;此构建不可作为完整产品发布。"
LangString OPENXYOS_OPTIONAL_SKIP ${LANG_ENGLISH} "The organization runtime was explicitly disabled for development; this build cannot be released as the full product."
LangString OPENXYOS_OPTIONAL_ABSENT ${LANG_SIMPCHINESE} "开发构建未包含组织运行包;此构建不可作为完整产品发布。"
LangString OPENXYOS_OPTIONAL_ABSENT ${LANG_ENGLISH} "The organization runtime is absent from this development build; it cannot be released as the full product."
LangString OPENXYOS_WORKDIR ${LANG_SIMPCHINESE} "正在复制过渡用组织运行时(受管 Node)。组织能力在 FreeOS 宿主内运行;此路径不是终态。"
LangString OPENXYOS_WORKDIR ${LANG_ENGLISH} "Copying the transitional organization runtime (managed Node). Organization runs in-host; this is not the destination. Setup continues."
LangString OPENXYOS_COPY_ZIP ${LANG_SIMPCHINESE} "正在复制过渡用 openXYOS 运行包"
LangString OPENXYOS_COPY_ZIP ${LANG_ENGLISH} "Copying the transitional openXYOS runtime payload"
LangString OPENXYOS_OPTIONAL_SKIP ${LANG_SIMPCHINESE} "组织能力在 FreeOS 宿主内运行(不捆绑 Node)。托管 Node + iframe 是过渡桥。安装继续。"
LangString OPENXYOS_OPTIONAL_SKIP ${LANG_ENGLISH} "Organization runs in-host (no bundled Node). Managed Node + iframe is a transition bridge. Setup continues."
LangString OPENXYOS_OPTIONAL_ABSENT ${LANG_SIMPCHINESE} "未包含 openXYOS 运行包。组织能力在 FreeOS 宿主内运行。安装继续。"
LangString OPENXYOS_OPTIONAL_ABSENT ${LANG_ENGLISH} "No openXYOS runtime zip in this installer. Organization runs in-host. Setup continues."
LangString OPENXYOS_PROVISION ${LANG_SIMPCHINESE} "正在以子进程部署 openXYOS(解压、启动前后端、等待健康检查)"
LangString OPENXYOS_PROVISION ${LANG_ENGLISH} "Running the openXYOS provisioner subprocess (extract, start FE/BE, wait for health)"
LangString OPENXYOS_PROVISION_DETAIL ${LANG_SIMPCHINESE} "完整日志:%LOCALAPPDATA%\\FreeOS\\openxyos\\provision.log(UTF-8);此处只显示步骤结果"
Expand Down
6 changes: 3 additions & 3 deletions desktop/src/build/windows/nsis/wails_tools.nsh
Original file line number Diff line number Diff line change
Expand Up @@ -141,9 +141,8 @@ RequestExecutionLevel "${REQUEST_EXECUTION_LEVEL}"
${EndIf}
!macroend

# Production Setup copies the complete openxyos-runtime.zip and runtime
# bootstrap scripts. It does not start Node in the installer; FreeOS owns that
# lifecycle after installation. Development-only builds may omit the runtime.
# Default Setup is zero-Node (in-host Organization). SHIP_OPENXYOS_RUNTIME=1
# copies the transitional openxyos-runtime.zip; Setup does not start Node.
# Do not FileWrite goto-label .cmd scripts here. Do not register logon autostart.
!macro wails.provisionOpenXYOS
!insertmacro wails.userLocalAppData
Expand All @@ -163,6 +162,7 @@ RequestExecutionLevel "${REQUEST_EXECUTION_LEVEL}"
!error "OPENXYOS_RUNTIME_ZIP_PRESENT is set but ${OPENXYOS_RUNTIME_ZIP} is missing"
!endif
!else
DetailPrint "$(OPENXYOS_OPTIONAL_SKIP)"
DetailPrint "$(OPENXYOS_OPTIONAL_ABSENT)"
!endif
SetDetailsPrint listonly
Expand Down
Loading
Loading