@antaif3ng/til-work 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # TIL work agent 工具
2
2
 
3
- > 运行在终端里的个人电脑 AI 助手,类似 Codex CLI / Claude Code。
3
+ > 运行在终端里的个人 AI 助手,类似 Codex CLI / Claude Code。
4
4
 
5
5
  TIL work 是一个基于大语言模型的命令行 Agent 工具。它可以直接操作你的文件系统、执行命令、编辑代码、搜索网页、截图、控制浏览器,并通过对话式交互帮你完成各种电脑任务。
6
6
 
@@ -13,7 +13,7 @@ TIL work 是一个基于大语言模型的命令行 Agent 工具。它可以直
13
13
  | **代码编辑** | 精确替换代码片段(类似 sed,但更智能) |
14
14
  | **截图** | 截取全屏或窗口截图,返回给 LLM 进行视觉分析 |
15
15
  | **Computer Use** | 鼠标点击、键盘输入、滚动拖拽 + 自动截图反馈 |
16
- | **浏览器控制** | 页面导航、点击、输入、截图、JS 执行(Playwright) |
16
+ | **浏览器控制** | 页面导航、快照(ref 定位)、点击、输入、截图、JS 执行(agent-browser) |
17
17
  | **网页搜索** | 实时搜索互联网获取最新信息 |
18
18
  | **MCP 扩展** | 通过 MCP 协议接入外部工具服务(stdio / HTTP) |
19
19
  | **记忆系统** | 跨对话记住上下文(MEMORY.md + AGENTS.md) |
@@ -143,9 +143,9 @@ til [options] [prompt]
143
143
  | `/model` | 查看/切换/管理模型(支持方向键选择) |
144
144
  | `/model add <id> [baseUrl] [apiKey]` | 添加模型配置 |
145
145
  | `/model default <id>` | 设置默认模型 |
146
- | `/skills` | 查看已加载的技能(含来源标签) |
146
+ | `/skills` | 查看/管理技能 (reload/install/enable/disable/rm) |
147
147
  | `/skill:<name>` | 查看某个技能的详细内容 |
148
- | `/mcp` | 查看已连接的 MCP 服务和工具 |
148
+ | `/mcp` | 查看/管理 MCP 服务 (add/rm/reload) |
149
149
  | `/memory` | 查看当前记忆内容 |
150
150
  | `/usage` | 查看本次会话的 Token 用量 |
151
151
  | `/sessions` | 查看会话历史列表 |
@@ -168,7 +168,7 @@ til [options] [prompt]
168
168
  | `web_fetch` | 网络 | 是 | 抓取网页内容转纯文本 |
169
169
  | `screenshot` | 视觉 | 是 | 截取全屏或窗口截图 |
170
170
  | `computer` | 桌面自动化 | 是 | 鼠标、键盘、滚动 + 自动截图反馈 |
171
- | `browser` | 浏览器 | 否 | Playwright 页面控制(需安装 Playwright) |
171
+ | `browser` | 浏览器 | 否 | agent-browser 浏览器自动化(内置,自动发现系统 Chrome) |
172
172
 
173
173
  ### screenshot 工具
174
174
 
@@ -200,14 +200,18 @@ til [options] [prompt]
200
200
 
201
201
  ### browser 工具
202
202
 
