dsh-env-manager-plugin 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +274 -250
  3. package/client.js +2581 -2581
  4. package/cordis.patch.yml +4 -4
  5. package/docs/00-project/current-state.md +32 -6
  6. package/docs/00-project/glossary.md +215 -215
  7. package/docs/00-project/project-brief.md +114 -114
  8. package/docs/00-project/roadmap.md +89 -89
  9. package/docs/01-architecture/DSH_Environment_Service_Memory_Skill_Brainstorm.md +493 -493
  10. package/docs/01-architecture/api-verification.md +416 -416
  11. package/docs/01-architecture/architecture-overview.md +222 -222
  12. package/docs/01-architecture/data-model.md +930 -930
  13. package/docs/01-architecture/decisions/ADR-0001-plugin-as-bundle.md +29 -29
  14. package/docs/01-architecture/decisions/ADR-0002-file-based-storage.md +25 -25
  15. package/docs/01-architecture/decisions/ADR-0003-skill-router-over-search.md +25 -25
  16. package/docs/01-architecture/decisions/ADR-0004-typescript-host-js-client.md +31 -31
  17. package/docs/01-architecture/decisions/ADR-0005-layered-rule-resolution.md +36 -36
  18. package/docs/01-architecture/decisions/ADR-0006-credentials-as-references.md +30 -30
  19. package/docs/01-architecture/decisions/ADR-0007-session-scoped-default-environment.md +28 -28
  20. package/docs/01-architecture/decisions/ADR-0008-memory-bridge-not-second-store.md +31 -31
  21. package/docs/01-architecture/decisions/ADR-0009-client-host-http-transport.md +87 -87
  22. package/docs/01-architecture/decisions/ADR-0010-environment-plane-model.md +87 -87
  23. package/docs/01-architecture/decisions/ADR-0011-k8s-node-execution-model.md +92 -92
  24. package/docs/01-architecture/design.md +666 -666
  25. package/docs/01-architecture/detailed-design.md +961 -961
  26. package/docs/01-architecture/implementation-plan.md +323 -323
  27. package/docs/01-architecture/module-boundaries.md +306 -306
  28. package/docs/01-architecture/security-model.md +227 -227
  29. package/docs/01-architecture/storage-contract.md +224 -224
  30. package/docs/01-architecture/tool-contract.md +438 -438
  31. package/docs/01-architecture/ui-design.md +587 -587
  32. package/docs/02-harness/agent-behavior.md +36 -36
  33. package/docs/02-harness/change-snapshot-policy.md +29 -29
  34. package/docs/02-harness/client-ui-integration.md +110 -110
  35. package/docs/02-harness/context-policy.md +43 -43
  36. package/docs/02-harness/harness-standard.md +91 -91
  37. package/docs/02-harness/task-execution-policy.md +26 -26
  38. package/docs/02-harness/verification-policy.md +97 -97
  39. package/docs/03-openspec/archive-rule.md +25 -25
  40. package/docs/03-openspec/bugfix-rule.md +30 -30
  41. package/docs/03-openspec/design-rule.md +33 -33
  42. package/docs/03-openspec/openspec-usage-guide.md +31 -31
  43. package/docs/03-openspec/proposal-rule.md +70 -70
  44. package/docs/03-openspec/spec-rule.md +33 -33
  45. package/docs/03-openspec/tasks-rule.md +31 -31
  46. package/docs/04-development/coding-style.md +67 -67
  47. package/docs/04-development/dependency-policy.md +43 -43
  48. package/docs/04-development/development-guide.md +85 -85
  49. package/docs/04-development/directory-convention.md +105 -105
  50. package/docs/04-development/local-run-guide.md +61 -55
  51. package/docs/04-development/testing-guide.md +102 -102
  52. package/docs/05-domain/deployment-template.md +76 -76
  53. package/docs/05-domain/environment-template.md +165 -165
  54. package/docs/05-domain/operation-binding-template.md +55 -55
  55. package/docs/05-domain/operation-record-template.md +55 -55
  56. package/docs/05-domain/prompt-template.md +90 -90
  57. package/docs/05-domain/rule-template.md +73 -73
  58. package/docs/05-domain/service-template.md +39 -39
  59. package/docs/06-operations/deployment-guide.md +54 -54
  60. package/docs/06-operations/release.md +198 -188
  61. package/docs/06-operations/security-policy.md +53 -53
  62. package/docs/06-operations/troubleshooting.md +141 -91
  63. package/docs/07-templates/adr-template.md +21 -21
  64. package/docs/07-templates/bugfix-template.md +11 -11
  65. package/docs/07-templates/case-template.md +15 -15
  66. package/docs/07-templates/design-template.md +29 -29
  67. package/docs/07-templates/proposal-template.md +19 -19
  68. package/docs/07-templates/spec-template.md +15 -15
  69. package/docs/07-templates/tasks-template.md +12 -12
  70. package/docs/99-archive/README.md +13 -13
  71. package/docs/README.md +142 -142
  72. package/icon.svg +4 -4
  73. package/index.js +31 -8
  74. package/lib/app/app.d.ts +1 -1
  75. package/lib/app/app.js +4 -1
  76. package/lib/app/app.js.map +1 -1
  77. package/lib/skill.js +37 -37
  78. package/locale/en.json +6 -6
  79. package/locale/zh.json +6 -6
  80. package/package.json +101 -99
  81. package/scripts/repair-profile.mjs +141 -0
