@te-river/opencode-team-mode 1.7.6 → 1.7.8
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 +1010 -1009
- package/README.zh-CN.md +907 -906
- package/dist/host/v2-browser-gate.js +2 -2
- package/dist/host/v2-guard.d.ts +135 -0
- package/dist/host/v2-guard.d.ts.map +1 -1
- package/dist/host/v2-guard.js +227 -2
- package/dist/host/v2-guard.js.map +1 -1
- package/dist/host/v2-offload.js +6 -6
- package/dist/host/v2-retry.d.ts +9 -1
- package/dist/host/v2-retry.d.ts.map +1 -1
- package/dist/host/v2-retry.js +10 -2
- package/dist/host/v2-retry.js.map +1 -1
- package/dist/host/v2-subagent.d.ts +21 -0
- package/dist/host/v2-subagent.d.ts.map +1 -1
- package/dist/host/v2-subagent.js +55 -9
- package/dist/host/v2-subagent.js.map +1 -1
- package/dist/host/v2.d.ts.map +1 -1
- package/dist/host/v2.js +77 -1
- package/dist/host/v2.js.map +1 -1
- package/dist/prompts/specialists.js +286 -286
- package/dist/task-offload.js +1 -1
- package/dist/tm/config-layers.d.ts +5 -2
- package/dist/tm/config-layers.d.ts.map +1 -1
- package/dist/tm/config-layers.js +10 -6
- package/dist/tm/config-layers.js.map +1 -1
- package/dist/tm/config.d.ts +3 -0
- package/dist/tm/config.d.ts.map +1 -1
- package/dist/tm/config.js +7 -1
- package/dist/tm/config.js.map +1 -1
- package/dist/tm/index.d.ts +5 -1
- package/dist/tm/index.d.ts.map +1 -1
- package/dist/tm/index.js +1 -1
- package/dist/tm/index.js.map +1 -1
- package/dist/tm/ledger.js +5 -5
- package/dist/tm/memory.js +9 -9
- package/dist/tm/search.d.ts +3 -0
- package/dist/tm/search.d.ts.map +1 -1
- package/dist/tm/search.js +67 -15
- package/dist/tm/search.js.map +1 -1
- package/dist/tm/stats.d.ts.map +1 -1
- package/dist/tm/stats.js +23 -0
- package/dist/tm/stats.js.map +1 -1
- package/dist/tm/tools.js +3 -3
- package/dist/tm/webfetch.d.ts +94 -5
- package/dist/tm/webfetch.d.ts.map +1 -1
- package/dist/tm/webfetch.js +285 -64
- package/dist/tm/webfetch.js.map +1 -1
- package/docs/installation-v2.md +2 -2
- package/docs/installation.md +505 -505
- package/docs/research/agent-data-exchange.md +117 -117
- package/docs/research/browser-pane.md +94 -94
- package/docs/research/host-http-api.md +132 -132
- package/docs/research/host-subagent-injection.md +187 -187
- package/docs/research/plugin-loader-contract.md +261 -261
- package/docs/research/v2-builtin-tools.md +447 -447
- package/docs/v2-port-notes.md +121 -78
- package/index.js +7 -7
- package/package.json +64 -64
- package/scripts/lib/config-surgery.cjs +239 -239
package/dist/tm/webfetch.js
CHANGED
|
@@ -19,12 +19,17 @@
|
|
|
19
19
|
* allowlist (an allowlisted shortener cannot bounce off-site);
|
|
20
20
|
* - a URL naming an env file (isEnvFilePath) is refused — the R6 red
|
|
21
21
|
* line applies to remote spellings too;
|
|
22
|
-
* - response body capped at 2 MB,
|
|
23
|
-
* HTML stripped to text before governance
|
|
22
|
+
* - response body capped at 2 MB, each request under a hard 20 s timeout,
|
|
23
|
+
* HTML stripped to text before governance;
|
|
24
|
+
* - a FAILED REQUEST (network throw, per-attempt timeout, HTTP 429/5xx) is
|
|
25
|
+
* retried on the fixed 5s/10s/20s ladder (max 3 retries, same config the
|
|
26
|
+
* provider-error governor reads) and the reply says when it was used —
|
|
27
|
+
* a policy refusal (allowlist, red line, env-file, 403/418, other 4xx) is
|
|
28
|
+
* never re-asked, because asking again earns the same verdict.
|
|
24
29
|
*/
|
|
25
30
|
import { isEnvFilePath } from "../envprotect.js";
|
|
26
31
|
import { askFnOf, askGrantNote, askRefusalNote, askUserForTarget, askUserForTargetDetailed } from "./perm-ask.js";
|
|
27
|
-
import { shorten, DEFAULT_WEBFETCH_DOMAINS } from "./config.js";
|
|
32
|
+
import { shorten, resolveConfig, DEFAULT_WEBFETCH_DOMAINS } from "./config.js";
|
|
28
33
|
/** T4 (tm_search quality upgrade): the two new no-key engine hosts.
|
|
29
34
|
* DEFAULT_WEBFETCH_DOMAINS itself lives in config.ts (owned by the P0
|
|
30
35
|
* batch — NOT editable by this package), so the seed extension is applied
|
|
@@ -481,21 +486,155 @@ async function readBodyCapped(res, maxBytes) {
|
|
|
481
486
|
/** A 429/503 that says WHEN, not just NO. Only the delta-seconds spelling
|
|
482
487
|
* becomes a sentence: an HTTP-date would be laundered into a countdown the
|
|
483
488
|
* agent has no way to honor (there is no sleep in this toolset), and a wrong
|
|
484
|
-
* number is worse than no number.
|
|
485
|
-
|
|
489
|
+
* number is worse than no number.
|
|
490
|
+
* `retriesTaken` keeps the advice consistent with what this tool just DID:
|
|
491
|
+
* telling the agent "别对同一 URL 原地重试" while the reply carries our own
|
|
492
|
+
* 「重试3次」 is one sentence contradicting the other (review finding #4).
|
|
493
|
+
* Either way the Retry-After number stays visible. */
|
|
494
|
+
export function retryAfterNote(raw, retriesTaken = 0) {
|
|
486
495
|
const v = String(raw ?? "").trim();
|
|
487
496
|
if (!/^\d{1,6}$/.test(v))
|
|
488
497
|
return "";
|
|
489
498
|
const s = Number(v);
|
|
490
499
|
if (!s)
|
|
491
500
|
return "";
|
|
501
|
+
if (retriesTaken > 0) {
|
|
502
|
+
return (` · Retry-After: ${s} 秒——服务端建议等 ${s} 秒;本工具已按 5s/10s/20s 重试过 ${retriesTaken} 次仍被限流,` +
|
|
503
|
+
`别再原地重问,换别的来源(tm_search 其它引擎 / 直接源站)。`);
|
|
504
|
+
}
|
|
492
505
|
return (` · Retry-After: ${s} 秒——这是"待会儿再来",不是"这页没了"。` +
|
|
493
506
|
`本轮先换别的来源(tm_search 其它引擎 / 直接源站),别对同一 URL 原地重试。`);
|
|
494
507
|
}
|
|
508
|
+
// ---------- HTTP-layer retry ladder (the fixed 5s / 10s / 20s) ----------
|
|
509
|
+
/** Retries per request: attempt #1 waits 5s, #2 waits 10s, #3 waits 20s, then
|
|
510
|
+
* the failure is reported. Same ladder the provider-error governor promises,
|
|
511
|
+
* derived from the SAME config (`retryBaseMs` doubling, no jitter), so the two
|
|
512
|
+
* failure surfaces cannot drift into two different meanings of "retry". */
|
|
513
|
+
export const HTTP_RETRY_MAX = 3;
|
|
514
|
+
/** A transient HTTP failure worth asking again: 429 (rate limited) and any 5xx.
|
|
515
|
+
* Everything else in the 4xx band is a VERDICT about this request — a retry
|
|
516
|
+
* would earn the same bytes, and 403/418 carry their own browser directive. */
|
|
517
|
+
export function isRetryableHttpStatus(status) {
|
|
518
|
+
return status === 429 || (status >= 500 && status <= 599);
|
|
519
|
+
}
|
|
520
|
+
/** Pure so a test can pin the ladder without sleeping: retry `attempt` (1-based)
|
|
521
|
+
* waits `baseMs × 2^(attempt-1)` clamped to `maxMs`; attempt 0 or anything past
|
|
522
|
+
* `HTTP_RETRY_MAX` waits nothing (0 = no further retry). The clamp is what
|
|
523
|
+
* makes the docs' promise true (review finding #3): with `retryBaseMs > 15000`
|
|
524
|
+
* the un-clamped third rung (base×4) exceeded `retryMaxMs`, while the `retry`
|
|
525
|
+
* key says BOTH surfaces share one capped ladder. Defaults read from the
|
|
526
|
+
* registry, so the shipped path stays exactly 5s/10s/20s (all under 60s). */
|
|
527
|
+
export function httpRetryDelayMs(attempt, baseMs, maxMs) {
|
|
528
|
+
const a = Number.isFinite(attempt) ? Math.floor(attempt) : 0;
|
|
529
|
+
if (a < 1 || a > HTTP_RETRY_MAX)
|
|
530
|
+
return 0;
|
|
531
|
+
const base = Number.isFinite(baseMs) && baseMs > 0 ? baseMs : resolveConfig().retryBaseMs;
|
|
532
|
+
const max = Number.isFinite(maxMs) && maxMs > 0 ? maxMs : resolveConfig().retryMaxMs;
|
|
533
|
+
return Math.min(Math.round(base * Math.pow(2, a - 1)), max);
|
|
534
|
+
}
|
|
535
|
+
/** The registry is the one source of truth: `retry: "off"` disables the HTTP
|
|
536
|
+
* retries as well as the governor's directive, and `retryBaseMs` sets the
|
|
537
|
+
* first wait. Callers holding a resolved `TmConfig` pass it in; a caller with
|
|
538
|
+
* none (the search engine legs' inner helper, a PTC bridge) gets the defaults. */
|
|
539
|
+
export function httpRetryFromConfig(cfg = {}) {
|
|
540
|
+
const base = resolveConfig();
|
|
541
|
+
return {
|
|
542
|
+
enabled: (cfg.retry ?? base.retry) !== "off",
|
|
543
|
+
baseMs: Number.isFinite(cfg.retryBaseMs) && cfg.retryBaseMs > 0 ? cfg.retryBaseMs : base.retryBaseMs,
|
|
544
|
+
maxRetries: HTTP_RETRY_MAX,
|
|
545
|
+
maxMs: base.retryMaxMs,
|
|
546
|
+
};
|
|
547
|
+
}
|
|
548
|
+
/** The same policy from an explicit per-call partial (what `fetchWebText`'s
|
|
549
|
+
* `retry` option carries): every field falls back to the registry, never to a
|
|
550
|
+
* guessed number, so a caller that passes `{}` retries exactly like the tool.
|
|
551
|
+
* `maxRetries` is CLAMPED to HTTP_RETRY_MAX (review finding #5): the ladder has
|
|
552
|
+
* three rungs, and `httpRetryDelayMs` answers 0 past them — an accepted 9 would
|
|
553
|
+
* take six zero-delay "retries" the note renderers used to print as 「1s」, a
|
|
554
|
+
* wait that never happened. */
|
|
555
|
+
export function resolveHttpRetry(policy = {}) {
|
|
556
|
+
const base = resolveConfig();
|
|
557
|
+
return {
|
|
558
|
+
enabled: policy.enabled ?? base.retry !== "off",
|
|
559
|
+
baseMs: Number.isFinite(policy.baseMs) && policy.baseMs > 0 ? policy.baseMs : base.retryBaseMs,
|
|
560
|
+
maxRetries: Number.isFinite(policy.maxRetries) && policy.maxRetries >= 0
|
|
561
|
+
? Math.min(Math.floor(policy.maxRetries), HTTP_RETRY_MAX)
|
|
562
|
+
: HTTP_RETRY_MAX,
|
|
563
|
+
maxMs: Number.isFinite(policy.maxMs) && policy.maxMs > 0 ? policy.maxMs : base.retryMaxMs,
|
|
564
|
+
};
|
|
565
|
+
}
|
|
566
|
+
/** Honest labelling (design goal #6): a page that arrived on the third try is
|
|
567
|
+
* not the same fact as a page that arrived on the first, and a failure after
|
|
568
|
+
* three tries says how long the caller waited for nothing. Zero-delay entries
|
|
569
|
+
* are filtered before rendering (review finding #5): a 0 is "the ladder was
|
|
570
|
+
* already walked", and `Math.max(1, round(0/1000))` would print it as a 「1s」
|
|
571
|
+
* wait that never happened. With the maxRetries clamp these cannot reach the
|
|
572
|
+
* list any more — this is the belt under the braces. */
|
|
573
|
+
export function httpRetryNote(delaysMs) {
|
|
574
|
+
const ds = delaysMs.filter((d) => Number.isFinite(d) && d > 0);
|
|
575
|
+
if (!ds.length)
|
|
576
|
+
return "";
|
|
577
|
+
const waited = ds.map((d) => `${Math.max(1, Math.round(d / 1000))}s`).join("+");
|
|
578
|
+
return `(第${ds.length}次重试后成功 · 已等待${waited})`;
|
|
579
|
+
}
|
|
580
|
+
/** The failure counterpart — how many times, at what waits, still no answer.
|
|
581
|
+
* Zero-delay entries filtered for the same reason as above. */
|
|
582
|
+
export function httpRetryFailNote(delaysMs) {
|
|
583
|
+
const ds = delaysMs.filter((d) => Number.isFinite(d) && d > 0);
|
|
584
|
+
if (!ds.length)
|
|
585
|
+
return "";
|
|
586
|
+
const ladder = ds.map((d) => `${Math.max(1, Math.round(d / 1000))}s`).join("/");
|
|
587
|
+
return `(重试${ds.length}次 · ${ladder} · 仍失败)`;
|
|
588
|
+
}
|
|
589
|
+
/** A POLICY verdict, not a failed request: allowlist/dialog refusal, 403/418,
|
|
590
|
+
* a non-429 4xx, a redirect without a usable Location. Never retried. */
|
|
591
|
+
function fatalFetchError(message) {
|
|
592
|
+
const e = new Error(message);
|
|
593
|
+
e.retryable = false;
|
|
594
|
+
return e;
|
|
595
|
+
}
|
|
596
|
+
/** A status the caller may ask again about (429 / 5xx). */
|
|
597
|
+
function transientFetchError(message) {
|
|
598
|
+
const e = new Error(message);
|
|
599
|
+
e.retryable = true;
|
|
600
|
+
return e;
|
|
601
|
+
}
|
|
602
|
+
const isFatalFetchError = (err) => err?.retryable === false;
|
|
603
|
+
/** `AbortError` is a timeout, anything else that reached the catch without a
|
|
604
|
+
* fatal tag is a network failure — the two shapes a retry can actually fix. */
|
|
605
|
+
function retryReason(err) {
|
|
606
|
+
const e = err;
|
|
607
|
+
if (e?.name === "AbortError")
|
|
608
|
+
return "timeout";
|
|
609
|
+
return String(e?.name ?? e?.message ?? "error").slice(0, 40) || "network error";
|
|
610
|
+
}
|
|
611
|
+
/** Stamp the exhausted-ladder fact onto the error the caller will read, without
|
|
612
|
+
* replacing it (an `AbortError` that lost its name would print as unknown). */
|
|
613
|
+
function tagHttpRetryExhausted(err, delaysMs) {
|
|
614
|
+
const e = err;
|
|
615
|
+
if (!e)
|
|
616
|
+
return;
|
|
617
|
+
const note = httpRetryFailNote(delaysMs);
|
|
618
|
+
if (!note)
|
|
619
|
+
return;
|
|
620
|
+
e.retryNote = note;
|
|
621
|
+
e.message = `${String(e.message ?? "")}\n${note}`;
|
|
622
|
+
}
|
|
495
623
|
/**
|
|
496
624
|
* Fetch a URL with hard timeout, byte cap, and MANUAL redirects — every
|
|
497
625
|
* hop is re-checked against the allowlist before it is requested.
|
|
498
|
-
* `fetchImpl` is injectable for tests (default: globalThis.fetch)
|
|
626
|
+
* `fetchImpl` is injectable for tests (default: globalThis.fetch), as is
|
|
627
|
+
* `sleep` (default: setTimeout) so the ladder can be pinned without waiting
|
|
628
|
+
* on it.
|
|
629
|
+
*
|
|
630
|
+
* HTTP retries: a failed request (network throw, per-attempt timeout, 429,
|
|
631
|
+
* 5xx) is retried up to `HTTP_RETRY_MAX` times with the fixed 5s/10s/20s
|
|
632
|
+
* ladder. The timeout stays PER ATTEMPT, so the worst case for one URL is
|
|
633
|
+
* 4 × 20s of fetching plus 35s of waiting ≈ 115s — accepted deliberately:
|
|
634
|
+
* a transient failure that clears in 20s should not cost the caller a new
|
|
635
|
+
* round, and the reply says out loud when the ladder was used up.
|
|
636
|
+
* A policy refusal is never retried, and a retry re-requests THIS hop only —
|
|
637
|
+
* it never re-follows a redirect chain and never re-asks a dialog.
|
|
499
638
|
*/
|
|
500
639
|
export async function fetchWebText(url, allowlist, opts = {}) {
|
|
501
640
|
const doFetch = opts.fetchImpl ?? globalThis.fetch;
|
|
@@ -505,6 +644,23 @@ export async function fetchWebText(url, allowlist, opts = {}) {
|
|
|
505
644
|
const timeoutMs = opts.timeoutMs ?? WEBFETCH_TIMEOUT_MS;
|
|
506
645
|
const maxBytes = opts.maxBytes ?? WEBFETCH_MAX_BYTES;
|
|
507
646
|
const accept = (opts.accept && opts.accept.trim()) || WEBFETCH_ACCEPT;
|
|
647
|
+
const retry = resolveHttpRetry(opts.retry ?? {});
|
|
648
|
+
const sleep = opts.sleep ?? ((ms) => new Promise((resolve) => setTimeout(resolve, ms)));
|
|
649
|
+
// Retries actually taken in THIS call, in the order they were slept. Both
|
|
650
|
+
// labels (success and exhausted) are rendered from this list, so the reply
|
|
651
|
+
// can only ever claim waiting for time this function actually spent.
|
|
652
|
+
const delays = [];
|
|
653
|
+
const takeRetry = async (attempt, reason) => {
|
|
654
|
+
const delayMs = httpRetryDelayMs(attempt + 1, retry.baseMs, retry.maxMs);
|
|
655
|
+
delays.push(delayMs);
|
|
656
|
+
try {
|
|
657
|
+
opts.onRetry?.({ attempt: attempt + 1, delayMs, reason });
|
|
658
|
+
}
|
|
659
|
+
catch {
|
|
660
|
+
/* the trajectory line is an extra, never a reason to fail the fetch */
|
|
661
|
+
}
|
|
662
|
+
await sleep(delayMs);
|
|
663
|
+
};
|
|
508
664
|
let current = url;
|
|
509
665
|
const approvedHosts = opts.skipAskHosts ?? new Set();
|
|
510
666
|
// Every hop, in order. Without this an allowlisted shortener that bounces
|
|
@@ -517,7 +673,7 @@ export async function fetchWebText(url, allowlist, opts = {}) {
|
|
|
517
673
|
const seq = hopHosts.filter((h, i) => i === 0 || h !== hopHosts[i - 1]);
|
|
518
674
|
return seq.length > 1 ? ` · 跳转链: ${seq.join(" → ")}(停在第 ${hopHosts.length} 跳)` : "";
|
|
519
675
|
};
|
|
520
|
-
for (let hop = 0; hop <= WEBFETCH_MAX_REDIRECTS; hop++) {
|
|
676
|
+
hopLoop: for (let hop = 0; hop <= WEBFETCH_MAX_REDIRECTS; hop++) {
|
|
521
677
|
hopHosts.push(current.hostname);
|
|
522
678
|
// every hop re-checked — an allowlisted shortener cannot bounce off-site
|
|
523
679
|
const verdict = checkWebUrl(current.toString(), allowlist);
|
|
@@ -549,53 +705,94 @@ export async function fetchWebText(url, allowlist, opts = {}) {
|
|
|
549
705
|
if (hit)
|
|
550
706
|
return { text: hit.body, contentType: hit.contentType, finalUrl: current.toString(), cachedAt: hit.at };
|
|
551
707
|
}
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
"
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
708
|
+
// One attempt = ONE request for THIS hop. A retry re-requests this same
|
|
709
|
+
// URL — it never re-follows the chain, never re-asks a dialog, and never
|
|
710
|
+
// reaches a hop whose allowlist / red-line verdict already refused (those
|
|
711
|
+
// throw above this loop, outside the retry's reach).
|
|
712
|
+
for (let attempt = 0;; attempt++) {
|
|
713
|
+
const ctrl = new AbortController();
|
|
714
|
+
const timer = setTimeout(() => ctrl.abort(), timeoutMs);
|
|
715
|
+
try {
|
|
716
|
+
const res = (await doFetch(current.toString(), {
|
|
717
|
+
redirect: "manual",
|
|
718
|
+
signal: ctrl.signal,
|
|
719
|
+
headers: {
|
|
720
|
+
"user-agent": WEBFETCH_UA,
|
|
721
|
+
accept,
|
|
722
|
+
"accept-language": WEBFETCH_ACCEPT_LANGUAGE,
|
|
723
|
+
},
|
|
724
|
+
}));
|
|
725
|
+
if (REDIRECT_STATUSES.has(res.status)) {
|
|
726
|
+
const loc = res.headers.get("location");
|
|
727
|
+
if (!loc)
|
|
728
|
+
throw fatalFetchError(`重定向 ${res.status} 缺少 Location 头${trail()}`);
|
|
729
|
+
// A malformed Location is a VERDICT about this response, not a failed
|
|
730
|
+
// request — asking again earns the same broken header. Without the
|
|
731
|
+
// fatal tag (review finding #2) a TypeError from the URL parse looked
|
|
732
|
+
// transient and burned the whole 35 s ladder on it.
|
|
733
|
+
try {
|
|
734
|
+
current = new URL(loc, current);
|
|
735
|
+
}
|
|
736
|
+
catch {
|
|
737
|
+
throw fatalFetchError(`重定向 ${res.status} 的 Location 无法解析${trail()}`);
|
|
738
|
+
}
|
|
739
|
+
continue hopLoop;
|
|
740
|
+
}
|
|
741
|
+
// A 429/5xx with ladder left is a retry, not a result — the reporting
|
|
742
|
+
// code below only ever sees a response the caller has to be told about.
|
|
743
|
+
if (isRetryableHttpStatus(res.status) && retry.enabled && attempt < retry.maxRetries) {
|
|
744
|
+
await takeRetry(attempt, `HTTP ${res.status}`);
|
|
745
|
+
continue;
|
|
746
|
+
}
|
|
747
|
+
if (res.status === 403 || res.status === 418) {
|
|
748
|
+
// Already sent real-Chrome UA + Accept headers and still rejected:
|
|
749
|
+
// the gate is JS-challenge / TLS-fingerprint based — only a real
|
|
750
|
+
// browser passes. DIRECTIVE to the agent: use the host's native browser.
|
|
751
|
+
const u = current.toString();
|
|
752
|
+
const known = u.includes("baike.baidu.com")
|
|
753
|
+
? "(baike.baidu.com 是 JS 渲染 SPA)"
|
|
754
|
+
: u.includes("zhihu.com")
|
|
755
|
+
? "(知乎对 fetch 一律 403)"
|
|
756
|
+
: "";
|
|
757
|
+
throw fatalFetchError(`HTTP ${res.status}${known}——伪装浏览器请求头后仍被拒,该站需要真实浏览器会话。` +
|
|
758
|
+
`下一步:用宿主原生浏览器打开此 URL(browser_navigate → browser_snapshot)` +
|
|
759
|
+
`(${shorten(u, 120)});或换 tm_search 引擎 / 找直接源站。${trail()}`);
|
|
760
|
+
}
|
|
761
|
+
if (res.status < 200 || res.status >= 300) {
|
|
762
|
+
// 429/5xx exhausted their ladder → still a transient, and the note
|
|
763
|
+
// says so. Any other 4xx is a verdict on THIS request: no retry.
|
|
764
|
+
throw (isRetryableHttpStatus(res.status) ? transientFetchError : fatalFetchError)(`HTTP ${res.status}(最终 URL: ${shorten(current.toString(), 120)})${retryAfterNote(res.headers.get("retry-after"), delays.length)}${trail()}`);
|
|
765
|
+
}
|
|
766
|
+
const contentType = (res.headers.get("content-type") ?? "text/plain").toLowerCase();
|
|
767
|
+
const raw = await readBodyCapped(res, maxBytes);
|
|
768
|
+
// Store the RAW body (pre-extraction) under the SAME static-allowlist
|
|
769
|
+
// condition; a 2xx-only rule keeps an error page from outliving itself
|
|
770
|
+
// as "the content of that URL".
|
|
771
|
+
if (staticAllow && opts.cache?.enabled())
|
|
772
|
+
opts.cache.put(current.toString(), { status: res.status, contentType, body: raw });
|
|
773
|
+
return {
|
|
774
|
+
text: raw,
|
|
775
|
+
contentType,
|
|
776
|
+
finalUrl: current.toString(),
|
|
777
|
+
...(delays.length ? { retries: [...delays] } : {}),
|
|
778
|
+
};
|
|
570
779
|
}
|
|
571
|
-
|
|
572
|
-
//
|
|
573
|
-
//
|
|
574
|
-
//
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
`(${shorten(u, 120)});或换 tm_search 引擎 / 找直接源站。${trail()}`);
|
|
780
|
+
catch (err) {
|
|
781
|
+
// Only a FAILED REQUEST retries here. An error carrying a policy
|
|
782
|
+
// verdict is tagged fatal (allowlist refusal, 403/418, a non-429 4xx,
|
|
783
|
+
// a redirect without a usable Location) and leaves immediately; a bare
|
|
784
|
+
// throw from fetch/body-read is a network error or a timeout abort,
|
|
785
|
+
// which is exactly what asking again can fix.
|
|
786
|
+
if (retry.enabled && attempt < retry.maxRetries && !isFatalFetchError(err)) {
|
|
787
|
+
await takeRetry(attempt, retryReason(err));
|
|
788
|
+
continue;
|
|
789
|
+
}
|
|
790
|
+
tagHttpRetryExhausted(err, delays);
|
|
791
|
+
throw err;
|
|
584
792
|
}
|
|
585
|
-
|
|
586
|
-
|
|
793
|
+
finally {
|
|
794
|
+
clearTimeout(timer);
|
|
587
795
|
}
|
|
588
|
-
const contentType = (res.headers.get("content-type") ?? "text/plain").toLowerCase();
|
|
589
|
-
const raw = await readBodyCapped(res, maxBytes);
|
|
590
|
-
// Store the RAW body (pre-extraction) under the SAME static-allowlist
|
|
591
|
-
// condition; a 2xx-only rule keeps an error page from outliving itself
|
|
592
|
-
// as "the content of that URL".
|
|
593
|
-
if (staticAllow && opts.cache?.enabled())
|
|
594
|
-
opts.cache.put(current.toString(), { status: res.status, contentType, body: raw });
|
|
595
|
-
return { text: raw, contentType, finalUrl: current.toString() };
|
|
596
|
-
}
|
|
597
|
-
finally {
|
|
598
|
-
clearTimeout(timer);
|
|
599
796
|
}
|
|
600
797
|
}
|
|
601
798
|
throw new Error(`重定向超过 ${WEBFETCH_MAX_REDIRECTS} 跳,放弃抓取`);
|
|
@@ -609,13 +806,15 @@ export function extractWebResponse(raw, contentType) {
|
|
|
609
806
|
return { text: raw, isHtml: false };
|
|
610
807
|
}
|
|
611
808
|
// ---------- tool definition ----------
|
|
612
|
-
const WEBFETCH_DESCRIPTION = `Fetch a web page through the governed pipeline (domain allowlist + threshold offload) — use it for a KNOWN URL only. For open-ended lookups use tm_search FIRST (multi-engine, extracted hit lists); never hand-build search URLs here.
|
|
613
|
-
|
|
614
|
-
- ANTI-PATTERN: do NOT hand-build search-engine URLs here — that is tm_search's job (multi-engine, extracted hit lists). Use THIS tool for a page you already know: a direct article/wiki term, a registry JSON endpoint, a raw file.
|
|
615
|
-
- Seeded hosts (CN-reachable, no API keys): moegirl.org.cn (parent — all subdomains: mobile. term https://mobile.moegirl.org.cn/TERM, mzh. main site) · search.bilibili.com · cn.bing.com (search: https://cn.bing.com/search?q=QUERY; &ensearch=1 for international results) · baidu.com (parent: www. search /s?wd=QUERY, baike. encyclopedia entries) · www.sogou.com (https://www.sogou.com/web?query=QUERY) · www.so.com (https://www.so.com/s?q=QUERY) · registry.npmjs.org (package JSON: https://registry.npmjs.org/<pkg>/latest, search: https://registry.npmjs.org/-/v1/search?text=QUERY) · api.github.com (repo search: https://api.github.com/search/repositories?q=QUERY) · api.stackexchange.com (question search: https://api.stackexchange.com/2.3/search/advanced?order=desc&sort=relevance&q=QUERY&site=stackoverflow&pagesize=10) · hn.algolia.com (HN story search: https://hn.algolia.com/api/v1/search?query=QUERY&tags=story) · raw.githubusercontent.com + gist.githubusercontent.com + github.com (docs/code/issues) · ghproxy.net (mainland mirror for github raw). URL-encode the query (CJK terms too). Search-engine result pages are auto-extracted to a title+URL hit list. Expand colloquial/abbreviated terms to canonical forms and fetch BOTH spellings.
|
|
616
|
-
- Governance: only http(s), hosts must be allowlisted (extend via webfetchAllowedDomains, "*" opens all), redirects re-checked per hop (a refusal names the whole hop chain), HTML stripped to text — some documentation hosts (learn.microsoft.com measured 5.3x smaller) are fetched as Markdown when they honour accept: text/markdown, and the reply says so; output above offloadThreshold tokens is offloaded to a handle — page with tm_fetch (try mode:"structure" first).
|
|
617
|
-
- Governance: out-of-allowlist hosts route through the OFFICIAL confirmation dialog (approve to proceed once; the 1-min unanswered auto-reject applies); env-file URLs and non-http(s) schemes are hard-rejected with no dialog.
|
|
618
|
-
- Freshness: a repeated URL is served from a local TTL cache (webCacheTtlSec, default 300 s) and the reply SAYS 缓存命中 with its age. Need the page as it is NOW? Pass { fresh: true } to bypass the cache and hit the network
|
|
809
|
+
const WEBFETCH_DESCRIPTION = `Fetch a web page through the governed pipeline (domain allowlist + threshold offload) — use it for a KNOWN URL only. For open-ended lookups use tm_search FIRST (multi-engine, extracted hit lists); never hand-build search URLs here.
|
|
810
|
+
|
|
811
|
+
- ANTI-PATTERN: do NOT hand-build search-engine URLs here — that is tm_search's job (multi-engine, extracted hit lists). Use THIS tool for a page you already know: a direct article/wiki term, a registry JSON endpoint, a raw file.
|
|
812
|
+
- Seeded hosts (CN-reachable, no API keys): moegirl.org.cn (parent — all subdomains: mobile. term https://mobile.moegirl.org.cn/TERM, mzh. main site) · search.bilibili.com · cn.bing.com (search: https://cn.bing.com/search?q=QUERY; &ensearch=1 for international results) · baidu.com (parent: www. search /s?wd=QUERY, baike. encyclopedia entries) · www.sogou.com (https://www.sogou.com/web?query=QUERY) · www.so.com (https://www.so.com/s?q=QUERY) · registry.npmjs.org (package JSON: https://registry.npmjs.org/<pkg>/latest, search: https://registry.npmjs.org/-/v1/search?text=QUERY) · api.github.com (repo search: https://api.github.com/search/repositories?q=QUERY) · api.stackexchange.com (question search: https://api.stackexchange.com/2.3/search/advanced?order=desc&sort=relevance&q=QUERY&site=stackoverflow&pagesize=10) · hn.algolia.com (HN story search: https://hn.algolia.com/api/v1/search?query=QUERY&tags=story) · raw.githubusercontent.com + gist.githubusercontent.com + github.com (docs/code/issues) · ghproxy.net (mainland mirror for github raw). URL-encode the query (CJK terms too). Search-engine result pages are auto-extracted to a title+URL hit list. Expand colloquial/abbreviated terms to canonical forms and fetch BOTH spellings.
|
|
813
|
+
- Governance: only http(s), hosts must be allowlisted (extend via webfetchAllowedDomains, "*" opens all), redirects re-checked per hop (a refusal names the whole hop chain), HTML stripped to text — some documentation hosts (learn.microsoft.com measured 5.3x smaller) are fetched as Markdown when they honour accept: text/markdown, and the reply says so; output above offloadThreshold tokens is offloaded to a handle — page with tm_fetch (try mode:"structure" first).
|
|
814
|
+
- Governance: out-of-allowlist hosts route through the OFFICIAL confirmation dialog (approve to proceed once; the 1-min unanswered auto-reject applies); env-file URLs and non-http(s) schemes are hard-rejected with no dialog.
|
|
815
|
+
- Freshness: a repeated URL is served from a local TTL cache (webCacheTtlSec, default 300 s) and the reply SAYS 缓存命中 with its age. Need the page as it is NOW? Pass { fresh: true } to bypass the cache and hit the network.
|
|
816
|
+
- Transient failures: a network throw, a per-request 20 s timeout, an HTTP 429 or 5xx is retried up to 3 times on the fixed 5s/10s/20s ladder and the reply labels it (第N次重试后成功 / 重试3次…仍失败). A refusal (off-allowlist, red line, env-file URL, 403/418, other 4xx) is NOT retried — it is a verdict, so change source instead of re-asking. Set retry: "off" to disable both.
|
|
817
|
+
`;
|
|
619
818
|
/** Build the tm_webfetch ToolDefinition over the SHARED main pipelines
|
|
620
819
|
* instance (same step counter as tm_read/tm_grep/tm_bash — refs stay
|
|
621
820
|
* unambiguous). `fetchImpl` is injectable for tests. */
|
|
@@ -674,7 +873,23 @@ export function buildTmWebfetchTool(deps) {
|
|
|
674
873
|
// learn.microsoft.com, no-op elsewhere); the engine legs never come
|
|
675
874
|
// through here, so their calibrated browser-shaped header stands.
|
|
676
875
|
accept: WEBFETCH_ACCEPT_MD,
|
|
876
|
+
// The fixed HTTP ladder (5s/10s/20s) with the registry's own knobs, and
|
|
877
|
+
// one trajectory row per retry actually taken — so "重试3次" in the
|
|
878
|
+
// reply is falsifiable in steps.jsonl, not just asserted.
|
|
879
|
+
retry: httpRetryFromConfig(cfg),
|
|
880
|
+
sleep: deps.sleep,
|
|
881
|
+
onRetry: (row) => pipelines.store.appendTrajectory({
|
|
882
|
+
tool,
|
|
883
|
+
step_id: stepId,
|
|
884
|
+
event: "http_retry",
|
|
885
|
+
attempt: row.attempt,
|
|
886
|
+
delay_ms: row.delayMs,
|
|
887
|
+
reason: row.reason,
|
|
888
|
+
}),
|
|
677
889
|
});
|
|
890
|
+
// A page that arrived on the second or third try is not the same fact as
|
|
891
|
+
// one that arrived on the first — the wait is stated, not hidden.
|
|
892
|
+
const retryNote = httpRetryNote(res.retries ?? []);
|
|
678
893
|
// A re-served page is stated as such — an agent that believes a cache
|
|
679
894
|
// hit is a fresh observation propagates a stale fact into the plan.
|
|
680
895
|
let cacheNote = "";
|
|
@@ -692,7 +907,7 @@ export function buildTmWebfetchTool(deps) {
|
|
|
692
907
|
if (hits.length > 0) {
|
|
693
908
|
const sp = (verdict.ok ? verdict.url : new URL(requested)).searchParams;
|
|
694
909
|
const query = sp.get("q") ?? sp.get("wd") ?? sp.get("query") ?? sp.get("keyword") ?? "";
|
|
695
|
-
const listing = renderSearchHits(query || res.finalUrl, "webfetch", hits) + cacheNote + grantNote;
|
|
910
|
+
const listing = renderSearchHits(query || res.finalUrl, "webfetch", hits) + retryNote + cacheNote + grantNote;
|
|
696
911
|
return toToolResult(pipelines.govern(stepId, tool, listing, {
|
|
697
912
|
contentType: detectContentType(listing),
|
|
698
913
|
clue: `search url=${shorten(res.finalUrl, 120)}`,
|
|
@@ -708,8 +923,11 @@ export function buildTmWebfetchTool(deps) {
|
|
|
708
923
|
: "";
|
|
709
924
|
if (!text.trim()) {
|
|
710
925
|
// anti-bot / JS-rendered pages (baidu is the usual offender) return
|
|
711
|
-
// an empty shell — tell the agent instead of storing nothing
|
|
712
|
-
|
|
926
|
+
// an empty shell — tell the agent instead of storing nothing. When
|
|
927
|
+
// the shell only arrived after walking the ladder, that wait is part
|
|
928
|
+
// of the fact too (review finding #6) — an empty page that cost 35 s
|
|
929
|
+
// is not the same experience as one that answered instantly.
|
|
930
|
+
return toToolResult(tmError(tool, "execute", "页面内容为空——该站点可能是反爬或 JS 渲染页(baidu 常见)。换 tm_search 的其他引擎(bing/stackoverflow/hn)、用宿主原生浏览器打开,或直接访问数据源 URL(如 registry.npmjs.org/<pkg>/latest)。" + retryNote));
|
|
713
931
|
}
|
|
714
932
|
const contentType = detectContentType(text);
|
|
715
933
|
// Wave B M2 — `fields` dot-path projection on a JSON response body.
|
|
@@ -732,13 +950,13 @@ export function buildTmWebfetchTool(deps) {
|
|
|
732
950
|
"--- 投影 ---",
|
|
733
951
|
].join("\n");
|
|
734
952
|
const projected = proj.values.length ? `${head}\n${proj.values.join("\n")}` : head;
|
|
735
|
-
return toToolResult(pipelines.govern(stepId, tool, projected
|
|
953
|
+
return toToolResult(pipelines.govern(stepId, tool, `${projected}${retryNote}`, {
|
|
736
954
|
contentType: "text",
|
|
737
955
|
clue: `url=${shorten(res.finalUrl, 120)} fields=${shorten(fields, 60)}`,
|
|
738
956
|
}));
|
|
739
957
|
}
|
|
740
958
|
}
|
|
741
|
-
return toToolResult(pipelines.govern(stepId, tool, text + cacheNote + mdNote + grantNote, {
|
|
959
|
+
return toToolResult(pipelines.govern(stepId, tool, text + retryNote + cacheNote + mdNote + grantNote, {
|
|
742
960
|
contentType,
|
|
743
961
|
clue: `url=${shorten(res.finalUrl, 120)}`,
|
|
744
962
|
}));
|
|
@@ -746,7 +964,10 @@ export function buildTmWebfetchTool(deps) {
|
|
|
746
964
|
catch (err) {
|
|
747
965
|
const e = err;
|
|
748
966
|
if (e?.name === "AbortError") {
|
|
749
|
-
|
|
967
|
+
// A timeout that used up the ladder says so — the per-attempt 20s is
|
|
968
|
+
// not the whole story of how long this call took.
|
|
969
|
+
const exhausted = typeof e?.retryNote === "string" ? e.retryNote : "";
|
|
970
|
+
return toToolResult(tmError(tool, "execute", "抓取超时(每次请求 20s)——换更具体的搜索词或稍后重试" + exhausted));
|
|
750
971
|
}
|
|
751
972
|
return toToolResult(tmError(tool, "execute", String(e?.message ?? err ?? "webfetch 失败")));
|
|
752
973
|
}
|
package/dist/tm/webfetch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webfetch.js","sourceRoot":"","sources":["../../src/tm/webfetch.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"webfetch.js","sourceRoot":"","sources":["../../src/tm/webfetch.ts"],"names":[],"mappings":"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"}
|
package/docs/installation-v2.md
CHANGED
|
@@ -266,7 +266,7 @@ internal `TM_CONFIG_AUTOCREATE=off`); the boot row records `config_autocreate` a
|
|
|
266
266
|
`created` / `present` / `off` / `failed`.
|
|
267
267
|
|
|
268
268
|
Keys are camelCase (`offloadThreshold`, `searchDefaultEngine`, …) — the registry in
|
|
269
|
-
`src/tm/config-layers.ts` is the single source of truth (
|
|
269
|
+
`src/tm/config-layers.ts` is the single source of truth (58 keys, each with its type, default and
|
|
270
270
|
doc). Five keys are **red lines a PROJECT file may not change** — `envProtect`, `r6FineAsk`,
|
|
271
271
|
`privateSpace`, `webfetchAllowedDomains`, `bashReadonlyAllowed`; they are settable only in the
|
|
272
272
|
global file, and a project value is ignored and reported. A file that fails to parse is skipped
|
|
@@ -518,7 +518,7 @@ opencode reload
|
|
|
518
518
|
启动行会记录 `config_autocreate`(`created` / `present` / `off` / `failed`)。
|
|
519
519
|
|
|
520
520
|
键名是 camelCase(`offloadThreshold`、`searchDefaultEngine` …)——`src/tm/config-layers.ts` 里的注册表是唯一事实来源
|
|
521
|
-
(
|
|
521
|
+
(58 个键,每个都带类型、默认值与说明)。有五个键是**项目文件不许改写的红线**——`envProtect`、`r6FineAsk`、
|
|
522
522
|
`privateSpace`、`webfetchAllowedDomains`、`bashReadonlyAllowed`;它们只能在全局文件里设置,项目文件里写了会被忽略并报告。
|
|
523
523
|
解析失败的那一层**整层跳过**(半份配置比没有配置更危险),单个坏键只丢它自己。未知键在启动时告警、**不应用**。
|
|
524
524
|
`tm_stats` 会显示每个键最终来自哪一层、被忽略的红线键、未知键、被跳过的层,以及自动生成的状态。
|