Token导航 LogoToken导航

Agent Skill · 研究检索

honest(honest 搜索)

honest 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

honest 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为需要联网;许可证信息还不明确,第三方扫描已通过,按安装量在研究检索类的 73,675 个 Skill 里排第 62,606。

总安装 329周安装 14GitHub Stars 1下载 115核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:honest(honest 搜索)
来源仓库:https://github.com/honestjs/skills
仓库路径:skills/honest
安装命令:
npx skills add https://github.com/honestjs/skills --skill honest
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/honestjs/skills --skill honest

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

用于查找、检索和筛选相关信息。适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。适合根据关键词快速定位候选结果。通过 GitHub 仓库安装,需确认权限范围。可能触发联网或外部服务调用。

honest 属于研究检索类 Skill,可作为该场景下的辅助能力补充。建议结合项目场景验证结果准确性。

来源仓库内路径:skills/honest

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/honestjs/skills --skill honest;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要需要联网,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

honest 怎么安装?

在终端执行 npx skills add https://github.com/honestjs/skills --skill honest。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

honest 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

honest 需要什么权限?

权限级别是需要联网。该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

honest 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

honest 用的人多吗?

公开数据是累计安装 329 次,近一周安装 14 次,下载 115 次,GitHub 1 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

honest 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。
  • 第三方扫描已通过,常见的高风险行为没有命中。

先想清楚的地方

  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
honest

honest 搜索 · 本页

3291需要联网未明确通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

Honest Skill

Build Honest.js apps with CLI, decorators, modules, and DI. Honest is a TypeScript-first web framework on Hono with a Nest-like architecture.

Setup

Using Honest CLI

bun add -g @honestjs/cli
honestjs new my-project   # aliases: honest, hnjs
cd my-project
bun dev

Manual setup

bun add honestjs hono reflect-metadata

Bootstrap (entry file):

import 'reflect-metadata'
import { Application } from 'honestjs'
import { AppModule } from './app.module'

const { app, hono } = await Application.create(AppModule, {
	routing: { prefix: 'api', version: 1 },
})

export default hono

Always import reflect-metadata once before any Honest decorators. Export the hono instance for your server (e.g. Cloudflare Workers, Node, Bun).

CLI

  • New project: honestjs new <project-name> - options: -t|--template (name or local path: ./path, ~/path), -p|--package-manager, --typescript, --eslint, --prettier, --docker, --git, --install, -y|--yes, --offline, --refresh-templates
  • List templates: honestjs list - -j|--json, -c|--category, -t|--tag, -l|--local <path> (list from local repo or single template)
  • Info: honestjs info - -l|--local <path> (show templates from local)
  • Generate: honestjs generate <schematic> <name> (alias g) - schematics: controller|c, service|s, module|m, view|v, middleware|c-m, guard|c-g, filter|c-f, pipe|c-p. Options: -p|--path, --flat, --force (overwrite existing files), --skip-import, --export

Prefer honestjs new for new apps and honestjs generate for adding controllers, services, modules, guards, pipes, or filters.

Local templates: Use a local path for --template to scaffold from a local templates repo (directory with templates.json) or single template (directory with template.json + files/). Examples: honestjs new my-app -t./templates, honestjs new my-app -t./templates/barebone, honestjs list --local./templates.

Application and routing

  • Create app: Application.create(RootModule, options) returns {app, hono}.
  • Routing: routing: {prefix?: string, version?: number | VERSION_NEUTRAL | number[]}

