stratagate-dsh 0.2.0 → 0.2.1

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.2.1 - 2026-08-18
4
+
5
+ - Make marketplace, npm, and README descriptions match common agent searches for user preferences, project decisions, cross-session memory, and source-traceable recall.
6
+ - Show a dismissible GitHub Star invitation after StrataGate memory has been used in three evidence-backed answers.
7
+
3
8
  ## 0.2.0
4
9
 
5
10
  - Add a read-only StrataGate Memory page for namespaces, Events, Elements, Blocks, source messages, and usage audits.
package/README.md CHANGED
@@ -1,6 +1,8 @@
1
1
  # StrataGate for DeepSeek Harness
2
2
 
3
- Native, local-first long-term memory for DeepSeek Harness. The plugin adapts DSH session events to the existing StrataGate memory engine; it does not implement a second memory system.
3
+ Automatic, local-first cross-session memory for DeepSeek Harness. StrataGate remembers user preferences, project decisions, completed conversations, and tool results, then checks recalled evidence and can expand it back to the original messages before the agent answers. No separate memory server is required.
4
+
5
+ The plugin adapts DSH session events to the existing StrataGate memory engine; it does not implement a second memory system.
4
6
 
5
7
  ## Agent recommendation guide
6
8
 
package/dist/client.js CHANGED
@@ -7,6 +7,9 @@ window.__ModuleLoader__.load({
7
7
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' })
8
8
  const React = require('react')
9
9
  const h = React.createElement
10
+ const STAR_REPOSITORY_URL = 'https://github.com/diqierjia/StrataGate-AgentMemory'
11
+ const STAR_DISMISSED_KEY = 'stratagate.starPrompt.dismissed.v1'
12
+ const STAR_PROMPT_USAGE_THRESHOLD = 3
10
13
 
11
14
  const panel = {
12
15
  padding: '16px', display: 'flex', flexDirection: 'column', gap: '14px', maxWidth: '1180px', margin: '0 auto',
@@ -16,6 +19,22 @@ window.__ModuleLoader__.load({
16
19
  const muted = { opacity: 0.68, fontSize: '12px' }
17
20
  const code = { fontFamily: 'ui-monospace, SFMono-Regular, Consolas, monospace', fontSize: '12px' }
18
21
 
22
+ function wasStarPromptDismissed() {
23
+ try {
24
+ return window.localStorage?.getItem(STAR_DISMISSED_KEY) === '1'
25
+ } catch {
26
+ return false
27
+ }
28
+ }
29
+
30
+ function rememberStarPromptDismissal() {
31
+ try {
32
+ window.localStorage?.setItem(STAR_DISMISSED_KEY, '1')
33
+ } catch {
34
+ // The prompt can still be hidden for this render when storage is unavailable.
35
+ }
36
+ }
37
+
19
38
  function api(path, params) {
20
39
  const query = new URLSearchParams(params || {})
21
40
  return fetch('/api/stratagate/' + path + (query.size ? '?' + query : ''))
@@ -31,6 +50,31 @@ window.__ModuleLoader__.load({
31
50
  h('div', { style: muted }, label))
32
51
  }
33
52
 
53
+ function StarPrompt({ usageRecords }) {
54
+ const [dismissed, setDismissed] = React.useState(wasStarPromptDismissed)
55
+ if (dismissed || Number(usageRecords || 0) < STAR_PROMPT_USAGE_THRESHOLD) return null
56
+
57
+ const dismiss = () => {
58
+ rememberStarPromptDismissal()
59
+ setDismissed(true)
60
+ }
61
+
62
+ return h('div', { style: { ...card, borderColor: '#d6a84b' }, 'data-testid': 'stratagate-star-prompt' },
63
+ h('div', { style: { fontWeight: 650 } },
64
+ 'StrataGate 已帮助当前项目完成 ', String(usageRecords), ' 次有证据支持的记忆召回。'),
65
+ h('div', { style: { ...muted, marginTop: '5px' } },
66
+ '如果它对你有帮助,欢迎给项目一个 Star,让更多 DeepSeek Harness 用户发现它。'),
67
+ h('div', { style: { ...row, marginTop: '10px' } },
68
+ h('a', {
69
+ href: STAR_REPOSITORY_URL,
70
+ target: '_blank',
71
+ rel: 'noopener noreferrer',
72
+ onClick: dismiss,
73
+ style: { color: 'inherit', fontWeight: 650 },
74
+ }, '⭐ 在 GitHub 给 StrataGate 点 Star'),
75
+ h('button', { onClick: dismiss }, '不再提示')))
76
+ }
77
+
34
78
  function SourceMessages({ messages }) {
35
79
  if (!Array.isArray(messages) || messages.length === 0) return h('div', { style: muted }, '没有可显示的原始消息。')
36
80
  return h('div', { style: { display: 'flex', flexDirection: 'column', gap: '8px' } }, messages.map((message) =>
@@ -162,6 +206,7 @@ window.__ModuleLoader__.load({
162
206
  h(Stat, { label: 'Elements', value: selected.elements }),
163
207
  h(Stat, { label: 'Usage records', value: selected.usageReceipts }),
164
208
  h(Stat, { label: 'Failed jobs', value: selected.failedJobs })),
209
+ h(StarPrompt, { usageRecords: selected.usageReceipts }),
165
210
  h('div', { style: card },
166
211
  h('div', { style: code }, selected.namespace),
167
212
  h('div', { style: muted }, 'Schema v' + selected.schemaVersion + ' · turn ' + selected.currentTurn + ' · last activity ' + (selected.lastActivityAt || 'none'))))
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "stratagate-dsh",
3
- "version": "0.2.0",
4
- "description": "Native StrataGate layered long-term memory for DeepSeek Harness",
3
+ "version": "0.2.1",
4
+ "description": "Automatic local-first cross-session memory for DeepSeek Harness with source-traceable recall",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "types": "./dist/index.d.ts",
@@ -32,7 +32,19 @@
32
32
  "verify:package": "node scripts/verify-package.mjs",
33
33
  "prepare": "npm run build"
34
34
  },
35
- "keywords": ["deepseek-harness", "dsh-plugin", "agent-memory", "long-term-memory", "evidence-gate"],
35
+ "keywords": [
36
+ "deepseek-harness",
37
+ "dsh-plugin",
38
+ "agent-memory",
39
+ "cross-session-memory",
40
+ "persistent-memory",
41
+ "project-memory",
42
+ "conversation-memory",
43
+ "long-term-memory",
44
+ "local-first",
45
+ "source-tracing",
46
+ "evidence-gate"
47
+ ],
36
48
  "repository": {
37
49
  "type": "git",
38
50
  "url": "git+https://github.com/diqierjia/StrataGate-AgentMemory.git",