203
- 基于 Playwright 的浏览器自动化,需单独安装:
203
+ 基于 [agent-browser](https://github.com/vercel-labs/agent-browser) 的浏览器自动化,已内置为依赖,自动发现系统中已安装的 Chrome。默认以**可见窗口**(headed)模式运行,可设置 `headed=false` 切换为无窗口模式。
204
204
 
205
- ```bash
206
- npm install playwright
207
- npx playwright install chromium
208
- ```
205
+ **推荐工作流(snapshot-ref 模式):**
206
+
207
+ 1. `open` 打开目标 URL
208
+ 2. `snapshot` — 获取页面可访问性树 + 元素 ref(`@e1`、`@e2` …)
209
+ 3. 使用 ref 交互(`click @e1`、`fill @e2 "text"`)
210
+ 4. 页面变化后重新 `snapshot`
211
+
212
+ 支持操作:`open`、`snapshot`、`screenshot`、`click`、`fill`、`type`、`eval`、`get_text`、`scroll`、`wait`、`press`、`select`、`hover`、`back`、`forward`、`close`。
209
213
 
210
- 支持 `navigate`、`screenshot`、`click`、`type`、`evaluate`、`get_text`、`scroll`、`wait`、`back`、`forward`、`close` 等操作。
214
+ 如果系统没有 Chrome,可运行 `npx agent-browser install` 下载,或设置 `AGENT_BROWSER_EXECUTABLE_PATH` 指向自定义浏览器。
211
215
 
212
216
  ## 配置
213
217
 
@@ -248,6 +252,7 @@ npx playwright install chromium
248
252
  | `models` | 各模型的单独配置(provider、apiKey、baseUrl、contextWindow 等) |
249
253
  | `providers` | Provider 级别配置(apiKey、baseUrl、headers) |
250
254
  | `mcpServers` | MCP 服务器配置 |
255
+ | `disabledSkills` | 已禁用的技能名称列表 |
251
256
  | `defaultTools` | 默认启用的工具列表 |
252
257
 
253
258
  ### 模型管理
@@ -287,35 +292,65 @@ TIL 支持通过 MCP (Model Context Protocol) 接入外部工具服务。
287
292
  ```json
288
293
  {
289
294
  "mcpServers": {
290
- "playwright": {
291
- "command": "npx",
292
- "args": ["@playwright/mcp", "--headless"]
293
- },
294
295
  "web-search": {
295
296
  "type": "http",
296
297
  "url": "https://open.bigmodel.cn/api/mcp/web_search/mcp",
297
298
  "headers": {
298
299
  "Authorization": "Bearer your_api_key"
299
300
  }
301
+ },
302
+ "minimax": {
303
+ "command": "uvx",
304
+ "args": ["minimax-coding-plan-mcp"],
305
+ "env": {
306
+ "MINIMAX_API_KEY": "your_minimax_api_key"
307
+ }
300
308
  }
301
309
  }
302
310
  }
303
311
  ```
304
312
 
313
+ > **注意**:浏览器自动化已通过内置 `browser` 工具提供(基于 agent-browser),无需再配置 Playwright MCP。MCP 主要用于接入需要 API key 的外部服务。
314
+
305
315
  支持两种传输方式:
306
316
  - **stdio**:本地进程通过 stdin/stdout 通信
307
317
  - **streamable_http** / **sse**:远程 HTTP 服务
308
318
 
309
- ### 查看 MCP 状态
319
+ ### 交互式 MCP 管理
310
320
 
321
+ 在交互模式中直接添加、删除和重载 MCP 服务:
322
+
323
+ ```bash
324
+ /mcp # 查看所有 MCP 服务状态
325
+ /mcp add playwright --stdio npx @playwright/mcp --headless # 添加 stdio 类型
326
+ /mcp add web-search --url https://api.example.com/mcp # 添加 HTTP 类型
327
+ /mcp add api --url https://api.example.com/mcp -H Authorization:Bearer\ sk-xxx # 带 header
328
+ /mcp add api --url https://api.example.com/mcp -H Authorization:Bearer\ sk-xxx -H X-Project:demo # 多个 header
329
+ /mcp add project-db --stdio npx @mcp/postgres --project # 添加到项目级配置
330
+ /mcp rm playwright # 删除服务
331
+ /mcp reload # 重载所有服务(热重载)
332
+ /extensions # 查看所有扩展信息
311
333
  ```
312
- /mcp # 查看已连接的 MCP 服务器和工具列表
313
- /extensions # 查看所有扩展信息
334
+
335
+ ### 项目级 MCP 配置
336
+
337
+ 除全局 `~/.til/config.json` 外,还支持项目级配置 `<项目>/.til/config.json`。项目级配置的同名服务覆盖全局配置。
338
+
339
+ ```json
340
+ // .til/config.json(项目级)
341
+ {
342
+ "mcpServers": {
343
+ "project-db": {
344
+ "command": "npx",
345
+ "args": ["@modelcontextprotocol/server-postgres", "postgresql://localhost/mydb"]
346
+ }
347
+ }
348
+ }
314
349
  ```
315
350
 
316
351
  ## 内置技能
317
352
 
318
- TIL 内置 5 个实用技能,安装即用:
353
+ TIL 内置 8 个实用技能,安装即用:
319
354
 
320
355
  | 技能 | 说明 |
321
356
  |------|------|
@@ -323,13 +358,21 @@ TIL 内置 5 个实用技能,安装即用:
323
358
  | **find-skills** | 从开源社区发现和安装新技能 |
324
359
  | **self-improvement** | 自动记录错误、学习和修正,持续改进 |
325
360
  | **skill-creator** | 创建新技能的指南和最佳实践 |
326
- | **playwright-mcp** | Playwright MCP 浏览器自动化配置和用法 |
361
+ | **agent-browser** | agent-browser 浏览器自动化工作流和最佳实践 |
362
+ | **excel-xlsx** | 创建、检查和编辑 Excel 工作簿(公式、日期、类型、格式、兼容性) |
363
+ | **word-docx** | 创建、检查和编辑 Word 文档(样式、编号、修订、表格、兼容性) |
364
+ | **nano-pdf** | 使用自然语言指令编辑 PDF 文件 |
327
365
 
328
- ### 查看和使用技能
366
+ ### 技能管理
329
367
 
330
- ```
331
- /skills # 列出所有已加载技能(显示来源:内置/用户/项目)
332
- /skill:summarize # 查看 summarize 技能详情
368
+ ```bash
369
+ /skills # 列出所有已加载技能(显示来源和状态)
370
+ /skill:summarize # 查看 summarize 技能详情
371
+ /skills reload # 重新扫描并加载技能(热重载)
372
+ /skills install steipete/nano-pdf # 从远程安装技能(npx skills add)
373
+ /skills disable excel-xlsx # 暂时禁用技能(不删文件)
374
+ /skills enable excel-xlsx # 重新启用技能
375
+ /skills rm my-old-skill # 从磁盘删除用户/项目技能(内置技能不可删除)
333
376
  ```
334
377
 
335
378
  ### 自定义技能
@@ -458,12 +501,15 @@ til --setup
458
501
 
459
502
  ### 如何启用浏览器工具
460
503
 
461
- ```bash
462
- npm install playwright
463
- npx playwright install chromium
504
+ browser 工具基于 agent-browser,已内置为依赖。只需在配置中将 `browser` 加入 `defaultTools`:
505
+
506
+ ```json
507
+ {
508
+ "defaultTools": ["bash", "read", "write", "edit", "system_info", "file_manager", "web_search", "web_fetch", "screenshot", "computer", "browser"]
509
+ }
464
510
  ```
465
511
 
466
- 然后在配置中将 `browser` 加入 `defaultTools`,或使用 Playwright MCP。
512
+ agent-browser 会自动发现系统中的 Chrome。如果没有 Chrome,运行 `npx agent-browser install` 下载。
467
513
 
468
514
  ## 开发
469
515
 
@@ -512,7 +558,7 @@ til-cli/
512
558
  │ │ ├── web-fetch.ts # 网页抓取
513
559
  │ │ ├── screenshot.ts # 截图
514
560
  │ │ ├── computer.ts # Computer Use(鼠标/键盘/截图)
515
- │ │ └── browser.ts # 浏览器控制(Playwright
561
+ │ │ └── browser.ts # 浏览器控制(agent-browser CLI
516
562
  │ ├── extensions/ # 扩展系统
517
563
  │ │ ├── types.ts # 扩展/MCP 类型定义
518
564
  │ │ ├── loader.ts # 扩展加载器
@@ -524,7 +570,10 @@ til-cli/
524
570
  │ ├── find-skills/
525
571
  │ ├── self-improving-agent/
526
572
  │ ├── skill-creator/
527
- └── playwright-mcp/
573
+ ├── agent-browser/
574
+ │ ├── excel-xlsx/
575
+ │ ├── word-docx/
576
+ │ └── nano-pdf/
528
577
  ├── tests/ # 单元测试
529
578
  ├── package.json
530
579
  ├── tsconfig.json
@@ -37,6 +37,8 @@ export interface TilConfig {
37
37
  mcpServers?: Record<string, McpServerConfig>;
38
38
  /** Paths to extension files (.js/.mjs) */
39
39
  extensions?: string[];
40
+ /** Names of skills that are temporarily disabled */
41
+ disabledSkills?: string[];
40
42
  /** @deprecated use `providers` */
41
43
  apiKeys?: Record<string, string>;
42
44
  /** @deprecated use `model` */
@@ -64,6 +66,9 @@ export declare function resolveBaseUrl(model: ModelConfig, config: TilConfig): s
64
66
  export declare function guessProvider(modelId: string): string;
65
67
  export declare function getKnownModelIds(): string[];
66
68
  export declare function getKnownModels(): Record<string, ModelConfig>;
69
+ export declare function getProjectConfigPath(cwd: string): string;
70
+ export declare function loadProjectMcpServers(cwd: string): Record<string, McpServerConfig>;
71
+ export declare function saveProjectMcpServers(cwd: string, servers: Record<string, McpServerConfig>): Promise<void>;
67
72
  export declare function getProviderDisplayInfo(provider: string, config: TilConfig): {
68
73
  hasKey: boolean;
69
74
  baseUrl: string;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAI9D,MAAM,WAAW,cAAc;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAID,MAAM,WAAW,UAAU;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,SAAS;IACzB,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+BAA+B;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACpC,4EAA4E;IAC5E,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC1C,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,kCAAkC;IAClC,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,gCAAgC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC7C,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAGtB,kCAAkC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,8BAA8B;IAC9B,YAAY,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAChD,+BAA+B;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAC7B,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC,CAAC;CACH;AAcD,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAI9C,CAAC;AASF,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAID,wBAAsB,UAAU,IAAI,OAAO,CAAC,SAAS,CAAC,CAYrD;AA2CD,wBAAsB,UAAU,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAMjE;AAcD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,WAAW,CAyB5E;AAiBD,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAgBvF;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAgBxF;AAID,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAMrD;AAED,wBAAgB,gBAAgB,IAAI,MAAM,EAAE,CAE3C;AAED,wBAAgB,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAE5D;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG;IAC5E,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;CACrB,CAaA"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
@@ -3,14 +3,14 @@
3
3
  * Stores provider settings (API keys, base URLs, headers),
4
4
  * default model, and tool preferences in ~/.til/config.json.
5
5
  */
6
- import { existsSync } from "node:fs";
6
+ import { existsSync, readFileSync } from "node:fs";
7
7
  import { mkdir, readFile, writeFile } from "node:fs/promises";
8
- import { dirname, join } from "node:path";
8
+ import { dirname, join, resolve } from "node:path";
9
9
  import { homedir } from "node:os";
10
10
  const DEFAULT_CONFIG = {
11
11
  model: "",
12
12
  providers: {},
13
- defaultTools: ["bash", "read", "write", "edit", "system_info", "file_manager", "web_search", "web_fetch", "screenshot", "computer"],
13
+ defaultTools: ["bash", "read", "write", "edit", "system_info", "file_manager", "web_search", "web_fetch", "screenshot", "computer", "browser"],
14
14
  };
15
15
  const DEFAULT_BASE_URLS = {
16
16
  anthropic: "https://api.anthropic.com/v1",
@@ -206,6 +206,36 @@ export function getKnownModelIds() {
206
206
  export function getKnownModels() {
207
207
  return {};
208
208
  }
209
+ // ── Project-level MCP Config ──
210
+ export function getProjectConfigPath(cwd) {
211
+ return join(resolve(cwd), ".til", "config.json");
212
+ }
213
+ export function loadProjectMcpServers(cwd) {
214
+ const configPath = getProjectConfigPath(cwd);
215
+ if (!existsSync(configPath))
216
+ return {};
217
+ try {
218
+ const content = readFileSync(configPath, "utf-8");
219
+ const parsed = JSON.parse(content);
220
+ return parsed.mcpServers ?? {};
221
+ }
222
+ catch {
223
+ return {};
224
+ }
225
+ }
226
+ export async function saveProjectMcpServers(cwd, servers) {
227
+ const configPath = getProjectConfigPath(cwd);
228
+ let existing = {};
229
+ if (existsSync(configPath)) {
230
+ try {
231
+ existing = JSON.parse(readFileSync(configPath, "utf-8"));
232
+ }
233
+ catch { /* start fresh */ }
234
+ }
235
+ existing.mcpServers = servers;
236
+ await mkdir(dirname(configPath), { recursive: true });
237
+ await writeFile(configPath, JSON.stringify(existing, null, 2), "utf-8");
238
+ }
209
239
  export function getProviderDisplayInfo(provider, config) {
210
240
  const prov = config.providers[provider];
211
241
  const envVar = ENV_KEY_MAP[provider];
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AA2DlC,MAAM,cAAc,GAAc;IACjC,KAAK,EAAE,EAAE;IACT,SAAS,EAAE,EAAE;IACb,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,CAAC;CAC9I,CAAC;AAEF,MAAM,iBAAiB,GAA2B;IACjD,SAAS,EAAE,8BAA8B;IACzC,MAAM,EAAE,2BAA2B;IACnC,MAAM,EAAE,kDAAkD;CAC1D,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAA2B;IAClD,SAAS,EAAE,mBAAmB;IAC9B,MAAM,EAAE,gBAAgB;IACxB,MAAM,EAAE,gBAAgB;CACxB,CAAC;AAEF,MAAM,gBAAgB,GAA2B;IAChD,SAAS,EAAE,oBAAoB;IAC/B,MAAM,EAAE,iBAAiB;CACzB,CAAC;AAEF,cAAc;AAEd,MAAM,UAAU,YAAY;IAC3B,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,aAAa;IAC5B,OAAO,IAAI,CAAC,YAAY,EAAE,EAAE,aAAa,CAAC,CAAC;AAC5C,CAAC;AAED,oBAAoB;AAEpB,MAAM,CAAC,KAAK,UAAU,UAAU;IAC/B,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7B,OAAO,eAAe,CAAC,cAAc,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,CAAC;QACJ,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnC,OAAO,aAAa,CAAC,EAAE,GAAG,cAAc,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,eAAe,CAAC,cAAc,CAAC,CAAC;IACxC,CAAC;AACF,CAAC;AAED,SAAS,aAAa,CAAC,MAAiB;IACvC,IAAI,CAAC,MAAM,CAAC,SAAS;QAAE,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;IAE7C,qCAAqC;IACrC,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9D,KAAK,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9D,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC;gBAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YACjE,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;gBAC/C,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC;YACzC,CAAC;QACF,CAAC;QACD,OAAO,MAAM,CAAC,OAAO,CAAC;IACvB,CAAC;IAED,sCAAsC;IACtC,IAAI,MAAM,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAC1C,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;IACvC,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,KAAK;QAAE,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC;IAEvD,uCAAuC;IACvC,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxE,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QACvC,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;YAC5D,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;gBACxB,MAAM,KAAK,GAAe,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC;gBACpD,IAAI,EAAE,CAAC,SAAS;oBAAE,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS,CAAC;gBACjD,IAAI,EAAE,CAAC,aAAa;oBAAE,KAAK,CAAC,aAAa,GAAG,EAAE,CAAC,aAAa,CAAC;gBAC7D,4CAA4C;gBAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAChG,IAAI,IAAI,EAAE,MAAM;oBAAE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC7C,IAAI,IAAI,EAAE,OAAO;oBAAE,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;gBAChD,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC;YAC3B,CAAC;QACF,CAAC;QACD,OAAO,MAAM,CAAC,YAAY,CAAC;IAC5B,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAiB;IACjD,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,MAAM,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;IAC7B,OAAO,MAAM,CAAC,OAAO,CAAC;IACtB,MAAM,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AACvE,CAAC;AAED,yBAAyB;AAEzB;;;;;GAKG;AACH,MAAM,iBAAiB,GAA2B;IACjD,mBAAmB,EAAE,QAAQ;CAC7B,CAAC;AAEF,MAAM,UAAU,kBAAkB,CAAC,QAAgB;IAClD,OAAO,iBAAiB,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,MAAiB;IAC9D,yCAAyC;IACzC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,KAAK,EAAE,CAAC;QACX,MAAM,KAAK,GAAgB;YAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,aAAa,CAAC,OAAO,CAAC;YAClD,EAAE,EAAE,OAAO;YACX,IAAI,EAAE,OAAO;YACb,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;YAClC,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,OAAO,EAAE,KAAK,CAAC,OAAO;SACtB,CAAC;QACF,OAAO,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,6CAA6C;IAC7C,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,KAAK,GAAgB;QAC1B,QAAQ;QACR,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,OAAO;QACb,SAAS,EAAE,IAAI;KACf,CAAC;IACF,OAAO,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAkB,EAAE,MAAiB;IACjE,mEAAmE;IACnE,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM;QAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IACjE,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO;QAAE,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAErE,+DAA+D;IAC/D,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IACtG,IAAI,IAAI,EAAE,CAAC;QACV,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC9C,IAAI,CAAC,KAAK,CAAC,OAAO;YAAE,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QACjD,IAAI,IAAI,CAAC,OAAO;YAAE,KAAK,CAAC,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;IACzE,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAkB,EAAE,MAAiB;IAClE,IAAI,KAAK,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC,MAAM,CAAC;IAEtC,sCAAsC;IACtC,IAAI,MAAM,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC;IAExC,6BAA6B;IAC7B,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,kBAAkB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,IAAI,EAAE,MAAM;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC;QAErC,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAkB,EAAE,MAAiB;IACnE,IAAI,KAAK,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC;IAExC,uCAAuC;IACvC,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,MAAM,CAAC,OAAO,CAAC;IAE1C,iBAAiB;IACjB,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,kBAAkB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,IAAI,EAAE,OAAO;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC;QAEvC,MAAM,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;QACnC,IAAI,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,iBAAiB,CAAC,kBAAkB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;AACnG,CAAC;AAED,gBAAgB;AAEhB,MAAM,UAAU,aAAa,CAAC,OAAe;IAC5C,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACjC,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,WAAW,CAAC;IAChD,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,QAAQ,CAAC;IACxF,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC7C,OAAO,mBAAmB,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC/B,OAAO,EAAE,CAAC;AACX,CAAC;AAED,MAAM,UAAU,cAAc;IAC7B,OAAO,EAAE,CAAC;AACX,CAAC;AAED,iCAAiC;AAEjC,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC/C,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,GAAW;IAChD,MAAM,UAAU,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAC7C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,IAAI,CAAC;QACJ,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnC,OAAO,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,EAAE,CAAC;IACX,CAAC;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,GAAW,EAAE,OAAwC;IAChG,MAAM,UAAU,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAC7C,IAAI,QAAQ,GAAwB,EAAE,CAAC;IACvC,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC;YACJ,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;QAC1D,CAAC;QAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC9B,CAAC;IACD,QAAQ,CAAC,UAAU,GAAG,OAAO,CAAC;IAC9B,MAAM,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,MAAM,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,QAAgB,EAAE,MAAiB;IAKzE,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAEnE,MAAM,SAAS,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,IAAI,EAAE,OAAO,CAAC;IAChC,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9D,MAAM,UAAU,GAAG,iBAAiB,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACrD,MAAM,OAAO,GAAG,SAAS,IAAI,MAAM,IAAI,UAAU,CAAC;IAClD,MAAM,WAAW,GAAG,OAAO,KAAK,UAAU,IAAI,CAAC,CAAC,OAAO,CAAC;IAExD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;AACzC,CAAC"}
@@ -34,11 +34,14 @@ export declare class TilSession {
34
34
  readonly agent: Agent;
35
35
  readonly model: ModelConfig;
36
36
  readonly cwd: string;
37
- readonly skills: Skill[];
37
+ skills: Skill[];
38
38
  readonly sessionManager: SessionManager;
39
- readonly extensionRunner?: ExtensionRunner;
40
- readonly config: TilConfig;
39
+ extensionRunner?: ExtensionRunner;
40
+ config: TilConfig;
41
41
  private toolNames;
42
+ private baseToolNames;
43
+ private skillPaths?;
44
+ private noSkills;
42
45
  private customInstructions?;
43
46
  private _cumulativeUsage;
44
47
  private _lastTurnUsage?;
@@ -72,6 +75,10 @@ export declare class TilSession {
72
75
  };
73
76
  /** List sessions for the current cwd */
74
77
  static listSessions(cwd?: string): SessionInfo[];
78
+ /** Re-scan skill directories and update system prompt. */
79
+ reloadSkills(): Promise<void>;
80
+ /** Disconnect all MCP servers, re-read config, and reconnect. */
81
+ reloadMcpServers(): Promise<void>;
75
82
  private refreshSystemPrompt;
76
83
  }
77
84
  //# sourceMappingURL=session.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/core/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/core/session.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  */
5
5
  import { Agent } from "./agent.js";
6
6
  import { buildSystemPrompt } from "./system-prompt.js";
7
- import { loadConfig, resolveModel, resolveApiKey, resolveBaseUrl } from "./config.js";
7
+ import { loadConfig, resolveModel, resolveApiKey, resolveBaseUrl, loadProjectMcpServers } from "./config.js";
8
8
  import { createAllTools, TOOL_NAMES, closeBrowser } from "../tools/index.js";
9
9
  import { loadSkills } from "./skills.js";
10
10
  import { loadMemory, getMemoryDisplay, loadProjectContextFiles } from "./memory.js";
@@ -24,19 +24,25 @@ export class TilSession {
24
24
  extensionRunner;
25
25
  config;
26
26
  toolNames;
27
+ baseToolNames;
28
+ skillPaths;
29
+ noSkills;
27
30
  customInstructions;
28
31
  _cumulativeUsage = createEmptyUsage();
29
32
  _lastTurnUsage;
30
- constructor(agent, model, cwd, config, skills, toolNames, sessionManager, customInstructions, extensionRunner) {
33
+ constructor(agent, model, cwd, config, skills, toolNames, baseToolNames, sessionManager, customInstructions, extensionRunner, skillPaths, noSkills) {
31
34
  this.agent = agent;
32
35
  this.model = model;
33
36
  this.cwd = cwd;
34
37
  this.config = config;
35
38
  this.skills = skills;
36
39
  this.toolNames = toolNames;
40
+ this.baseToolNames = baseToolNames;
37
41
  this.sessionManager = sessionManager;
38
42
  this.customInstructions = customInstructions;
39
43
  this.extensionRunner = extensionRunner;
44
+ this.skillPaths = skillPaths;
45
+ this.noSkills = noSkills ?? false;
40
46
  }
41
47
  static async create(options = {}) {
42
48
  const config = await loadConfig();
@@ -45,7 +51,7 @@ export class TilSession {
45
51
  const model = resolveModel(modelId, config);
46
52
  model.apiKey = resolveApiKey(model, config);
47
53
  model.baseUrl = options.baseUrl ?? resolveBaseUrl(model, config);
48
- // Load skills
54
+ // Load skills (filter out disabled ones)
49
55
  const skillResult = options.noSkills
50
56
  ? { skills: [], diagnostics: [] }
51
57
  : loadSkills({
@@ -53,7 +59,8 @@ export class TilSession {
53
59
  skillPaths: options.skillPaths,
54
60
  includeDefaults: true,
55
61
  });
56
- const skills = skillResult.skills;
62
+ const disabledSet = new Set(config.disabledSkills ?? []);
63
+ const skills = skillResult.skills.filter((s) => !disabledSet.has(s.name));
57
64
  const toolNames = options.tools ?? config.defaultTools ?? [...TOOL_NAMES.DEFAULT];
58
65
  const allToolsMap = new Map();
59
66
  for (const tool of createAllTools(cwd)) {
@@ -67,8 +74,11 @@ export class TilSession {
67
74
  const extensionToolNames = [];
68
75
  try {
69
76
  const loadedExtensions = await loadAllExtensions(cwd, config);
70
- // Load MCP servers as a built-in extension
71
- if (config.mcpServers && Object.keys(config.mcpServers).length > 0) {
77
+ // Load MCP servers as a built-in extension (merge global + project-level)
78
+ const globalMcp = config.mcpServers ?? {};
79
+ const projectMcp = loadProjectMcpServers(cwd);
80
+ const mergedMcp = { ...globalMcp, ...projectMcp };
81
+ if (Object.keys(mergedMcp).length > 0) {
72
82
  const mcpExtension = {
73
83
  path: "<builtin:mcp>",
74
84
  name: "mcp",
@@ -87,7 +97,7 @@ export class TilSession {
87
97
  mcpExtension.handlers.get(event).push(handler);
88
98
  },
89
99
  };
90
- await registerMcpServers(mcpApi, config.mcpServers);
100
+ await registerMcpServers(mcpApi, mergedMcp);
91
101
  loadedExtensions.push(mcpExtension);
92
102
  }
93
103
  if (loadedExtensions.length > 0) {
@@ -136,7 +146,7 @@ export class TilSession {
136
146
  else {
137
147
  sm = SessionManager.create(cwd, model.id);
138
148
  }
139
- const session = new TilSession(agent, model, cwd, config, skills, allToolNamesList, sm, options.customInstructions, extensionRunner);
149
+ const session = new TilSession(agent, model, cwd, config, skills, allToolNamesList, [...toolNames], sm, options.customInstructions, extensionRunner, options.skillPaths, options.noSkills);
140
150
  // Auto-persist, usage tracking, and extension event forwarding
141
151
  agent.subscribe((event) => {
142
152
  if (event.type === "message_end") {
@@ -254,6 +264,97 @@ export class TilSession {
254
264
  static listSessions(cwd) {
255
265
  return SessionManager.list(cwd ?? process.cwd());
256
266
  }
267
+ /** Re-scan skill directories and update system prompt. */
268
+ async reloadSkills() {
269
+ if (this.noSkills)
270
+ return;
271
+ const freshConfig = await loadConfig();
272
+ this.config = freshConfig;
273
+ const result = loadSkills({
274
+ cwd: this.cwd,
275
+ skillPaths: this.skillPaths,
276
+ includeDefaults: true,
277
+ });
278
+ const disabledSet = new Set(this.config.disabledSkills ?? []);
279
+ this.skills = result.skills.filter((s) => !disabledSet.has(s.name));
280
+ this.refreshSystemPrompt();
281
+ }
282
+ /** Disconnect all MCP servers, re-read config, and reconnect. */
283
+ async reloadMcpServers() {
284
+ // Shutdown existing MCP connections
285
+ if (this.extensionRunner) {
286
+ await this.extensionRunner.shutdown(this.cwd);
287
+ }
288
+ // Re-read config
289
+ const config = await loadConfig();
290
+ this.config = config;
291
+ const globalMcp = config.mcpServers ?? {};
292
+ const projectMcp = loadProjectMcpServers(this.cwd);
293
+ const mergedMcp = { ...globalMcp, ...projectMcp };
294
+ // Remove old MCP tools from agent
295
+ this.toolNames = this.toolNames.filter((t) => !t.startsWith("mcp_"));
296
+ // Reload all extensions + MCP
297
+ try {
298
+ const loadedExtensions = await loadAllExtensions(this.cwd, config);
299
+ if (Object.keys(mergedMcp).length > 0) {
300
+ const mcpExtension = {
301
+ path: "<builtin:mcp>",
302
+ name: "mcp",
303
+ tools: new Map(),
304
+ commands: new Map(),
305
+ handlers: new Map(),
306
+ };
307
+ const mcpApi = {
308
+ cwd: this.cwd,
309
+ config,
310
+ registerTool(tool) { mcpExtension.tools.set(tool.name, tool); },
311
+ registerCommand(cmd) { mcpExtension.commands.set(cmd.name, cmd); },
312
+ on(event, handler) {
313
+ if (!mcpExtension.handlers.has(event))
314
+ mcpExtension.handlers.set(event, []);
315
+ mcpExtension.handlers.get(event).push(handler);
316
+ },
317
+ };
318
+ await registerMcpServers(mcpApi, mergedMcp);
319
+ loadedExtensions.push(mcpExtension);
320
+ }
321
+ if (loadedExtensions.length > 0) {
322
+ this.extensionRunner = new ExtensionRunner(loadedExtensions);
323
+ const extensionTools = this.extensionRunner.getAllTools();
324
+ const newMcpToolNames = [];
325
+ for (const tool of extensionTools) {
326
+ newMcpToolNames.push(tool.name);
327
+ }
328
+ this.toolNames = [...this.baseToolNames, ...newMcpToolNames];
329
+ // Update agent tools: base tools + new extension tools
330
+ const allToolsMap = new Map();
331
+ for (const tool of createAllTools(this.cwd)) {
332
+ allToolsMap.set(tool.name, tool);
333
+ }
334
+ const selectedTools = this.baseToolNames
335
+ .map((name) => allToolsMap.get(name))
336
+ .filter((t) => t !== undefined);
337
+ selectedTools.push(...extensionTools);
338
+ this.agent.setTools(selectedTools);
339
+ }
340
+ else {
341
+ this.extensionRunner = undefined;
342
+ this.toolNames = [...this.baseToolNames];
343
+ const allToolsMap = new Map();
344
+ for (const tool of createAllTools(this.cwd)) {
345
+ allToolsMap.set(tool.name, tool);
346
+ }
347
+ const selectedTools = this.baseToolNames
348
+ .map((name) => allToolsMap.get(name))
349
+ .filter((t) => t !== undefined);
350
+ this.agent.setTools(selectedTools);
351
+ }
352
+ }
353
+ catch (err) {
354
+ console.error(`MCP reload warning: ${err.message}`);
355
+ }
356
+ this.refreshSystemPrompt();
357
+ }
257
358
  refreshSystemPrompt() {
258
359
  const memory = loadMemory(this.cwd);
259
360
  const contextFiles = loadProjectContextFiles(this.cwd);
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/core/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/core/session.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ const toolDescriptions = {
15
15
  web_fetch: "Fetch and read the content of a web page as text",
16
16
  screenshot: "Take a screenshot of the screen or focused window, returns image for visual analysis",
17
17
  computer: "Computer use: mouse control, keyboard input, screenshots. Actions: screenshot, mouse_move, click, double_click, drag, type, key, scroll. Each action returns a screenshot.",
18
- browser: "Browser automation via Playwright: navigate, screenshot, click, type, evaluate JS, extract text, scroll, wait. Requires: npm install playwright",
18
+ browser: "Browser automation via agent-browser (default: visible browser window). Open URLs, take snapshots (accessibility tree with refs like @e1, @e2), click/fill/type by ref, screenshot, evaluate JS, scroll, wait. Set headed=false for headless mode. Workflow: open snapshot → interact by ref → re-snapshot after page changes.",
19
19
  };
20
20
  export function buildSystemPrompt(options) {
21
21
  const { cwd, tools, customInstructions } = options;