Files
2026-07-11 14:56:10 +08:00

2.3 KiB

ADDED Requirements

Requirement: Console exposes required pages

The platform web console SHALL provide 首页、服务器管理、插件市场、用户管理、AI 提供商管理 as first-party pages.

Scenario: Authenticated user opens console

  • WHEN an authenticated user opens platform_web
  • THEN the primary navigation MUST include 首页、服务器管理、插件市场、用户管理、AI 提供商管理

Requirement: Server management uses routed or modal details

Server management SHALL avoid fixed left-list/right-detail master-detail layouts and MUST use routed details, modal details, or drawers for server detail flows.

Scenario: User opens a server

  • WHEN a user selects a server from the server list
  • THEN platform_web MUST navigate to a detail route or open an overlay detail surface rather than permanently occupying a right-side detail pane

Requirement: Plugin page is hosted through platform context

Plugin page SHALL run inside a platform-controlled host that supplies theme tokens, server instance context, safe API access, AI invocation, log queries, artifact references, and job operations.

Scenario: Plugin page loads

  • WHEN a user opens an authorized plugin page for a server instance
  • THEN the host MUST pass only safe context and MUST not expose platform auth storage, AI keys, run credentials, or host paths

Requirement: Frontend definitions are centralized

platform_web SHALL keep API clients, route definitions, page contracts, bridge contracts, shared component types, schemas, and validation helpers in dedicated directories.

Scenario: New API call added

  • WHEN a frontend change adds a platform API call
  • THEN the call and related request/response types MUST live in the API/contract area rather than inside a view component

Requirement: Logs and files are separate user flows

The frontend SHALL treat log history/tail views and file/artifact operations as separate workflows so file operations do not imply log stream interruption.

Scenario: User uploads a file while viewing logs

  • WHEN a user uploads or downloads a server file from a plugin or file page
  • THEN active log history or tail views MUST continue to query or subscribe through the platform log APIs independently