agim-cli 1.2.117 → 1.2.119

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.
@@ -1 +1 @@
1
- {"version":3,"file":"provider-base.js","sourceRoot":"","sources":["../../../src/core/llm/provider-base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider-base.js","sourceRoot":"","sources":["../../../src/core/llm/provider-base.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,33 @@ interface SearchHit {
8
8
  url: string;
9
9
  snippet: string;
10
10
  }
11
+ /**
12
+ * v1.2.118 — pluggable search-provider interface. Each provider:
13
+ * - `name` is the env-config token (e.g. 'tavily')
14
+ * - `available()` short-circuits the chain when required keys are
15
+ * missing (so a fresh agim install without TAVILY_API_KEY skips
16
+ * Tavily without logging an error every search)
17
+ * - `search()` returns ≥0 SearchHit; an empty array means "no hits"
18
+ * and triggers fallback to the next provider, while a throw means
19
+ * "transient error" and is also followed by fallback (logged at
20
+ * warn). Either way, the chain continues until exhaustion.
21
+ */
22
+ interface SearchProvider {
23
+ name: string;
24
+ available(): boolean;
25
+ search(query: string, n: number, signal: AbortSignal): Promise<SearchHit[]>;
26
+ }
27
+ /**
28
+ * Read `IMHUB_WEB_SEARCH_PROVIDERS` (CSV) and return the active chain.
29
+ * Unknown names are dropped with a one-shot warn (so a typo doesn't
30
+ * silently disable the entire chain). Providers whose `available()`
31
+ * returns false are also dropped — these are NOT logged because the
32
+ * common case is "key not set, skip", not a misconfig.
33
+ */
34
+ export declare function resolveSearchProviderChain(): SearchProvider[];
35
+ /** Parse Tavily's `{results: [{title, url, content, score}]}` shape.
36
+ * Tolerant of missing fields: a hit needs title + url to be usable. */
37
+ export declare function parseTavilyResults(data: unknown, max: number): SearchHit[];
11
38
  /** Tiny extractor for the DuckDuckGo HTML SERP. The DDG HTML page wraps
12
39
  * each result in `<div class="result">` with `<a class="result__a" href="...">title</a>`
13
40
  * + `<a class="result__snippet">snippet</a>`. We don't use a DOM parser
@@ -1 +1 @@
1
- {"version":3,"file":"web-dispatcher.d.ts","sourceRoot":"","sources":["../../../src/core/llm/web-dispatcher.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,KAAK,EAAoB,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAY5E,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED,wBAAgB,WAAW,IAAI,OAAO,EAAE,CA0DvC;AAED,wBAAgB,kBAAkB,IAAI,cAAc,CAcnD;AAgHD,UAAU,SAAS;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;CAChB;AA2CD;;;;sBAIsB;AACtB,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,CAgBnE;AA6CD;;4BAE4B;AAC5B,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,CAwB1E;AAID,UAAU,YAAY;IAAG,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE;AAEvD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAyCxD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAuC1F;AAsED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAgCxD;AAKD,UAAU,KAAK;IAAG,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AAEjD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK,EAAE,CAiBnE"}
1
+ {"version":3,"file":"web-dispatcher.d.ts","sourceRoot":"","sources":["../../../src/core/llm/web-dispatcher.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,KAAK,EAAoB,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAc5E,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED,wBAAgB,WAAW,IAAI,OAAO,EAAE,CA8DvC;AAED,wBAAgB,kBAAkB,IAAI,cAAc,CAcnD;AAgHD,UAAU,SAAS;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;;;;;GAUG;AACH,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,IAAI,OAAO,CAAA;IACpB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAAA;CAC5E;AAoBD;;;;;;GAMG;AACH,wBAAgB,0BAA0B,IAAI,cAAc,EAAE,CAkB7D;AAwED;wEACwE;AACxE,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,CAgB1E;AAiBD;;;;sBAIsB;AACtB,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,CAgBnE;AA6CD;;4BAE4B;AAC5B,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,CAwB1E;AAID,UAAU,YAAY;IAAG,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE;AAEvD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAyCxD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAuC1F;AAsED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAgCxD;AAKD,UAAU,KAAK;IAAG,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AAEjD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK,EAAE,CAiBnE"}
@@ -1,8 +1,8 @@
1
- // web-dispatcher — read-only web tools for the native agent (v1.2.61).
1
+ // web-dispatcher — read-only web tools for the native agent.
2
2
  //
3
3
  // Two tools shipped:
4
4
  // - native_web_fetch(url, format?) GET + optional Jina Reader text extract
5
- // - native_web_search(query, n?) duckduckgo HTML scrape, metaso fallback
5
+ // - native_web_search(query, n?) configurable provider chain
6
6
  //
7
7
  // Both have:
8
8
  // * 30s default per-call timeout (override via IMHUB_NATIVE_WEB_TIMEOUT_MS)
@@ -10,11 +10,14 @@
10
10
  // IMHUB_NATIVE_WEB_ALLOW_PRIVATE=1
11
11
  // * Body / result size cap to keep the model context manageable
12
12
  //
13
- // Backend selection for web_search:
14
- // 1. duckduckgo — primary, no API key, scrapes the HTML SERP
15
- // 2. metaso — fallback when ddg returns 0/error, uses METASO_API_KEY
13
+ // v1.2.118 web_search now drives an ORDERED PROVIDER CHAIN via
14
+ // `IMHUB_WEB_SEARCH_PROVIDERS` (default 'tavily,duckduckgo,metaso').
15
+ // Each entry implements the SearchProvider interface below; providers
16
+ // whose API key is missing are silently skipped, so adding TAVILY_API_KEY
17
+ // to the env is enough to flip Tavily on. The first provider returning
18
+ // ≥1 result wins.
16
19
  //
17
- // Both tools are read-only and safe to default-allow in native's policy.
20
+ // All tools are read-only and safe to default-allow in native's policy.
18
21
  import net from 'node:net';
19
22
  import { logger as rootLogger } from '../logger.js';
20
23
  const log = rootLogger.child({ component: 'web-dispatcher' });
@@ -23,7 +26,9 @@ const DEFAULT_FETCH_MAX_BYTES = 200 * 1024; // 200 KB after extract
23
26
  const DEFAULT_SEARCH_RESULTS = 8;
24
27
  const DDG_SEARCH_URL = 'https://duckduckgo.com/html/?q=';
25
28
  const METASO_API_BASE = 'https://metaso.cn/api/v1'; // adapt if path differs
29
+ const TAVILY_API_URL = 'https://api.tavily.com/search';
26
30
  const JINA_READER_BASE = 'https://r.jina.ai/';
31
+ const DEFAULT_PROVIDER_ORDER = 'tavily,duckduckgo,metaso';
27
32
  const WEB_TOOL_NAMES = ['native_web_fetch', 'native_web_search'];
28
33
  export function isWebToolName(name) {
29
34
  return WEB_TOOL_NAMES.includes(name);
@@ -72,7 +77,11 @@ export function getWebTools() {
72
77
  'DO NOT use native_web_fetch when the user only gave keywords without a URL — ' +
73
78
  'always start with native_web_search, then optionally native_web_fetch on a result. ' +
74
79
  '\n\n' +
75
- 'Backend chain: DuckDuckGo HTML (no key) → Metaso fallback (needs METASO_API_KEY).',
80
+ 'Backend chain configurable via IMHUB_WEB_SEARCH_PROVIDERS '
81
+ + '(default "tavily,duckduckgo,metaso"). Tavily needs TAVILY_API_KEY; '
82
+ + 'Metaso needs METASO_API_KEY; DuckDuckGo needs none. Providers '
83
+ + 'whose key is missing are skipped silently — set the env vars '
84
+ + 'you want and the chain picks the first that returns ≥1 hit.',
76
85
  parameters: {
77
86
  type: 'object',
78
87
  properties: {
@@ -206,33 +215,139 @@ async function fetchWithSafeRedirects(initialUrl, signal, format) {
206
215
  }
207
216
  return { ok: false, error: `web_fetch refused: too many redirects (>${MAX_REDIRECTS})` };
208
217
  }
218
+ const PROVIDERS = {
219
+ tavily: {
220
+ name: 'tavily',
221
+ available: () => !!process.env.TAVILY_API_KEY,
222
+ search: searchTavily,
223
+ },
224
+ duckduckgo: {
225
+ name: 'duckduckgo',
226
+ available: () => true, // no key required
227
+ search: searchDuckDuckGo,
228
+ },
229
+ metaso: {
230
+ name: 'metaso',
231
+ available: () => !!process.env.METASO_API_KEY,
232
+ search: searchMetaso,
233
+ },
234
+ };
235
+ /**
236
+ * Read `IMHUB_WEB_SEARCH_PROVIDERS` (CSV) and return the active chain.
237
+ * Unknown names are dropped with a one-shot warn (so a typo doesn't
238
+ * silently disable the entire chain). Providers whose `available()`
239
+ * returns false are also dropped — these are NOT logged because the
240
+ * common case is "key not set, skip", not a misconfig.
241
+ */
242
+ export function resolveSearchProviderChain() {
243
+ // Empty string is treated as "unset" — natural for env files where
244
+ // clearing a value yields '' rather than removing the line. Use the
245
+ // default order in that case.
246
+ const envOrder = process.env.IMHUB_WEB_SEARCH_PROVIDERS;
247
+ const order = envOrder && envOrder.trim().length > 0 ? envOrder : DEFAULT_PROVIDER_ORDER;
248
+ const raw = order.split(',').map((s) => s.trim()).filter(Boolean);
249
+ const chain = [];
250
+ for (const name of raw) {
251
+ const p = PROVIDERS[name];
252
+ if (!p) {
253
+ log.warn({ event: 'web.search.unknown_provider', name }, `unknown web-search provider "${name}" — skipped`);
254
+ continue;
255
+ }
256
+ if (!p.available())
257
+ continue;
258
+ chain.push(p);
259
+ }
260
+ return chain;
261
+ }
209
262
  async function runWebSearch(args, signal) {
210
263
  const query = typeof args.query === 'string' ? args.query.trim() : '';
211
264
  if (!query)
212
265
  return { text: 'query required', isError: true, source: 'web' };
213
266
  const n = clampNumber(args.n, DEFAULT_SEARCH_RESULTS, 1, 20);
214
- // 1) DuckDuckGo first.
215
- try {
216
- const ddg = await searchDuckDuckGo(query, n, signal);
217
- if (ddg.length > 0) {
218
- return ok({ query, backend: 'duckduckgo', count: ddg.length, results: ddg });
219
- }
220
- log.info({ event: 'web.search.ddg_empty', query }, 'duckduckgo returned 0 results, falling back to metaso');
267
+ const chain = resolveSearchProviderChain();
268
+ if (chain.length === 0) {
269
+ return err('web_search: no providers configured. Set IMHUB_WEB_SEARCH_PROVIDERS=tavily,duckduckgo,metaso ' +
270
+ 'and at least one of TAVILY_API_KEY / METASO_API_KEY (duckduckgo needs no key).');
221
271
  }
222
- catch (err) {
223
- log.warn({ event: 'web.search.ddg_failed', err: errMsg(err) });
224
- }
225
- // 2) Metaso fallback.
226
- try {
227
- const meta = await searchMetaso(query, n, signal);
228
- if (meta.length > 0) {
229
- return ok({ query, backend: 'metaso', count: meta.length, results: meta });
272
+ const tried = [];
273
+ for (const provider of chain) {
274
+ try {
275
+ const hits = await provider.search(query, n, signal);
276
+ if (hits.length > 0) {
277
+ return ok({ query, backend: provider.name, count: hits.length, results: hits });
278
+ }
279
+ tried.push({ name: provider.name, reason: 'empty' });
280
+ log.info({ event: 'web.search.empty', provider: provider.name, query }, `provider "${provider.name}" returned 0 results — falling through to next`);
230
281
  }
231
- return err('web_search: both duckduckgo and metaso returned no results');
282
+ catch (e) {
283
+ const msg = errMsg(e);
284
+ tried.push({ name: provider.name, reason: msg });
285
+ log.warn({ event: 'web.search.failed', provider: provider.name, err: msg });
286
+ }
287
+ }
288
+ return err(`web_search: all ${chain.length} provider(s) returned no usable results — `
289
+ + tried.map((t) => `${t.name}: ${t.reason}`).join('; '));
290
+ }
291
+ /**
292
+ * v1.2.118 — Tavily AI search. Industry-default agent search (small fast
293
+ * index, snippet-rich, no scraping fragility). Returns up to N hits;
294
+ * `score` is dropped to match the SearchHit shape — Tavily already
295
+ * sorts by relevance. Throws on missing key (so the provider gate is
296
+ * `available()`-driven; reaching this throw means env mutated between
297
+ * available check and call, which is fine to surface).
298
+ */
299
+ async function searchTavily(query, n, signal) {
300
+ const key = process.env.TAVILY_API_KEY;
301
+ if (!key)
302
+ throw new Error('TAVILY_API_KEY not set');
303
+ const body = {
304
+ api_key: key,
305
+ query,
306
+ max_results: n,
307
+ // 'basic' is faster + cheaper; 'advanced' adds answer synthesis we
308
+ // don't need (the agent does its own synthesis from snippets).
309
+ search_depth: 'basic',
310
+ include_answer: false,
311
+ include_raw_content: false,
312
+ include_images: false,
313
+ };
314
+ const res = await fetch(TAVILY_API_URL, {
315
+ method: 'POST',
316
+ signal,
317
+ headers: { 'Content-Type': 'application/json', 'User-Agent': 'agim-native' },
318
+ body: JSON.stringify(body),
319
+ });
320
+ if (!res.ok) {
321
+ // Tavily returns useful error bodies; surface them.
322
+ const errBody = await res.text().catch(() => '');
323
+ throw new Error(`tavily http ${res.status}: ${errBody.slice(0, 200)}`);
232
324
  }
233
- catch (err2) {
234
- return err(`web_search: ddg failed and metaso fallback failed: ${errMsg(err2)}`);
325
+ const data = await res.json();
326
+ return parseTavilyResults(data, n);
327
+ }
328
+ /** Parse Tavily's `{results: [{title, url, content, score}]}` shape.
329
+ * Tolerant of missing fields: a hit needs title + url to be usable. */
330
+ export function parseTavilyResults(data, max) {
331
+ if (!data || typeof data !== 'object')
332
+ return [];
333
+ const d = data;
334
+ if (!Array.isArray(d.results))
335
+ return [];
336
+ const out = [];
337
+ for (const item of d.results) {
338
+ if (out.length >= max)
339
+ break;
340
+ if (!item || typeof item !== 'object')
341
+ continue;
342
+ const it = item;
343
+ const title = typeof it.title === 'string' ? it.title : '';
344
+ const url = typeof it.url === 'string' ? it.url : '';
345
+ const snippet = typeof it.content === 'string' ? it.content
346
+ : typeof it.snippet === 'string' ? it.snippet : '';
347
+ if (title && url)
348
+ out.push({ title, url, snippet });
235
349
  }
350
+ return out;
236
351
  }
237
352
  async function searchDuckDuckGo(query, n, signal) {
238
353
  const url = DDG_SEARCH_URL + encodeURIComponent(query);
@@ -1 +1 @@
1
- {"version":3,"file":"web-dispatcher.js","sourceRoot":"","sources":["../../../src/core/llm/web-dispatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"web-dispatcher.js","sourceRoot":"","sources":["../../../src/core/llm/web-dispatcher.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,21 @@
1
1
  import type { AgentAdapter } from '../../../core/types.js';
2
+ import { type LlmProvider } from '../../../core/llm/index.js';
3
+ import { type PolicyApprovalGateConfig } from '../../../core/llm/policy-approval-gate.js';
4
+ /**
5
+ * v1.2.47 — system prompt is rebuilt per IM turn so the model sees:
6
+ * - which LLM backend + role it's actually running on
7
+ * - the agim process working directory (no per-thread cwd today)
8
+ * - the live skill roster (names + one-line descriptions), with the
9
+ * hint to call mcp__imhub__read_skill for full bodies
10
+ * - external MCP servers currently connected
11
+ *
12
+ * Before v1.2.47 the prompt was a 4-line generic string; users
13
+ * complained that asking "what model are you" / "what skills do you
14
+ * have" got non-answers ("I don't know; ask the operator"). The
15
+ * builder closes that information gap without leaking secrets — every
16
+ * field surfaced here is operator-configured and non-sensitive.
17
+ */
18
+ export declare function buildSystemPrompt(provider: LlmProvider, role: string, cwd: string): string;
2
19
  /** Read <cwd>/AGENTS.md (if present) and prepare it for injection into
3
20
  * the system prompt. Returns '' on missing file / read failure / empty
4
21
  * content. Sanitises text length (8000 char cap) and scans for the
@@ -8,6 +25,22 @@ import type { AgentAdapter } from '../../../core/types.js';
8
25
  * hit so post-incident forensics can correlate. Honours
9
26
  * IMHUB_NATIVE_AGENT_ROLE_FILE for a non-default location. */
10
27
  export declare function readOperatorRole(cwd: string): string;
28
+ /** Resolve the operator's approval policy from env. Defaults to
29
+ * `allow-list` mode with NO allow entries — equivalent to "no tool
30
+ * calls". Operators that want native to actually call tools must
31
+ * configure at least one of these env vars:
32
+ *
33
+ * IMHUB_NATIVE_AGENT_MODE=allow-all|read-only|allow-list|deny-all
34
+ * IMHUB_NATIVE_AGENT_AUTOALLOW=tool1,tool2,...
35
+ * IMHUB_NATIVE_AGENT_DENYLIST=tool1,...
36
+ *
37
+ * The `read-only` mode is the recommended starter — it accepts every
38
+ * tool whose name starts/ends with a read-only verb (`read_*` /
39
+ * `list_*` / `get_*` / etc.) and the four built-ins
40
+ * (`native_echo`/`now`/`random_uuid` — `sleep_ms` excluded).
41
+ */
42
+ export declare function resolvePolicy(): PolicyApprovalGateConfig;
43
+ export declare function isPlanModeOn(): boolean;
11
44
  /**
12
45
  * Extract media attachments from a prompt string. Messenger adapters
13
46
  * (telegram / wechat / discord / feishu / dingtalk) inline a marker like
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/agents/native/index.ts"],"names":[],"mappings":"AAyCA,OAAO,KAAK,EACV,YAAY,EAGb,MAAM,wBAAwB,CAAA;AA8M/B;;;;;;;+DAO+D;AAC/D,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAmBpD;AAwXD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAkCvF;AAmkBD,eAAO,MAAM,kBAAkB,EAAE,YAAuC,CAAA;AAExE;;cAEc;AACd,wBAAgB,mBAAmB,IAAI,MAAM,CAI5C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/agents/native/index.ts"],"names":[],"mappings":"AAyCA,OAAO,KAAK,EACV,YAAY,EAGb,MAAM,wBAAwB,CAAA;AAG/B,OAAO,EAOL,KAAK,WAAW,EAEjB,MAAM,4BAA4B,CAAA;AAKnC,OAAO,EAIL,KAAK,wBAAwB,EAC9B,MAAM,2CAA2C,CAAA;AA+BlD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CA2J1F;AAED;;;;;;;+DAO+D;AAC/D,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAmBpD;AAwPD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,IAAI,wBAAwB,CAmDxD;AAWD,wBAAgB,YAAY,IAAI,OAAO,CAGtC;AA8ED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAkCvF;AAmkBD,eAAO,MAAM,kBAAkB,EAAE,YAAuC,CAAA;AAExE;;cAEc;AACd,wBAAgB,mBAAmB,IAAI,MAAM,CAI5C"}
@@ -72,7 +72,7 @@ const log = rootLogger.child({ component: 'native-agent' });
72
72
  * builder closes that information gap without leaking secrets — every
73
73
  * field surfaced here is operator-configured and non-sensitive.
74
74
  */
75
- function buildSystemPrompt(provider, role, cwd) {
75
+ export function buildSystemPrompt(provider, role, cwd) {
76
76
  const skills = listSkills();
77
77
  const skillsBlock = skills.length
78
78
  ? skills.map((s) => ` - ${s.name}: ${s.description}`).join('\n')
@@ -96,7 +96,16 @@ function buildSystemPrompt(provider, role, cwd) {
96
96
  lines.push('[/operator role definition]');
97
97
  lines.push('');
98
98
  }
99
- lines.push(`You are agim native — agim's in-process LLM agent talking to a user over an IM platform.`, ``, `Runtime:`, ` Backend: ${provider.providerType}:${provider.name}`, ` Role: ${role}`, ` Working directory: ${cwd}`, ``, `Tools available beyond the four native built-ins (echo / now / sleep / random_uuid):`, ` - agim built-in MCP tools (mcp__imhub__*): read_skill, list_skills, save_memo, search_memos, update_memo, delete_memo, push_message, ask_user, call_agent, long_task, complete_goal`, ` - native filesystem tools: native_read_file, native_write_file, native_list_dir, native_glob, native_grep — constrained to your workspace cwd unless IMHUB_NATIVE_FS_RESTRICT=0`, ` - native web tools: native_web_fetch (r.jina.ai reader by default), native_web_search (duckduckgo → metaso fallback). Private IPs blocked.`, ` - native_exec(command, timeout_ms?, cwd?): run shell commands. Always approval-gated; bwrap sandbox when IMHUB_EXEC_SANDBOX=bwrap.`, ` - External MCP servers configured by the operator:`, externalMcp, ``, `Available skill cards (call mcp__imhub__read_skill('<name>') for the full body):`, skillsBlock, ``, `Guidance:`, ` - Be terse; avoid filler. Prefer tool use over guessing.`, ` - When uncertain, call mcp__imhub__ask_user(question, choices[]) instead of free-form back-and-forth.`, ` - When the user references something they told the bot before, search memos via mcp__imhub__search_memos.`, ``, `Tool selection priority (HARD RULE — v1.2.59):`, ` - For "read this file / list this dir / search this content / fetch this URL", you MUST FIRST try`, ` your own native tools: native_read_file, native_list_dir, native_glob, native_grep,`, ` native_web_fetch (if available). Do NOT delegate these to call_agent.`, ` - call_agent is reserved for tasks that genuinely need a CLI agent's specialised capabilities`, ` (writing/editing source code in a real repo → claude-code; long-running plans → codex; etc).`, ` - You have a per-turn call_agent cap (default 2). Burning it on file reads will leave you`, ` unable to delegate later when you actually need to.`, ``, `Web tool routing (HARD RULE — v1.2.64):`, ` - If the user provided a SPECIFIC URL (http://… or https://…) → native_web_fetch.`, ` - If the user wants to FIND / DISCOVER something by keywords ("查找最新 X" / "search for Y" /`, ` "find docs on Z" / "今天 / 最近的 W") → native_web_search FIRST. Don't guess a URL.`, ` - Common pattern: native_web_search(query) → pick a result → native_web_fetch(that.url).`, ` - NEVER call native_web_fetch with a URL you fabricated from the user's keywords.`, ``, `Short-input rule:`, ` - If the user's message is ONLY a slash command alias for an agent name (e.g. "/native", "/llm",`, ` "/na", "/cc", "/oc") and you are already that agent, respond with ONE short line confirming`, ` your identity (e.g. "我是 native,正在听。"). Do NOT call any tool. The slash router handles`, ` actual agent switching; if it didn't switch, the user is already on this agent.`, ``, `Closure rule (v1.2.94 — HARD RULE):`, ` - When you finish a tool chain (read_file / web_fetch / native_exec / search_memos / etc.) you`, ` MUST write a short Chinese summary BEFORE stopping. The tool output by itself is not a`, ` user-facing answer — the user can't see the raw JSON / shell stdout. Always close with at`, ` least one sentence stating the finding / conclusion.`, ` - Do NOT end a turn with empty assistant text when you've just called tools. If you genuinely`, ` have nothing to add, say so explicitly ("已查完,未发现 X").`, ``, `Proactive memory rule (v1.2.96 — borrowed from Hermes Agent's "agent-curated memory"):`, ` - Before ending a substantive turn, scan the conversation for facts that should outlive the`, ` current chat. Persist them yourself via mcp__imhub__save_memo — don't wait for the user to`, ` ask you to remember.`, ` - Worth saving (call save_memo for each):`, ` · personal preferences ("我不喝咖啡" / "我用 vim"),`, ` · holdings or portfolio codes ("我持有 600519"),`, ` · recurring people / places ("我家在朝阳" / "爸爸生日 5月8日"),`, ` · stable identifiers (账号 / 邮箱 / API base / 配置路径),`, ` · explicit "记一下" / "remember this" instructions.`, ` - NOT worth saving: one-off questions, transient debugging context, tool outputs that are`, ` already cached elsewhere (memos point AT data, they're not a cache of data).`, ` - Each save_memo call is cheap. Two short memos beat one long one — small atomic facts`, ` search better. Add a 1-line user-facing acknowledgement so the user knows you remembered`, ` (e.g. "已记下 600519 是你的持仓").`, ``, `Long-task SOP (v1.2.93 — for any work you estimate will run > 10 minutes):`, ` - You CANNOT keep a long synchronous turn alive: the IM bridge times out around 30 min, and`, ` most useful work past the 10-min mark loses intermediate state if it crashes mid-flight.`, ` - Instead, use native_exec to invoke the agim bgjob wrapper, which spawns a detached worker`, ` that survives independent of this conversation:`, ` native_exec("/root/.claude/scripts/bgjob start <slug> -- /usr/bin/python3 /path/to/script.py [args]")`, ` Substitute python3 for the runtime you actually need. The wrapper returns a job_id; relay it`, ` to the user verbatim and tell them how to check back: \`bgjob status <id>\` / \`bgjob tail <id> -f\`.`, ` - When the user follows up asking about the job, native_exec calls like \`bgjob status <id>\` or`, ` \`bgjob tail <id> -n 100\` give you the current state + recent log lines.`, ` - The bwrap sandbox (when configured) is bypassed for this specific wrapper path so the`, ` setsid-detached worker actually survives. Any OTHER native_exec command remains sandboxed.`, ` - DO NOT use \`nohup ... &\` or backgrounded shell pipelines for long work — those die with the`, ` parent shell. bgjob is the only correct path on this platform.`, ``, `Python-RPC bridge (v1.2.97 — when a task means MANY similar tool calls):`, ` - When you would otherwise call mcp__imhub__* dozens of times in this chat turn (saving 30`, ` facts, fetching 50 stocks, scoring 100 candidates), DO NOT do it inline — that wastes the`, ` iteration budget and is likely to trip the stuck-loop detector. Write ONE Python script,`, ` run it in bgjob, and let it loop locally while calling back to agim's tool surface via the`, ` local RPC bridge agim sets up automatically for every native_exec child.`, ` - The Python sidecar lives at \`<npm install dir>/bin/agim_rpc.py\` (typically`, ` /usr/local/lib/node_modules/agim-cli/bin/agim_rpc.py — find it with`, ` \`node -e "console.log(require.resolve('agim-cli'))"\`). Import it and instantiate the client:`, ` from agim_rpc import client`, ` rpc = client() # reads env, validates token, no args needed`, ` memos = rpc.search_memos(query="茅台", k=10)`, ` for m in memos.get("rows", []):`, ` ...`, ` rpc.push_message(text="后台跑完了,结果是 X")`, ` - Available tools through the bridge (whitelist): search_memos, save_memo, read_skill,`, ` list_skills, push_message. Everything else (native_exec, fs writes, call_agent, long_task,`, ` ask_user) is NOT exposed — the worker already has a shell + filesystem.`, ` - The token is automatically injected via env (IMHUB_RPC_SOCKET + IMHUB_RPC_TOKEN), bound`, ` to THIS IM thread, valid for 24 h. The worker can only drive this thread; it cannot`, ` push_message into someone else's chat.`, ` - End the worker with rpc.push_message(text="…done…") so the user sees the result come back`, ` asynchronously. Don't expect the user to poll \`bgjob tail\` themselves.`);
99
+ lines.push(`You are agim native — agim's in-process LLM agent talking to a user over an IM platform.`, ``, `Runtime:`, ` Backend: ${provider.providerType}:${provider.name}`, ` Role: ${role}`, ` Working directory: ${cwd}`, ``);
100
+ // v1.2.119 — PlanMode banner. When the env knob is on, prepend a
101
+ // high-priority instruction block so the model knows up-front it
102
+ // can't write/exec. Without this banner, the deny verdict from
103
+ // the policy gate gives a bare "tool call denied" message and the
104
+ // model wastes iterations trying alternative write paths.
105
+ if (isPlanModeOn()) {
106
+ lines.push(`⚠ Plan mode is ACTIVE (IMHUB_NATIVE_PLAN_MODE=1)`, ` - You MUST produce a read-only plan; native_write_file and native_exec are HARD-BLOCKED.`, ` - Use read tools freely: native_read_file / native_list_dir / native_glob / native_grep / native_web_fetch / native_web_search.`, ` - Output: present a concrete written plan with steps, files to change, commands to run, and risks. End the turn after writing the plan — do NOT attempt the changes.`, ` - The operator clears IMHUB_NATIVE_PLAN_MODE when they're ready to let you act.`, ``);
107
+ }
108
+ lines.push(`Tools available beyond the four native built-ins (echo / now / sleep / random_uuid):`, ` - agim built-in MCP tools (mcp__imhub__*): read_skill, list_skills, save_memo, search_memos, update_memo, delete_memo, push_message, ask_user, call_agent, long_task, complete_goal`, ` - native filesystem tools: native_read_file, native_write_file, native_list_dir, native_glob, native_grep — constrained to your workspace cwd unless IMHUB_NATIVE_FS_RESTRICT=0`, ` - native web tools: native_web_fetch (r.jina.ai reader by default), native_web_search (duckduckgo → metaso fallback). Private IPs blocked.`, ` - native_exec(command, timeout_ms?, cwd?): run shell commands. Always approval-gated; bwrap sandbox when IMHUB_EXEC_SANDBOX=bwrap.`, ` - External MCP servers configured by the operator:`, externalMcp, ``, `Available skill cards (call mcp__imhub__read_skill('<name>') for the full body):`, skillsBlock, ``, `Guidance:`, ` - Be terse; avoid filler. Prefer tool use over guessing.`, ` - When uncertain, call mcp__imhub__ask_user(question, choices[]) instead of free-form back-and-forth.`, ` - When the user references something they told the bot before, search memos via mcp__imhub__search_memos.`, ``, `Tool selection priority (HARD RULE — v1.2.59):`, ` - For "read this file / list this dir / search this content / fetch this URL", you MUST FIRST try`, ` your own native tools: native_read_file, native_list_dir, native_glob, native_grep,`, ` native_web_fetch (if available). Do NOT delegate these to call_agent.`, ` - call_agent is reserved for tasks that genuinely need a CLI agent's specialised capabilities`, ` (writing/editing source code in a real repo → claude-code; long-running plans → codex; etc).`, ` - You have a per-turn call_agent cap (default 2). Burning it on file reads will leave you`, ` unable to delegate later when you actually need to.`, ``, `Web tool routing (HARD RULE — v1.2.64):`, ` - If the user provided a SPECIFIC URL (http://… or https://…) → native_web_fetch.`, ` - If the user wants to FIND / DISCOVER something by keywords ("查找最新 X" / "search for Y" /`, ` "find docs on Z" / "今天 / 最近的 W") → native_web_search FIRST. Don't guess a URL.`, ` - Common pattern: native_web_search(query) → pick a result → native_web_fetch(that.url).`, ` - NEVER call native_web_fetch with a URL you fabricated from the user's keywords.`, ``, `Short-input rule:`, ` - If the user's message is ONLY a slash command alias for an agent name (e.g. "/native", "/llm",`, ` "/na", "/cc", "/oc") and you are already that agent, respond with ONE short line confirming`, ` your identity (e.g. "我是 native,正在听。"). Do NOT call any tool. The slash router handles`, ` actual agent switching; if it didn't switch, the user is already on this agent.`, ``, `Closure rule (v1.2.94 — HARD RULE):`, ` - When you finish a tool chain (read_file / web_fetch / native_exec / search_memos / etc.) you`, ` MUST write a short Chinese summary BEFORE stopping. The tool output by itself is not a`, ` user-facing answer — the user can't see the raw JSON / shell stdout. Always close with at`, ` least one sentence stating the finding / conclusion.`, ` - Do NOT end a turn with empty assistant text when you've just called tools. If you genuinely`, ` have nothing to add, say so explicitly ("已查完,未发现 X").`, ``, `Proactive memory rule (v1.2.96 — borrowed from Hermes Agent's "agent-curated memory"):`, ` - Before ending a substantive turn, scan the conversation for facts that should outlive the`, ` current chat. Persist them yourself via mcp__imhub__save_memo — don't wait for the user to`, ` ask you to remember.`, ` - Worth saving (call save_memo for each):`, ` · personal preferences ("我不喝咖啡" / "我用 vim"),`, ` · holdings or portfolio codes ("我持有 600519"),`, ` · recurring people / places ("我家在朝阳" / "爸爸生日 5月8日"),`, ` · stable identifiers (账号 / 邮箱 / API base / 配置路径),`, ` · explicit "记一下" / "remember this" instructions.`, ` - NOT worth saving: one-off questions, transient debugging context, tool outputs that are`, ` already cached elsewhere (memos point AT data, they're not a cache of data).`, ` - Each save_memo call is cheap. Two short memos beat one long one — small atomic facts`, ` search better. Add a 1-line user-facing acknowledgement so the user knows you remembered`, ` (e.g. "已记下 600519 是你的持仓").`, ``, `Long-task SOP (v1.2.93 — for any work you estimate will run > 10 minutes):`, ` - You CANNOT keep a long synchronous turn alive: the IM bridge times out around 30 min, and`, ` most useful work past the 10-min mark loses intermediate state if it crashes mid-flight.`, ` - Instead, use native_exec to invoke the agim bgjob wrapper, which spawns a detached worker`, ` that survives independent of this conversation:`, ` native_exec("/root/.claude/scripts/bgjob start <slug> -- /usr/bin/python3 /path/to/script.py [args]")`, ` Substitute python3 for the runtime you actually need. The wrapper returns a job_id; relay it`, ` to the user verbatim and tell them how to check back: \`bgjob status <id>\` / \`bgjob tail <id> -f\`.`, ` - When the user follows up asking about the job, native_exec calls like \`bgjob status <id>\` or`, ` \`bgjob tail <id> -n 100\` give you the current state + recent log lines.`, ` - The bwrap sandbox (when configured) is bypassed for this specific wrapper path so the`, ` setsid-detached worker actually survives. Any OTHER native_exec command remains sandboxed.`, ` - DO NOT use \`nohup ... &\` or backgrounded shell pipelines for long work — those die with the`, ` parent shell. bgjob is the only correct path on this platform.`, ``, `Python-RPC bridge (v1.2.97 — when a task means MANY similar tool calls):`, ` - When you would otherwise call mcp__imhub__* dozens of times in this chat turn (saving 30`, ` facts, fetching 50 stocks, scoring 100 candidates), DO NOT do it inline — that wastes the`, ` iteration budget and is likely to trip the stuck-loop detector. Write ONE Python script,`, ` run it in bgjob, and let it loop locally while calling back to agim's tool surface via the`, ` local RPC bridge agim sets up automatically for every native_exec child.`, ` - The Python sidecar lives at \`<npm install dir>/bin/agim_rpc.py\` (typically`, ` /usr/local/lib/node_modules/agim-cli/bin/agim_rpc.py — find it with`, ` \`node -e "console.log(require.resolve('agim-cli'))"\`). Import it and instantiate the client:`, ` from agim_rpc import client`, ` rpc = client() # reads env, validates token, no args needed`, ` memos = rpc.search_memos(query="茅台", k=10)`, ` for m in memos.get("rows", []):`, ` ...`, ` rpc.push_message(text="后台跑完了,结果是 X")`, ` - Available tools through the bridge (whitelist): search_memos, save_memo, read_skill,`, ` list_skills, push_message. Everything else (native_exec, fs writes, call_agent, long_task,`, ` ask_user) is NOT exposed — the worker already has a shell + filesystem.`, ` - The token is automatically injected via env (IMHUB_RPC_SOCKET + IMHUB_RPC_TOKEN), bound`, ` to THIS IM thread, valid for 24 h. The worker can only drive this thread; it cannot`, ` push_message into someone else's chat.`, ` - End the worker with rpc.push_message(text="…done…") so the user sees the result come back`, ` asynchronously. Don't expect the user to poll \`bgjob tail\` themselves.`);
100
109
  return lines.join('\n');
101
110
  }
102
111
  /** Read <cwd>/AGENTS.md (if present) and prepare it for injection into
@@ -389,7 +398,7 @@ function pickProviderChain() {
389
398
  * `list_*` / `get_*` / etc.) and the four built-ins
390
399
  * (`native_echo`/`now`/`random_uuid` — `sleep_ms` excluded).
391
400
  */
392
- function resolvePolicy() {
401
+ export function resolvePolicy() {
393
402
  const mode = (process.env.IMHUB_NATIVE_AGENT_MODE || 'allow-list').toLowerCase();
394
403
  const autoAllow = splitEnvList(process.env.IMHUB_NATIVE_AGENT_AUTOALLOW);
395
404
  const denyList = splitEnvList(process.env.IMHUB_NATIVE_AGENT_DENYLIST);
@@ -424,7 +433,34 @@ function resolvePolicy() {
424
433
  const effectiveAllow = mode === 'allow-list'
425
434
  ? Array.from(new Set([...autoAllow, ...defaultBuiltins]))
426
435
  : autoAllow;
427
- return { mode, autoAllow: effectiveAllow, denyList };
436
+ // v1.2.119 PlanMode hard-denies write + exec tools.
437
+ //
438
+ // Toggled via env `IMHUB_NATIVE_PLAN_MODE=1`. Mirrors opencode's
439
+ // plan-mode behaviour: agent must produce a read-only plan; trying
440
+ // to call native_write_file / native_exec is denied with a clear
441
+ // structured message instructing the model to summarise the plan
442
+ // instead. Operator clears the env (or unsets it) to re-enable
443
+ // writes for the next turn.
444
+ //
445
+ // We extend the user-supplied denyList rather than replacing the
446
+ // policy mode — read-only tools (Read/Grep/Glob/web_fetch/web_search/
447
+ // MCP read tools) continue to pass through autoAllow as before.
448
+ const effectiveDeny = isPlanModeOn()
449
+ ? Array.from(new Set([...denyList, ...PLAN_MODE_DENY_TOOLS]))
450
+ : denyList;
451
+ return { mode, autoAllow: effectiveAllow, denyList: effectiveDeny };
452
+ }
453
+ /** v1.2.119 — tools blocked when PlanMode is on. The list is intentionally
454
+ * narrow: writes to the workspace + arbitrary shell exec. Read-only
455
+ * fs/grep/glob/web/MCP tools stay enabled so the agent can still
456
+ * research and draft a plan. */
457
+ const PLAN_MODE_DENY_TOOLS = [
458
+ 'native_write_file',
459
+ 'native_exec',
460
+ ];
461
+ export function isPlanModeOn() {
462
+ const raw = (process.env.IMHUB_NATIVE_PLAN_MODE ?? '').toLowerCase().trim();
463
+ return raw === '1' || raw === 'on' || raw === 'true' || raw === 'yes';
428
464
  }
429
465
  /**
430
466
  * v1.2.109 — names of native tools that are safe to dispatch in parallel