@@ -1,114 +1,114 @@
1
- # Project Brief
2
-
3
- ## Project Name
4
-
5
- DSH Environment Manager (`dsh-env-manager`)
6
-
7
- ## Positioning
8
-
9
- A DSH (DeepSeek Harness) plugin that gives every session a shared, queryable context of enterprise environments, services, deployments, rules and operation-to-Skill bindings.
10
-
11
- It is the "where do I work, what am I touching, which rules apply, which Skill runs it, what have we learned" layer for operational Agents.
12
-
13
- ## Core Value
14
-
15
- The project turns:
16
-
17
- ```text
18
- scattered environment facts + ad-hoc SSH notes + tribal deployment knowledge
19
- ```
20
-
21
- into:
22
-
23
- ```text
24
- structured environment registry + service catalog + deployment bindings
25
- + resolvable rules with provenance + deterministic Skill routing
26
- + scoped memory references
27
- ```
28
-
29
- ## Primary Users
30
-
31
- - Platform and DevOps engineers
32
- - SREs and operations staff
33
- - Backend developers deploying to shared environments
34
- - AI-assisted development users running DSH sessions
35
-
36
- ## Main Workflows
37
-
38
- ### Workflow 1: Resolve Environment Context
39
-
40
- ```text
41
- Agent asks: "Where does aicoservice run in test-a?"
42
- → look up environment and service
43
- → match the deployment binding
44
- → resolve layered rules
45
- → return a Service Context with provenance
46
- ```
47
-
48
- ### Workflow 2: Route an Operation to a Skill
49
-
50
- ```text
51
- Agent asks: "Redeploy aicoservice in test-a"
52
- → resolve the Service Context
53
- → match operation bindings by scope
54
- → detect conflicts
55
- → check Skill availability
56
- → return the Skill reference and mapped parameters with policy
57
- ```
58
-
59
- ### Workflow 3: Configure the Registry
60
-
61
- ```text
62
- Engineer adds environment, hosts, clusters and roles
63
- → adds services with Git URLs and artifacts
64
- → adds deployment bindings
65
- → adds rule profiles and overrides
66
- → previews resolved paths and bindings
67
- ```
68
-
69
- ### Workflow 4: Accumulate Experience (P1)
70
-
71
- ```text
72
- Operation completes
73
- → emit a redacted operation record
74
- → query prior observations for the same scope
75
- → propose a rule or Skill change for review
76
- → never auto-apply
77
- ```
78
-
79
- ## Core Principles
80
-
81
- - File-based registry is the source of truth.
82
- - Credentials are references; values live elsewhere.
83
- - Skill routing is explicit, deterministic and conflict-aware.
84
- - Derived values are labelled as derived; only checks can mark them verified.
85
- - Conflicting or missing data fails loudly.
86
- - Memory stores the lesson; this plugin stores the context.
87
-
88
- ## V1 Scope
89
-
90
- Delivered:
91
-
92
- 1. DSH bundle with Host and Client halves.
93
- 2. File-based registry for environments, services, deployments, rules and operation bindings.
94
- 3. Manual configuration through tools and a minimal Web/Desktop UI.
95
- 4. Layered rule resolution with provenance.
96
- 5. Deterministic operation-to-Skill routing with availability and policy checks.
97
- 6. Read-only tools usable from every session.
98
- 7. Session-scoped default environment.
99
-
100
- Deferred:
101
-
102
- - Remote execution adapters (SSH, Docker, Kubernetes).
103
- - Automatic deployment or rollback.
104
- - Automatic fact extraction from repositories or manifests.
105
- - Memory bridge implementation (contract only in V1).
106
- - Automatic rule or Skill evolution.
107
-
108
- ## Non-goals
109
-
110
- - Not a CMDB replacement.
111
- - Not a secret vault.
112
- - Not a remote execution engine.
113
- - Not an unsupervised self-modifying rule system.
114
- - Not a database-backed platform.
1
+ # Project Brief
2
+
3
+ ## Project Name
4
+
5
+ DSH Environment Manager (`dsh-env-manager`)
6
+
7
+ ## Positioning
8
+
9
+ A DSH (DeepSeek Harness) plugin that gives every session a shared, queryable context of enterprise environments, services, deployments, rules and operation-to-Skill bindings.
10
+
11
+ It is the "where do I work, what am I touching, which rules apply, which Skill runs it, what have we learned" layer for operational Agents.
12
+
13
+ ## Core Value
14
+
15
+ The project turns:
16
+
17
+ ```text
18
+ scattered environment facts + ad-hoc SSH notes + tribal deployment knowledge
19
+ ```
20
+
21
+ into:
22
+
23
+ ```text
24
+ structured environment registry + service catalog + deployment bindings
25
+ + resolvable rules with provenance + deterministic Skill routing
26
+ + scoped memory references
27
+ ```
28
+
29
+ ## Primary Users
30
+
31
+ - Platform and DevOps engineers
32
+ - SREs and operations staff
33
+ - Backend developers deploying to shared environments
34
+ - AI-assisted development users running DSH sessions
35
+
36
+ ## Main Workflows
37
+
38
+ ### Workflow 1: Resolve Environment Context
39
+
40
+ ```text
41
+ Agent asks: "Where does aicoservice run in test-a?"
42
+ → look up environment and service
43
+ → match the deployment binding
44
+ → resolve layered rules
45
+ → return a Service Context with provenance
46
+ ```
47
+
48
+ ### Workflow 2: Route an Operation to a Skill
49
+
50
+ ```text
51
+ Agent asks: "Redeploy aicoservice in test-a"
52
+ → resolve the Service Context
53
+ → match operation bindings by scope
54
+ → detect conflicts
55
+ → check Skill availability
56
+ → return the Skill reference and mapped parameters with policy
57
+ ```
58
+
59
+ ### Workflow 3: Configure the Registry
60
+
61
+ ```text
62
+ Engineer adds environment, hosts, clusters and roles
63
+ → adds services with Git URLs and artifacts
64
+ → adds deployment bindings
65
+ → adds rule profiles and overrides
66
+ → previews resolved paths and bindings
67
+ ```
68
+
69
+ ### Workflow 4: Accumulate Experience (P1)
70
+
71
+ ```text
72
+ Operation completes
73
+ → emit a redacted operation record
74
+ → query prior observations for the same scope
75
+ → propose a rule or Skill change for review
76
+ → never auto-apply
77
+ ```
78
+
79
+ ## Core Principles
80
+
81
+ - File-based registry is the source of truth.
82
+ - Credentials are references; values live elsewhere.
83
+ - Skill routing is explicit, deterministic and conflict-aware.
84
+ - Derived values are labelled as derived; only checks can mark them verified.
85
+ - Conflicting or missing data fails loudly.
86
+ - Memory stores the lesson; this plugin stores the context.
87
+
88
+ ## V1 Scope
89
+
90
+ Delivered:
91
+
92
+ 1. DSH bundle with Host and Client halves.
93
+ 2. File-based registry for environments, services, deployments, rules and operation bindings.
94
+ 3. Manual configuration through tools and a minimal Web/Desktop UI.
95
+ 4. Layered rule resolution with provenance.
96
+ 5. Deterministic operation-to-Skill routing with availability and policy checks.
97
+ 6. Read-only tools usable from every session.
98
+ 7. Session-scoped default environment.
99
+
100
+ Deferred:
101
+
102
+ - Remote execution adapters (SSH, Docker, Kubernetes).
103
+ - Automatic deployment or rollback.
104
+ - Automatic fact extraction from repositories or manifests.
105
+ - Memory bridge implementation (contract only in V1).
106
+ - Automatic rule or Skill evolution.
107
+
108
+ ## Non-goals
109
+
110
+ - Not a CMDB replacement.
111
+ - Not a secret vault.
112
+ - Not a remote execution engine.
113
+ - Not an unsupervised self-modifying rule system.
114
+ - Not a database-backed platform.
@@ -1,89 +1,89 @@
1
- # Roadmap
2
-
3
- Aligned with the brainstorm (§9) and V1 design.
4
-
5
- ## V0 — Design (complete)
6
-
7
- - [x] Brainstorm captured
8
- - [x] Repository and docs hub initialized
9
- - [x] V1 design suite written
10
- - [x] DSH runtime APIs verified (probes V1–V8 remain, tracked in `api-verification.md`)
11
-
12
- ## V1 = P0: Registry and Context Resolution (complete; Phase 1 + 1.1 plane/K8s model live)
13
-
14
- Goal: a working plugin that any session can query, with deterministic routing.
15
-
16
- Implemented: Host modules, ten tools, HTTP API, panel, 48 tests, profile install. Phase 1
17
- adds the environment/plane model (ADR-0010): shell-only environment creation, role-filtered
18
- plane tabs, multi-role node add/edit, batch import, search and mandatory roles. Phase 1.1
19
- adds K8s/Pod node classification and command surfaces (ADR-0011): `Host.kind`,
20
- `Host.access`, `Host.clusterRef`, `Cluster.topology` and a Kubernetes/clusters tab. Account
21
- web login URLs and password-to-credential account editing are also implemented.
22
- Remaining: probes V4/V6, light-theme QA, row-level delete and private-key rotation.
23
-
24
- Scope:
25
-
26
- 1. TypeScript Host scaffold and build.
27
- 2. Local shared persistence (YAML files).
28
- 3. Manual configuration of environments, hosts, clusters, roles and co-location.
29
- 4. Manual service catalog with Git URLs and artifacts.
30
- 5. Deployment bindings for native, Docker and Kubernetes.
31
- 6. Rule profiles with layered overrides and provenance.
32
- 7. Operation bindings with scoped routing, conflict detection and availability checks.
33
- 8. Read-only tools for all sessions.
34
- 9. Session-scoped default environment.
35
- 10. Minimal Web/Desktop configuration UI with context preview.
36
-
37
- Acceptance: AC-01 … AC-08 in `docs/01-architecture/design.md` §14.
38
-
39
- ## Phase 1.1: K8s node and execution model (complete)
40
-
41
- - `Host.kind`: `vm`, `physical`, `k8s-all-in-one`, `k8s-worker`, `pod-host`.
42
- - `Host.access`: `ssh`, `kubectl`, `docker`; metadata only, not authorization.
43
- - `Host.clusterRef` for Kubernetes and Pod-hosting machines; required for K8s node kinds.
44
- - `Cluster.topology`: `all-in-one`, `separate`, `external`.
45
- - Node form kind/cluster/access controls, node badges/search and a Kubernetes/clusters tab.
46
- - Pods stay in the deployment model; `pod-host` models the machine reached by `docker exec`.
47
- - Account-level web login URL, password-to-credential bridge and in-place account edit.
48
-
49
- ## P1: Minimal Experience Loop
50
-
51
- Goal: turn operations into reusable, reviewed knowledge.
52
-
53
- Scope:
54
-
55
- 1. Stable contract with the memory plugin.
56
- 2. Memory queries scoped by environment/service/deployment.
57
- 3. Operation Records and sanitized Evidence References.
58
- 4. Candidate knowledge generation.
59
- 5. Rule and Skill improvement proposals in a review queue.
60
- 6. Reliable session-default persistence and recovery.
61
-
62
- Acceptance: AC-09, AC-10.
63
-
64
- ## Phase 2: Topology depth
65
-
66
- - Database primary/replica/sharding metadata on top of the `database` role, without
67
- duplicating `hosts[]`.
68
- - Row-level delete for nodes, accounts and login records.
69
- - Credential rotation and optional key/passphrase input.
70
- - Optional JumpServer/PAM import for accounts and login observations.
71
-
72
- ## V1.1 / V2: Continuous Evolution
73
-
74
- - SSH/SFTP adapter.
75
- - Docker and Kubernetes remote adapters.
76
- - Log and evidence collection helpers.
77
- - Automatic operation event capture and log redaction.
78
- - Fact extraction from Git, Maven, Dockerfile and Helm.
79
- - Proposal impact analysis, regression checks, publish and rollback.
80
- - Automatic asset discovery and multi-instance sync.
81
- - Multi-user collaboration and richer authorization.
82
-
83
- ## Explicitly Not Committed
84
-
85
- - Fully automatic deployment or self-healing.
86
- - Unreviewed production rule or Skill changes.
87
- - Audit coverage of every external SSH/browser action.
88
- - Configuration inference replacing real checks.
89
- - Building a bastion host, CMDB or scheduling platform.
1
+ # Roadmap
2
+
3
+ Aligned with the brainstorm (§9) and V1 design.
4
+
5
+ ## V0 — Design (complete)
6
+
7
+ - [x] Brainstorm captured
8
+ - [x] Repository and docs hub initialized
9
+ - [x] V1 design suite written
10
+ - [x] DSH runtime APIs verified (probes V1–V8 remain, tracked in `api-verification.md`)
11
+
12
+ ## V1 = P0: Registry and Context Resolution (complete; Phase 1 + 1.1 plane/K8s model live)
13
+
14
+ Goal: a working plugin that any session can query, with deterministic routing.
15
+
16
+ Implemented: Host modules, ten tools, HTTP API, panel, 48 tests, profile install. Phase 1
17
+ adds the environment/plane model (ADR-0010): shell-only environment creation, role-filtered
18
+ plane tabs, multi-role node add/edit, batch import, search and mandatory roles. Phase 1.1
19
+ adds K8s/Pod node classification and command surfaces (ADR-0011): `Host.kind`,
20
+ `Host.access`, `Host.clusterRef`, `Cluster.topology` and a Kubernetes/clusters tab. Account
21
+ web login URLs and password-to-credential account editing are also implemented.
22
+ Remaining: probes V4/V6, light-theme QA, row-level delete and private-key rotation.
23
+
24
+ Scope:
25
+
26
+ 1. TypeScript Host scaffold and build.
27
+ 2. Local shared persistence (YAML files).
28
+ 3. Manual configuration of environments, hosts, clusters, roles and co-location.
29
+ 4. Manual service catalog with Git URLs and artifacts.
30
+ 5. Deployment bindings for native, Docker and Kubernetes.
31
+ 6. Rule profiles with layered overrides and provenance.
32
+ 7. Operation bindings with scoped routing, conflict detection and availability checks.
33
+ 8. Read-only tools for all sessions.
34
+ 9. Session-scoped default environment.
35
+ 10. Minimal Web/Desktop configuration UI with context preview.
36
+
37
+ Acceptance: AC-01 … AC-08 in `docs/01-architecture/design.md` §14.
38
+
39
+ ## Phase 1.1: K8s node and execution model (complete)
40
+
41
+ - `Host.kind`: `vm`, `physical`, `k8s-all-in-one`, `k8s-worker`, `pod-host`.
42
+ - `Host.access`: `ssh`, `kubectl`, `docker`; metadata only, not authorization.
43
+ - `Host.clusterRef` for Kubernetes and Pod-hosting machines; required for K8s node kinds.
44
+ - `Cluster.topology`: `all-in-one`, `separate`, `external`.
45
+ - Node form kind/cluster/access controls, node badges/search and a Kubernetes/clusters tab.
46
+ - Pods stay in the deployment model; `pod-host` models the machine reached by `docker exec`.
47
+ - Account-level web login URL, password-to-credential bridge and in-place account edit.
48
+
49
+ ## P1: Minimal Experience Loop
50
+
51
+ Goal: turn operations into reusable, reviewed knowledge.
52
+
53
+ Scope:
54
+
55
+ 1. Stable contract with the memory plugin.
56
+ 2. Memory queries scoped by environment/service/deployment.
57
+ 3. Operation Records and sanitized Evidence References.
58
+ 4. Candidate knowledge generation.
59
+ 5. Rule and Skill improvement proposals in a review queue.
60
+ 6. Reliable session-default persistence and recovery.
61
+
62
+ Acceptance: AC-09, AC-10.
63
+
64
+ ## Phase 2: Topology depth
65
+
66
+ - Database primary/replica/sharding metadata on top of the `database` role, without
67
+ duplicating `hosts[]`.
68
+ - Row-level delete for nodes, accounts and login records.
69
+ - Credential rotation and optional key/passphrase input.
70
+ - Optional JumpServer/PAM import for accounts and login observations.
71
+
72
+ ## V1.1 / V2: Continuous Evolution
73
+
74
+ - SSH/SFTP adapter.
75
+ - Docker and Kubernetes remote adapters.
76
+ - Log and evidence collection helpers.
77
+ - Automatic operation event capture and log redaction.
78
+ - Fact extraction from Git, Maven, Dockerfile and Helm.
79
+ - Proposal impact analysis, regression checks, publish and rollback.
80
+ - Automatic asset discovery and multi-instance sync.
81
+ - Multi-user collaboration and richer authorization.
82
+
83
+ ## Explicitly Not Committed
84
+
85
+ - Fully automatic deployment or self-healing.
86
+ - Unreviewed production rule or Skill changes.
87
+ - Audit coverage of every external SSH/browser action.
88
+ - Configuration inference replacing real checks.
89
+ - Building a bastion host, CMDB or scheduling platform.