- e.g. prefix: 'api', version: 1 → /api/v1/....

  • Global components: components: {middleware?, guards?, pipes?, filters?} - applied to all routes.
  • Plugins: plugins?: PluginEntry[] - each entry can be a plain plugin or {plugin, name?, preProcessors?, postProcessors?}. Processors receive (app, hono, ctx) where ctx is app.getContext() (application context). Order: preProcessors → beforeModulesRegistered; afterModulesRegistered → postProcessors. Multiple plugins run in plugins array order.
  • Custom handlers: onError?, notFound? on options.
  • Debug/strict: debug: {routes?, plugins?, pipeline?, di?, startup?}, strict: {requireRoutes?}, deprecations: {printPreV1Warning?} - see Configuration.
  • Hono access: app.getApp() for the underlying Hono instance; app.getRoutes() for route info.
  • Startup validations: duplicate method+path routes fail at registration; strict mode can fail startup when zero routes are registered.
  • Application context (registry): app.getContext() - app-scoped key-value store for the whole app (bootstrap, services, any code with app). Use get<T>(key), set<T>(key, value), has(key), delete(key), keys(). Namespace keys (e.g. app.config, rpc.artifact, openapi.spec). Use for pipeline/config or shared data that outlives a request. Not Hono request context: that is per-request and injected via @Ctx() (request, response, env, request-scoped variables).

Modules and DI

  • Module: @Module({controllers?, services?, imports?}) - list controller/service classes and imported modules.
  • Service: @Service() - marks a class as injectable singleton; inject via constructor in controllers or other services.
  • Current DI shape: constructor injection with concrete class types.
@Module({
	controllers: [UsersController],
	services: [UsersService],
	imports: [OtherModule],
})
class UsersModule {}

Controllers and routes

  • Controller: @Controller(route?) - base path for all handlers in the class.
  • HTTP methods: @Get(path?), @Post(path?), @Put(path?), @Delete(path?), @Patch(path?), @Options(path?), @All(path?) - path is optional (default '').

Parameter decorators: use on handler arguments.

DecoratorPurpose
@Body(key?)Request body (JSON); optional key to get one property
@Param(name?)Route param(s)
@Query(name?)Query param(s)
@Header(name?)Header(s)
@Req() / @Request()Hono request
@Res() / @Response()Hono response
@Ctx() / @Context()Hono context
@Var(name) / @Variable(name)Context variable

Example:

@Controller('users')
class UsersController {
	@Get(':id')
	getOne(@Param('id') id: string, @Ctx() ctx: Context) {
		return ctx.json({ id })
	}

	@Post()
	async create(@Body() body: CreateUserDto) {
		return { created: body }
	}
}

Notes:

  • @Body() is safe to use multiple times in the same handler (request JSON is reused per request).
  • Returning a native Response from a handler is supported and passed through directly.

Pipeline

Apply at class or method level:

  • UseMiddleware(...middleware) - runs before the handler.
  • UseGuards(...guards) - determines if the request is allowed.
  • UsePipes(...pipes) - transform input before the handler.
  • UseFilters(...filters) - handle exceptions for the controller/method.

Same pattern as Nest: class-level applies to all methods; method-level overrides or adds.

Ecosystem

@honestjs/rpc-plugin

