返回全部 Skills

tesseron-explorer

开发工具

映射现有的Tesseron TypeScript代码库——对应用、动作、资源、上下文方法使用、传输层、React钩子以及会话生命周期连接进行编目;跟踪代理调用如何通过处理器流入应用状态;返回包含文件:行引用的紧凑架构摘要。当用户在导入`@tesseron/core`、`@tesseron/web`、`@tesseron/server`、`@tesseron/react`或`@tesseron/mcp`的项目中请求“探索”、“映射”、“理解”、“分析”、“追踪”或“解释其工作原理”时,或在扩展非平凡Tesseron代码库之前,请主动使用该方法。调用者应在调用提示中传递范围(项目根目录、包或特定功能)。

5

下载量

AI SkillHub 能力展示图

安装方式

命令行安装

在项目根目录执行以下命令,完成 Skill 安装。

npx bzskills add BrainBlend-AI/tesseron --skill tesseron-explorer

skill.md

name: tesseron-explorer
description: 映射现有的Tesseron TypeScript代码库——对应用、动作、资源、上下文方法使用、传输层、React钩子以及会话生命周期连接进行编目;跟踪代理调用如何通过处理器流入应用状态;返回包含文件:行引用的紧凑架构摘要。当用户在导入`@tesseron/core`、`@tesseron/web`、`@tesseron/server`、`@tesseron/react`或`@tesseron/mcp`的项目中请求“探索”、“映射”、“理解”、“分析”、“追踪”或“解释其工作原理”时,或在扩展非平凡Tesseron代码库之前,请主动使用该方法。调用者应在调用提示中传递范围(项目根目录、包或特定功能)。

Tesseron 探索器

将现有的 Tesseron TypeScript 应用程序(包括其应用清单、操作、资源、上下文方法使用、传输层、React 钩子以及会话生命周期)映射出来,并返回一个紧凑的摘要,调用者无需重新阅读文件即可据此采取行动。

范围

调用者可以在调用提示中指定要探索的内容:

  • 项目 — 从项目根目录开始遍历。
  • — 限定到某个包或目录(例如 packages/coreexamples/react-todo)。
  • 特性 — 端到端追踪特定能力(例如“客户端中的会话恢复流程是怎样的”)。

