feat: 实现Redis集成协议并重构项目控制台
refactor(backend): 重构后端服务以支持Redis协议 feat(backend): 添加Redis客户端和服务模块 feat(backend): 实现命令和日志路由处理Redis交互 refactor(frontend): 重构前端状态管理和组件结构 feat(frontend): 实现基于Redis的日志和命令功能 docs: 添加Redis集成协议文档 chore: 更新ESLint配置和依赖
This commit is contained in:
15
openspec/changes/update-redis-protocol/specs/command/spec.md
Normal file
15
openspec/changes/update-redis-protocol/specs/command/spec.md
Normal file
@@ -0,0 +1,15 @@
|
||||
## MODIFIED Requirements
|
||||
|
||||
### Requirement: Command Sending to Redis
|
||||
The system SHALL send commands to a per-target Redis key.
|
||||
|
||||
#### Scenario: Console enqueues a command for a target project
|
||||
- **WHEN** the user sends a command from the console
|
||||
- **THEN** the backend SHALL append a JSON message to Redis LIST key `${targetProjectName}_控制`
|
||||
- **AND** the JSON message SHALL represent the command payload (an object)
|
||||
|
||||
#### Scenario: Target project consumes a command
|
||||
- **WHEN** a target project listens for commands
|
||||
- **THEN** it SHALL consume messages from `${projectName}_控制` as JSON objects
|
||||
- **AND** it SHOULD use Redis LIST queue semantics (producer `RPUSH`, consumer `BLPOP`)
|
||||
- **AND** if `BLPOP` is not available, it MAY use a `LRANGE` + `LTRIM` compatibility pattern
|
||||
Reference in New Issue
Block a user