bun add @honestjs/rpc-plugin
  • Typed RPC client - analyzes HonestJS controllers and generates a type-safe TypeScript client. Register: plugins: [RPCPlugin] or plugins: [new RPCPlugin(options)].
  • Options: controllerPattern (glob for controller files), tsConfigPath, outputDir (default ./generated/rpc), generateOnInit (default true), generators (optional array of custom generators), mode (strict/best-effort), logLevel (silent/error/warn/info/debug), customClassMatcher (optional controller discovery override), failOnSchemaError, failOnRouteAnalysisWarning. Use controllerPattern if controllers live outside the default src/modules/*/*.controller.ts.
  • Generators: when generators is omitted, plugin uses built-in TypeScriptClientGenerator; when defined, only provided generators run.
  • Generated client: ApiClient with controller-namespaced methods; call with {params?, query?, body?, headers?}. Use new ApiClient(baseUrl, {fetchFn?}) for custom fetch (testing, retries, interceptors). setDefaultHeaders() for auth. Errors via ApiError.
  • Manual generation: generateOnInit: false then await rpcPlugin.analyze({force?: boolean, dryRun?: boolean}) when needed. dryRun: true runs analysis without generating client files. Controllers should use @Body(), @Param(), @Query() with typed DTOs/interfaces for best client inference.
  • OpenAPI/Swagger: RPC plugin does not generate OpenAPI specs. It publishes routes/schemas artifact to app context (default key: rpc.artifact) with artifactVersion: "1". API Docs plugin defaults to that key - use new ApiDocsPlugin() with RPC, or pass artifact for a custom key or direct {artifactVersion?, routes, schemas} object.
  • Diagnostics output: plugin writes rpc-diagnostics.json in output dir (mode, cache status, warnings, counts).

@honestjs/api-docs-plugin

bun add @honestjs/api-docs-plugin
  • OpenAPI + Swagger UI - generates OpenAPI spec from an artifact and serves JSON + Swagger UI. Register: plugins: [new ApiDocsPlugin()] or plugins: [new ApiDocsPlugin(options)]. With RPC, artifact defaults to 'rpc.artifact' so no options are needed.
  • Artifact source: artifact is optional (default: context key 'rpc.artifact'). Can pass another context key or a direct object {routes, schemas}. Put the producer plugin (e.g. RPCPlugin) before ApiDocsPlugin in the plugins array when using a context key.
  • Options: title, version, description, servers (OpenAPI metadata); openApiRoute (default /openapi.json), uiRoute (default /docs), uiTitle (default 'API Docs'), reloadOnRequest (default false), onOpenApiRequest and onUiRequest (optional auth hook points).
  • Programmatic: fromArtifactSync(artifact, options) and write(spec, path) for generating spec files; types: OpenApiArtifactInput, OpenApiDocument, OpenApiGenerationOptions.
  • Artifact contract: when artifactVersion exists, supported value is "1"; unsupported versions fail with explicit error.

@honestjs/middleware

bun add @honestjs/middleware
  • Application config: components: {middleware: [new LoggerMiddleware(), new CorsMiddleware({origin: '...'}), new SecureHeadersMiddleware()]}.
  • Wrap Hono middleware: new HonoMiddleware(poweredBy()) or new HonoMiddleware(async (c, next) => {...}).

@honestjs/pipes

bun add @honestjs/pipes
  • PrimitiveValidationPipe - validates and transforms primitive types (String, Number, Boolean) on route params/query/body. Register globally: components: {pipes: [new PrimitiveValidationPipe()]}.

@honestjs/class-validator-pipe

bun add @honestjs/class-validator-pipe
  • ClassValidatorPipe - validates and transforms DTOs with class-validator and class-transformer. Define DTOs with decorators (@IsString(), @IsEmail(), @MinLength(), @IsOptional(), etc.), then register: components: {pipes: [new ClassValidatorPipe()]}. Use @Body() with the DTO type in handlers.

http-essentials

bun add http-essentials
  • Status/phrase: HttpStatus.OK, HttpPhrase.NOT_FOUND, httpPhraseByStatus, httpStatusByPhrase.
  • Exceptions: NotFoundException, BadRequestException, UnauthorizedException, etc. - throw in handlers or use in filters; include default messages and custom message arg.

Use in guards and exception filters for consistent HTTP responses.

MVC and views

HonestJS supports server-side rendered views with Hono JSX. Use the mvc template (honestjs new my-app -t mvc) for full-stack apps. Other templates: barebone, blank. Use barebone and enable RPC / API docs options for OpenAPI and type-safe client generation. Views use @View(), @Page(), Layout, and JsxRendererMiddleware - see MVC docs.

Guidelines

  • Use honestjs new for new projects; use honestjs generate for controllers, services, modules, guards, pipes, filters. Use --force to overwrite existing files.
  • Always import 'reflect-metadata' once at entry before any Honest code.
  • Export hono from the entry used by your server (Worker, Node, Bun).
  • Honest is pre-v1: API may change; avoid relying on undocumented behavior.
  • For Hono-specific behavior (middleware, adapters), use app.getApp() and the Hono API.

平台分布

Codex

36.64%
按下载量换算42

Claude

28.47%
按下载量换算33

Cursor

21.08%
按下载量换算24

Gemini CLI

10.64%
按下载量换算12

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills