# @french-castle/jev-code 中文文档

规范地址：https://npmcn.com/package/%40french-castle/jev-code/

版本：0\.5\.0
npm 元数据更新时间：2026-10-08T08:51:10.951Z
中文译文更新时间：2026-11-15T13:54:01.770Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40french-castle/jev-code
原文对照：https://npmcn.com/package/%40french-castle/jev-code/?lang=original
项目主页：https://github.com/FrancoisChastel/jev-code#readme
源码仓库：https://github.com/FrancoisChastel/jev-code

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：433 kB，136 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=20
- 运行依赖：2 个
- peer 依赖：typebox \*，@earendil-works/pi-coding-agent \*
- 首次发布：2026-09-27T21:59:45.289Z
- 最新版本发布：2026-10-08T08:51:10.754Z
- 近 30 天下载量：3279（2026-10-16 至 2026-11-14，npm 官方下载统计）
- 已发布版本数：4（近 12 个月 4 个）

## 中文简介

Jev,TypeSafe's System One分类器,作为克洛德码,Codex,Pi,和OpenCode内部的一个工具:打入分类,检查,分数,分级,并询问,外加一指令设置.

## 安装

```sh
npm install @french-castle/jev-code
```

也可以使用：`pnpm add @french-castle/jev-code`、`yarn add @french-castle/jev-code`、`bun add @french-castle/jev-code`

## README

# jev 代码

**Jev,TypeSafe's System One分类器,作为克洛德代码,Codex,Pi和OpenCode内部的工具.**  
被打出标签,是/否检查,分数,以及有校准概率的排名,以几百毫秒计.

