open-index/open-npm huggingface dataset:
npm package: @quicktvui/debug-mcp
Description: MCP server adapter for QuickTVUI debug AI APIs backed by ESDebugServer.
Latest version: 0.0.1

# QuickTVUI Debug MCP

独立的 MCP Server，基于 `ESDebugServer` 已有的 `/ai/*` 和 `/ai/stream` 暴露只读资源与工具。

## 能力

- resources
  - `quicktvui-debug://targets`
  - `quicktvui-debug://stream/status`
  - `quicktvui-debug://targets/{clientId}/context`
  - `quicktvui-debug://targets/{clientId}/events/recent`
  - `quicktvui-debug://targets/{clientId}/events/live`
  - `quicktvui-debug://targets/{clientId}/native-logs/recent`
  - `quicktvui-debug://targets/{clientId}/screenshot/latest`
- tools
  - `list_targets`
  - `get_target_context`
  - `get_recent_events`
  - `get_recent_console_logs`
  - `get_recent_native_logs`
  - `get_latest_screenshot`
  - `get_live_events`
  - `get_stream_status`

## 构建

```bash
npm run build:quicktvui-debug-mcp
```

## 测试

```bash
npm run test:quicktvui-debug-mcp
```

当前测试会起一个本地 mock `ESDebugServer`，覆盖：

- `/ai/*` 只读接口映射
- `/ai/stream` -> MCP `resources/updated`
- tools / resources / resource templates 的最小握手

## 运行

如果你是通过 Trae 或其他 MCP client 的 `command + args` 配置接入：

- 不需要手工执行下面的启动命令
- MCP 进程会由 Trae 或 MCP client 自动拉起
- 你只需要保证 `ESDebugServer` 本身已经启动，并且 `--base-url` 可访问

下面的命令主要用于命令行 smoke test 或排障：

```bash
npx -y @quicktvui/debug-mcp@0.0.1 --base-url http://127.0.0.1:38989
```

默认会连 `ESDebugServer` 的 `/ai/stream`，并把实时事件转成 MCP `resources/updated` 通知。

如果 `/ai/stream` 中途断开，当前实现会在重连后按 `sinceSeq` 调用 `/ai/targets/:clientId/events` 做一次回填，尽量补上断线窗口内漏掉的统一事件。

`quicktvui-debug://targets/{clientId}/events/live` 的资源列表会同时参考：

- 当前 `/ai/targets`
- 本地 stream cache 里已经见过的 `clientId`

所以它可以覆盖“只在流里先出现、但还没稳定进入 `/ai/targets`”的目标；但 `context` / `events/recent` / `native-logs/recent` / `screenshot/latest` 仍然只对 `/ai/targets` 中已知 target 暴露。

如果只想保留静态只读工具和资源，不连 SSE：

```bash
npx -y @quicktvui/debug-mcp@0.0.1 --base-url http://127.0.0.1:38989 --no-stream
```

## 使用文档

- 详细使用说明与验证步骤见 `./USAGE.md`
- 发布到 npm 与 Trae 接入说明见 `../../doc/QUICKTVUI_DEBUG_MCP_TRAE_RELEASE_GUIDE.MD`
npm package: @quicktvui/web-cli
Description: CLI tool for QuickTVUI web development - zero configuration
Author: QuickTVUI Team
Latest version: 1.0.2

# @quicktvui/web-cli

QuickTVUI Web 开发服务器 CLI 工具，零配置启动 Web 渲染开发环境。

## 安装

```bash
npm install @quicktvui/web-cli --save-dev
# 或
yarn add @quicktvui/web-cli --dev
# 或
pnpm add @quicktvui/web-cli -D
```

## 使用

### 基本用法

```bash
# 安装后直接运行
npx qt-web-dev

# 或在 package.json 中添加脚本
{
  "scripts": {
    "web:dev": "qt-web-dev"
  }
}
```

### 命令行选项

```
用法: qt-web-dev [options]

选项:
  -p, --port <port>     开发服务器端口 (默认: 39001)
  -c, --config <path>   自定义 webpack 配置文件路径
  -o, --open            自动打开浏览器
  -h, --help            显示帮助信息

示例:
  qt-web-dev
  qt-web-dev --port 8080
  qt-web-dev --config ./my.webpack.js
```

## 入口文件检测规则

CLI 会自动检测项目入口，优先级如下：

### 1. webMain 配置（推荐）

如果 `package.json` 中配置了 `webMain`，直接使用该入口：

```json
{
  "main": "./src/main.ts",
  "webMain": "./src/main-web.js"
}
```

### 2. 本地 src/web 目录

如果没有 `webMain` 但存在 `src/web/index.js`，CLI 会：
- 使用 `src/web` 目录作为 Web 渲染器
- 自动包装 `main` 指定的入口文件

### 3. @quicktvui/web-renderer 包

如果以上都不满足，CLI 会：
- 使用 `@quicktvui/web-renderer` 包作为渲染器
- 自动包装 `main` 指定的入口文件

## 项目结构示例

### 方式一：独立 webMain 入口（推荐）

```
project/
├── package.json        # 配置 webMain
├── src/
│   ├── main.ts         # 原生入口
│   ├── main-web.js     # Web 入口（自定义初始化逻辑）
│   └── web/            # Web 渲染器
│       ├── index.js
│       ├── core/
│       └── components/
└── ...
```

```json
// package.json
{
  "main": "./src/main.ts",
  "webMain": "./src/main-web.js"
}
```

### 方式二：零配置模式

```
project/
├── package.json        # 无需配置 webMain
├── src/
│   ├── main.ts         # 主入口
│   └── web/            # Web 渲染器（CLI 自动检测）
│       ├── index.js
│       └── core/
└── ...
```

### 方式三：使用 web-renderer 包

```
project/
├── package.json
├── src/
│   └── main.ts         # 主入口
└── ...
```

```json
// package.json
{
  "dependencies": {
    "@quicktvui/web-renderer": "^1.0.0"
  }
}
```

## 内置功能

### 自动代理

CLI 内置代理功能，解决开发环境跨域问题：

```
/proxy/{protocol}/{host}{path}

示例:
/proxy/https/api.example.com/users
  -> https://api.example.com/users
```

### 自动检测路径别名

自动读取 `jsconfig.json` 或 `tsconfig.json` 中的路径配置：

```json
{
  "compilerOptions": {
    "baseUrl": ".",
    "paths": {
      "@/*": ["src/*"],
      "@components/*": ["src/components/*"]
    }
  }
}
```

### OpenSSL 兼容

自动检测 OpenSSL 版本，对于 OpenSSL 3.x 自动添加 `--openssl-legacy-provider` 参数。

## 自定义 Webpack 配置

如需自定义配置，可通过 `--config` 指定：

```bash
qt-web-dev --config ./webpack.config.js
```

自定义配置会完全替换内置配置。

## 技术栈

- Vue 3 + TypeScript
- Webpack 5
- vue-loader
- @extscreen/es3-vue-css-loader

## License

MIT
npm package: @quickytools/verify-slack-request
Description: Verifies a Slack request
Author: quickytools
Latest version: 1.0.2

# Verify Slack request signatures

Slack signs [requests](https://api.slack.com/docs/verifying-requests-from-slack). Verify bare or Express server Slack requests.

- `isSignedSlackRequest(version, timestamp, body, signingSecret, signature)`  
   Returns a `bool` by computing a signature from parts of the request and your app's `signingSecret` then comparing to the Slack request's expected `signature`.
- `isValidExpressServerSlackRequest(req, signingSecret, version = 'v0')`  
   Returns a `bool` by parsing a Slack request sent through an Express server.