npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@manshawar/tkt

v1.4.1

Published

Personal CLI: tkt gc / tkt agent / bench / ui / usage / grp / sv

Readme

toolkit

个人 CLI 工具集,前缀 tkt,覆盖 AI 提交、日报、测速等日常高频操作。设计思路见 docs/design.md

安装

npm i @manshawar/tkt -g

发布在 npm public registry,全局安装后即可使用 tkt 命令。

配套 skill

仓库 skills/ 目录带 agent skill(接入 SOP,非逻辑),用 skills CLI 安装:

npx skills add Manshawar/toolkit

安装后 agent 自动获得 bugrelay-setup 等接入说明书;功能逻辑仍在 CLI,skill 零上下文损耗。

配置

首次使用 AI 功能(tkt gc / tkt report 等)时,会自动弹出交互式配置。也可手动配置:

tkt config              # 交互填写 AI 后端与网关配置
tkt config --show       # 查看当前配置(Key 脱敏)
tkt config --backend claude      # 切换后端(claude | openai | auto)
tkt config --backend openai      # 强制自有 OpenAI Compatible 配置
tkt config ui           # 打开 AI 配置 UI(/setting)

AI 后端

支持两种 AI 后端,优先级:TKT_AI_BACKEND 环境变量 > 持久化 AI_BACKEND > auto 自动探测。

| 后端 | 说明 | | --- | --- | | Claude Code | 复用本机 claude CLI 登录态与网关配置,零配置即可用 | | OpenAI Compatible | 自有网关:需填写 Base URL / API Key / Model | | auto(推荐) | 有 claude CLI 用 Claude Code,否则回退自有配置 |

auto 模式下 Claude Code 调用失败时,自动回退到自有 OpenAI Compatible 配置,进程内粘滞。

配置写入 ~/.config/tkt/ai/.env,一次配置全局生效。也可用 tkt config ui →「设置」在浏览器中管理。

Token Plan

用量页支持多 provider 配额查询,UI(/token-plan)可切换并「设为默认」。

| provider | 配置 | 说明 | | --- | --- | --- | | minimax | MINIMAX_API_KEY(可选 MINIMAX_API_BASE) | MiniMax Token Plan · 默认 https://www.minimaxi.com | | kimi | KIMI_API_KEY(可选 KIMI_API_BASE) | Kimi Code 套餐 · key 形如 sk-kimi-...kimi.com/code 控制台创建 · 默认 https://api.kimi.com |

默认 provider:TKT_PROVIDER 环境变量 > ~/.config/tkt/usage/prefs.json 持久化 > minimax。 Key 也可在 /token-plan 页面直接填写,存 ~/.config/tkt/usage/.env(读取时覆盖包内 .env),保存后自动刷新,无需重启。

数据路径一览

| 数据 | 路径 | | --- | --- | | 全局 AI | ~/.config/tkt/ai/.env | | 更新检查偏好 | ~/.config/tkt/update/prefs.json(默认 3 小时) | | 日报偏好 / 名单 | ~/.config/tkt/report/setting.json | | 日报归档 | ~/.config/tkt/report/history/YYYY-MM-DD.json | | Bench 网关 | ~/.config/tkt/bench/gateway.json | | Usage 偏好 | ~/.config/tkt/usage/prefs.json(默认 provider) | | Usage API Key | ~/.config/tkt/usage/.env(provider key) | | Agent 用量日志 | ~/.config/tkt/usage/agent.jsonl | | Bugrelay 配置 | ~/.config/tkt/bugrelay/setting.json(add_dirs / 脱敏) |

命令

tkt gc — AI 提交

分析 staged + unstaged diff,自动生成 Conventional Commits 并提交。

tkt gc                  # pull → 分析 diff → 生成 plan → commit(残留自动多轮补提,最多 5 轮)
tkt gc --push           # 自动 push(偏好会被记住)
tkt gc --no-push        # 关闭自动 push
tkt gc --no-pull        # 跳过 pull
tkt gc --dry-run        # 只预览 commit plan,不执行
tkt gc --json           # JSON 输出

失败 / 残留补跑:tkt agent gc

tkt report — AI 日报

按日期采集名单内仓库 commit,交互追加杂项,AI 生成日报并复制到剪贴板。

tkt report                                   # 今日日报(交互勾选仓库)
tkt report --yesterday                       # 昨日日报
tkt report --date 2026-07-22                 # 指定日期
tkt report --role 前端                        # 预设角色
tkt report --append "联调支付回调=1h"          # 手动追加条目(可多次)
tkt report --target-hours 10                 # 目标工时下限
tkt report --day-start 09:00 --day-end 18:00 # 自定义上下班时间
tkt report --roster                          # 启动时先打开快捷键区
tkt report --dry-run                         # 只生成,不归档
tkt report --no-clipboard                    # 不复制到剪贴板
tkt report --json                            # JSON 输出

也可用 UI:tkt report ui/report(生成页在 /report/generate)。

tkt bench — 网关测速

流式测速,输出 TTFT(首 token 时间)和 Total 耗时。

tkt bench                                   # 测 gateway.json 中所有模型
tkt bench --models gpt-4,claude --rounds 3  # 指定模型,测 3 轮取均值
tkt bench --sort ttft                       # 按首 token 时间排序
tkt bench -c 4                              # 最大并发 4
tkt bench --json                            # JSON 输出
tkt bench ui                                # → /bench

tkt ui — 本地工具台(SPA)

单端口 Hono 托管 assets/ui。默认端口 38471(偏门,降低冲突);占用时自动顺延。有 UI 的命令统一用 tkt <cmd> ui

