diff --git a/.codex/skills/netx-coding/SKILL.md b/.codex/skills/netx-coding/SKILL.md deleted file mode 100644 index 80525a6..0000000 --- a/.codex/skills/netx-coding/SKILL.md +++ /dev/null @@ -1,122 +0,0 @@ ---- -name: netx-coding -description: Use when implementing code changes in the netx repository across Rust crates, controller/core runtime, protocol DTOs, Admin Console, Desktop Core UI, build scripts, or verification flows. ---- - -# netx 编码 - -## 使用场景 - -在 `/root/Projects/Mine/netx` 中写代码、修 bug、改构建、改 API、改 UI 时使用。 - -## 先读 - -按任务读取: - -- 通用编码:`docs/specs/coding-guide.md` -- 架构边界:`docs/specs/architecture.md` -- 协议字段:`docs/specs/protocol.md` -- UI:`docs/specs/ui-design.md` -- 需求状态:`docs/specs/traceability.md` - -## 当前边界 - -只维护: - -- `netx-controller` -- `netx-core` -- `apps/netx-desktop` -- `web/admin` - -新增入口必须归入这些产品边界。 - -## 修改位置 - -| 任务 | 位置 | -| --- | --- | -| 控制 API、状态投影、任务、controller state/bootstrap/metrics/API DTO 聚合 | `crates/netx-controller/src/state.rs`、`bootstrap_plan.rs`、`runtime_metrics.rs`、`control_api_models.rs`、其它 `control_api_*` 模块 | -| Controller audit/session API、managed session 执行和 system metrics/diagnostics | `crates/netx-controller/src/sessions.rs`、`sessions_diagnostics.rs` | -| Controller core plan、gateway assignment helper 和 service projection | `crates/netx-controller/src/core_planner.rs`、`core_planner_gateway.rs`、`core_planner_http.rs`、`core_planner_services.rs` | -| Controller embedded gateway handler、bridge accept、hosted service supervisor、public/mixed entry、HTTP entry、HTTP3、HTTPS passthrough/terminate、routing/http/body/backend/connection 适配 | `crates/netx-controller/src/gateway_http_entry.rs`、`gateway_bridge_accept.rs`、`gateway_hosted_services.rs`、`gateway_public_entry.rs`、`gateway_mixed_entry.rs`、`gateway_http3.rs`、`gateway_https_passthrough.rs`、`gateway_https_terminate.rs`、`gateway_routing.rs`、`gateway_http.rs`、`gateway_body.rs`、`gateway_backend.rs`、`gateway_connection.rs` | -| Core 运行编排、heartbeat loop state、DeliveredConfig managed client/service/proxy/overlay runtime config selection、initial service/proxy selection、NAT probe binding snapshot、peer engine tick/requested-attempt TTL state、punch ready/候选排序/端口扫描策略和 punch attempt 到 peer identity 映射 | `crates/netx-core-runtime` | -| 共享路由、执行计划、path selection | `crates/netx-core-engine` | -| 本机 Local API | `crates/netx-core-local` | -| Core service 命令、低阶 CLI runtime、Controller API 命令、解析和报告 | `apps/netx-core/src/cli_service.rs`、`cli_local_runtime.rs`、`cli_controller_api.rs`、`cli_parse.rs`、`cli_reports.rs` | -| Core app session 前置/attached/bootstrap/startup/overlay/loop | `apps/netx-core/src/client_session.rs`、`client_session_attached.rs`、`client_session_bootstrap.rs`、`client_session_startup.rs`、`client_session_overlay.rs`、`client_session_loop.rs` | -| Core overlay hosts/DNS/resolved/NRPT 和 Linux transparent TCP intercept 执行胶水 | `apps/netx-core/src/overlay_integration.rs`、`overlay_transparent_proxy.rs` | -| Core local proxy 监听、协议 helper、NETX path、上游 TLS 和 proxy chain helper | `apps/netx-core/src/local_proxy.rs`、`local_proxy_protocol.rs`、`local_proxy_netx.rs`、`local_proxy_tls.rs`、`local_proxy_chain.rs` | -| Core NAT probe、punch poll、UDP/TCP punch 执行和直连/relay 隧道循环 | `apps/netx-core/src/punch_nat_probe.rs`、`punch.rs`、`punch_tunnel.rs` | -| 配置 | `crates/netx-config` | -| Wire DTO | `crates/netx-proto/src/wire.rs` | -| UI DTO | `crates/netx-ui-api` | -| 存储 service 注册/加载、service row mapping 和 overlay relay port 分配 | `crates/netx-control/src/service_store.rs` | -| 存储 service validation、service parse/normalize helper 和 service auth JSON helper | `crates/netx-control/src/service_validation.rs` | -| 存储控制面入口、overview、core state 聚合和剩余共享 validation/helper 方法 | `crates/netx-control/src/lib.rs` | -| StoreExecutor async wrapper | `crates/netx-control/src/executor.rs` | -| 存储 schema/open/migration/backfill | `crates/netx-control/src/schema.rs` | -| 存储 kv/singleton JSON helper | `crates/netx-control/src/kv.rs` | -| 存储 service token 生命周期 | `crates/netx-control/src/service_tokens.rs` | -| 存储 task/audit 持久层 | `crates/netx-control/src/audit_tasks.rs` | -| 存储 admin principal/token | `crates/netx-control/src/admin_store.rs` | -| 存储节点接入、心跳、NAT/overlay probe、enrollment 和 blocked identity | `crates/netx-control/src/node_store.rs` | -| 存储 Network/resource/membership、overlay subnet routes、node service capability 和 service gateway assignment KV store | `crates/netx-control/src/network_store.rs` | -| 存储 service config、local proxy config、managed client config、overlay policy 和 setup draft | `crates/netx-control/src/config_store.rs` | -| 存储公共记录/错误类型 | `crates/netx-control/src/models.rs` | -| Admin API client | `web/admin/src/lib/api/*` | -| Desktop 状态编排 | `apps/netx-desktop/src/composables/use-client-workbench.ts` | -| Desktop Tauri 命令/DTO/IPC/local/profile/projection/runtime/service/remote 边界 | `apps/netx-desktop/src-tauri/src/core_control.rs`、`core_control_models.rs`、`core_control_ipc.rs`、`core_control_local.rs`、`core_control_profile.rs`、`core_control_projection.rs`、`core_control_runtime.rs`、`core_control_service.rs`、`core_control_remote.rs` | - -## 实现规则 - -- Handler 做编排,不堆业务内核。 -- SQLite 访问走 `StoreExecutor`。 -- 协议新增先落 `netx-proto`。 -- UI 不自己推导 runtime plan。 -- 会话路径要同时看 Controller、Core、bridge executor、CLI/UI。 -- 拆模块时同步修测试显式 import。 -- 大验证分层跑,先轻后重。 - -## 重构期间 - -本 skill 描述当前有效工程结构,不用于阻止已确认的重构。 - -当重构改变以下内容时,同步更新本 skill 和 `docs/specs/coding-guide.md`、`docs/specs/architecture.md`: - -- 产品边界。 -- app / crate / module 责任。 -- 前端目录归属。 -- API 真相源。 -- 构建命令。 -- 验证命令。 -- 运行入口。 - -若本 skill 与当前源码或已确认重构目标冲突,以当前源码和重构目标为准,并在同次修改中修正本 skill。 - -## 验证 - -轻量: - -```bash -cargo check --workspace --all-targets -pnpm -C web/admin exec vue-tsc --noEmit -pnpm -C apps/netx-desktop exec vue-tsc --noEmit -``` - -仓库: - -```bash -make verify-workspace -make verify-linux -make verify-windows -``` - -前端: - -```bash -pnpm -C web/admin check:design-contracts -pnpm -C web/admin test -pnpm -C web/admin build -pnpm -C apps/netx-desktop check:design-contracts -pnpm -C apps/netx-desktop test -pnpm -C apps/netx-desktop build -``` diff --git a/.codex/skills/netx-design/SKILL.md b/.codex/skills/netx-design/SKILL.md deleted file mode 100644 index b093716..0000000 --- a/.codex/skills/netx-design/SKILL.md +++ /dev/null @@ -1,91 +0,0 @@ ---- -name: netx-design -description: Use when changing or reviewing netx Web Admin, Desktop Core UI, visual design contracts, navigation, components, page layout, copy, or frontend interaction behavior. ---- - -# netx UI 设计 - -## 使用场景 - -在 `/root/Projects/Mine/netx` 中处理这些内容时使用: - -- `web/admin` -- `apps/netx-desktop` -- 导航信息架构。 -- 页面布局。 -- 组件复用。 -- UI 文案。 -- 设计契约检查失败。 - -## 先读 - -按顺序读取: - -1. `docs/specs/ui-design.md` -2. `web/admin/src/app/routes.ts` -3. `web/admin/src/components/netx/*` -4. `web/admin/src/components/common/DataWorkbench.vue` -5. `apps/netx-desktop/src/App.vue` -6. `apps/netx-desktop/src/components/client/*` - -视觉资产在 `docs/design/netx-ui-dev-assets`。页面源码不得直接引用该目录。 - -## Admin 规则 - -- Admin 是高信息密度控制台。 -- 一级导航固定走 `Overview / Nodes / Networks / Gateways / Services / Routes / DNS / Security / Diagnostics / Settings`。 -- `Gateways` 是具有 Gateway capability 的节点视图。 -- `Services` 覆盖 HTTP、HTTPS、TCP、UDP、SOCKS5、Shadowsocks。 -- HTTP、Tunnel、SOCKS5、Shadowsocks 都归入 `Services`。 -- 页面优先复用 `components/netx` 和 `DataWorkbench`。 - -## Desktop 规则 - -- Desktop 是本机 Core 工作台。 -- 交互按 PC 分屏处理。 -- Desktop 不承载网络逻辑。 -- 通过 Local API / IPC 管理 `netx-core`。 -- 使用分屏工作台壳。 - -## 重构期间 - -本 skill 描述当前 UI 结构,不用于阻止已确认的 UI 或产品重构。 - -当重构改变以下内容时,同步更新本 skill 和 `docs/specs/ui-design.md`: - -- Admin 目录归属。 -- Desktop 目录归属。 -- 导航信息架构。 -- 组件入口。 -- 设计资产路径。 -- 设计检查命令。 -- 页面交互主模式。 - -若本 skill 与当前源码或已确认重构目标冲突,以当前源码和重构目标为准,并在同次修改中修正本 skill。 - -## 必跑检查 - -改 Admin: - -```bash -pnpm -C web/admin check:design-contracts -pnpm -C web/admin test -pnpm -C web/admin build -``` - -改 Desktop: - -```bash -pnpm -C apps/netx-desktop check:design-contracts -pnpm -C apps/netx-desktop test -pnpm -C apps/netx-desktop build -``` - -## 禁止项 - -- 不用原生 `