first commit

This commit is contained in:
npc0-hue
2026-07-11 14:56:10 +08:00
commit 7e05d0a4e7
660 changed files with 78119 additions and 0 deletions
@@ -0,0 +1,78 @@
## ADDED Requirements
### Requirement: Server detail operations workspace
The server detail page SHALL serve as the primary workspace for day-to-day management of a single server.
#### Scenario: Server detail exposes core sections
- **WHEN** an authorized server owner, server administrator, or platform administrator opens a server detail page
- **THEN** the page provides access to overview, logs, configuration, plugin controls, LLM configuration assistance, and operation history for that server
#### Scenario: Server detail header shows live status
- **WHEN** server status data is available
- **THEN** the server detail header shows online/offline state, player count, TPS, latency, CPU usage, memory usage, and disk usage
### Requirement: Plugin controls are grouped inside server detail
The server detail page SHALL display plugin control surfaces grouped by plugin for the selected server.
#### Scenario: Server plugin controls are visible by plugin
- **WHEN** a server has manageable plugins installed
- **THEN** the plugin controls section displays each plugin as a separate group with that plugin's available controls for the selected server
#### Scenario: Plugin marketplace is not the daily control surface
- **WHEN** a user needs to run a plugin action for a specific server
- **THEN** the user can perform the action from that server's detail page without first navigating to the plugin marketplace
### Requirement: Per-server plugin isolation
The system SHALL treat plugin controls, state, configuration, and operation history as scoped to a server instance.
#### Scenario: Same plugin on multiple servers is isolated
- **WHEN** two servers use the same plugin
- **THEN** each server detail page shows independent plugin state, configuration, actions, and operation history for that server
#### Scenario: Plugin action target is unambiguous
- **WHEN** a user submits a plugin action from a server detail page
- **THEN** the action target is the selected server and selected plugin group shown in the current page context
### Requirement: Logs are filterable and inspectable
The server detail logs section SHALL allow users to locate and inspect relevant logs for the selected server.
#### Scenario: Logs support common filters
- **WHEN** a user opens server logs
- **THEN** the logs section provides filters for level, keyword, time range, and source where data is available
#### Scenario: Log detail preserves context
- **WHEN** a user opens a log entry detail
- **THEN** the detail view shows the log content, timestamp, level, source, and relevant surrounding context or diagnostics when available
### Requirement: Configuration edits are reviewable
The server detail configuration section SHALL require review of changes before dispatching any server-side write job.
#### Scenario: Manual configuration edit shows diff
- **WHEN** a user edits server configuration and prepares to save
- **THEN** the UI shows a reviewable diff before the write operation can be submitted
#### Scenario: Configuration write targets selected server
- **WHEN** a user confirms a configuration diff
- **THEN** the resulting write operation targets only the selected server context
### Requirement: LLM configuration assistance is scoped to server detail
LLM configuration assistance SHALL operate within an explicit server context and produce recommendations or diffs for review.
#### Scenario: LLM suggestion produces reviewable output
- **WHEN** a user asks the LLM assistant to adjust server configuration
- **THEN** the assistant returns a recommendation or diff for the selected server without silently dispatching a write job
#### Scenario: LLM write requires confirmation
- **WHEN** a user accepts an LLM-generated configuration diff
- **THEN** the platform dispatches a write operation only after explicit user confirmation
### Requirement: Mobile server detail remains operable
The server detail workspace SHALL adapt to narrow screens using focused navigation patterns.
#### Scenario: Server detail tabs remain usable on narrow screen
- **WHEN** a user opens server detail on a narrow screen
- **THEN** overview, logs, configuration, plugin controls, LLM assistance, and operation history remain reachable through compact tabs or equivalent navigation
#### Scenario: Plugin groups collapse on narrow screen
- **WHEN** a user opens plugin controls on a narrow screen
- **THEN** plugin groups can be collapsed or expanded without losing the selected server context