tkt ui                    # → / 导航页(:38471)
tkt report ui             # → /report
tkt usage ui              # → /usage
tkt bench ui              # → /bench
tkt config ui             # → /setting
tkt ui --path /report/generate
tkt ui --port 3000        # 强制指定端口
tkt ui --no-open          # 只起服务不弹浏览器
tkt ui --no-spa           # 仅 API:不挂载 SPA(前端由 Vite 接管)

| 命令 | 路由 | | --- | --- | | tkt ui | / | | tkt report ui | /report | | tkt usage ui | /usage | | tkt bench ui | /bench | | tkt config ui | /setting |

子页(浏览器内):/token-plan(Token Plan 配额)、/report/generate/report/history/report/roster/report/prefs 等。

API 前缀:/api/report/*/api/usage/*/api/bench/*/api/setting/*

tkt bugrelay — AI 辅助 bug 归属分析

被测页面注入 collector(ws 采集日志/请求/异常/Vuex/轨迹),测试在分析页描述问题,Claude 多轮自助拉取数据判定前后端归属,一键生成结构化 bug 报告。

tkt bugrelay                          # 启动服务(长驻,固定 :9527,占用报错不顺延)
tkt bugrelay ui                       # 起服务 + 开分析页 /bugrelay
tkt bugrelay doctor                   # 自检:端口 / claude CLI / adb / add_dirs / 在线会话
tkt bugrelay snippet                  # 输出注入 snippet(复制到剪贴板)
tkt bugrelay install                  # 目标项目内一键接入:装 skill + claude 自动注入
tkt bugrelay --add-dir <src>          # 追加 AI 可读源码目录(file:line 定位,持久化)

最省事接入:在目标项目根目录跑 tkt bugrelay install —— 自动 npx skills add Manshawar/toolkitbugrelay-setup skill,随后启动 claude 按 skill 完成注入与验证。

手动接入(或让 agent 装 bugrelay-setup skill 后一句「接入 bugrelay」):

  1. tkt bugrelay 起服务
  2. 构建配置注入(staging 环境变量门控,生产构建天然免疫):
    • vue-clivue.config.js chainWebpack 里 if (process.env.ENV === 'staging') 给 html 模板传参,public/index.html <head> 最前加条件 script
    • vitevite.config.tstransformIndexHtml 插件(apply: 'build' + head-prepend),同样 process.env.ENV === 'staging' 门控
    • 无构建入口的纯静态页兜底:tkt bugrelay snippet 取白名单片段
  3. 连通:PC webview 零配置 / Android adb reverse tcp:9527 tcp:9527 / iOS 页面 URL 加 ?bugrelay_server=http://<PC_IP>:9527
  4. tkt bugrelay doctor + 手机端浮层圆钮变绿验证

注入产物仅一行远程 URL(<script src="http://127.0.0.1:9527/bugrelay/collector.js">):CI/构建机零依赖(不安装、不复制 collector 文件),浏览器打开页面时由本机 tkt 服务响应 collector 内容并始终最新;127.0.0.1 在访问者浏览器上解析,手机端经 ?bugrelay_server= 覆盖。

分析页:选会话 → 描述问题 → AI 分析(SSE 进度)→ 归属/依据/建议/file:line → 生成 markdown 报告。数据面板(请求瀑布/console/mutation/轨迹)可人工复核。

tkt usage — Token 用量

实时查询 AI 平台 Token Plan 配额。

tkt usage                 # 实时刷新(60s)
tkt usage --once          # 查一次
tkt usage -i 30           # 30 秒刷新
tkt usage -p minimax      # 指定 provider(minimax | kimi)
tkt usage -p kimi         # Kimi Code 套餐
tkt usage ui              # → /usage(本地 Agent 用量 + Token Plan 双面板)

其他

| 命令 | 说明 | | --- | --- | | tkt grp | git push origin HEAD:refs/for/<branch>,Gerrit 一键推送 | | tkt sv [ver] | fnm 切 Node 版本后 npm run serve,默认 v14 | | tkt prompt list | 列出内置 AI prompt | | tkt prompt show <id> | 查看 prompt 原文 | | tkt agent gc | git-submit 残留 / 失败重试 |

环境变量

| 变量 | 用途 | | --- | --- | | AI_BASE_URL | AI 网关地址(OpenAI Compatible) | | AI_API_KEY | API Key | | AI_MODEL | 模型名 | | AI_STRUCTURED_OUTPUTS | 强制开/关 json_schema(true / false) | | TKT_AI_BACKEND | 强制 AI 后端(claude / openai;缺省 auto 探测) | | TKT_PROVIDER | usage 默认 provider(minimax / kimi;缺省持久化 → minimax) | | MINIMAX_API_KEY | MiniMax Token Plan API Key | | MINIMAX_API_BASE | MiniMax API 地址(默认 https://www.minimaxi.com) | | KIMI_API_KEY | Kimi Code API Key(sk-kimi-...) | | KIMI_API_BASE | Kimi API 地址(默认 https://api.kimi.com) | | TKT_NO_UPDATE | 设为 1 关闭启动时的版本更新提示 | | BUGRELAY_PORT | bugrelay 端口覆盖(默认 9527,固定不顺延) | | TKT_GC_PUSH | git-submit 默认推送开关(true / false) |

开发与打包

pnpm ui:dev          # Vite :5173 + Hono :38471(/api 代理),本地联调
pnpm ui:serve        # 仅 API(tsx watch)
pnpm web:dev         # 仅 Vite
pnpm web:build       # → assets/ui/
pnpm build           # → lib/
pnpm build:all       # web:build 再 build(发布前)

实现架构见 docs/design.md