返回工作台

中文 | English

本文面向本地开发、教学演示和 Agent 集成调试,汇总后端、前端、测试、CLI、MCP 和公开案例接口的常用命令。

环境与安装

需要 Python >=3.13uv 和 Node.js >=22.22.0。仓库使用 uv.lockfrontend/package-lock.json 固定可复现依赖;首次启动前执行:

git clone https://github.com/ArchSightLabs/archsight-solver.git
cd archsight-solver
uv sync --frozen
npm --prefix frontend ci --include=optional

后端

uv run python app.py

默认地址:http://127.0.0.1:6240

临时修改端口:

$env:BEAM_SOLVER_BACKEND_PORT="6240"; uv run python app.py

前端

前端开发与构建需要 Node.js >=22.22.0

cd frontend
npm run dev

默认地址:http://127.0.0.1:6241

前端开发服务默认将 /api 代理到 http://127.0.0.1:6240。如需对接其他后端端口:

$env:BEAM_SOLVER_BACKEND_TARGET="http://127.0.0.1:6240"; npm run dev

测试

uv run python -m pytest backend/tests -q
npm --prefix frontend run lint
npm --prefix frontend run test:unit
npm --prefix frontend run build

GitHub Release 五分钟路径

如果只需要 CLI / MCP,不必克隆仓库。从 v1.9.1 Release 下载 archsight_solver-1.9.1-py3-none-any.whlSHA256SUMS,校验后安装:

python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install .\archsight_solver-1.9.1-py3-none-any.whl

可信计算包指南准备 create-request.json;源码仓库可直接复制 examples/verification-package/create-request.json。然后生成并复算:

archsight-solver-tool verification_package_create --input create-request.json --pretty > created.json
python -c "import json; d=json.load(open('created.json',encoding='utf-8')); json.dump({'package':d['package']},open('verify-request.json','w',encoding='utf-8'),ensure_ascii=False)"
archsight-solver-tool verification_package_verify --input verify-request.json --pretty

成功输出应包含 status: "pass"integrityValid: truereplayMatched: true。安装态 wheel 自带 CLI/MCP 所需的契约、Benchmark、模板、材料、支座、截面和文档资源,不依赖仓库 cwd。完整 Web/API 的公开获取路径是同一 Release 的离线镜像归档;具有 GitHub Packages 权限时也可使用 GHCR 不可变版本镜像。

异步 API 与公开案例

提交异步计算作业:

Invoke-RestMethod -Method Post -Uri "http://127.0.0.1:6240/api/jobs" -ContentType "application/json" -Body '{"operation":"calculate","payload":{"beamType":"simply_supported","loadType":"uniform","q":12,"E":206,"I":85000,"spans":[6]}}'

公开验证工程:

机器可读契约:

CLI

梁挠度工具:

@'
{
  "span": {"value": 6.0, "unit": "m"},
  "elasticModulus": {"value": 210.0, "unit": "GPa"},
  "secondMomentOfArea": {"value": 4500.0, "unit": "cm4"},
  "load": {"value": 10.0, "unit": "kN/m", "case": "uniform"},
  "boundaryCondition": "simply_supported"
}
'@ | uv run python -m backend.capabilities.beam_deflection --pretty

通用求解工具:

'{"payload":{"analysisType":"beam","beamType":"simply_supported","loadType":"uniform","spans":[6],"q":12,"E":206,"I":85000}}' |
  uv run python -m backend.capabilities.solver_cli calculate --pretty

执行公开验证集算例:

'{"caseId":"BM-001"}' | uv run python -m backend.capabilities.solver_cli benchmark_case_run --pretty

检查项目文件契约与托管状态:

uv run python -m backend.capabilities.solver_cli project_document_health --input project.slv --pretty

读取内置模板 registry:

'{}' | uv run python -m backend.capabilities.solver_cli project_template_registry --pretty

生成与复算可信计算包:

uv run python -m backend.capabilities.solver_cli verification_package_create --input create-request.json --pretty > created.json
python -c "import json; d=json.load(open('created.json',encoding='utf-8')); json.dump({'package':d['package']},open('verify-request.json','w',encoding='utf-8'),ensure_ascii=False)"
uv run python -m backend.capabilities.solver_cli verification_package_verify --input verify-request.json --pretty

MCP Server

uv run python -m backend.capabilities.mcp_server

当前 MCP tools:

当前 MCP resources:

资源路径、更新责任和验收检查见 MCP Resources 清单与生成口径

可信计算包的字段、状态、容差与责任边界见可信计算包 1.0,按角色复跑的完整路径见三条黄金流程

二维框架快速验证

$payload = @{
  analysisType = "frame"
  projectName = "Benchmark Portal Frame"
  materialId = "q345"
  structure = @{
    template = "portal_frame"
    span = 6.0
    height = 4.0
    left_support = "fixed"
    right_support = "fixed"
    beam_load_kn_per_m = 18.0
    lateral_load_kn = 24.0
    top_vertical_load_kn = 0.0
  }
} | ConvertTo-Json -Depth 8

Invoke-RestMethod -Method Post -Uri "http://127.0.0.1:6240/api/calculate" -ContentType "application/json" -Body $payload

预期返回 analysisType: "frame",并在 summary 中包含最大节点位移、最大构件弯矩、控制节点和校核状态。