跳到主要内容

用于部署的 SkillFlaw 安装 - TypeScript

本文档说明 SkillFlaw TypeScript backend 运行时 的部署视角安装路径。

当你的部署目标基于以下链路时,请使用本页:

  • docker/docker-compose-ts.yml
  • ghcr.io/cwinux/skillflaw_backend_ts:latest
  • make ts_install_backend / make ts_init_db
  • make ts_backend
  • make ts_backend_verify

如果你要准备的是 Python 部署,请改用 用于部署的 SkillFlaw 安装 - Python

交付模式

  • Docker 安装:通过 docker/docker-compose-ts.yml 运行完整本地交付栈
  • 源码安装:直接从仓库运行 TypeScript 产品
  • 开发安装:沿用 TypeScript 仓库工作流,使用 make ts_install_backendmake ts_init_dbmake ts_backendmake frontend

Docker 安装

TypeScript 部署路径使用 docker/docker-compose-ts.yml,默认会启动以下服务:

  • frontend
  • backend_ts
  • doc
  • redis
  • pgsql

Docker 前置条件

  • 已安装 Docker Engine 或 Docker Desktop
  • 已安装 docker compose CLI 插件
  • 仓库根目录 .env 是可选项,只有在需要覆盖 TypeScript 栈运行时配置时才需要创建
  • 该路径会通过 SKILLFLAW_TS_DATABASE_URL 使用独立的 TypeScript 数据库

操作步骤

  1. 如需覆盖运行时配置,可选地将 .env.example 复制为 .env

  2. 启动服务:


    _10
    docker compose -f docker/docker-compose-ts.yml up -d

首次启动时,这条 Compose 链路会在 skillflaw_secret_ts_data 中创建密钥文件、执行 db_init_ts、通过 db_init_export_ts 回写 TypeScript 初始化数据,并最终通过一次性的 stack_check_ts 服务完成 backend、frontend 与 docs 的可达性自检。

默认访问点

  • frontend:http://localhost:3003
  • backend health:http://localhost:7861/health
  • docs:http://localhost:3004

Docker 安装成功判定

满足以下条件即可视为安装成功:

  • docker compose -f docker/docker-compose-ts.yml ps 显示 pgsqlredisbackend_tsfrontenddoc 处于运行状态,且 secret_initdb_init_tsdb_init_export_tsstack_check_ts 已成功执行完成
  • docker compose -f docker/docker-compose-ts.yml logs stack_check_ts 末尾出现 [backend_ts] ok[frontend] ok[doc] ok
  • http://localhost:7861/health 返回健康状态
  • http://localhost:3003 能正常打开 SkillFlaw 前端
  • http://localhost:3004 能正常打开独立 docs 站点

源码安装

当你需要直接从仓库运行 TypeScript 产品时:

源码安装前置条件

  • 已准备 SKILLFLAW_TS_DATABASE_URL
  • 已准备 SKILLFLAW_SECRET_KEY_FILE
  • 当测试或包级校验在范围内时,已准备 SKILLFLAW_TS_TEST_DATABASE_URL
  • PostgreSQL 必需,推荐 16,最低兼容 14
  • SKILLFLAW_CACHE_TYPE=redis 时,Redis 必需,推荐 7,最低兼容 6

操作步骤

  1. .env.example 复制为 .env
  2. 配置 SKILLFLAW_TS_DATABASE_URL
  3. 配置 SKILLFLAW_SECRET_KEY_FILE
  4. 执行 make ts_install_backend
  5. 执行 make ts_init_db
  6. 分别执行 make ts_backendmake frontend

如果测试或包级校验在范围内,还应执行相应的校验链路,例如 make ts_backend_verifymake ts_lfx_buildmake ts_lfx_testmake ts_tool_buildmake ts_tool_test

数据库初始化

make ts_install_backend 只负责安装 TypeScript backend 依赖。 make ts_init_db 才是 TypeScript backend 的数据库初始化入口。

请通过独立的 SKILLFLAW_TS_DATABASE_URL 让 TypeScript 部署数据库与 Python 部署数据库保持隔离。

Skill 执行相关的可选运行时依赖

OpenSandbox 与 OpenCode 不是基础平台启动的前置条件。

  • 对于 OpenSandbox,请在仓库根目录 .env 中配置相关变量,并确保地址对运行 make ts_backend 的宿主机环境可达。
  • 对于 OpenCode,本文档中的 TypeScript 运行路径要求 opencode 可在运行 make ts_backend 的宿主机环境中直接调用。
  • TypeScript 仓库路径不使用 SKILLFLAW_CONTAINER_OPENCODE_*

默认管理员账号

默认管理员账号:

  • 用户名:admin
  • 密码:Skillflaw@123321

初始化数据导出

TypeScript Docker 工作流会通过 db_init_export_ts 将初始化数据导出到 data/postgresql/skillflaw_ts_init_data.sql

推荐继续阅读