45 lines
1.3 KiB
Plaintext
45 lines
1.3 KiB
Plaintext
@startuml Architecture Overview
|
|
skinparam componentStyle rectangle
|
|
skinparam shadowing false
|
|
skinparam ArrowColor #555
|
|
skinparam component {
|
|
BackgroundColor<<core>> #E8F5E9
|
|
BackgroundColor<<ui>> #E3F2FD
|
|
BackgroundColor<<ext>> #FFF3E0
|
|
}
|
|
|
|
package "Browser (Chat Sites)" <<ext>> {
|
|
[ChatGPT DOM]
|
|
[Claude DOM]
|
|
[Gemini DOM]
|
|
}
|
|
|
|
node "Userscript: AI Repo Commander" as Userscript {
|
|
component "Core Monitor" <<core>> as Monitor
|
|
component "Command Parser" <<core>> as Parser
|
|
component "Validation Engine" <<core>> as Validator
|
|
component "Execution Manager" <<core>> as Executor
|
|
component "Dedupe Store" <<core>> as Dedupe
|
|
component "Config Manager" <<core>> as Config
|
|
component "UI Panel (Tools/Settings)" <<ui>> as Panel
|
|
component "Inline Status UI" <<ui>> as InlineUI
|
|
}
|
|
|
|
cloud "Bridge API" <<ext>> as Bridge
|
|
|
|
' Relationships
|
|
[ChatGPT DOM] -down-> Monitor : observe assistant messages
|
|
[Claude DOM] -down-> Monitor
|
|
[Gemini DOM] -down-> Monitor
|
|
|
|
Monitor -> Parser : extract YAML blocks
|
|
Parser -> Validator : validate fields/actions
|
|
Validator -> Executor : approved commands
|
|
Executor -> Bridge : HTTP requests (key, action)
|
|
Executor --> InlineUI : progress + results
|
|
Monitor --> InlineUI : markers (processed, run again)
|
|
Panel <--> Config : view/edit config
|
|
Executor <--> Config : timeouts, retries
|
|
Monitor <--> Dedupe : per-convo records
|
|
|
|
@enduml |