如果调用者未指定,则从父线程当前操作的目录开始,并定位所有从 @tesseron/* 导入的文件。

发现顺序

  1. 项目结构。读取 package.json(根目录和工作区包)以获取工作区布局、依赖版本和 scripts。在所有 package.json 文件中搜索 "@tesseron/,以识别哪些包是消费者(@tesseron/web/server/react),哪些是 SDK 本身。确定入口点(src/main.tssrc/main.tsxsrc/app.tsxsrc/index.tsvite.config.tstsconfig.json)。
  1. SDK 表层。搜索框架锚点:
  • from '@tesseron/web' / from '@tesseron/server' / from '@tesseron/react' / from '@tesseron/core' — 消费者导入。
  • tesseron.app( — 应用清单注册。
  • tesseron.action( / .action( — 操作构建器链。
  • tesseron.resource( / .resource( — 资源构建器链。
  • tesseron.connect( — 会话握手位置。
  • useTesseronAction( / useTesseronResource( / useTesseronConnection( — React 钩子位置。
  • ctx.sample( / ctx.confirm( / ctx.elicit( / ctx.progress( / ctx.log( / ctx.signal — 上下文方法使用。
  • ResumeCredentials / resumeToken / sessionId — 恢复流程持久化。
  • BrowserWebSocketTransport / NodeWebSocketServerTransport / @tesseron/vite 插件 / implements Transport — 传输层接线。
  • TesseronError / SamplingNotAvailableError / ElicitationNotAvailableError / TimeoutError / ResumeFailedError — 错误处理。
  1. 组件映射。对于每个匹配项,仅打开足够捕获组件形状的文件内容。如果目标代码跨度足够,不要读取整个文件。
  1. 数据流。追踪调用如何传播:
  • 网关 → SDK:actions/invoke → 处理器 → 状态变更 → 订阅者 → resources/updated 通知。
  • SDK → 网关:tesseron/hellotesseron/resume → 欢迎消息 → 持续调用。
  • 处理器 → 代理:ctx.sample / ctx.confirm / ctx.elicit 往返。
  • React 生命周期:通过钩子注册 → ref 更新 → 处理器闭包捕获最新状态 → 卸载时清理。
  • 多通道状态(例如 Express + Tesseron 共享存储):通道间的发布/订阅钩子。

每个组件需要捕获的内容

应用

  • idnametesseron.app(...) 调用的文件:行号。
  • descriptionoriginversion
  • 会话是否在同一文件中建立(tesseron.connect(...))或在其他地方(例如应用根部的 React useTesseronConnection)。
  • 恢复凭据是否已持久化(localStorage、sessionStorage、IndexedDB、服务器端存储)。

操作

  • 名称及一句话用途。
  • 构建器链的文件:行号。
  • 输入模式(验证器 + 形状),输出模式(如果有),是否设置了 .strictOutput()
  • 注解(readOnly / destructive / requiresConfirmation)。
  • 超时覆盖。
  • 处理器同步 vs 异步,副作用(状态变更、HTTP 调用、数据库写入、订阅者通知)。
  • 上下文方法使用:sample / confirm / elicit / progress / log / signal 转发。

资源

  • 名称及一句话用途。
  • 构建器链的文件:行号。
  • 输出模式。
  • read() 读取器(纯 vs 不纯),subscribe() 接线(初始发射、回调注册、清理函数)。
  • 订阅者:应用触发更新的位置(状态设置器、发布/订阅回调、$effect / watch)。

传输层

  • 使用的传输实现:BrowserWebSocketTransport(客户端,拨号至 /@tesseron/ws 桥接点)、NodeWebSocketServerTransport(服务器,托管环回端点并写入标签文件)、自定义 postMessage、测试用内存传输。
  • 对于浏览器应用:是否配置了 @tesseron/vite(v2.0 中必需 — 它通过 /@tesseron/ws 将浏览器标签页桥接到网关)。
  • 恢复的使用 — 是否接入了 ConnectOptions.resume

React 钩子位置

  • 组件路径 + 钩子调用。
  • 对于 useTesseronAction:操作名称、闭包捕获、处理器是否通过 ref 使用最新状态。
  • 对于 useTesseronResource:简写(函数) vs 完整选项、订阅模式。
  • 对于 useTesseronConnection:挂载位置(根节点 vs 嵌套)、连接状态消费者(授权码 UI、错误横幅等)。

会话生命周期

  • 授权码如何展示给用户(内联文本、提示框、模态框)。
  • 欢迎消息如何存储和读取。
  • 恢复凭据如何持久化和刷新(注意:resumeToken 在每次成功恢复后轮换)。

输出格式

## 代码库映射:<项目或特性名称>

### 概述

<两到三句话说明应用向 Claude 暴露了什么,使用了什么栈,以及使用了哪种传输/网关模式>

### 入口点

- <路径>:<行号> — <角色>

### 应用

- **<AppId>**(`<路径>:<行号>`)。<一句话用途>。描述=<...>。通过 <传输 + URL> 连接。恢复:<是否持久化?在哪里?>

### 操作

- **<操作名>** — `<路径>:<行号>`。<一句话用途>。输入=<形状>,输出=<形状或"无">,严格=<是/否>,注解=<readOnly/destructive/confirm>,超时=<默认或覆盖>。上下文使用:<sample/confirm/elicit/progress/log/signal>。副作用:<...>。

### 资源

- **<资源名>** — `<路径>:<行号>`。<一句话用途>。读取=<纯/不纯>,订阅=<是/否>。发射器接线:<应用触发更新的位置>。

### 传输层

- `<路径>:<行号>` — <实现>。目标:<URL>。选项:<恢复?白名单?超时?>

### React 钩子(如适用)

- `<路径>:<行号>` — `useTesseronAction('<名称>', ...)` / `useTesseronResource(...)` / `useTesseronConnection(...)`。闭包模式:<通过 ref 使用最新状态 / 稳定闭包 / 其他>。

### 会话生命周期

<hello/resume 如何发生、授权码出现在哪里、凭据如何持久化、断开连接如何处理>

### 数据流

<ASCII / 简短描述:网关 → 处理器 → 状态 → 订阅者,以及任何 sample/elicit 往返>

### 必读列表

按优先级排列的文件,调用者应打开以进一步理解系统,每个文件附一行理由。

### 观察(可选)

标记值得注意的模式、风险或异常。不要进行审查——仅仅指出结构上感兴趣的部分。将详细审查交给 `tesseron-reviewer` 技能。

保持整个映射集中。Token 上限:目标为一到两屏 Markdown 加上必读列表。对于更大的代码库,生成两级映射:顶层结构 + 每个组件的一级详细信息,仅当用户要求时再深入。

探索原则

  1. 窄读。使用带 -n 的定向搜索和小幅 Read 偏移。如果 30 行跨度足够,不要读取整个文件,否则会浪费上下文并延迟摘要。
  2. 处处引用文件:行号。每个声明都需要一个用户可验证的引用。
  3. 描述存在的内容,不要设计。设计问题(“我们应该如何扩展这个?”)是另一项任务。你的输出是事实性映射。
  4. 注意异常,不要修复。发现可能的错误、异常模式或遗留导入是可以的;在*观察*中标记,并将裁决推迟到 tesseron-reviewer 技能。
  5. 映射完成后停止。当必读列表组装完毕且每个组件都已捕获后,返回。过度阅读超出该点只会浪费上下文。