docs(dev): dev-runtime 3-node 프로파일 문서와 inventory를 갱신한다
mac-mlx-vllm-node를 별도 node에서 mac-codex-node의 provider resource로 통합한 구현 결과를 dev-runtime 기준 문서에 반영한다. 3 connected nodes + 3 provider candidates 기준으로 일치시킨다. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
b7801ee0af
commit
3f2b79d953
6 changed files with 70 additions and 80 deletions
|
|
@ -13,7 +13,7 @@ dev-runtime provider pool을 제품 검증이 끝난 상태로 배포한다. 배
|
|||
## 언제 호출할지
|
||||
|
||||
- 사용자가 `dev 배포`, `dev-runtime 배포`, `배포해봐`처럼 dev 환경 배포를 요청할 때
|
||||
- Edge, mac CLI node, GX10 vLLM node, OneXPlayer Lemonade node로 이루어진 dev-runtime provider pool을 갱신할 때
|
||||
- Edge, mac-codex-node(CLI adapter + mac-mlx-vllm provider resource), GX10 vLLM node, OneXPlayer Lemonade node로 이루어진 dev-runtime provider pool을 갱신할 때
|
||||
- OpenAI-compatible `/v1/responses` 또는 `/v1/chat/completions` 경로가 provider capacity만큼 채워지는지 검증할 때
|
||||
- dev 환경의 remote runner, node 접속 정보, provider capacity, model alias 변경을 배포 절차에 반영할 때
|
||||
|
||||
|
|
@ -62,7 +62,7 @@ dev-runtime provider pool을 제품 검증이 끝난 상태로 배포한다. 배
|
|||
- dry-run이 `rejected` 또는 예상 밖 `restart_required`를 반환하면 배포를 멈추고 config diff를 보고한다.
|
||||
|
||||
6. **배포와 재시작**
|
||||
- Edge와 mac CLI node는 원격 runner에서 빌드 산출물 기준으로 재시작한다.
|
||||
- Edge와 mac-codex-node(CLI adapter + mac-mlx-vllm provider vllm-mlx process)는 원격 runner에서 빌드 산출물 기준으로 재시작한다.
|
||||
- GX10 node는 Linux ARM64 node binary를 배포하고 기존 node process를 재시작한다.
|
||||
- OneXPlayer node는 현재 host에서 `ssh r0bin@192.168.0.59`로 접속한다. artifact가 remote runner에 있으면 현재 host를 통해 전달한 뒤 Windows host에서 교체한다.
|
||||
- OneXPlayer에서는 SSH 세션 안의 `Start-Process`로 장기 실행을 시작하지 않는다. `Win32_Process.Create` 또는 동등한 세션 독립 실행 방식으로 `iop-node.exe --config node.yaml serve`를 시작한다.
|
||||
|
|
@ -94,7 +94,7 @@ dev-runtime provider pool을 제품 검증이 끝난 상태로 배포한다. 배
|
|||
- [ ] 빌드 전 `go test ./...`와 필요한 추가 전체 테스트가 통과했는가
|
||||
- [ ] dev-runtime Edge/mac/Linux ARM64/Windows AMD64 binary가 같은 source ref에서 rebuild되었는가
|
||||
- [ ] 빌드 후 config check, refresh help, refresh dry-run, 전체 테스트가 통과했는가
|
||||
- [ ] Edge, mac CLI node, GX10 vLLM node, OneXPlayer Lemonade node가 재시작되고 3개 node가 connected 상태인가
|
||||
- [ ] Edge, mac-codex-node, GX10 vLLM node, OneXPlayer Lemonade node가 재시작되고 3개 node(mac-codex, gx10-vllm, onexplayer-lemonade)가 connected 상태인가
|
||||
- [ ] OneXPlayer 접속과 실행이 `r0bin@192.168.0.59` 및 세션 독립 실행 방식으로 수행되었는가
|
||||
- [ ] `/v1/responses` capacity smoke에서 총 capacity만큼 `in_flight`가 차고 초과 요청이 queue에 잡혔는가
|
||||
- [ ] `/v1/chat/completions` capacity smoke에서 총 capacity만큼 `in_flight`가 차고 초과 요청이 queue에 잡혔는가
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ last_rule_updated_at: 2026-06-24
|
|||
|
||||
## dev-runtime provider pool 인벤토리
|
||||
|
||||
dev-runtime provider pool과 4-node 연결 상태를 점검할 때는 `agent-test/dev/inventory.yaml`의 machine-readable 값을 우선하고, 원격 runner `ssh toki@toki-labs.com`의 `/Users/toki/agent-work/iop-dev` checkout을 기준으로 한다.
|
||||
dev-runtime provider pool과 3-node 연결 상태를 점검할 때는 `agent-test/dev/inventory.yaml`의 machine-readable 값을 우선하고, 원격 runner `ssh toki@toki-labs.com`의 `/Users/toki/agent-work/iop-dev` checkout을 기준으로 한다.
|
||||
|
||||
- Edge config: `build/dev-runtime/edge.yaml`
|
||||
- Edge id: `edge-toki-labs-dev`
|
||||
|
|
@ -55,10 +55,17 @@ dev-runtime provider pool과 4-node 연결 상태를 점검할 때는 `agent-tes
|
|||
|
||||
노드 후보:
|
||||
|
||||
- mac CLI node: `mac-codex-node` / `mac-codex`
|
||||
- mac CLI + MLX provider node: `mac-codex-node` / `mac-codex`
|
||||
- SSH/user: `ssh toki@toki-labs.com`
|
||||
- 목적: `cli` adapter, `codex app-server`
|
||||
- 목적: `cli` adapter, `codex app-server` + `mac-mlx-vllm` provider resource
|
||||
- workspace: `/Users/toki/agent-work/iop-workspace/nomadcode`
|
||||
- MLX vLLM provider: `mac-mlx-vllm`
|
||||
- provider endpoint: `http://127.0.0.1:8002/v1`
|
||||
- served model: `mlx-community/Qwen3.6-35B-A3B-4bit`
|
||||
- capacity baseline: `3`
|
||||
- workdir: `/Users/toki/agent-work/iop-mlx-vllm`
|
||||
- runtime baseline: `vllm-mlx`, `--max-num-seqs 3`, `--max-kv-size 262144`, `--max-request-tokens 262144`, `--use-paged-cache --paged-cache-block-size 64 --max-cache-blocks 8192`
|
||||
- KV policy: per-call window bound `262144`, total paged KV budget `524288` tokens, equivalent to two full context windows
|
||||
- GX10 vLLM node: `gx10-vllm-node` / `gx10-vllm`
|
||||
- SSH/user: `ssh toki@192.168.0.91`
|
||||
- provider endpoint: `http://192.168.0.91:8001/v1`
|
||||
|
|
@ -73,21 +80,12 @@ dev-runtime provider pool과 4-node 연결 상태를 점검할 때는 `agent-tes
|
|||
- capacity baseline: `3`
|
||||
- load baseline: backend `vulkan`, ctx size `786432`, `llamacpp_args="--spec-type none -np 3 -cb -fa on -b 4096 -ub 1024"`, `save_options=true`
|
||||
- workspace: `C:/Users/r0bin/iop-field`
|
||||
- Mac MLX vLLM node: `mac-mlx-vllm-node` / `mac-mlx-vllm`
|
||||
- SSH/user: `ssh toki@toki-labs.com`
|
||||
- provider endpoint: `http://127.0.0.1:8002/v1`
|
||||
- served model: `mlx-community/Qwen3.6-35B-A3B-4bit`
|
||||
- capacity baseline: `3`
|
||||
- workdir: `/Users/toki/agent-work/iop-mlx-vllm`
|
||||
- runtime baseline: `vllm-mlx`, `--max-num-seqs 3`, `--max-kv-size 262144`, `--max-request-tokens 262144`, `--use-paged-cache --paged-cache-block-size 64 --max-cache-blocks 8192`
|
||||
- KV policy: per-call window bound `262144`, total paged KV budget `524288` tokens, equivalent to two full context windows
|
||||
- workspace: `/Users/toki/agent-work/iop-mlx-vllm`
|
||||
|
||||
OneXPlayer Lemonade는 `Qwen3.6-35B-A3B-MTP-GGUF` artifact를 사용하되 runtime MTP speculative decoding은 켜지 않는다. dev long-context baseline은 `/v1/load`에 `llamacpp_backend=vulkan`, `ctx_size=786432`, `--spec-type none -np 3 -cb -fa on -b 4096 -ub 1024`를 `save_options=true`로 저장한 상태다. llama.cpp backend의 `/slots`에서 slot 3개가 각각 `n_ctx=262144`로 보여야 한다.
|
||||
|
||||
OneXPlayer Lemonade Node는 원격 runner나 Edge host에서 다시 SSH하거나 proxy process로 띄우지 않는다. 현재 작업 호스트에서 OneXPlayer Windows host에 `ssh r0bin@192.168.0.59`로 직접 접속한 뒤 generated PowerShell bootstrap을 실행한다.
|
||||
|
||||
Mac MLX vLLM node는 Edge host와 같은 macOS host에서 실행한다. vllm-mlx API는 외부에 직접 노출하지 않고 `127.0.0.1:8002`에 bind하며, Edge OpenAI-compatible adapter가 local bearer header로 호출한다. 운영 파일은 `/Users/toki/agent-work/iop-mlx-vllm/vllm-mlx.pid`, `logs/vllm-mlx.stdout.log`, `logs/vllm-mlx.stderr.log`를 기준으로 한다. Docker와 macOS 여유 메모리를 고려해 capacity는 `3`을 기본선으로 유지한다.
|
||||
mac-mlx-vllm provider는 mac-codex-node 소속 resource로, Edge host와 같은 macOS host에서 vllm-mlx process로 실행한다. vllm-mlx API는 외부에 직접 노출하지 않고 `127.0.0.1:8002`에 bind하며, Edge OpenAI-compatible adapter가 local bearer header로 호출한다. 운영 파일은 `/Users/toki/agent-work/iop-mlx-vllm/vllm-mlx.pid`, `logs/vllm-mlx.stdout.log`, `logs/vllm-mlx.stderr.log`를 기준으로 한다. Docker와 macOS 여유 메모리를 고려해 capacity는 `3`을 기본선으로 유지한다.
|
||||
|
||||
## 명령
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
test_env: dev
|
||||
profile: dev-runtime-provider-pool
|
||||
last_updated_at: "2026-06-24"
|
||||
last_updated_at: "2026-06-28"
|
||||
|
||||
source:
|
||||
remote_runner:
|
||||
|
|
@ -48,12 +48,49 @@ model:
|
|||
nodes:
|
||||
- id: mac-codex-node
|
||||
alias: mac-codex
|
||||
role: cli
|
||||
role: cli+mlx-provider
|
||||
ssh: toki@toki-labs.com
|
||||
workspace: /Users/toki/agent-work/iop-workspace/nomadcode
|
||||
provider_pool_candidate: false
|
||||
provider_pool_candidate: true
|
||||
adapters:
|
||||
- cli
|
||||
- mac-mlx-vllm
|
||||
providers:
|
||||
- id: mac-mlx-vllm
|
||||
type: vllm-mlx
|
||||
endpoint: http://127.0.0.1:8002/v1
|
||||
served_model: mlx-community/Qwen3.6-35B-A3B-4bit
|
||||
capacity: 3
|
||||
runtime:
|
||||
api_key_policy: local_bearer_from_edge_yaml
|
||||
workdir: /Users/toki/agent-work/iop-mlx-vllm
|
||||
python: .venv/bin/python
|
||||
package_baseline:
|
||||
vllm_mlx: 0.3.0
|
||||
mlx: 0.31.2
|
||||
mlx_lm: 0.31.3
|
||||
model_cache: /Users/toki/agent-work/iop-mlx-vllm/hf-cache
|
||||
pid_file: /Users/toki/agent-work/iop-mlx-vllm/vllm-mlx.pid
|
||||
stdout_log: /Users/toki/agent-work/iop-mlx-vllm/logs/vllm-mlx.stdout.log
|
||||
stderr_log: /Users/toki/agent-work/iop-mlx-vllm/logs/vllm-mlx.stderr.log
|
||||
max_num_seqs: 3
|
||||
max_kv_size: 262144
|
||||
max_request_tokens: 262144
|
||||
paged_cache_block_size: 64
|
||||
max_cache_blocks: 8192
|
||||
total_kv_tokens: 524288
|
||||
default_chat_template_kwargs:
|
||||
enable_thinking: false
|
||||
observed_direct_throughput_2026_06_24:
|
||||
max_tokens: 192
|
||||
completion_token_basis: true
|
||||
concurrency:
|
||||
1:
|
||||
total_tok_s: 59.66
|
||||
2:
|
||||
total_tok_s: 87.31
|
||||
3:
|
||||
total_tok_s: 98.13
|
||||
- id: gx10-vllm-node
|
||||
alias: gx10-vllm
|
||||
role: vllm-provider
|
||||
|
|
@ -66,48 +103,6 @@ nodes:
|
|||
endpoint: http://192.168.0.91:8001/v1
|
||||
served_model: nvidia/Qwen3.6-35B-A3B-NVFP4
|
||||
capacity: 4
|
||||
- id: mac-mlx-vllm-node
|
||||
alias: mac-mlx-vllm
|
||||
role: vllm-mlx-provider
|
||||
ssh: toki@toki-labs.com
|
||||
workspace: /Users/toki/agent-work/iop-mlx-vllm
|
||||
provider_pool_candidate: true
|
||||
provider:
|
||||
id: mac-mlx-vllm
|
||||
type: vllm-mlx
|
||||
endpoint: http://127.0.0.1:8002/v1
|
||||
served_model: mlx-community/Qwen3.6-35B-A3B-4bit
|
||||
capacity: 3
|
||||
runtime:
|
||||
api_key_policy: local_bearer_from_edge_yaml
|
||||
workdir: /Users/toki/agent-work/iop-mlx-vllm
|
||||
python: .venv/bin/python
|
||||
package_baseline:
|
||||
vllm_mlx: 0.3.0
|
||||
mlx: 0.31.2
|
||||
mlx_lm: 0.31.3
|
||||
model_cache: /Users/toki/agent-work/iop-mlx-vllm/hf-cache
|
||||
pid_file: /Users/toki/agent-work/iop-mlx-vllm/vllm-mlx.pid
|
||||
stdout_log: /Users/toki/agent-work/iop-mlx-vllm/logs/vllm-mlx.stdout.log
|
||||
stderr_log: /Users/toki/agent-work/iop-mlx-vllm/logs/vllm-mlx.stderr.log
|
||||
max_num_seqs: 3
|
||||
max_kv_size: 262144
|
||||
max_request_tokens: 262144
|
||||
paged_cache_block_size: 64
|
||||
max_cache_blocks: 8192
|
||||
total_kv_tokens: 524288
|
||||
default_chat_template_kwargs:
|
||||
enable_thinking: false
|
||||
observed_direct_throughput_2026_06_24:
|
||||
max_tokens: 192
|
||||
completion_token_basis: true
|
||||
concurrency:
|
||||
1:
|
||||
total_tok_s: 59.66
|
||||
2:
|
||||
total_tok_s: 87.31
|
||||
3:
|
||||
total_tok_s: 98.13
|
||||
- id: onexplayer-lemonade-node
|
||||
alias: onexplayer-lemonade
|
||||
role: lemonade-provider
|
||||
|
|
|
|||
|
|
@ -42,12 +42,19 @@ last_rule_updated_at: 2026-06-24
|
|||
|
||||
## dev-runtime Node 접속 기준
|
||||
|
||||
dev-runtime의 실제 4-node 연결을 점검할 때는 원격 runner `ssh toki@toki-labs.com`의 `/Users/toki/agent-work/iop-dev` checkout과 `build/dev-runtime/edge.yaml`을 기준으로 한다. Node는 dev-runtime provider pool 기준에서 Edge-Node TCP `toki-labs.com:18084`로 붙는다.
|
||||
dev-runtime의 실제 3-node 연결을 점검할 때는 원격 runner `ssh toki@toki-labs.com`의 `/Users/toki/agent-work/iop-dev` checkout과 `build/dev-runtime/edge.yaml`을 기준으로 한다. Node는 dev-runtime provider pool 기준에서 Edge-Node TCP `toki-labs.com:18084`로 붙는다.
|
||||
|
||||
- mac CLI node: `mac-codex-node` / `mac-codex`
|
||||
- mac CLI + MLX provider node: `mac-codex-node` / `mac-codex`
|
||||
- SSH/user: `ssh toki@toki-labs.com`
|
||||
- 목적: `cli` adapter, `codex app-server`
|
||||
- 목적: `cli` adapter, `codex app-server` + `mac-mlx-vllm` provider resource
|
||||
- workspace: `/Users/toki/agent-work/iop-workspace/nomadcode`
|
||||
- MLX vLLM provider: `mac-mlx-vllm`
|
||||
- provider endpoint: `http://127.0.0.1:8002/v1`
|
||||
- served model: `mlx-community/Qwen3.6-35B-A3B-4bit`
|
||||
- capacity baseline: `3`
|
||||
- workdir: `/Users/toki/agent-work/iop-mlx-vllm`
|
||||
- runtime baseline: `vllm-mlx`, `--max-num-seqs 3`, `--max-kv-size 262144`, `--max-request-tokens 262144`, `--use-paged-cache --paged-cache-block-size 64 --max-cache-blocks 8192`
|
||||
- KV policy: per-call window bound `262144`, total paged KV budget `524288` tokens, equivalent to two full context windows
|
||||
- GX10 vLLM node: `gx10-vllm-node` / `gx10-vllm`
|
||||
- SSH/user: `ssh toki@192.168.0.91`
|
||||
- provider endpoint: `http://192.168.0.91:8001/v1`
|
||||
|
|
@ -62,21 +69,12 @@ dev-runtime의 실제 4-node 연결을 점검할 때는 원격 runner `ssh toki@
|
|||
- capacity baseline: `3`
|
||||
- load baseline: backend `vulkan`, ctx size `786432`, `llamacpp_args="--spec-type none -np 3 -cb -fa on -b 4096 -ub 1024"`, `save_options=true`
|
||||
- workspace: `C:/Users/r0bin/iop-field`
|
||||
- Mac MLX vLLM node: `mac-mlx-vllm-node` / `mac-mlx-vllm`
|
||||
- SSH/user: `ssh toki@toki-labs.com`
|
||||
- provider endpoint: `http://127.0.0.1:8002/v1`
|
||||
- served model: `mlx-community/Qwen3.6-35B-A3B-4bit`
|
||||
- capacity baseline: `3`
|
||||
- workdir: `/Users/toki/agent-work/iop-mlx-vllm`
|
||||
- runtime baseline: `vllm-mlx`, `--max-num-seqs 3`, `--max-kv-size 262144`, `--max-request-tokens 262144`, `--use-paged-cache --paged-cache-block-size 64 --max-cache-blocks 8192`
|
||||
- KV policy: per-call window bound `262144`, total paged KV budget `524288` tokens, equivalent to two full context windows
|
||||
- workspace: `/Users/toki/agent-work/iop-mlx-vllm`
|
||||
|
||||
OneXPlayer Lemonade는 `Qwen3.6-35B-A3B-MTP-GGUF` artifact를 사용하되 runtime MTP speculative decoding은 끈 상태를 dev 기준으로 삼는다. Node 검증 전 `/v1/load`의 `recipe_options`가 Vulkan, `ctx_size=786432`, `--spec-type none -np 3 -cb -fa on -b 4096 -ub 1024`를 포함하는지 확인한다. backend `/slots`에서는 slot 3개가 각각 `n_ctx=262144`로 보여야 한다.
|
||||
|
||||
GX10은 Linux/ARM64 bootstrap, OneXPlayer는 Windows native PowerShell bootstrap을 기본으로 한다. OneXPlayer는 현재 작업 호스트에서 직접 접속해 세팅하며, 원격 runner나 Edge host에서 `node-onexplayer-lemonade.yaml`로 proxy 실행하지 않는다.
|
||||
|
||||
Mac MLX vLLM node는 Edge host와 같은 macOS host에서 실행한다. vllm-mlx API는 외부에 직접 노출하지 않고 `127.0.0.1:8002`에 bind하며, Edge의 OpenAI-compatible adapter가 local bearer header로 호출한다. 운영 확인은 `/Users/toki/agent-work/iop-mlx-vllm/vllm-mlx.pid`, `logs/vllm-mlx.stdout.log`, `logs/vllm-mlx.stderr.log`, dev-runtime의 `build/dev-runtime/logs/node-mac-mlx-vllm.*.log`를 기준으로 한다. Docker와 macOS 여유 메모리를 고려해 capacity는 `3`을 기본선으로 유지한다.
|
||||
mac-mlx-vllm provider는 mac-codex-node 소속 resource로, Edge host와 같은 macOS host에서 vllm-mlx process로 실행한다. vllm-mlx API는 외부에 직접 노출하지 않고 `127.0.0.1:8002`에 bind하며, Edge의 OpenAI-compatible adapter가 local bearer header로 호출한다. 운영 확인은 `/Users/toki/agent-work/iop-mlx-vllm/vllm-mlx.pid`, `logs/vllm-mlx.stdout.log`, `logs/vllm-mlx.stderr.log`를 기준으로 한다. Docker와 macOS 여유 메모리를 고려해 capacity는 `3`을 기본선으로 유지한다.
|
||||
|
||||
OneXPlayer에서 SSH 세션 안의 `Start-Process`로 `iop-node.exe`를 띄우면 SSH 세션 종료와 함께 process가 정리될 수 있다. dev 반복 배포에서는 `Win32_Process.Create` 또는 동등한 세션 독립 실행 방식으로 `C:/Users/r0bin/iop-field`에서 `iop-node.exe --config node.yaml serve`를 시작하고, WMI/process query와 `iop-node.log`의 `connected to edge` 로그로 유지 여부를 확인한다.
|
||||
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ dev-runtime provider pool은 compose Edge-Node TCP `19003`이 아니라 native E
|
|||
- remote runner: dev runtime evidence, Flutter client, Docker compose, field/bootstrap, 외부 runtime evidence는 `ssh toki@toki-labs.com`의 `/Users/toki/agent-work/iop-dev` 기준으로 수행한다.
|
||||
- compose dev stack: `.env.dev.example`, `COMPOSE_PROJECT_NAME=iop-dev-agent`, `IOP_COMPOSE_NETWORK=iop-dev-agent-net`, Edge-Node TCP `19003`을 사용한다.
|
||||
- Edge direct dev profile: artifact/bootstrap `18082`, OpenAI-compatible `18083`, metrics `19101`을 필요할 때만 사용한다.
|
||||
- dev-runtime provider pool: `/Users/toki/agent-work/iop-dev/build/dev-runtime/edge.yaml`과 Edge-Node TCP `toki-labs.com:18084`를 사용한다. 4-node/provider 세부는 `agent-test/dev/edge-smoke.md`와 `agent-test/dev/node-smoke.md`를 따른다.
|
||||
- dev-runtime provider pool: `/Users/toki/agent-work/iop-dev/build/dev-runtime/edge.yaml`과 Edge-Node TCP `toki-labs.com:18084`를 사용한다. 3-node/provider 세부는 `agent-test/dev/edge-smoke.md`와 `agent-test/dev/node-smoke.md`를 따른다.
|
||||
- external provider field: GX10 vLLM은 `ssh toki@192.168.0.91`, OneXPlayer Lemonade는 현재 작업 호스트에서 `ssh r0bin@192.168.0.59`로 직접 접속해 확인한다. OneXPlayer 접속은 원격 runner 경유를 필수 조건으로 보지 않는다.
|
||||
|
||||
## 프리플라이트
|
||||
|
|
@ -91,7 +91,7 @@ dev-runtime provider pool은 compose Edge-Node TCP `19003`이 아니라 native E
|
|||
|
||||
- node / smoke / node 실행 파이프라인 baseline: `agent-test/dev/node-smoke.md`
|
||||
- edge / smoke / edge 실행 그룹과 입력 표면 baseline: `agent-test/dev/edge-smoke.md`
|
||||
- dev-runtime provider pool, 4-node 연결, GX10 vLLM, OneXPlayer Lemonade, Mac MLX vLLM, mac CLI node 점검: `agent-test/dev/edge-smoke.md`, `agent-test/dev/node-smoke.md`
|
||||
- dev-runtime provider pool, 3-node 연결, GX10 vLLM, OneXPlayer Lemonade, mac-codex(CLI+MLX provider) node 점검: `agent-test/dev/edge-smoke.md`, `agent-test/dev/node-smoke.md`
|
||||
- control-plane / smoke / control-plane health와 wire baseline: `agent-test/dev/control-plane-smoke.md`
|
||||
- client / smoke / Flutter client와 IOP console package baseline: `agent-test/dev/client-smoke.md`
|
||||
- platform-common / smoke / 공통 설정과 protobuf 계약 baseline: `agent-test/dev/platform-common-smoke.md`
|
||||
|
|
|
|||
|
|
@ -132,8 +132,7 @@ GOOS=windows GOARCH=amd64 go build -trimpath -o build/dev-runtime/bin/iop-node-w
|
|||
- model alias: `qwen3.6:35b`
|
||||
- provider candidate: `gx10-vllm` on `gx10-vllm-node`, capacity `4`
|
||||
- provider candidate: `onexplayer-lemonade` on `onexplayer-lemonade-node`, capacity `3`
|
||||
- provider candidate: `mac-mlx-vllm` on `mac-mlx-vllm-node`, capacity `3`
|
||||
- connected non-candidate: `mac-codex-node`
|
||||
- provider candidate: `mac-mlx-vllm` on `mac-codex-node`, capacity `3`
|
||||
|
||||
OneXPlayer Lemonade Node는 원격 runner나 Edge host에서 다시 SSH하거나 proxy process로 띄우지 않는다. 현재 작업 호스트에서 Windows host에 `ssh r0bin@192.168.0.59`로 직접 접속한 뒤, 그 host 안에서 generated PowerShell bootstrap 명령을 실행한다. 이때 Node 작업 경로는 `$HOME\iop-field`이며, Lemonade provider endpoint는 Windows host 로컬에서 접근 가능한 값을 기준으로 검증한다.
|
||||
|
||||
|
|
@ -176,7 +175,7 @@ nohup .venv/bin/vllm-mlx serve mlx-community/Qwen3.6-35B-A3B-4bit \
|
|||
echo $! > vllm-mlx.pid
|
||||
```
|
||||
|
||||
Mac MLX provider의 주요 운영 파일은 `vllm-mlx.pid`, `logs/vllm-mlx.stdout.log`, `logs/vllm-mlx.stderr.log`, Node 로그 `build/dev-runtime/logs/node-mac-mlx-vllm.*.log`다. 2026-06-24 직접 호출 측정 기준으로 `max_tokens=192`, `enable_thinking=false`에서 1/2/3 동시 총합은 약 `59.66`, `87.31`, `98.13 tok/s`였다.
|
||||
Mac MLX provider의 주요 운영 파일은 `vllm-mlx.pid`, `logs/vllm-mlx.stdout.log`, `logs/vllm-mlx.stderr.log`다. 2026-06-24 직접 호출 측정 기준으로 `max_tokens=192`, `enable_thinking=false`에서 1/2/3 동시 총합은 약 `59.66`, `87.31`, `98.13 tok/s`였다.
|
||||
|
||||
SSH 세션 안의 `Start-Process`는 세션 종료와 함께 `iop-node.exe`가 정리될 수 있다. 반복 배포에서는 Windows host에서 `Win32_Process.Create` 방식으로 세션 독립 실행한다.
|
||||
|
||||
|
|
@ -203,7 +202,7 @@ Node host OS 재부팅은 필요하지 않다. Edge process 재시작이나 일
|
|||
|
||||
1. Control Plane status에서 `edge-toki-labs-dev`의 connected node 수와 node id를 확인한다.
|
||||
2. Edge host에서 `toki-labs.com:18084`의 established node TCP connection 수를 확인한다.
|
||||
3. Edge process를 재시작하고 bootstrap 재실행 없이 4개 Node 연결이 회복되는지 확인한다.
|
||||
3. Edge process를 재시작하고 bootstrap 재실행 없이 3개 Node 연결이 회복되는지 확인한다.
|
||||
4. `http://toki-labs.com:18083/healthz`와 `/v1/models`를 확인한다.
|
||||
5. capacity를 `gx10-vllm=4`, `onexplayer-lemonade=3`, `mac-mlx-vllm=3`으로 맞춘 후보 config를 refresh apply하고 Edge process가 유지되는지 확인한다. Node adapter capacity 변경이 `restart_required`로 반환되면 Edge process를 새 config로 재시작한 뒤 Node reconnect 상태를 확인한다.
|
||||
6. `qwen3.6:35b`로 `/v1/responses`와 `/v1/chat/completions` 각각에 provider capacity 총합 + 1개 동시 요청을 보낸다.
|
||||
|
|
|
|||
Loading…
Reference in a new issue