@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 +79 -30
- package/dist/core/config.d.ts +5 -0
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +33 -3
- package/dist/core/config.js.map +1 -1
- package/dist/core/session.d.ts +10 -3
- package/dist/core/session.d.ts.map +1 -1
- package/dist/core/session.js +109 -8
- package/dist/core/session.js.map +1 -1
- package/dist/core/system-prompt.js +1 -1
- package/dist/core/system-prompt.js.map +1 -1
- package/dist/modes/interactive.d.ts.map +1 -1
- package/dist/modes/interactive.js +431 -48
- package/dist/modes/interactive.js.map +1 -1
- package/dist/tools/browser.d.ts +5 -5
- package/dist/tools/browser.d.ts.map +1 -1
- package/dist/tools/browser.js +185 -135
- package/dist/tools/browser.js.map +1 -1
- package/package.json +2 -1
- package/skills/agent-browser/SKILL.md +89 -0
- package/skills/excel-xlsx/SKILL.md +103 -0
- package/skills/nano-pdf/SKILL.md +20 -0
- package/skills/word-docx/SKILL.md +104 -0
- package/skills/playwright-mcp/SKILL.md +0 -90
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# TIL work agent 工具
|
|
2
2
|
|
|
3
|
-
>
|
|
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
|
-
| **浏览器控制** |
|
|
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` |
|
|
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` | 浏览器 | 否 |
|
|
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
|
-
基于
|
|
203
|
+
基于 [agent-browser](https://github.com/vercel-labs/agent-browser) 的浏览器自动化,已内置为依赖,自动发现系统中已安装的 Chrome。默认以**可见窗口**(headed)模式运行,可设置 `headed=false` 切换为无窗口模式。
|
|
204
204
|
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
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
|
-
|
|
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
|
-
###
|
|
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
|
-
|
|
313
|
-
|
|
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 内置
|
|
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
|
-
| **
|
|
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
|
|
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
|
-
|
|
462
|
-
|
|
463
|
-
|
|
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
|
-
|
|
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 # 浏览器控制(
|
|
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
|
-
│
|
|
573
|
+
│ ├── agent-browser/
|
|
574
|
+
│ ├── excel-xlsx/
|
|
575
|
+
│ ├── word-docx/
|
|
576
|
+
│ └── nano-pdf/
|
|
528
577
|
├── tests/ # 单元测试
|
|
529
578
|
├── package.json
|
|
530
579
|
├── tsconfig.json
|
package/dist/core/config.d.ts
CHANGED
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
|
package/dist/core/config.js
CHANGED
|
@@ -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];
|
package/dist/core/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
|
package/dist/core/session.d.ts
CHANGED
|
@@ -34,11 +34,14 @@ export declare class TilSession {
|
|
|
34
34
|
readonly agent: Agent;
|
|
35
35
|
readonly model: ModelConfig;
|
|
36
36
|
readonly cwd: string;
|
|
37
|
-
|
|
37
|
+
skills: Skill[];
|
|
38
38
|
readonly sessionManager: SessionManager;
|
|
39
|
-
|
|
40
|
-
|
|
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":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,EAAqB,MAAM,YAAY,CAAC;AAEtD,OAAO,
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/core/session.ts"],"names":[],"mappings":"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"}
|
package/dist/core/session.js
CHANGED
|
@@ -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
|
|
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
|
-
|
|
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,
|
|
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);
|
package/dist/core/session.js.map
CHANGED
|
@@ -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":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,EAAqB,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,qBAAqB,EAAkB,MAAM,aAAa,CAAC;AAC7H,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAc,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACpF,OAAO,EAAE,cAAc,EAAoB,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAG5E,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAuBlE,MAAM,OAAO,UAAU;IACb,KAAK,CAAQ;IACb,KAAK,CAAc;IACnB,GAAG,CAAS;IACrB,MAAM,CAAU;IACP,cAAc,CAAiB;IACxC,eAAe,CAAmB;IAClC,MAAM,CAAY;IACV,SAAS,CAAW;IACpB,aAAa,CAAW;IACxB,UAAU,CAAY;IACtB,QAAQ,CAAU;IAClB,kBAAkB,CAAU;IAC5B,gBAAgB,GAAU,gBAAgB,EAAE,CAAC;IAC7C,cAAc,CAAS;IAE/B,YACC,KAAY,EACZ,KAAkB,EAClB,GAAW,EACX,MAAiB,EACjB,MAAe,EACf,SAAmB,EACnB,aAAuB,EACvB,cAA8B,EAC9B,kBAA2B,EAC3B,eAAiC,EACjC,UAAqB,EACrB,QAAkB;QAElB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,KAAK,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAA0B,EAAE;QAC/C,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAEzC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC;QAC9C,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC5C,KAAK,CAAC,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC5C,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAEjE,yCAAyC;QACzC,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ;YACnC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;YACjC,CAAC,CAAC,UAAU,CAAC;gBACZ,GAAG;gBACH,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,eAAe,EAAE,IAAI;aACrB,CAAC,CAAC;QACJ,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAE1E,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,YAAY,IAAI,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;QAClF,MAAM,WAAW,GAAG,IAAI,GAAG,EAAqB,CAAC;QACjD,KAAK,MAAM,IAAI,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;YACxC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAClC,CAAC;QACD,MAAM,aAAa,GAAG,SAAS;aAC7B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;aACpC,MAAM,CAAC,CAAC,CAAC,EAAkB,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;QAEjD,kDAAkD;QAClD,IAAI,eAA4C,CAAC;QACjD,MAAM,kBAAkB,GAAa,EAAE,CAAC;QAExC,IAAI,CAAC;YACJ,MAAM,gBAAgB,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAE9D,0EAA0E;YAC1E,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;YAC1C,MAAM,UAAU,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;YAC9C,MAAM,SAAS,GAAG,EAAE,GAAG,SAAS,EAAE,GAAG,UAAU,EAAE,CAAC;YAClD,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvC,MAAM,YAAY,GAAoB;oBACrC,IAAI,EAAE,eAAe;oBACrB,IAAI,EAAE,KAAK;oBACX,KAAK,EAAE,IAAI,GAAG,EAAE;oBAChB,QAAQ,EAAE,IAAI,GAAG,EAAE;oBACnB,QAAQ,EAAE,IAAI,GAAG,EAAE;iBACnB,CAAC;gBAEF,MAAM,MAAM,GAAG;oBACd,GAAG;oBACH,MAAM;oBACN,YAAY,CAAC,IAAS,IAAI,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;oBACpE,eAAe,CAAC,GAAQ,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;oBACvE,EAAE,CAAC,KAAU,EAAE,OAAY;wBAC1B,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;4BAAE,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;wBAC5E,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACjD,CAAC;iBACD,CAAC;gBAEF,MAAM,kBAAkB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBAC5C,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACrC,CAAC;YAED,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjC,eAAe,GAAG,IAAI,eAAe,CAAC,gBAAgB,CAAC,CAAC;gBACxD,MAAM,cAAc,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;gBACrD,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;oBACnC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACzB,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpC,CAAC;YACF,CAAC;QACF,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YACnB,OAAO,CAAC,KAAK,CAAC,8BAA8B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,gBAAgB,GAAG,CAAC,GAAG,SAAS,EAAE,GAAG,kBAAkB,CAAC,CAAC;QAE/D,MAAM,YAAY,GAAG,iBAAiB,CAAC;YACtC,GAAG;YACH,KAAK,EAAE,gBAAgB;YACvB,MAAM;YACN,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;SAC9C,CAAC,CAAC;QAEH,MAAM,SAAS,GAAiB;YAC/B,YAAY;YACZ,KAAK;YACL,KAAK,EAAE,aAAa;YACpB,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,kBAAkB,EAAE,MAAM,CAAC,UAAU;YACrC,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;YAChD,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;YAChD,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;SAC5C,CAAC;QAEF,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC;QAEnC,uDAAuD;QACvD,IAAI,EAAE,GAA0B,IAAI,CAAC;QAErC,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;YAC7B,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;QACxD,CAAC;aAAM,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;YACpC,EAAE,GAAG,cAAc,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,EAAE,EAAE,CAAC;YACR,kCAAkC;YAClC,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC;YACnC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACP,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,GAAG,SAAS,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,kBAAkB,EAAE,eAAe,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAE3L,+DAA+D;QAC/D,KAAK,CAAC,SAAS,CAAC,CAAC,KAAiB,EAAE,EAAE;YACrC,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBAClC,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACpD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBACxC,MAAM,YAAY,GAAG,KAAK,CAAC,OAA2B,CAAC;oBACvD,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;wBACxB,OAAO,CAAC,cAAc,GAAG,YAAY,CAAC,KAAK,CAAC;wBAC5C,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;wBACjE,YAAY,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;wBAC/B,QAAQ,CAAC,OAAO,CAAC,gBAAgB,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;wBACvD,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;4BACpC,OAAO,CAAC,gBAAgB,CAAC,IAAI,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;wBAChG,CAAC;oBACF,CAAC;gBACF,CAAC;YACF,CAAC;YAED,+BAA+B;YAC/B,IAAI,eAAe,EAAE,CAAC;gBACrB,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;oBAClC,eAAe,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;gBACzC,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBACvC,eAAe,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACjE,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;oBAClD,eAAe,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;gBACnF,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;oBAChD,eAAe,CAAC,IAAI,CAAC,aAAa,EAAE;wBACnC,QAAQ,EAAE,KAAK,CAAC,QAAQ;wBACxB,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;wBAChH,OAAO,EAAE,KAAK,CAAC,OAAO;qBACtB,CAAC,CAAC;gBACJ,CAAC;YACF,CAAC;QACF,CAAC,CAAC,CAAC;QAEH,mCAAmC;QACnC,IAAI,eAAe,EAAE,CAAC;YACrB,MAAM,eAAe,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,SAAS,CAAC,EAA2B;QACpC,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAa;QACzB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,KAAK;QACJ,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC;IAED,aAAa;QACZ,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;IAC5B,CAAC;IAED,WAAW,CAAC,OAAe;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACjD,KAAK,CAAC,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACjD,KAAK,CAAC,OAAO,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;IAED,aAAa;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,yDAAyD;IACzD,oBAAoB;QACnB,OAAO,IAAI,CAAC,eAAe,EAAE,cAAc,EAAE,IAAI,IAAI,GAAG,EAAE,CAAC;IAC5D,CAAC;IAED,uCAAuC;IACvC,gBAAgB;QACf,IAAI,CAAC,IAAI,CAAC,eAAe;YAAE,OAAO,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC1D,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI;YACzB,YAAY,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI;SAC/B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sDAAsD;IACtD,KAAK,CAAC,QAAQ;QACb,MAAM,YAAY,EAAE,CAAC;QACrB,MAAM,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChD,CAAC;IAED,gBAAgB;QACf,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpC,OAAO,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED,cAAc;IAEd,IAAI,eAAe;QAClB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC9B,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC5B,CAAC;IAED,eAAe;QACd,OAAO,WAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,uBAAuB;QACtB,IAAI,CAAC,IAAI,CAAC,cAAc;YAAE,OAAO,EAAE,CAAC;QACpC,OAAO,WAAW,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,sBAAsB;QACrB,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc;YACxC,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC;YAC7C,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,MAAM,CAAC;QACzD,OAAO,oBAAoB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IAC3D,CAAC;IAED,wCAAwC;IACxC,MAAM,CAAC,YAAY,CAAC,GAAY;QAC/B,OAAO,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,0DAA0D;IAC1D,KAAK,CAAC,YAAY;QACjB,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,MAAM,WAAW,GAAG,MAAM,UAAU,EAAE,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;QAE1B,MAAM,MAAM,GAAG,UAAU,CAAC;YACzB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,eAAe,EAAE,IAAI;SACrB,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC5B,CAAC;IAED,iEAAiE;IACjE,KAAK,CAAC,gBAAgB;QACrB,oCAAoC;QACpC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/C,CAAC;QAED,iBAAiB;QACjB,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;QAC1C,MAAM,UAAU,GAAG,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,EAAE,GAAG,SAAS,EAAE,GAAG,UAAU,EAAE,CAAC;QAElD,kCAAkC;QAClC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;QAErE,8BAA8B;QAC9B,IAAI,CAAC;YACJ,MAAM,gBAAgB,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAEnE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvC,MAAM,YAAY,GAAoB;oBACrC,IAAI,EAAE,eAAe;oBACrB,IAAI,EAAE,KAAK;oBACX,KAAK,EAAE,IAAI,GAAG,EAAE;oBAChB,QAAQ,EAAE,IAAI,GAAG,EAAE;oBACnB,QAAQ,EAAE,IAAI,GAAG,EAAE;iBACnB,CAAC;gBACF,MAAM,MAAM,GAAG;oBACd,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,MAAM;oBACN,YAAY,CAAC,IAAS,IAAI,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;oBACpE,eAAe,CAAC,GAAQ,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;oBACvE,EAAE,CAAC,KAAU,EAAE,OAAY;wBAC1B,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;4BAAE,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;wBAC5E,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACjD,CAAC;iBACD,CAAC;gBACF,MAAM,kBAAkB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBAC5C,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACrC,CAAC;YAED,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjC,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC,gBAAgB,CAAC,CAAC;gBAC7D,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;gBAC1D,MAAM,eAAe,GAAa,EAAE,CAAC;gBACrC,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;oBACnC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjC,CAAC;gBACD,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,eAAe,CAAC,CAAC;gBAE7D,uDAAuD;gBACvD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAqB,CAAC;gBACjD,KAAK,MAAM,IAAI,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC7C,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAClC,CAAC;gBACD,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa;qBACtC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;qBACpC,MAAM,CAAC,CAAC,CAAC,EAAkB,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;gBACjD,aAAa,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;gBACtC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;gBACjC,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;gBACzC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAqB,CAAC;gBACjD,KAAK,MAAM,IAAI,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC7C,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAClC,CAAC;gBACD,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa;qBACtC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;qBACpC,MAAM,CAAC,CAAC,CAAC,EAAkB,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;gBACjD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YACpC,CAAC;QACF,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YACnB,OAAO,CAAC,KAAK,CAAC,uBAAuB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC5B,CAAC;IAEO,mBAAmB;QAC1B,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,YAAY,GAAG,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEvD,MAAM,YAAY,GAAG,iBAAiB,CAAC;YACtC,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,KAAK,EAAE,IAAI,CAAC,SAAS;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,MAAM;YACN,YAAY;SACZ,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;IAC1C,CAAC;CACD"}
|
|
@@ -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
|
|
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;
|