[![CI](https://github.com/FrancoisChastel/jev-code/actions/workflows/ci.yml/badge.svg)](https://github.com/FrancoisChastel/jev-code/actions/workflows/ci.yml) [![npm](https://img.shields.io/npm/v/%40french-castle%2Fjev-code)](https://www.npmjs.com/package/@french-castle/jev-code) ![Node 20+](https://img.shields.io/badge/node-%3E%3D20-brightgreen) [![MIT](https://img.shields.io/badge/license-MIT-blue)](https://npmcn.com/package/%40french-castle/jev-code/LICENSE)

* * *

编码器整天做出小的分类决定:在这40个CI失败中,哪一个是 真实的,哪些文件回答了这个问题, 这个 PR 做它描述的,有多严重 每一个发现。 他们通常通过目击,写作 regex,或烧出一个前沿模型 呼叫每个项目.

[杰维](https://typesafe.ai/) 是一个决定模型,而不是文本模型:您发送证据并输入 问题,它会用校正概率返回输入的答案, 永远不会出现. **jev 代码** 转弯 成为四位编码员和船只的一等工具 一种技能,在 以达到它.

```
┌──────────────┐  jev_classify / jev_check / ...  ┌───────────┐  POST /v1/systemone  ┌──────────────┐
│ Claude Code  │ ───── MCP (stdio) ─────────────▶ │           │ ───────────────────▶ │  Jev, hosted │
│ Codex        │ ───── MCP (stdio) ─────────────▶ │  jev-code │                      │  on TypeSafe │
│ OpenCode     │ ───── MCP (stdio) ─────────────▶ │           │ ◀─────────────────── │  OpenRouter  │
│ Pi           │ ───── native extension ────────▶ │           │  typed answers +     │  or Vercel   │
│ any shell    │ ───── jev-code CLI ────────────▶ │           │  probabilities       │  AI Gateway  │
└──────────────┘                                  └───────────┘                      └──────────────┘
```

## 你得到的东西

| 块 | 它会做什么 |
| --- | --- |
| **五个工具** | `jev_classify`, (中文(简体) ), `jev_check`, (中文(简体) ), `jev_score`, (中文(简体) ), `jev_rank`, (中文(简体) ), `jev_ask`名字相同,JSON也一样,在每一个绳子. |
| **一个技能** | [`skills/jev/SKILL.md`](https://npmcn.com/package/%40french-castle/jev-code/skills/jev/SKILL.md) 告诉代理在任务需要分类器时,如何写出好的课和问题,以及如何对答案采取行动. 根据TypeSafe官方技能改编的参考文献覆盖了将Jev建设成用户自己的代码. 跟着 [代理技能](https://agentskills.io/) 谱. |
| **一个命令设置** | `jev-code setup` 探测到Claude Code, Codex, Pi, 和OpenCode 在您的机器上, 将技能和工具都线入其中. |
| **国家行动倡议** | 同样的出击工具,所以技能仍然在没有注册工具的绳子上工作. |

## 快开始

**1\. 安装到您的代理中** (节点.js 20+):

```bash
npx -y @french-castle/jev-code@latest setup
```

它可以探测到机器上的绳子 并且每张都复制技术并登记 工具。 当您的 shell 中没有 API 密钥时, 它会要求一个右侧( 隐藏输入) 和哪个主机 它属于: TypeSafe, OpenRouter, Vercel AI Gateway, OpenAI, 或您的系统之一网关 本身,在这种情况下,它也要求提供网关的URL。 没有其他配置 .

添加带状名称以明确( A)`setup claude codex pi opencode`, (中文(简体) ), `--project` 要安装到 以当前仓库代替您的用户配置,或 `--dry-run` 先看计划.

最好把钥匙留在你环境中? 运行前导出它 `setup`,它被捡起来 没有急事。 Pi和CLI也是这样读的 所以 `setup` 打印要添加到您的行 粘贴密钥后 shell 配置文件 :

```bash
export TYPESAFE_API_KEY=...           # TypeSafe direct: console.typesafe.ai/keys
export OPENROUTER_API_KEY=sk-or-...   # OpenRouter: already set if you use it elsewhere
export AI_GATEWAY_API_KEY=vck_...     # Vercel AI Gateway
```

**2\. 检查效果:**

```bash
npx -y @french-castle/jev-code@latest doctor --live
```

**3\. 重新开始你的代理人** (或 `/reload` 请求需要分类器:

> 尝试上次 CI 运行中失败的测试 : 哪些是 flashy , 哪些是真正的 bug ?

代理装入 `jev` 技能,电话 `jev_classify` 与失败和类集 页:1 `auto` 并告诉你哪些是用手检查的.

## 打电话的样子

代理人发送原始证据及其所属类别:

```json
{
  "instructions": "Classify each test failure by its most likely root cause.",
  "items": [
    { "id": "test_login_sso", "text": "TimeoutError: SSO callback not received within 10s (attempt 3/3)" },
    { "id": "test_price_rounding", "text": "AssertionError: expected 19.99, got 19.989999999" }
  ],
  "classes": {
    "infrastructure": "Network, database, or runner problems unrelated to the code; likely passes on re-run",
    "assertion_bug": "The code produced a wrong value; deterministic and reproducible",
    "other": "Cannot tell from the excerpt"
  }
}
```

并获得一个标签, 完整的发行, 和决定 它可以分支:

```json
{
  "summary": { "items": 2, "auto": 2, "review": 0, "by_label": { "infrastructure": 1, "assertion_bug": 1 } },
  "results": [
    { "id": "test_login_sso", "label": "infrastructure", "probability": 0.93, "margin": 0.88, "confidence": 0.9, "decision": "auto", "probabilities": { "infrastructure": 0.93, "assertion_bug": 0.05, "other": 0.02 } },
    { "id": "test_price_rounding", "label": "assertion_bug", "probability": 0.97, "margin": 0.95, "confidence": 0.95, "decision": "auto", "probabilities": { "infrastructure": 0.01, "assertion_bug": 0.97, "other": 0.02 } }
  ],
  "thresholds": { "auto_accept": 0.85, "min_margin": 0.5 },
  "model": "jev-latest",
  "usage": { "input_tokens": 310, "output_tokens": 18 }
}
```

更多有效载荷 [`examples/`](https://npmcn.com/package/%40french-castle/jev-code/examples) 和全员合同 [`skills/jev/references/tools.md`](https://npmcn.com/package/%40french-castle/jev-code/skills/jev/references/tools.md)。 。 。 .

## 工具

| 工具 | 什么时候问 | 带回来 |
| --- | --- | --- |
| `jev_classify` | 许多物品,你们各一个标签 | 标签、概率、边距、, `decision: auto | review` |
| `jev_check` | 有/没有关于一件证据的问题 | 概率, `verdict: yes | no | uncertain` |
| `jev_score` | 许多项目按一个定级( 高度、 优先级) | 得分、最近的关卡、信心、决定 |
| `jev_rank` | 哪位候选人回答一个问题 | 每个候选人的关联性,分类,加 `any_relevant` |
| `jev_ask` | 其他一切:一国的混合问题类型 | 原始系统一的答案 |

每个工具在花费 a 之前先验证本地输入( 形状、 重复 ID、 请求大小) 调用,将每个项目分批为一个请求,并返回根据您可以计算的阈值计算的决定 每一次通话都取消 政策留在你手中;Jev提供概率.

## 人均健康详情

**克劳德代码**

`jev-code setup claude` 复制技能到 `~/.claude/skills/jev/` 运行 `claude mcp add --scope user jev -- npx -y @french-castle/jev-code@0.5.0 mcp`。这些工具显示为 `mcp__jev__jev_classify` 和朋友;技能是: `/jev`。 。 。 .

偏好更新自己的插件吗 ? 这个寄存器也是 Claude 代码插件市场:

```bash
claude plugin marketplace add FrancoisChastel/jev-code
claude plugin install jev-code@jev-code
```

插件将技能捆绑( E)`/jev-code:jev`)和MCP服务器. 手动配置和 项目范围注释 : [文献/档案/密码](https://npmcn.com/package/%40french-castle/jev-code/docs/harnesses/claude-code.md)。 。 。 .

**代码**

`jev-code setup codex` 复制技能到 `~/.agents/skills/jev/` (Codex的用户级技能) 目录,与 Pi 和 OpenCode 共享)并运行 `codex mcp add jev -- npx -y @french-castle/jev-code@0.5.0 mcp`。 。 。 . 没有 `codex` 二进制它附加一个 `[mcp_servers.jev]` 表格为 `~/.codex/config.toml` 换句话说 举起手来 `$jev`细节 : [文献/档案/编码](https://npmcn.com/package/%40french-castle/jev-code/docs/harnesses/codex.md)。 。 。 .

**Pi**

Pi没有MCP客户端,所以Jev-code也是一个 [pi 软件包](https://pi.dev/docs/latest/packages) 谁 扩展注册 . `jev-code setup pi` 运行 `pi install npm:@french-castle/jev-code` 复制技能到 `~/.agents/skills/jev/`运行 `/reload` 之后在PI内部。 细节 : [文件/档案/p.md](https://npmcn.com/package/%40french-castle/jev-code/docs/harnesses/pi.md)。 。 。 .

**打开代码**

`jev-code setup opencode` 将本地 MCP 条目添加到 `~/.config/opencode/opencode.json` (备份) 将技能复制到 `~/.agents/skills/jev/`,读取 OpenCode。 一个本地人 自定义工具变体生活在 [`integrations/opencode/jev.ts`](https://npmcn.com/package/%40french-castle/jev-code/integrations/opencode/jev.ts)。 。 。 . 细节 : [文件/档案/公开代码.md](https://npmcn.com/package/%40french-castle/jev-code/docs/harnesses/opencode.md)。 。 。 .

**只有技能,任何代理**

该技能是标准的代理技能目录,所以 [技术。sh](https://skills.sh/) 安装器 为它所支持的70+代理工作:

```bash
npx skills add FrancoisChastel/jev-code --skill jev
```

与 MCP 服务器对等(`npx -y @french-castle/jev-code@0.5.0 mcp`在你的经纪人的MCP配置中, 或者让特工回到CLI.

## 国 际

```bash
jev-code setup [claude|codex|pi|opencode ...] [--project] [--dry-run] [--no-env] [--no-prompt]
jev-code doctor [--live]                     # which host and key are in use, what is installed
jev-code classify --input payload.json      # same JSON as the tool
echo '{"state":"12 passed, 0 failed","checks":{"green":"Did every test pass?"}}' | jev-code check
jev-code rank --input candidates.json --pretty
jev-code mcp                                 # what the harness configs launch
jev-code skill                               # path of the bundled skill
```

输出是JSON在stdout。 退出代码2表示使用或配置问题,1表示API失败.

## 升级

调用配置 启动一个固定命令, `npx -y @french-castle/jev-code@0.5.0 mcp`,所以一个经纪人 一旦该版本被缓存,就立即启动并下线工作,在你下面没有任何变化,直到 你决定 要升级, 请再次运行设置 `@latest`:它用新接针重新登记工具, 替换旧条目(亦通过 `claude mcp` 财务报告和审定财务报表 `codex mcp`),并刷新复制的文本 技术. `doctor` 显示每个注册的被绑定版本,并说何时重新运行设置.

```bash
npx -y @french-castle/jev-code@latest setup
```

安装用0.2.1或更早发射无锚命令。 npx 保留第一个版本 缓存一个未绑定的名称, 并且从不寻找更新的名称, 因此安装时看不到更新 他们自己。 运行上面的命令一次,将它们移动到被绑定的命令.

## 配置

需要一个东道主。 下面的前三个在同一个系统一API后面服务Jev,所以 工具的操作相同,并且只有您通过修改支付的账户; 您的网关也一样 自有能说 API([下级](https://npmcn.com/package/%40french-castle/jev-code/#readme-your-own-gateway)) (中文(简体) ). 后面两个是其他模式的答案 相同的问题:OpenAI的决定 API 和Ollama的地方决定模式 不需要钥匙.

| 东道主 | 密钥变量 | 默认模式 | 拿个钥匙 |
| --- | --- | --- | --- |
| 类型安全( 直接) | `TYPESAFE_API_KEY` | `jev-latest` | [控制台.类型安全.ai/键](https://console.typesafe.ai/keys) |
| 打开路透社 | `OPENROUTER_API_KEY` | `jev-latest` | [开口/设置/钥匙](https://openrouter.ai/settings/keys) |
| Vercel AI 网关 | `AI_GATEWAY_API_KEY` | `typesafe-ai/jev` | [AI 网关 API 密钥](https://vercel.com/docs/ai-gateway/authentication-and-byok/api-keys) |
| OpenAI 决定 API( 公共β, 选入) | `OPENAI_API_KEY` + 键 `JEV_CODE_PROVIDER=openai` | `gpt-6-luna` | [平台. openai.com/api-keys (中文(简体) )](https://platform.openai.com/api-keys) |
| Ollama( 本地、 选入) | 无密钥; `JEV_CODE_PROVIDER=ollama`, (中文(简体) ), `OLLAMA_HOST` 选项 | `nimble` | [docs.ollama.com/能力/决定](https://docs.ollama.com/capabilities/decision) |

选择主机的方式 :

-   变相决定. 一个键被发送到它所坐的变量的主机,不管它看起来怎样 类似; 密钥形状改变( TypeSafe 既发又发) `ts_...` 财务报告和审定财务报表 `apikey_...` 键,所以 jev 代码永远不会 从他们猜. `doctor` 当密钥看起来属于别处时, 添加提示 .
-   `TYPESAFE_API_KEY` 是Safe SDK 读取的通用变量,所以它遵循 `TYPESAFE_BASE_URL` 财务报告和审定财务报表 `JEV_CODE_PROVIDER` sDK 的方式: 将基址指向 OpenRouter或Vercel AI Gateway发送到那里. 一个针对主机的变量从不旅行.
-   当设置了数个密钥时,表的第一行获胜. `doctor` 说在用哪个.
-   `JEV_CODE_PROVIDER=openrouter` (或 `typesafe`, (中文(简体) ), `vercel`, (中文(简体) ), `openai`, (中文(简体) ), `ollama`迫使一个宿主. OpenAI 从未从环境中接取过 `OPENAI_API_KEY`: 该变量被设置在许多外壳中 因为其他原因,所以发送代理证据 有你的决定 `JEV_CODE_PROVIDER=openai` (或粘贴 OpenAI 键,当 `setup` 询问, 哪些同时存储 . Ollama没有钥匙可以检测,所以选择的方法也一样.
-   特定主机的密钥只发送到自己的主机;拒绝异议的基址 在任何请求之前 确切的规则在 [警卫](https://npmcn.com/package/%40french-castle/jev-code/SECURITY.md)。 。 。 .

| 变量 | 默认 | 目的 |
| --- | --- | --- |
| `JEV_CODE_PROVIDER` | 自动 | 强制 `typesafe`, (中文(简体) ), `openrouter`, (中文(简体) ), `vercel`, (中文(简体) ), `openai`,或 `ollama` (后二所须. |
| `OLLAMA_HOST` | `localhost:11434` | Ollama的服务器,作为一个URL, `host:port`或裸体主机. |
| `TYPESAFE_BASE_URL` | 每个东道主 | 代理, 或您自己的系统之一网关; 客户端附件 `/v1/systemone`键,除非 `JEV_CODE_PROVIDER` 已经设定. |
| `TYPESAFE_DEFAULT_MODEL` | 每个东道主 | Pin a Jev 版本 : `jev-1.13` 安全类型或 OpenRouter; Vercel 用途 `typesafe-ai/jev`。 。 。 . |
| `JEV_CODE_TIMEOUT_MS` | `30000` | 潜入暂停. |
| `JEV_CODE_MAX_RETRIES` | `2` | 重复429,5xx,超时,以及连接出错. |

这个 `TYPESAFE_*` 名字与正式的SAFE SDK相匹配,所以一个导出服务于一切.

### OpenAI 决定 API (公有β)

OpenAI 的决定 API 回答相同的三个问题形状( 是/否, 选择一个, 得分在 由GPT-6 Luna提供服务。 它开放给每个开发商 在公开beta 2026年10月6日,预计在接下来的几周内普遍可用;参见OpenAI's [指南](https://developers.openai.com/api/docs/guides/decisions). jev 编码地图 因此,有效载荷和结果没有变化,这些差异是:

-   请求形状不同于System One。 Jev-code 翻译它,遵循 OpenAI [API 参考](https://developers.openai.com/api/reference/resources/decisions/methods/create)。 。 。 .
-   是/没有问题没有单独的标准领域,所以 `yes` 财务报告和审定财务报表 `no` 描述被折叠 输入指示。 记分传说是从你的级别重建的.
-   该模型可以在回答其他问题时拒绝一个问题. 这东西会带回来的 `status: "refused"` (单位:千美元) `review` 决定 `uncertain` 判决 `jev_check`),以及 `jev_ask` 将编号列在 `refused`。重试相同的输入不会改变它.
-   API也取出图像;工具只保留文本,就像它们在每个主机上一样.
-   定价是OpenAI的:在启动时,每百万个输入令牌有0.1美元,输出则无. 工具 产出携带 `usage`。 。 。 .

保持选择性. `OPENAI_API_KEY` 由于其他原因被设置在许多贝壳中,所以发送代理 给 OpenAI 的证据 `JEV_CODE_PROVIDER=openai` (或粘贴键当 `setup` 请问)。 A 类 `403` 来自API的简略报告 `doctor --live`。 。 。 .

### Ollama(当地)

Ollama 0.35, 以及后来在同一个系统One API背后在当地服务决定模型,所以 没有东西离开你的机器 没有钥匙 安装 Ollama, 绘制一个模型, 并选择 :

```bash
ollama pull nimble
export JEV_CODE_PROVIDER=ollama
npx -y @french-castle/jev-code@latest doctor --live
```

`nimble` 默认; `tev1`, (中文(简体) ), `clef`,以及 `clef-flash` 工作也一样`TYPESAFE_DEFAULT_MODEL` 选一. `OLLAMA_HOST` 在服务器上的点数 `localhost:11434`在奥拉玛自己的 标注. 图像输入, 哪些 `clef` 支持,不会被工具所暴露. `doctor --live` 说 当服务器被关闭或模型未被拉动时.

### 你自己的门户

任何会说 System One API 的服务器(`POST /v1/systemone`,同一请求和答复 typeSafe SDK 已经知道. 网关的钥匙进去了 `TYPESAFE_API_KEY`,SDK的通用变量及其地址在 `TYPESAFE_BASE_URL`· ; `TYPESAFE_DEFAULT_MODEL` 当网关不服务时, 命名模型 `jev-latest`数字 :

```bash
export TYPESAFE_API_KEY=...                            # the gateway's key
export TYPESAFE_BASE_URL=https://gateway.example/api  # the client appends /v1/systemone
export TYPESAFE_DEFAULT_MODEL=vendor/jev              # when the gateway's model id differs
```

`setup` 当它询问粘贴密钥是用于哪个主机时, 它会提供同样的东西: 选择“ 其他系统 ” 一个网关,给 URL 和模型, 和三个变量去键将拥有的地方 不见了。 在发送任何信息之前检查 URL: 绝对 `http(s)` 没有证书的 URL, 查询或片段,在 `/v1/systemone`特定主机的密钥( :`OPENROUTER_API_KEY` 永不顺从 `TYPESAFE_BASE_URL` 到网关,除非 `JEV_CODE_PROVIDER` 名称 东道主; `doctor` 显示请求的去向.

## 安全说明

-   只有你传递给工具的有效载荷 离开你的机器 只有宿主的钥匙 属于。 您的寄存器或会话中, 没有任何内容单独读取 .
-   密钥是从环境中读取的,只发送到发布密钥的主机,并且从未 记录. `setup` 复制正在使用的密钥到被过滤的环境 工作; `--no-env` 跳过.
-   已有配置文件在之前已备份 `setup` 修改它们.

主机,代理规则,什么 `setup` 如何报告脆弱性: [警卫](https://npmcn.com/package/%40french-castle/jev-code/SECURITY.md)。 。 。 .

## 如何运作

`src/tools/` 持有每个工具的单一定义: zod 计划、描述和 `run` 函数,用于构建一个系统一请求并绘制对决定的答案。 MCP 服务器 (单位:千美元)`src/mcp/`),Pi扩展(`integrations/pi/`),OpenCode自定义工具 (单位:千美元)`integrations/opencode/`)),以及CLI(英语:`src/cli/`)是薄适配器在地层上,即 为什么所有的有效载荷和结果都是一样的. `src/core/providers.ts` 表格为 为Jev服务的主机; 添加一个会说 System One API 的机体是那里的一行. `src/setup/` 已经知道 并且更喜欢每个带自己的CLI 编辑文件.

## 发展

```bash
git clone https://github.com/FrancoisChastel/jev-code && cd jev-code
npm install
npm run check          # lint, typecheck, skill validation, tests with coverage, build, smoke
npm test               # unit tests, no API key needed
TYPESAFE_API_KEY=... npm run test:e2e   # a few live calls; any provider key works
```

尝试你的本地建筑 相对于一个真正的拉带 不出版:

```bash
npm run build
node dist/cli.js setup claude --command "node $PWD/dist/cli.js mcp"
node dist/cli.js setup pi --pi-source "$PWD"
```

见 [捐款额](https://npmcn.com/package/%40french-castle/jev-code/CONTRIBUTING.md) 公约和释放程序.

## 相关

-   [类型安全/技能](https://github.com/typesafe-ai/skills): TypeSafe 自身的技能用于 _大楼_ jev-code上的产品是使用Jev _内部_ 编码代理;其 [带有类型安全引用](https://npmcn.com/package/%40french-castle/jev-code/skills/jev/references/building-with-typesafe.md) 为这个案例调整官方技能指导(MIT, TypeSafe AI).
-   [jkudish/jev-mcp (英语)](https://github.com/jkudish/jev-mcp) 财务报告和审定财务报表 [其最高级/ 类型安全 mcp](https://github.com/itsmostafa/typesafe-mcp):Jev的其他MCP服务器,有不同的工具集.
-   [类型安全文件](https://docs.typesafe.ai/) 编辑 [llms.txt 指数](https://docs.typesafe.ai/llms.txt)。 。 。 .
-   捷夫开机 [打开路透社](https://openrouter.ai/docs/guides/community/typesafe-sdk) 财务报告和审定财务报表 [Vercel AI 网关](https://vercel.com/docs/ai-gateway/sdks-and-apis/typesafe),主机jev码 除TypeSafe外还有支持. [大赦国际](https://developers.cloudflare.com/ai/models/typesafe/jev/) 也为Jev服务,但有一个不同的请求信封;它尚未获得支持.

## 许可证

[麻省理工学院](https://npmcn.com/package/%40french-castle/jev-code/LICENSE) 弗朗索瓦·查斯特尔. `skills/jev/references/building-with-typesafe.md` 调整 [类型安全代理技能](https://github.com/typesafe-ai/skills),"2026 TypeSafe AI,麻省理工学院. 贾夫和 TypeSafe是TypeSafe AI的商标;这个项目不属于TypeSafe.

## 常见问题

### @french-castle/jev-code 是什么？

Jev,TypeSafe's System One分类器,作为克洛德码,Codex,Pi,和OpenCode内部的一个工具:打入分类,检查,分数,分级,并询问,外加一指令设置\.

### 如何安装 @french-castle/jev-code？

在项目目录运行 npm install @french-castle/jev-code，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 jev-code，可以用 npx jev-code 直接运行。

### @french-castle/jev-code 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @french-castle/jev-code 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @french-castle/jev-code 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=20。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @french-castle/jev-code 可以商用吗？

@french-castle/jev-code 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @french-castle/jev-code 的下载量有多少？

根据 npm 官方下载统计，@french-castle/jev-code 在 2026/10/16 – 2026/11/14 这 30 天内被下载 3,279 次，日均约 109 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @french-castle/jev-code 还在维护吗？

最新版本 0\.5\.0 发布于 2026/10/08（1 个月前）；至今共发布 4 个版本，其中过去 12 个月发布了 4 个；首次发布于 2026/09/28。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

