@yfwu2020/dsh-selection-explain 0.9.1 → 0.10.0
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/README.md +70 -553
- package/lib/client.js +1896 -120
- package/lib/index.js +612 -188
- package/lib/index.js.map +1 -1
- package/lib/settings.js +3 -0
- package/lib/settings.js.map +1 -1
- package/lib/types/index.d.ts +90 -14
- package/native/mic-probe.c +160 -0
- package/package.json +5 -2
- package/scripts/build-vcard-lab.mjs +834 -0
- package/scripts/build.sh +17 -0
- package/scripts/fixtures/fake-mic-probe.sh +9 -0
- package/scripts/smoke-panel.mjs +235 -11
- package/scripts/test-client.mjs +1353 -54
- package/scripts/test-effort-map.mjs +129 -0
- package/scripts/test-effort-retry.mjs +109 -0
- package/scripts/test-filters.mjs +5 -88
- package/scripts/test-mic-idle.mjs +158 -0
- package/src/client/index.js +1896 -120
- package/src/index.ts +674 -179
- package/src/settings.ts +3 -0
package/lib/settings.js
CHANGED
|
@@ -76,11 +76,14 @@ export const SETTINGS_GROUPS = [
|
|
|
76
76
|
sections: [
|
|
77
77
|
{ "label": "划词入口", "keys": ["bridgeSidebarPreview"] },
|
|
78
78
|
{ "label": "悬浮入口", "keys": ["pillEnabled", "pillIdleMs"], "note": "费用胶囊显示时保持展开。" },
|
|
79
|
+
{ "label": "语音输入", "keys": ["voiceCancelOnSilence", "voiceAutoSend"], "note": "结束语音输入后不会立刻动作:先等输入法把字定下来(它还会补标点、改错词;约半秒,最长 4 秒)。" },
|
|
79
80
|
],
|
|
80
81
|
items: [
|
|
81
82
|
{ "key": "bridgeSidebarPreview", "kind": "switch", "label": "侧边栏网页划词", "hint": "选中文字后显示「解读」按钮。" },
|
|
82
83
|
{ "key": "pillEnabled", "kind": "switch", "label": "显示状态胶囊", "hint": "显示最近一次解读状态,点击打开或收起小窗。" },
|
|
83
84
|
{ "key": "pillIdleMs", "kind": "number", "label": "自动收起时间", "hint": "空闲达到此时长后缩成小球。", "unit": "秒", "min": 2000, "max": 600000, "step": 1000, "scale": 1000, "enabledBy": "pillEnabled" },
|
|
85
|
+
{ "key": "voiceCancelOnSilence", "kind": "switch", "label": "空录音时收起", "hint": "结束语音输入后,输入框里没字就收起卡片(等于按 Esc)。" },
|
|
86
|
+
{ "key": "voiceAutoSend", "kind": "switch", "label": "说完直接发送", "hint": "结束语音输入后,输入框里有字就直接发送(等于按发送键)。" },
|
|
84
87
|
],
|
|
85
88
|
},
|
|
86
89
|
{
|
package/lib/settings.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"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"}
|
package/lib/types/index.d.ts
CHANGED
|
@@ -106,6 +106,25 @@ export interface Config {
|
|
|
106
106
|
* 默认 10 秒:短于这个数会显得"刚看一眼就没了",长了又失去"收起来不挡视线"的意义。
|
|
107
107
|
*/
|
|
108
108
|
pillIdleMs: number;
|
|
109
|
+
/**
|
|
110
|
+
* 开麦结束、**一个字都没说**时,直接收起临时输入框。
|
|
111
|
+
*
|
|
112
|
+
* 默认开(2026-10-09 用户指定):等于替用户按了 Esc(带关机动画)。
|
|
113
|
+
* 关掉则回到"卡片留着" —— 一个字没说时可以接着手动打字。
|
|
114
|
+
*
|
|
115
|
+
* 注意"结束"不是"松手那一瞬间":输入法在松手后还会做一次**智能整理**(改写输入框内容),
|
|
116
|
+
* 所以真正动作要等到文字定稿(见客户端的 VOICE_SETTLE_MS)。否则会取消掉马上就要落进来的整理结果。
|
|
117
|
+
*/
|
|
118
|
+
voiceCancelOnSilence: boolean;
|
|
119
|
+
/**
|
|
120
|
+
* 开麦结束、**已经说出文字**时,直接发送(跳过手动点发送键)。
|
|
121
|
+
*
|
|
122
|
+
* 默认开(2026-10-09 用户指定):等于替用户点了发送键。
|
|
123
|
+
* 关掉则回到"先看一眼再点" —— 发送会开小窗、开始一次真实请求,不可逆。
|
|
124
|
+
*
|
|
125
|
+
* 同样要等文字定稿:松手那一刻输入法还没整理完,立刻发送发出去的是没整理的草稿。
|
|
126
|
+
*/
|
|
127
|
+
voiceAutoSend: boolean;
|
|
109
128
|
}
|
|
110
129
|
/** 配置 schema(缺省值即推荐值)。 */
|
|
111
130
|
export declare const Config: z<Schemastery.ObjectS<{
|
|
@@ -174,6 +193,10 @@ export declare const Config: z<Schemastery.ObjectS<{
|
|
|
174
193
|
pillEnabled: z<boolean, boolean>;
|
|
175
194
|
/** 静置收球时长(毫秒)——默认 10 秒,见 Config 注释。 */
|
|
176
195
|
pillIdleMs: z<number, number>;
|
|
196
|
+
/** 空录音是否收起卡片(默认开,见 Config 注释)。 */
|
|
197
|
+
voiceCancelOnSilence: z<boolean, boolean>;
|
|
198
|
+
/** 有字是否自动发送(默认开,见 Config 注释)。 */
|
|
199
|
+
voiceAutoSend: z<boolean, boolean>;
|
|
177
200
|
}>, Schemastery.ObjectT<{
|
|
178
201
|
provider: z<string, string>;
|
|
179
202
|
model: z<string, string>;
|
|
@@ -240,6 +263,10 @@ export declare const Config: z<Schemastery.ObjectS<{
|
|
|
240
263
|
pillEnabled: z<boolean, boolean>;
|
|
241
264
|
/** 静置收球时长(毫秒)——默认 10 秒,见 Config 注释。 */
|
|
242
265
|
pillIdleMs: z<number, number>;
|
|
266
|
+
/** 空录音是否收起卡片(默认开,见 Config 注释)。 */
|
|
267
|
+
voiceCancelOnSilence: z<boolean, boolean>;
|
|
268
|
+
/** 有字是否自动发送(默认开,见 Config 注释)。 */
|
|
269
|
+
voiceAutoSend: z<boolean, boolean>;
|
|
243
270
|
}>>;
|
|
244
271
|
/**
|
|
245
272
|
* 决定这一轮给模型哪些工具(纯函数,便于单测)。
|
|
@@ -281,23 +308,68 @@ declare function createThinkFilter(): {
|
|
|
281
308
|
* 裁错了会误删正文,而记错了只是下次少一个档位可选,代价不对称。
|
|
282
309
|
*/
|
|
283
310
|
declare function looksLikeLeakedReasoning(text: string): boolean;
|
|
284
|
-
declare function splitLeakedReasoning(text: string): {
|
|
285
|
-
prefix: string;
|
|
286
|
-
rest: string;
|
|
287
|
-
};
|
|
288
311
|
/**
|
|
289
|
-
*
|
|
312
|
+
* 规范四格 → 当前模型**真实声明**的档位(返回 '' 表示这个模型没有可发的档位)。
|
|
313
|
+
*
|
|
314
|
+
* 规则一条到底(对 `off>low>high>max` 这类 4 档模型恰好是恒等映射):
|
|
315
|
+
* · 关 → 声明里**最弱**的那档(模型没有 off 这类档时,就是它"能关到"的最小思考)
|
|
316
|
+
* · 最高 → 声明里**最强**的那档
|
|
317
|
+
* · 低/高 → 在整条刻度上取 1/3、2/3 处**最近的档**;候选**排除两端**(最弱那档留给「关」、
|
|
318
|
+
* 最强那档留给「最高」,四个格子于是各有落点),并保证 关 ≤ 低 ≤ 高 ≤ 最高 单调;
|
|
319
|
+
* 同样近时「低」取更浅的、「高」取更深的 —— 低要省、高要深。
|
|
290
320
|
*
|
|
291
|
-
*
|
|
292
|
-
*
|
|
321
|
+
* ⚠️ 这里**没有**任何按模型写死的表:输入只有"这个模型自己声明的档位列表"。
|
|
322
|
+
* 名字认得出来(off/low/high/max、minimal、xhigh…)就用名字的深度刻度;认不出来
|
|
323
|
+
* (别的 adapter 可能叫 a/b/c、tier1/tier2,或者干脆是数字)就按**它在声明里的位置**插值 ——
|
|
324
|
+
* 所以任何用户换任何模型都能落位,插件作者没见过那个模型也能映射。
|
|
325
|
+
* 为什么不让「低/高」也去抢最弱那档:那两个格子表达的是"开着思考、但别太深",
|
|
326
|
+
* 落到"关"那一档等于**把用户要的思考关掉**;只有「关」该动那一档。
|
|
327
|
+
* 只有一档可发时(如 kimi-k3 只有 max),四格都落到它 —— 模型没有别的选择。
|
|
293
328
|
*
|
|
294
|
-
*
|
|
295
|
-
* 全部丢弃;流在 depth>0 时结束 → 剩下的整段丢掉。这样三种实测形态(整块/缺包裹/单个标签)都能盖住。
|
|
329
|
+
* 返回 '' 表示"这个模型没有可发的档位"(声明为空),调用方据此**不带** reasoningEffort。
|
|
296
330
|
*/
|
|
297
|
-
declare function
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
331
|
+
declare function mapEffortToModel(declared: Array<{
|
|
332
|
+
id: string;
|
|
333
|
+
name?: string;
|
|
334
|
+
}>, canonical: string): string;
|
|
335
|
+
/**
|
|
336
|
+
* 一个模型的四格映射(设置页给用户看的就是它;请求时也走这份算)。
|
|
337
|
+
* 返回空串的格子表示"没有可发的档位"(模型不支持推理时四个格子都是空串)。
|
|
338
|
+
*/
|
|
339
|
+
declare function effortMapOf(declared: Array<{
|
|
340
|
+
id: string;
|
|
341
|
+
name?: string;
|
|
342
|
+
}>): Record<string, string>;
|
|
343
|
+
/**
|
|
344
|
+
* 这条上游错误是不是"**我们发的这个档位**不被接受"。
|
|
345
|
+
*
|
|
346
|
+
* ⚠️ 判据必须窄。免费/预览端点的上游会**偶发**返回
|
|
347
|
+
* `Reasoning is mandatory for this endpoint and cannot be disabled.` ——
|
|
348
|
+
* 2026-10-09 实测(`opencode-go/step-5-preview-free`,交错发送排除时间漂移):
|
|
349
|
+
* · effort=low 成功 5/8;effort=high 成功 5/8 —— **同一档位时好时坏,档位不是变量**;
|
|
350
|
+
* · 对照模型 `longcat-2.5-preview-free` 6/6 成功(连 off 都收)。
|
|
351
|
+
* 所以只认"明确说这个档位无效"的措辞;"必须开推理"另有一条判据
|
|
352
|
+
* (见 looksLikeReasoningRequired,只在**我们发的是关档**时才算数)。
|
|
353
|
+
* 把偶发失败当成"档位不支持"会连锁出三个错:给用户一句错诊断、把失败永久记进
|
|
354
|
+
* noOffRoutes(以后再也不发这个档)、清掉用户选的档位。
|
|
355
|
+
*/
|
|
356
|
+
declare function looksLikeUnsupportedTier(message: string): boolean;
|
|
357
|
+
/** 上游要求"必须开推理"——只有在**我们这次把推理关掉**(发的 off)时,这句才是冲我们来的。 */
|
|
358
|
+
declare function looksLikeReasoningRequired(message: string): boolean;
|
|
359
|
+
/**
|
|
360
|
+
* 换一个"没试过的"档位(重试用)。
|
|
361
|
+
*
|
|
362
|
+
* 为什么**绝不能省略档位**(老代码就是省略):省略 = 请求里不带 reasoning,
|
|
363
|
+
* 对"必须开推理"的端点等于把推理关掉 —— 实测 20 次这样的重试 **0 次成功**,
|
|
364
|
+
* 而同一档位首发成功率约 60%。省略比"发一个可能不被接受的档"更糟。
|
|
365
|
+
*
|
|
366
|
+
* 顺序:模型自己声明的 defaultEffort → 沿档位阶梯往上走一格(离"关"越远越安全)。
|
|
367
|
+
* 返回空串表示"没档位可换了",调用方就不重试。
|
|
368
|
+
*/
|
|
369
|
+
declare function pickNextEffort(declared: string[], defaultEffort: string | null | undefined, rejected: string, tried: Set<string>): string;
|
|
370
|
+
declare function splitLeakedReasoning(text: string): {
|
|
371
|
+
prefix: string;
|
|
372
|
+
rest: string;
|
|
301
373
|
};
|
|
302
374
|
/**
|
|
303
375
|
* 校验客户端送上来的音频是不是**规范**的 16kHz 单声道 PCM16 WAV。
|
|
@@ -369,8 +441,12 @@ export type { WebServer };
|
|
|
369
441
|
*/
|
|
370
442
|
export declare const __internals: {
|
|
371
443
|
createThinkFilter: typeof createThinkFilter;
|
|
372
|
-
createResidueFilter: typeof createResidueFilter;
|
|
373
444
|
splitLeakedReasoning: typeof splitLeakedReasoning;
|
|
374
445
|
looksLikeLeakedReasoning: typeof looksLikeLeakedReasoning;
|
|
375
446
|
resolveToolNames: typeof resolveToolNames;
|
|
447
|
+
looksLikeUnsupportedTier: typeof looksLikeUnsupportedTier;
|
|
448
|
+
looksLikeReasoningRequired: typeof looksLikeReasoningRequired;
|
|
449
|
+
pickNextEffort: typeof pickNextEffort;
|
|
450
|
+
mapEffortToModel: typeof mapEffortToModel;
|
|
451
|
+
effortMapOf: typeof effortMapOf;
|
|
376
452
|
};
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* dsh-selection-explain · 麦克风占用探针(macOS 14.4+)
|
|
3
|
+
*
|
|
4
|
+
* 回答一个问题:**现在是谁在采集麦克风?**(比如"豆包输入法是不是正在语音输入")
|
|
5
|
+
*
|
|
6
|
+
* 为什么用 CoreAudio 的进程对象列表,而不是别的办法:
|
|
7
|
+
* · `kAudioDevicePropertyDeviceIsRunningSomewhere`(设备级)只说"有东西在录",
|
|
8
|
+
* 不说是谁;而且它挂在具体的 device object 上,换设备/聚合设备时读到的是另一个对象
|
|
9
|
+
* (实测:ffmpeg 录着音,默认输入设备的这个属性仍是 0);
|
|
10
|
+
* · 菜单栏那个橙点同理,只表示"有人在录"。
|
|
11
|
+
* · 读这个状态**不需要麦克风 TCC 授权**(只有真正录音才需要)。
|
|
12
|
+
*
|
|
13
|
+
* macOS 14.4 起 CoreAudio 暴露了进程对象:`kAudioHardwarePropertyProcessObjectList`
|
|
14
|
+
* 里每个对象都能读 `kAudioProcessPropertyPID` / `kAudioProcessPropertyBundleID` /
|
|
15
|
+
* `kAudioProcessPropertyIsRunningInput` —— 于是"谁在录"变成一次精确查询。
|
|
16
|
+
*
|
|
17
|
+
* 输出协议(每行一个 JSON,状态变化时才输出;`--once` 则只输出一行就退出):
|
|
18
|
+
* {"capturing":true,"processes":[{"pid":513,"bundleId":"com.bytedance.inputmethod.doubaoime","name":"DoubaoIme"}]}
|
|
19
|
+
* {"capturing":false,"processes":[]}
|
|
20
|
+
*
|
|
21
|
+
* 用法:
|
|
22
|
+
* mic-probe --once 读一次,打印一行,退出
|
|
23
|
+
* mic-probe --watch [intervalMs] 常驻,状态变化时打印(默认 250ms 一轮)
|
|
24
|
+
*
|
|
25
|
+
* 编不出来 / 非 macOS 时整个功能降级(host 报 available:false),不影响其它功能。
|
|
26
|
+
*/
|
|
27
|
+
#include <CoreAudio/CoreAudio.h>
|
|
28
|
+
#include <CoreFoundation/CoreFoundation.h>
|
|
29
|
+
#include <libproc.h>
|
|
30
|
+
#include <stdio.h>
|
|
31
|
+
#include <stdlib.h>
|
|
32
|
+
#include <string.h>
|
|
33
|
+
#include <unistd.h>
|
|
34
|
+
|
|
35
|
+
#define MAX_PROCS 32
|
|
36
|
+
|
|
37
|
+
typedef struct {
|
|
38
|
+
pid_t pid;
|
|
39
|
+
char bundle[256];
|
|
40
|
+
char name[128];
|
|
41
|
+
} MicProc;
|
|
42
|
+
|
|
43
|
+
static AudioObjectPropertyAddress propAddr(AudioObjectPropertySelector selector) {
|
|
44
|
+
AudioObjectPropertyAddress addr;
|
|
45
|
+
addr.mSelector = selector;
|
|
46
|
+
addr.mScope = kAudioObjectPropertyScopeGlobal;
|
|
47
|
+
addr.mElement = kAudioObjectPropertyElementMain;
|
|
48
|
+
return addr;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/** JSON 字符串转义:bundle id / 进程名理论上都很干净,但仍然不拼裸串。 */
|
|
52
|
+
static void jsonEscape(const char *src, char *dst, size_t n) {
|
|
53
|
+
size_t j = 0;
|
|
54
|
+
for (size_t i = 0; src[i] && j + 2 < n; i++) {
|
|
55
|
+
unsigned char c = (unsigned char)src[i];
|
|
56
|
+
if (c == '"' || c == '\\') {
|
|
57
|
+
dst[j++] = '\\';
|
|
58
|
+
dst[j++] = (char)c;
|
|
59
|
+
} else if (c < 0x20) {
|
|
60
|
+
dst[j++] = ' ';
|
|
61
|
+
} else {
|
|
62
|
+
dst[j++] = (char)c;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
dst[j] = 0;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/** 采集一次:谁正在 running input。返回采集到的进程数。 */
|
|
69
|
+
static int scan(MicProc *out, int max) {
|
|
70
|
+
int count = 0;
|
|
71
|
+
AudioObjectPropertyAddress list = propAddr(kAudioHardwarePropertyProcessObjectList);
|
|
72
|
+
UInt32 size = 0;
|
|
73
|
+
if (AudioObjectGetPropertyDataSize(kAudioObjectSystemObject, &list, 0, NULL, &size) != noErr) return 0;
|
|
74
|
+
int total = (int)(size / sizeof(AudioObjectID));
|
|
75
|
+
if (total <= 0) return 0;
|
|
76
|
+
AudioObjectID *objects = (AudioObjectID *)calloc((size_t)total, sizeof(AudioObjectID));
|
|
77
|
+
if (!objects) return 0;
|
|
78
|
+
if (AudioObjectGetPropertyData(kAudioObjectSystemObject, &list, 0, NULL, &size, objects) != noErr) {
|
|
79
|
+
free(objects);
|
|
80
|
+
return 0;
|
|
81
|
+
}
|
|
82
|
+
for (int i = 0; i < total && count < max; i++) {
|
|
83
|
+
UInt32 running = 0;
|
|
84
|
+
UInt32 runningSize = sizeof(running);
|
|
85
|
+
AudioObjectPropertyAddress input = propAddr(kAudioProcessPropertyIsRunningInput);
|
|
86
|
+
if (AudioObjectGetPropertyData(objects[i], &input, 0, NULL, &runningSize, &running) != noErr) continue;
|
|
87
|
+
if (!running) continue;
|
|
88
|
+
|
|
89
|
+
MicProc entry;
|
|
90
|
+
memset(&entry, 0, sizeof(entry));
|
|
91
|
+
UInt32 pidSize = sizeof(entry.pid);
|
|
92
|
+
AudioObjectPropertyAddress pidProp = propAddr(kAudioProcessPropertyPID);
|
|
93
|
+
if (AudioObjectGetPropertyData(objects[i], &pidProp, 0, NULL, &pidSize, &entry.pid) != noErr) continue;
|
|
94
|
+
|
|
95
|
+
CFStringRef bundle = NULL;
|
|
96
|
+
UInt32 bundleSize = sizeof(bundle);
|
|
97
|
+
AudioObjectPropertyAddress bundleProp = propAddr(kAudioProcessPropertyBundleID);
|
|
98
|
+
if (AudioObjectGetPropertyData(objects[i], &bundleProp, 0, NULL, &bundleSize, &bundle) == noErr && bundle) {
|
|
99
|
+
CFStringGetCString(bundle, entry.bundle, (CFIndex)sizeof(entry.bundle), kCFStringEncodingUTF8);
|
|
100
|
+
CFRelease(bundle);
|
|
101
|
+
}
|
|
102
|
+
// 进程名:没有 bundle id 的命令行程序(ffmpeg 之类)靠它认人
|
|
103
|
+
if (proc_name(entry.pid, entry.name, (uint32_t)sizeof(entry.name)) <= 0) entry.name[0] = 0;
|
|
104
|
+
|
|
105
|
+
out[count++] = entry;
|
|
106
|
+
}
|
|
107
|
+
free(objects);
|
|
108
|
+
return count;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
static void emit(const MicProc *procs, int count) {
|
|
112
|
+
char bundle[512];
|
|
113
|
+
char name[256];
|
|
114
|
+
printf("{\"capturing\":%s,\"processes\":[", count > 0 ? "true" : "false");
|
|
115
|
+
for (int i = 0; i < count; i++) {
|
|
116
|
+
jsonEscape(procs[i].bundle, bundle, sizeof(bundle));
|
|
117
|
+
jsonEscape(procs[i].name, name, sizeof(name));
|
|
118
|
+
printf("%s{\"pid\":%d,\"bundleId\":\"%s\",\"name\":\"%s\"}", i ? "," : "", (int)procs[i].pid, bundle, name);
|
|
119
|
+
}
|
|
120
|
+
printf("]}\n");
|
|
121
|
+
fflush(stdout);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/** 状态是否变了(进程集合 + 各自的 bundle/name 都算)。 */
|
|
125
|
+
static int changed(const MicProc *a, int an, const MicProc *b, int bn) {
|
|
126
|
+
if (an != bn) return 1;
|
|
127
|
+
for (int i = 0; i < an; i++) {
|
|
128
|
+
if (a[i].pid != b[i].pid) return 1;
|
|
129
|
+
if (strcmp(a[i].bundle, b[i].bundle) != 0) return 1;
|
|
130
|
+
if (strcmp(a[i].name, b[i].name) != 0) return 1;
|
|
131
|
+
}
|
|
132
|
+
return 0;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
int main(int argc, char **argv) {
|
|
136
|
+
setvbuf(stdout, NULL, _IOLBF, 0);
|
|
137
|
+
int watch = 0;
|
|
138
|
+
int intervalMs = 250;
|
|
139
|
+
for (int i = 1; i < argc; i++) {
|
|
140
|
+
if (strcmp(argv[i], "--once") == 0) watch = 0;
|
|
141
|
+
else if (strcmp(argv[i], "--watch") == 0) watch = 1;
|
|
142
|
+
else {
|
|
143
|
+
int parsed = atoi(argv[i]);
|
|
144
|
+
if (parsed >= 50 && parsed <= 5000) intervalMs = parsed;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
MicProc current[MAX_PROCS];
|
|
149
|
+
MicProc previous[MAX_PROCS];
|
|
150
|
+
int previousCount = -1;
|
|
151
|
+
|
|
152
|
+
for (;;) {
|
|
153
|
+
int count = scan(current, MAX_PROCS);
|
|
154
|
+
if (!watch || changed(current, count, previous, previousCount)) emit(current, count);
|
|
155
|
+
memcpy(previous, current, sizeof(MicProc) * (size_t)count);
|
|
156
|
+
previousCount = count;
|
|
157
|
+
if (!watch) return 0;
|
|
158
|
+
usleep((useconds_t)intervalMs * 1000);
|
|
159
|
+
}
|
|
160
|
+
}
|
package/package.json
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yfwu2020/dsh-selection-explain",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.0",
|
|
4
4
|
"description": "DSH 划词解读:选中文字浮出按钮,点击弹窗流式显示专业中英翻译 + 该文字在当前上下文中的含义详解",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./lib/index.js",
|
|
7
7
|
"types": "./lib/types/index.d.ts",
|
|
8
8
|
"files": [
|
|
9
9
|
"lib",
|
|
10
|
+
"native",
|
|
10
11
|
"src",
|
|
11
12
|
"scripts",
|
|
12
13
|
"cordis.patch.yml",
|
|
@@ -42,7 +43,9 @@
|
|
|
42
43
|
"scripts": {
|
|
43
44
|
"build": "bash scripts/build.sh",
|
|
44
45
|
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
45
|
-
"test": "node scripts/test-filters.mjs && node scripts/test-prompt.mjs && node scripts/test-model-follow.mjs && node scripts/test-bridge.mjs && node scripts/smoke-bridge.mjs && node scripts/smoke-panel.mjs && node scripts/test-escape-focus.mjs && node scripts/test-client.mjs && node scripts/test-settings-host.mjs && node scripts/test-settings-behavior.mjs && node scripts/test-route-cache.mjs && node scripts/test-transcript.mjs && node scripts/test-guard.mjs && node scripts/test-settings.mjs && node scripts/test-format.mjs && node scripts/test-speech.mjs && node scripts/smoke-voice.mjs",
|
|
46
|
+
"test": "node scripts/test-filters.mjs && node scripts/test-prompt.mjs && node scripts/test-model-follow.mjs && node scripts/test-bridge.mjs && node scripts/smoke-bridge.mjs && node scripts/smoke-panel.mjs && node scripts/test-escape-focus.mjs && node scripts/test-effort-retry.mjs && node scripts/test-effort-map.mjs && node scripts/test-client.mjs && node scripts/test-settings-host.mjs && node scripts/test-settings-behavior.mjs && node scripts/test-route-cache.mjs && node scripts/test-transcript.mjs && node scripts/test-guard.mjs && node scripts/test-settings.mjs && node scripts/test-format.mjs && node scripts/test-speech.mjs && node scripts/test-mic-idle.mjs && node scripts/smoke-voice.mjs",
|
|
47
|
+
"test:effort": "node scripts/test-effort-retry.mjs",
|
|
48
|
+
"test:effort-map": "node scripts/test-effort-map.mjs",
|
|
46
49
|
"test:transcript": "node scripts/test-transcript.mjs",
|
|
47
50
|
"test:guard": "node scripts/test-guard.mjs",
|
|
48
51
|
"test:format": "node scripts/test-format.mjs",
|