dsh-chat-tide 0.2.1 → 0.2.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.
- package/CHANGELOG.md +11 -0
- package/lib/client.js +1 -2
- package/lib/schema.js +12 -12
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.2.2
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
|
|
7
|
+
- The session picker rendered once per settings group instead of once, because
|
|
8
|
+
its condition was global. It now renders only in the scope group.
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
|
|
12
|
+
- Scope is the first section on the settings page, before the switches.
|
|
13
|
+
|
|
3
14
|
## 0.2.1
|
|
4
15
|
|
|
5
16
|
### Fixed
|
package/lib/client.js
CHANGED
|
@@ -268,7 +268,6 @@ window.__ModuleLoader__.load({
|
|
|
268
268
|
if (state.loading) return h('p', { className: 'tide-note' }, t(T.loading));
|
|
269
269
|
|
|
270
270
|
const dirtyCount = Object.keys(state.dirty ?? {}).length;
|
|
271
|
-
const scopeFields = (state.groups ?? []).flatMap((g) => g.fields.map((f) => f[0]));
|
|
272
271
|
return h(
|
|
273
272
|
'div',
|
|
274
273
|
{ className: 'tide-panel' },
|
|
@@ -309,7 +308,7 @@ window.__ModuleLoader__.load({
|
|
|
309
308
|
onClear: () => clearKey(key),
|
|
310
309
|
}),
|
|
311
310
|
),
|
|
312
|
-
|
|
311
|
+
g.fields.some(([key]) => key === 'scope.sessionIds')
|
|
313
312
|
? h(
|
|
314
313
|
'div',
|
|
315
314
|
{ className: 'tide-row tide-row-block' },
|
package/lib/schema.js
CHANGED
|
@@ -76,7 +76,17 @@ export const RANGES = Object.freeze({
|
|
|
76
76
|
|
|
77
77
|
/** 页面上的分组与文案(一次改全)。 */
|
|
78
78
|
export const GROUPS = Object.freeze([
|
|
79
|
-
freezeGroup(
|
|
79
|
+
freezeGroup(
|
|
80
|
+
['作用域', 'Scope'],
|
|
81
|
+
['哪些会话归它管。默认跟随 dsh-qqbot:QQ 会话 + 同一工作区的本地会话;私聊不参与接茬判定,只要在作用域内就照常注入', 'Which conversations it manages. Default follows dsh-qqbot: QQ sessions plus local sessions in the same workspace. Private chats are never screened for waking; if in scope they still get memory injected'],
|
|
82
|
+
[
|
|
83
|
+
['scope.mode', ['作用域', 'Scope'], 'select', ['follow', 'workspace', 'sessions', 'off']],
|
|
84
|
+
['scope.cwd', ['工作区路径', 'Workspace path'], 'text'],
|
|
85
|
+
['scope.sessionIds', ['会话 id(逗号分隔)', 'Session ids (comma separated)'], 'text'],
|
|
86
|
+
['scope.includeSubagents', ['包含子代理', 'Include subagents'], 'bool'],
|
|
87
|
+
],
|
|
88
|
+
),
|
|
89
|
+
freezeGroup(['开关', 'Switches'], ['第 1–7 步的闸门:关掉哪一步,那一步就不再生效', 'Gates for steps 1-7: disabling one removes that stage'], [
|
|
80
90
|
['features.routing', ['群聊初筛', 'Group screening'], 'bool'],
|
|
81
91
|
['features.contextInject', ['上下文注入', 'Context injection'], 'bool'],
|
|
82
92
|
['context.unifySessions', ['统一会话', 'Unify sessions'], 'bool'],
|
|
@@ -88,17 +98,7 @@ export const GROUPS = Object.freeze([
|
|
|
88
98
|
['extract.storeAttention', ['写入关注点', 'Store attention'], 'bool'],
|
|
89
99
|
['diagnostics.injectLog', ['注入日志', 'Injection log'], 'bool'],
|
|
90
100
|
]),
|
|
91
|
-
|
|
92
|
-
['作用域', 'Scope'],
|
|
93
|
-
['哪些会话归它管。默认跟随 dsh-qqbot:QQ 会话 + 同一工作区的本地会话;私聊不参与接茬判定,只要在作用域内就照常注入', 'Which conversations it manages. Default follows dsh-qqbot: QQ sessions plus local sessions in the same workspace. Private chats are never screened for waking; if in scope they still get memory injected'],
|
|
94
|
-
[
|
|
95
|
-
['scope.mode', ['作用域', 'Scope'], 'select', ['follow', 'workspace', 'sessions', 'off']],
|
|
96
|
-
['scope.cwd', ['工作区路径', 'Workspace path'], 'text'],
|
|
97
|
-
['scope.sessionIds', ['会话 id(逗号分隔)', 'Session ids (comma separated)'], 'text'],
|
|
98
|
-
['scope.includeSubagents', ['包含子代理', 'Include subagents'], 'bool'],
|
|
99
|
-
],
|
|
100
|
-
),
|
|
101
|
-
freezeGroup(['接茬判定', 'Waking'], ['第 3 步:什么消息值得我开口,以及开口的频率', 'Step 3: what is worth answering, and how often'], [
|
|
101
|
+
freezeGroup(['接茬判定', 'Waking'], ['第 3 步:什么消息值得我开口,以及开口的频率', 'Step 3: what is worth answering, and how often'], [
|
|
102
102
|
['routing.attentionThreshold', ['关注点命中阈值', 'Attention hit threshold'], 'num'],
|
|
103
103
|
['routing.attentionMargin', ['关注点区分度(与第二名的差距)', 'Attention gap over runner-up'], 'num'],
|
|
104
104
|
['routing.ambientReplyProbability', ['探索概率(不在关注点内)', 'Exploration chance (outside attention)'], 'num'],
|