@te-river/opencode-team-mode 1.5.12 → 1.5.14
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 +30 -6
- package/README.zh-CN.md +28 -4
- package/dist/agents.d.ts +5 -1
- package/dist/agents.d.ts.map +1 -1
- package/dist/agents.js +24 -2
- package/dist/agents.js.map +1 -1
- package/dist/capabilities.d.ts +66 -0
- package/dist/capabilities.d.ts.map +1 -0
- package/dist/capabilities.js +165 -0
- package/dist/capabilities.js.map +1 -0
- package/dist/host-hooks.d.ts +115 -0
- package/dist/host-hooks.d.ts.map +1 -0
- package/dist/host-hooks.js +270 -0
- package/dist/host-hooks.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +103 -4
- package/dist/index.js.map +1 -1
- package/dist/prompts/lead.d.ts +1 -1
- package/dist/prompts/lead.d.ts.map +1 -1
- package/dist/prompts/lead.js +71 -8
- package/dist/prompts/lead.js.map +1 -1
- package/dist/prompts/shared.d.ts +1 -1
- package/dist/prompts/shared.d.ts.map +1 -1
- package/dist/prompts/shared.js +51 -2
- package/dist/prompts/shared.js.map +1 -1
- package/dist/prompts/specialists.d.ts +1 -1
- package/dist/prompts/specialists.d.ts.map +1 -1
- package/dist/prompts/specialists.js +38 -17
- package/dist/prompts/specialists.js.map +1 -1
- package/dist/tm/args-schema.d.ts +7 -1
- package/dist/tm/args-schema.d.ts.map +1 -1
- package/dist/tm/args-schema.js +9 -3
- package/dist/tm/args-schema.js.map +1 -1
- package/dist/tm/bash-timeout.d.ts +72 -0
- package/dist/tm/bash-timeout.d.ts.map +1 -0
- package/dist/tm/bash-timeout.js +100 -0
- package/dist/tm/bash-timeout.js.map +1 -0
- package/dist/tm/browser.d.ts +91 -5
- package/dist/tm/browser.d.ts.map +1 -1
- package/dist/tm/browser.js +564 -89
- package/dist/tm/browser.js.map +1 -1
- package/dist/tm/cache.d.ts +68 -0
- package/dist/tm/cache.d.ts.map +1 -0
- package/dist/tm/cache.js +157 -0
- package/dist/tm/cache.js.map +1 -0
- package/dist/tm/config.d.ts +87 -0
- package/dist/tm/config.d.ts.map +1 -1
- package/dist/tm/config.js +66 -0
- package/dist/tm/config.js.map +1 -1
- package/dist/tm/dispatch.d.ts +123 -0
- package/dist/tm/dispatch.d.ts.map +1 -0
- package/dist/tm/dispatch.js +476 -0
- package/dist/tm/dispatch.js.map +1 -0
- package/dist/tm/dupe-guard.d.ts +58 -0
- package/dist/tm/dupe-guard.d.ts.map +1 -0
- package/dist/tm/dupe-guard.js +105 -0
- package/dist/tm/dupe-guard.js.map +1 -0
- package/dist/tm/index.d.ts +32 -4
- package/dist/tm/index.d.ts.map +1 -1
- package/dist/tm/index.js +58 -5
- package/dist/tm/index.js.map +1 -1
- package/dist/tm/perm-ask.d.ts +1 -0
- package/dist/tm/perm-ask.d.ts.map +1 -1
- package/dist/tm/perm-ask.js +15 -1
- package/dist/tm/perm-ask.js.map +1 -1
- package/dist/tm/pipelines.d.ts.map +1 -1
- package/dist/tm/pipelines.js +11 -0
- package/dist/tm/pipelines.js.map +1 -1
- package/dist/tm/pty.d.ts +70 -0
- package/dist/tm/pty.d.ts.map +1 -0
- package/dist/tm/pty.js +242 -0
- package/dist/tm/pty.js.map +1 -0
- package/dist/tm/search.d.ts +56 -7
- package/dist/tm/search.d.ts.map +1 -1
- package/dist/tm/search.js +195 -41
- package/dist/tm/search.js.map +1 -1
- package/dist/tm/stats.d.ts +117 -0
- package/dist/tm/stats.d.ts.map +1 -0
- package/dist/tm/stats.js +296 -0
- package/dist/tm/stats.js.map +1 -0
- package/dist/tm/webfetch.d.ts +23 -0
- package/dist/tm/webfetch.d.ts.map +1 -1
- package/dist/tm/webfetch.js +97 -8
- package/dist/tm/webfetch.js.map +1 -1
- package/dist/types.d.ts +16 -0
- package/dist/types.d.ts.map +1 -1
- package/docs/installation.md +216 -17
- package/package.json +2 -2
package/dist/tm/search.js
CHANGED
|
@@ -31,6 +31,7 @@
|
|
|
31
31
|
*/
|
|
32
32
|
import { fetchWebText, extractSearchHits, renderSearchHits, hostAllowed, seedWebfetchDomains, } from "./webfetch.js";
|
|
33
33
|
import { askFnOf, askUserForTarget } from "./perm-ask.js";
|
|
34
|
+
import { createDupeGuard } from "./dupe-guard.js";
|
|
34
35
|
import { shorten } from "./config.js";
|
|
35
36
|
import { detectContentType } from "./preview.js";
|
|
36
37
|
import { tmError, toToolResult } from "./result.js";
|
|
@@ -104,15 +105,71 @@ export function classifyQuery(query) {
|
|
|
104
105
|
const AUTO_ROUTES = {
|
|
105
106
|
"error-code": ["stackoverflow", "github", "bing"],
|
|
106
107
|
"dev-ecosystem": ["hn", "github", "npm"],
|
|
107
|
-
cjk
|
|
108
|
-
|
|
108
|
+
// cjk / general used to route to `bing` ALONE. A one-engine route cannot
|
|
109
|
+
// produce a consensus hit (dedupe never fires), cannot be re-ranked
|
|
110
|
+
// (nothing to fuse), and hands the agent a raw bing mirror — the exact
|
|
111
|
+
// "全是垃圾你还不能删" complaint of 2026-09-18. Every route now carries
|
|
112
|
+
// at least two independent legs so agreement between engines is possible.
|
|
113
|
+
cjk: ["bing", "moegirl", "stackoverflow", "hn"],
|
|
114
|
+
general: ["bing", "stackoverflow", "hn", "github"],
|
|
109
115
|
};
|
|
110
116
|
export const AUTO_ENGINE_KEY = "auto";
|
|
111
|
-
/** RRF fusion constants (
|
|
112
|
-
*
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
117
|
+
/** RRF fusion constants. bing LOST its 0.4 trust weight (2026-09-18): with
|
|
118
|
+
* 0.4-vs-0.2 weights and a k=60 damping range of only 61..70, bing's WORST
|
|
119
|
+
* hit (0.4/70 = 0.0057) outranked every other engine's BEST (0.2/61 =
|
|
120
|
+
* 0.0033) — a weight ratio above the whole rank-damping range means the
|
|
121
|
+
* under-weighted engine can never place a single hit. bing is still in the
|
|
122
|
+
* table (it is the only live CN HTML SERP); it now has to EARN rank by
|
|
123
|
+
* overlapping the query. Override per engine via TM_SEARCH_WEIGHTS. */
|
|
124
|
+
export const RRF_K = 60;
|
|
125
|
+
export const RRF_WEIGHTS = { stackoverflow: 0.4 };
|
|
126
|
+
export const RRF_DEFAULT_WEIGHT = 0.2;
|
|
127
|
+
/** One engine's fusion weight: a TM_SEARCH_WEIGHTS override first, then the
|
|
128
|
+
* built-in table, then the default. */
|
|
129
|
+
export function weightFor(engine, overrides = {}) {
|
|
130
|
+
const custom = overrides[engine];
|
|
131
|
+
if (typeof custom === "number" && Number.isFinite(custom) && custom > 0)
|
|
132
|
+
return custom;
|
|
133
|
+
return RRF_WEIGHTS[engine] ?? RRF_DEFAULT_WEIGHT;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Tokenize a query for the relevance floor. CJK has no word boundaries and
|
|
137
|
+
* the plugin ships no segmenter, so CJK runs index as every BIGRAM: "关键
|
|
138
|
+
* 词" contributes 关键/键词/词… which a Chinese title contains verbatim.
|
|
139
|
+
* Substring matching against that is a cheap, deterministic overlap proxy —
|
|
140
|
+
* no model, no network, no fabricated relevance.
|
|
141
|
+
*/
|
|
142
|
+
export function queryTerms(query) {
|
|
143
|
+
const text = String(query ?? "").toLowerCase();
|
|
144
|
+
if (!text.trim())
|
|
145
|
+
return [];
|
|
146
|
+
const parts = text.split(/[^a-z0-9._+\-\u4e00-\u9fff\u3040-\u30ff\uac00-\ud7af]+/).filter(Boolean);
|
|
147
|
+
const out = new Set();
|
|
148
|
+
const cjk = /[\u4e00-\u9fff\u3040-\u30ff\uac00-\ud7af]/;
|
|
149
|
+
for (const p of parts) {
|
|
150
|
+
if (cjk.test(p)) {
|
|
151
|
+
if (p.length === 1)
|
|
152
|
+
out.add(p);
|
|
153
|
+
for (let i = 0; i + 1 < p.length; i++)
|
|
154
|
+
out.add(p.slice(i, i + 2));
|
|
155
|
+
}
|
|
156
|
+
else if (p.length >= 2) {
|
|
157
|
+
out.add(p);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
return [...out];
|
|
161
|
+
}
|
|
162
|
+
/** 0..1 overlap between the query and one hit (title + snippet + host). */
|
|
163
|
+
export function relevanceOf(terms, hit) {
|
|
164
|
+
if (!terms.length)
|
|
165
|
+
return 1;
|
|
166
|
+
const hay = `${hit.title ?? ""} ${hit.snippet ?? ""} ${hit.url ?? ""}`.toLowerCase();
|
|
167
|
+
let n = 0;
|
|
168
|
+
for (const t of terms)
|
|
169
|
+
if (hay.includes(t))
|
|
170
|
+
n++;
|
|
171
|
+
return Math.min(1, n / terms.length);
|
|
172
|
+
}
|
|
116
173
|
/** Mutable SO quota state (per process). api.stackexchange answers every
|
|
117
174
|
* payload with quota_remaining/quota_max; hitting 0 flips `exhausted`
|
|
118
175
|
* and engine:"auto" swaps the SO leg for bing until the process restarts
|
|
@@ -127,17 +184,28 @@ export function resetSoQuota() {
|
|
|
127
184
|
SO_QUOTA.remaining = null;
|
|
128
185
|
SO_QUOTA.exhausted = false;
|
|
129
186
|
}
|
|
130
|
-
/** Resolve the auto route set for a query (exported for tests + PTC).
|
|
131
|
-
|
|
187
|
+
/** Resolve the auto route set for a query (exported for tests + PTC).
|
|
188
|
+
* `disabled` (TM_SEARCH_DISABLED_ENGINES) removes legs; if that empties a
|
|
189
|
+
* route the caller still gets bing rather than an error — a search tool
|
|
190
|
+
* that refuses to answer because of its own config is worse than a
|
|
191
|
+
* single-engine answer. */
|
|
192
|
+
export function resolveAutoRoutes(query, disabled = []) {
|
|
132
193
|
const queryClass = classifyQuery(query);
|
|
133
194
|
const notes = [];
|
|
134
|
-
let routes = [...AUTO_ROUTES[queryClass]];
|
|
195
|
+
let routes = [...AUTO_ROUTES[queryClass]].filter((r) => !disabled.includes(r));
|
|
135
196
|
if (SO_QUOTA.exhausted && routes.includes("stackoverflow")) {
|
|
136
197
|
routes = routes.filter((r) => r !== "stackoverflow");
|
|
137
198
|
if (!routes.includes("bing"))
|
|
138
199
|
routes.push("bing");
|
|
139
200
|
notes.push("stackoverflow 配额耗尽(quota_remaining=0),已降级为 bing");
|
|
140
201
|
}
|
|
202
|
+
if (!routes.length) {
|
|
203
|
+
routes = ["bing"];
|
|
204
|
+
notes.push("该路由的引擎都被 TM_SEARCH_DISABLED_ENGINES 关闭,已回退 bing");
|
|
205
|
+
}
|
|
206
|
+
else if (routes.length === 1) {
|
|
207
|
+
notes.push(`单引擎路由(${routes[0]}):没有跨引擎共识可用`);
|
|
208
|
+
}
|
|
141
209
|
return { routes, queryClass, notes };
|
|
142
210
|
}
|
|
143
211
|
/* ---------- engine table ---------- */
|
|
@@ -152,6 +220,21 @@ export const SEARCH_ENGINES = {
|
|
|
152
220
|
prepareQuery: protectCjkPhrase,
|
|
153
221
|
alt: "stackoverflow / github / hn(编程类)或缩小查询词",
|
|
154
222
|
},
|
|
223
|
+
// RE-ADDED 2026-09-19. The 2026-09-14 benchmark killed bing-int as
|
|
224
|
+
// "100% empty"; that verdict was OURS, not the engine's: the international
|
|
225
|
+
// layout wraps every result in `https://www.bing.com/ck/a?...&u=a1<base64>`
|
|
226
|
+
// and extractSearchHits dropped every one of them. With the wrapper
|
|
227
|
+
// decoded (webfetch.decodeEngineWrapperUrl) the same URL yields a full hit
|
|
228
|
+
// list — a live second opinion when the CN layout collapses. NOT in the
|
|
229
|
+
// auto routes: the two layouts are the same index, so fusing both would
|
|
230
|
+
// double bing's vote, which is exactly the weight we just removed.
|
|
231
|
+
"bing-int": {
|
|
232
|
+
name: "bing-int",
|
|
233
|
+
kind: "html",
|
|
234
|
+
buildUrl: (q) => `https://cn.bing.com/search?q=${q}&ensearch=1`,
|
|
235
|
+
prepareQuery: protectCjkPhrase,
|
|
236
|
+
alt: "bing(国内版)/ moegirl / bilibili(中文概念)",
|
|
237
|
+
},
|
|
155
238
|
stackoverflow: {
|
|
156
239
|
name: "stackoverflow",
|
|
157
240
|
kind: "so-json",
|
|
@@ -363,20 +446,20 @@ export function renderHnResults(query, body) {
|
|
|
363
446
|
}
|
|
364
447
|
/** Collapse an HTML SERP into the compact hit list; [] when the engine
|
|
365
448
|
* gave nothing extractable (anti-bot shell / markup change). */
|
|
366
|
-
export function extractHtmlResults(html) {
|
|
367
|
-
return extractSearchHits(html,
|
|
449
|
+
export function extractHtmlResults(html, max = SEARCH_MAX_HITS) {
|
|
450
|
+
return extractSearchHits(html, max);
|
|
368
451
|
}
|
|
369
452
|
/* ---------- auto fusion (normalized hits → dedupe → weighted RRF) ---------- */
|
|
370
453
|
/** Normalize any engine body to SearchHit[] (the fusion currency). JSON
|
|
371
454
|
* engines keep their composite/real snippets; SO/HN metadata composes the
|
|
372
455
|
* snippet line (engine data only — nothing fabricated). */
|
|
373
|
-
function bodyToHits(engine, body) {
|
|
456
|
+
function bodyToHits(engine, body, max = SEARCH_MAX_HITS) {
|
|
374
457
|
switch (engine.kind) {
|
|
375
458
|
case "html":
|
|
376
|
-
return extractSearchHits(body,
|
|
459
|
+
return extractSearchHits(body, max);
|
|
377
460
|
case "so-json": {
|
|
378
461
|
const parsed = parseSoItems(body);
|
|
379
|
-
return (parsed?.items ?? []).slice(0,
|
|
462
|
+
return (parsed?.items ?? []).slice(0, max).map((it) => ({
|
|
380
463
|
title: it.title,
|
|
381
464
|
url: it.link,
|
|
382
465
|
snippet: soCompositeSnippet(it),
|
|
@@ -384,7 +467,7 @@ function bodyToHits(engine, body) {
|
|
|
384
467
|
}
|
|
385
468
|
case "hn-json": {
|
|
386
469
|
const parsed = parseHnItems(body);
|
|
387
|
-
return (parsed?.items ?? []).slice(0,
|
|
470
|
+
return (parsed?.items ?? []).slice(0, max).map((it) => ({
|
|
388
471
|
title: it.title,
|
|
389
472
|
url: it.url,
|
|
390
473
|
snippet: `${it.points} points · ${it.num_comments} comments${it.created_at ? ` · ${it.created_at}` : ""}`,
|
|
@@ -393,7 +476,7 @@ function bodyToHits(engine, body) {
|
|
|
393
476
|
case "npm-json": {
|
|
394
477
|
try {
|
|
395
478
|
const data = JSON.parse(body);
|
|
396
|
-
return (Array.isArray(data?.objects) ? data.objects : []).slice(0,
|
|
479
|
+
return (Array.isArray(data?.objects) ? data.objects : []).slice(0, max).map((o) => {
|
|
397
480
|
const p = o?.package ?? {};
|
|
398
481
|
const name = String(p.name ?? "?");
|
|
399
482
|
return {
|
|
@@ -410,7 +493,7 @@ function bodyToHits(engine, body) {
|
|
|
410
493
|
case "github-json": {
|
|
411
494
|
try {
|
|
412
495
|
const data = JSON.parse(body);
|
|
413
|
-
return (Array.isArray(data?.items) ? data.items : []).slice(0,
|
|
496
|
+
return (Array.isArray(data?.items) ? data.items : []).slice(0, max).map((r) => ({
|
|
414
497
|
title: `${String(r?.full_name ?? "?")} ★${Number(r?.stargazers_count ?? 0)}`,
|
|
415
498
|
url: String(r?.html_url ?? ""),
|
|
416
499
|
snippet: String(r?.description ?? "").slice(0, 140) || undefined,
|
|
@@ -423,7 +506,7 @@ function bodyToHits(engine, body) {
|
|
|
423
506
|
case "wiki-json": {
|
|
424
507
|
try {
|
|
425
508
|
const data = JSON.parse(body);
|
|
426
|
-
return (Array.isArray(data?.query?.search) ? data.query.search : []).slice(0,
|
|
509
|
+
return (Array.isArray(data?.query?.search) ? data.query.search : []).slice(0, max).map((r) => ({
|
|
427
510
|
title: String(r?.title ?? "?"),
|
|
428
511
|
url: `https://mobile.moegirl.org.cn/${encodeURIComponent(String(r?.title ?? ""))}`,
|
|
429
512
|
snippet: String(r?.snippet ?? "").replace(/<[^>]+>/g, "").slice(0, 120) || undefined,
|
|
@@ -448,21 +531,39 @@ export function dedupeKey(url) {
|
|
|
448
531
|
return url.trim();
|
|
449
532
|
}
|
|
450
533
|
}
|
|
451
|
-
/**
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
534
|
+
/** Built-in zero-overlap multiplier (TmConfig.searchRelevanceFloor overrides). */
|
|
535
|
+
export const RELEVANCE_FLOOR_DEFAULT = 0.35;
|
|
536
|
+
/**
|
|
537
|
+
* Reciprocal Rank Fusion over the routed engines' hit lists: normalize →
|
|
538
|
+
* host+path dedupe → score = Σ (weight × relevance × fetchability)/(k+rank)
|
|
539
|
+
* → top-N, every hit tagged with its contributing engine(s).
|
|
540
|
+
*
|
|
541
|
+
* The relevance term is the fix for "auto returns a bing mirror": pure
|
|
542
|
+
* rank-position fusion lets a trusted engine's junk outrank another
|
|
543
|
+
* engine's best hit, so a hit that shares no token with the query now keeps
|
|
544
|
+
* only a floor fraction of its engine's weight. Nothing is deleted — bing
|
|
545
|
+
* still carries useful data, and an over-filtered list is unfixable from
|
|
546
|
+
* the agent side.
|
|
547
|
+
*/
|
|
548
|
+
export function fuseRrf(groups, opts = {}) {
|
|
549
|
+
const max = opts.max ?? SEARCH_MAX_HITS;
|
|
550
|
+
const floor = typeof opts.floor === "number" ? Math.min(1, Math.max(0, opts.floor)) : RELEVANCE_FLOOR_DEFAULT;
|
|
551
|
+
const terms = opts.query ? queryTerms(opts.query) : [];
|
|
455
552
|
const best = new Map();
|
|
456
553
|
for (const g of groups) {
|
|
457
|
-
const weight =
|
|
554
|
+
const weight = weightFor(g.engine, opts.weights);
|
|
458
555
|
for (const [i, h] of g.hits.entries()) {
|
|
459
556
|
if (!h.url)
|
|
460
557
|
continue;
|
|
461
558
|
const key = dedupeKey(h.url);
|
|
462
|
-
const
|
|
559
|
+
const rel = terms.length ? relevanceOf(terms, h) : 1;
|
|
560
|
+
const canFetch = opts.fetchable ? opts.fetchable(h.url) : true;
|
|
561
|
+
const mult = floor + (1 - floor) * Math.min(1, Math.max(0, rel));
|
|
562
|
+
const add = (weight * mult * (canFetch ? 1 : 0.9)) / (RRF_K + i + 1);
|
|
463
563
|
const prev = best.get(key);
|
|
464
564
|
if (prev) {
|
|
465
565
|
prev.score += add;
|
|
566
|
+
prev.rel = Math.max(prev.rel, rel);
|
|
466
567
|
if (!prev.hit.snippet && h.snippet)
|
|
467
568
|
prev.hit.snippet = h.snippet;
|
|
468
569
|
if (!String(prev.hit.source ?? "").split("+").includes(g.engine)) {
|
|
@@ -471,14 +572,18 @@ export function fuseRrf(groups, max = SEARCH_MAX_HITS) {
|
|
|
471
572
|
}
|
|
472
573
|
else {
|
|
473
574
|
best.set(key, {
|
|
474
|
-
hit: { ...h, title: h.title, url: h.url, source: g.engine },
|
|
575
|
+
hit: { ...h, title: h.title, url: h.url, source: g.engine, ...(canFetch ? {} : { fetchable: false }) },
|
|
475
576
|
score: add,
|
|
577
|
+
rel,
|
|
476
578
|
});
|
|
477
579
|
}
|
|
478
580
|
}
|
|
479
581
|
}
|
|
582
|
+
// Ties break on agreement, not on route order: higher relevance first,
|
|
583
|
+
// then the hit several engines agreed on.
|
|
584
|
+
const sources = (h) => String(h.source ?? "").split("+").filter(Boolean).length;
|
|
480
585
|
return [...best.values()]
|
|
481
|
-
.sort((a, b) => b.score - a.score)
|
|
586
|
+
.sort((a, b) => b.score - a.score || b.rel - a.rel || sources(b.hit) - sources(a.hit))
|
|
482
587
|
.slice(0, max)
|
|
483
588
|
.map((row, i) => ({ ...row.hit, rank: i + 1 }));
|
|
484
589
|
}
|
|
@@ -488,22 +593,24 @@ function renderFusedHits(query, routes, hits, notes) {
|
|
|
488
593
|
`[search] ${label} × "${query}" → ${hits.length} 条结果(路由 ${routes.join("+")}${routes.length > 1 ? ",RRF 融合" : ""}):`,
|
|
489
594
|
];
|
|
490
595
|
hits.forEach((h, i) => {
|
|
491
|
-
lines.push(`${i + 1}. ${h.source ? `[${h.source}] ` : ""}${h.title}`);
|
|
596
|
+
lines.push(`${i + 1}. ${h.source ? `[${h.source}] ` : ""}${h.title}${h.fetchable === false ? "(域名不在白名单,需批准)" : ""}`);
|
|
492
597
|
lines.push(` ${h.url}`);
|
|
493
598
|
if (h.snippet)
|
|
494
599
|
lines.push(` ${h.snippet}`);
|
|
495
600
|
});
|
|
496
601
|
for (const n of notes)
|
|
497
602
|
lines.push(`(auto: ${n})`);
|
|
498
|
-
lines.push("(读正文: tm_webfetch 结果 URL
|
|
603
|
+
lines.push("(读正文: tm_webfetch 结果 URL;标注需批准的会先弹确认窗。engine 可显式指定单引擎。)");
|
|
499
604
|
return lines.join("\n");
|
|
500
605
|
}
|
|
501
606
|
/* ---------- tool ---------- */
|
|
502
607
|
const SEARCH_DESCRIPTION = `Search the web through a governed multi-engine pipeline — the FIRST choice for open-ended web lookups; tm_webfetch is for a KNOWN URL, tm_browser for JS-rendered pages.
|
|
503
608
|
|
|
504
|
-
- engine:"auto" (default): classifies the query, fans out IN PARALLEL, dedupes by host+path and fuses with weighted RRF
|
|
609
|
+
- engine:"auto" (default): classifies the query, fans the matching legs out IN PARALLEL, dedupes by host+path and fuses them with weighted RRF into a top-N list tagged with each hit's source engine(s). Routing: error/exception/camelCase-API tokens → stackoverflow+github+bing · dev-ecosystem (release/framework/npm/open-source…) → hn+github+npm · Chinese → bing+moegirl+stackoverflow+hn · other → bing+stackoverflow+hn+github. Every route has ≥2 legs, because a hit two engines agree on is worth more than one engine's opinion of itself.
|
|
610
|
+
- Ranking is NOT raw engine trust: each hit's contribution is scaled by how many query tokens actually appear in its title/snippet/host (floor 0.35 via TM_SEARCH_RELEVANCE_FLOOR). bing is the only live CN HTML SERP so it stays in the table, but it no longer owns ranks 1-10 by weight alone. Knobs: TM_SEARCH_WEIGHTS="bing=0.3,hn=0.2" · TM_SEARCH_MAX_HITS · TM_SEARCH_DISABLED_ENGINES · TM_SEARCH_DEFAULT_ENGINE.
|
|
611
|
+
- ONE SEARCH IS A SAMPLE, NOT A SEARCH. If the list does not answer the question, do NOT start fetching: re-query 2-3 times with a narrowed or translated phrasing (a Chinese concept often has better material under its English term, and vice versa), or pin an engine for a second opinion. Say what each query was for in EVIDENCE.
|
|
505
612
|
- explicit engines: bing (cn.bing.com — the ONLY live CN HTML SERP; sogou/so/baidu/bing-int were removed after a live benchmark showed them serving anti-bot shells) · stackoverflow (api.stackexchange.com question search, no key, 300/day/IP — quota tracked, auto degrades to bing when spent) · hn (hn.algolia.com story search, no key) · github (repo search API: stars + description; qualifier pass-through whitelisted, e.g. query "vector db stars:>500 language:rust org:redis" — org:/user:/stars:/language: fold into q=, the rest stays free text) · npm (registry search: name@version + description) · moegirl (MediaWiki API: titles + snippets) · bilibili.
|
|
506
|
-
- Hits carry a 1-2 line snippet WHEN THE ENGINE PROVIDES ONE (bing b_caption when present, SO score/tags composite, HN points/comments, npm/github descriptions) — never fabricated.
|
|
613
|
+
- Hits carry a 1-2 line snippet WHEN THE ENGINE PROVIDES ONE (bing b_caption when present, SO score/tags composite, HN points/comments, npm/github descriptions) — never fabricated. A hit tagged (域名不在白名单,需批准)is readable only after an approval dialog — prefer a hit you can fetch, or tm_browser it.
|
|
507
614
|
- CJK tip: multi-word Chinese queries are auto-quoted on their core phrase for bing; if still noisy, search a single canonical term first (or quote it yourself).
|
|
508
615
|
- Baidu/sogou-style anti-bot shells are gone from the table; empty results still name alternative engines — switch, don't retry the same one.
|
|
509
616
|
- Governance: engine hosts outside a custom TM_WEBFETCH_ALLOWED_DOMAINS route through the OFFICIAL confirmation dialog (approve to proceed); redirects re-checked per hop; env-file URLs and non-http(s) schemes are hard-rejected.
|
|
@@ -512,15 +619,33 @@ const SEARCH_DESCRIPTION = `Search the web through a governed multi-engine pipel
|
|
|
512
619
|
* instance. `fetchImpl` is injectable for tests. */
|
|
513
620
|
export function buildTmSearchTool(deps) {
|
|
514
621
|
const { pipelines, cfg } = deps;
|
|
622
|
+
/** One guard per plugin process: it observes the SHAPE of what came back
|
|
623
|
+
* across the whole conversation, which is the only way to notice an engine
|
|
624
|
+
* answering two different questions with the same list. */
|
|
625
|
+
const dupe = createDupeGuard();
|
|
515
626
|
// T4: the DEFAULT seed carries api.stackexchange.com + hn.algolia.com
|
|
516
627
|
// (consumer-side merge — config.ts's constant is untouched).
|
|
517
628
|
const allowlist = seedWebfetchDomains(cfg.webfetchAllowedDomains);
|
|
629
|
+
const maxHits = Math.max(3, Number(cfg.searchMaxHits) || SEARCH_MAX_HITS);
|
|
630
|
+
const disabled = cfg.searchDisabledEngines ?? [];
|
|
631
|
+
const roster = SEARCH_ENGINE_NAMES.filter((n) => !disabled.includes(n));
|
|
632
|
+
/** Can tm_webfetch actually READ this hit afterwards? A hit it cannot is
|
|
633
|
+
* still shown (tagged), because "the answer is on a site you did not
|
|
634
|
+
* allowlist" is information the agent needs, not noise. */
|
|
635
|
+
const fetchable = (url) => {
|
|
636
|
+
try {
|
|
637
|
+
return hostAllowed(new URL(url).hostname, allowlist);
|
|
638
|
+
}
|
|
639
|
+
catch {
|
|
640
|
+
return false;
|
|
641
|
+
}
|
|
642
|
+
};
|
|
518
643
|
return {
|
|
519
644
|
description: SEARCH_DESCRIPTION,
|
|
520
645
|
args: deps.args ?? {
|
|
521
646
|
query: { descriptor: "query: string (required, raw text — CJK fine, encoded here)" },
|
|
522
647
|
engine: {
|
|
523
|
-
descriptor: `engine: ${AUTO_ENGINE_KEY}|${
|
|
648
|
+
descriptor: `engine: ${AUTO_ENGINE_KEY}|${roster.join("|")} (optional, default ${cfg.searchDefaultEngine || AUTO_ENGINE_KEY})`,
|
|
524
649
|
},
|
|
525
650
|
},
|
|
526
651
|
execute: async (rawArgs, ctx) => {
|
|
@@ -534,7 +659,7 @@ export function buildTmSearchTool(deps) {
|
|
|
534
659
|
const engineKey = String(args.engine ?? cfg.searchDefaultEngine ?? AUTO_ENGINE_KEY).trim().toLowerCase() || AUTO_ENGINE_KEY;
|
|
535
660
|
// ---------- auto: classify → parallel fan-out → normalize → RRF ----------
|
|
536
661
|
if (engineKey === AUTO_ENGINE_KEY) {
|
|
537
|
-
const { routes, queryClass, notes } = resolveAutoRoutes(query);
|
|
662
|
+
const { routes, queryClass, notes } = resolveAutoRoutes(query, disabled);
|
|
538
663
|
const stepId = pipelines.nextStepId();
|
|
539
664
|
pipelines.store.appendTrajectory({ tool, step_id: stepId, event: "call", engine: AUTO_ENGINE_KEY, routes });
|
|
540
665
|
const settled = await Promise.all(routes.map(async (key) => {
|
|
@@ -547,8 +672,8 @@ export function buildTmSearchTool(deps) {
|
|
|
547
672
|
return { engine: key, hits: [], note: `${key} 主机不在白名单,已跳过` };
|
|
548
673
|
}
|
|
549
674
|
try {
|
|
550
|
-
const res = await fetchWebText(target, allowlist, { fetchImpl: deps.fetchImpl });
|
|
551
|
-
return { engine: key, hits: bodyToHits(engine, res.text) };
|
|
675
|
+
const res = await fetchWebText(target, allowlist, { fetchImpl: deps.fetchImpl, cache: deps.cache });
|
|
676
|
+
return { engine: key, hits: bodyToHits(engine, res.text, maxHits) };
|
|
552
677
|
}
|
|
553
678
|
catch (err) {
|
|
554
679
|
const e = err;
|
|
@@ -560,22 +685,36 @@ export function buildTmSearchTool(deps) {
|
|
|
560
685
|
if (g.note)
|
|
561
686
|
notes.push(g.note);
|
|
562
687
|
if (groups.length === 0) {
|
|
563
|
-
return toToolResult(tmError(tool, "execute", `auto(${queryClass}: ${routes.join("+")}) 没有返回可提取的结果${notes.length ? `(${notes.join(";")})` : ""}。换显式引擎试试: ${
|
|
688
|
+
return toToolResult(tmError(tool, "execute", `auto(${queryClass}: ${routes.join("+")}) 没有返回可提取的结果${notes.length ? `(${notes.join(";")})` : ""}。换显式引擎试试: ${roster.join(", ")},或缩小/换词。`));
|
|
564
689
|
}
|
|
565
|
-
const fused = fuseRrf(groups
|
|
690
|
+
const fused = fuseRrf(groups, {
|
|
691
|
+
max: maxHits,
|
|
692
|
+
query,
|
|
693
|
+
weights: cfg.searchWeights,
|
|
694
|
+
floor: cfg.searchRelevanceFloor,
|
|
695
|
+
fetchable,
|
|
696
|
+
});
|
|
566
697
|
if (fused.length === 0) {
|
|
567
698
|
return toToolResult(tmError(tool, "execute", `auto(${routes.join("+")}) 结果为空——换显式引擎或换词`));
|
|
568
699
|
}
|
|
569
|
-
const
|
|
570
|
-
|
|
571
|
-
|
|
700
|
+
const av = dupe.observe(`auto(${routes.join("+")})`, query, fused, queryTerms(query));
|
|
701
|
+
let renderedAuto = renderFusedHits(query, routes, fused, notes);
|
|
702
|
+
if (av.note) {
|
|
703
|
+
pipelines.store.appendTrajectory({ tool, step_id: stepId, event: av.collapse ? "collapse" : "irrelevant", engine: "auto", repeats: av.repeats });
|
|
704
|
+
renderedAuto = `${renderedAuto}\n${av.note}`;
|
|
705
|
+
}
|
|
706
|
+
return toToolResult(pipelines.govern(stepId, tool, renderedAuto, {
|
|
707
|
+
contentType: detectContentType(renderedAuto),
|
|
572
708
|
clue: `search auto(${queryClass}) routes=${routes.join("+")} q=${shorten(query, 80)}`,
|
|
573
709
|
}));
|
|
574
710
|
}
|
|
575
711
|
// ---------- explicit single engine ----------
|
|
576
712
|
const engine = SEARCH_ENGINES[engineKey];
|
|
577
713
|
if (!engine) {
|
|
578
|
-
return toToolResult(tmError(tool, "args", `未知引擎 "${shorten(engineKey, 40)}" —— 可用: ${AUTO_ENGINE_KEY}, ${
|
|
714
|
+
return toToolResult(tmError(tool, "args", `未知引擎 "${shorten(engineKey, 40)}" —— 可用: ${AUTO_ENGINE_KEY}, ${roster.join(", ")}`));
|
|
715
|
+
}
|
|
716
|
+
if (disabled.includes(engineKey)) {
|
|
717
|
+
return toToolResult(tmError(tool, "args", `引擎 "${engineKey}" 已被 TM_SEARCH_DISABLED_ENGINES 关闭 —— 可用: ${AUTO_ENGINE_KEY}, ${roster.join(", ")}`));
|
|
579
718
|
}
|
|
580
719
|
// a bad TM_SEARCH_DEFAULT_ENGINE value lands here too (no explicit
|
|
581
720
|
// engine was given) — the roster above names `auto` as the fix.
|
|
@@ -606,8 +745,11 @@ export function buildTmSearchTool(deps) {
|
|
|
606
745
|
fetchImpl: deps.fetchImpl,
|
|
607
746
|
ask: ask ?? undefined,
|
|
608
747
|
skipAskHosts: approvedHosts,
|
|
748
|
+
cache: deps.cache,
|
|
609
749
|
});
|
|
610
750
|
let rendered = null;
|
|
751
|
+
/** the html engines hand their hit list to the collapse guard */
|
|
752
|
+
let guardHits = [];
|
|
611
753
|
if (engine.kind === "npm-json") {
|
|
612
754
|
rendered = renderNpmResults(query, res.text);
|
|
613
755
|
}
|
|
@@ -625,11 +767,23 @@ export function buildTmSearchTool(deps) {
|
|
|
625
767
|
}
|
|
626
768
|
else {
|
|
627
769
|
const hits = extractHtmlResults(res.text);
|
|
770
|
+
guardHits = hits;
|
|
628
771
|
rendered = hits.length > 0 ? renderSearchHits(query, engine.name, hits) : null;
|
|
629
772
|
}
|
|
630
773
|
if (!rendered || !rendered.trim()) {
|
|
631
774
|
return toToolResult(tmError(tool, "execute", `${engine.name} 没有返回可提取的结果(可能是反爬拦截或该词确实无结果)。换其他引擎: ${engine.alt}。`));
|
|
632
775
|
}
|
|
776
|
+
const verdict = dupe.observe(engine.name, query, guardHits, queryTerms(query));
|
|
777
|
+
if (verdict.note) {
|
|
778
|
+
pipelines.store.appendTrajectory({
|
|
779
|
+
tool,
|
|
780
|
+
step_id: stepId,
|
|
781
|
+
event: verdict.collapse ? "collapse" : "irrelevant",
|
|
782
|
+
engine: engine.name,
|
|
783
|
+
repeats: verdict.repeats,
|
|
784
|
+
});
|
|
785
|
+
rendered = `${rendered}\n${verdict.note}`;
|
|
786
|
+
}
|
|
633
787
|
return toToolResult(pipelines.govern(stepId, tool, rendered, {
|
|
634
788
|
contentType: detectContentType(rendered),
|
|
635
789
|
clue: `search ${engine.name} q=${shorten(query, 80)}`,
|
package/dist/tm/search.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/tm/search.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/tm/search.ts"],"names":[],"mappings":"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"}
|