# @draht/tools 中文文档

规范地址：https://npmcn.com/package/%40draht/tools/

版本：2026\.11\.5
npm 元数据更新时间：2026-11-06T09:11:09.184Z
中文译文更新时间：2026-11-13T01:45:29.708Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40draht/tools
原文对照：https://npmcn.com/package/%40draht/tools/?lang=original
源码仓库：https://github.com/draht-dev/draht

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

- 包体积（解压后）：287 kB，3 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- Node.js 要求：^22\.23\.4 \|\| ^24\.22\.1 \|\| ^26\.12\.1
- 运行依赖：0 个
- 首次发布：2026-06-11T15:50:48.790Z
- 最新版本发布：2026-11-06T09:11:08.973Z
- 近 30 天下载量：2607（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：29（近 12 个月 29 个）

## 中文简介

Draht Tools — Get Shit Done CLI(由draht-Claude和@draht/coding-agent共享的目录源).

## 安装

```sh
npm install @draht/tools
```

也可以使用：`pnpm add @draht/tools`、`yarn add @draht/tools`、`bun add @draht/tools`

## README

# @ draht/ 工具

教会的CLI **完成任务** 方法.

这个包是真实的单一来源 `draht-tools` 二进制用于:

-   [`draht-claude`](https://npmcn.com/package/%40draht/draht-claude) — Claude 代码插件
-   [`@draht/coding-agent`](https://npmcn.com/package/%40draht/coding-agent) - 编码代理CLI

两份消费品副本 `bin/draht-tools.cjs` 进入他们自己的 `bin/` 在构建/ 发布时, 产生的 npm 沥青球保持自成一体 .

## 图标

运行 `draht-tools help` 完整名单。 要点 :

| 命令 | 它会做什么 |
| --- | --- |
| `map-codebase [dir]` | 生成 `.planning/codebase/*.md` 从当前重播 |
| `map-graph [dir] [--quiet]` | 生成 `.planning/codebase/MAP.json` + 键 `MAP.html` + 键 `GRAPH_REPORT.md` - 那个 **活地图** (单位:千美元)`--quiet` = JSON + 仅报告,为钩子) |
| `map-serve [port]` | HTTP 服务器带有活重装——在浏览器中打开地图并在您代码时观看更新 |
| `graph-context <file…>` | 文件的位置:包、层、组、进出口、汇、理由 |
| `graph-impact <file…>` | 爆炸半径:逆向依赖、到达的入口、下游汇、边界警告 |
| `graph-query <term…>` | 排名符号 + doc 搜索 - 替换 `grep` 为"找到X" |
| `graph-callers` 编号 : `graph-callees <file>` | 谁叫/什么叫(N跳过) `--depth`(中文(简体) ) |
| `graph-path <from> <to>` | 两个文件之间最短的导入路径 |
| `graph-hotspots` 编号 : `graph-clusters [--surprising]` | 神-节点/结构邻接+出人意料的联系 |
| `graph-hook install|uninstall|status` | 更新地图的 Git 后承诺钩 |
| `init` 编号 : `create-project` 编号 : `create-roadmap` /... (中文(简体) ) | 规划脚手架(见 `help`(中文(简体) ) |

全体 `graph-*` 命令为 **只读** (从未变异) `MAP.json`),默认打印简洁文本(`--json` 在没有地图的情况下,优雅地降低(`run map-graph first`) (中文(简体) ).

## 生活建筑图

`map-graph` 构建一个交互式、 有图形化风格 **知识图** 您的代码库—— 不仅仅是数据 :

-   **MAP.json (英语)** (schemaVersion 5)——入站口(CLI bins, HTTP 路由, 库主出口),汇(FS / net / DB / stdout / exec calls),受限上下文(packages),跨包装数据流边缘,符号解调边,流量,每个模块建筑层(介绍/应用程序/域/基础设施/支持),每个文件的出入口 **加号**数字 : `symbols` (同位素水平节点与行号), `clusters` + 每个模块 `cluster`, (中文(简体) ), `hotspots` (神-节点 / 最有潜质的 / 管弦乐手 / 最大), `surprisingConnections` (桥/跨组/层-活化边缘), `rationaleIndex` (内在 `NOTE`编号 :`WHY`编号 :`HACK`编号 :`TODO`编号 :`FIXME`编号 :`SECURITY` 说明)和 `EXTRACTED` 编号 : `INFERRED` 编号 : `AMBIGUOUS` 每个边上都有自信 只有代码文件成为 `modules` —— docs/config/lockfiles/images等不包含在模块图中(使导入/集群/热点没有非代码噪声),但仍显示在 `stats.languages` 并仍在扫描 `rationaleIndex` 注释。 阅读一次,你知道软件如何实际运作,或用 `graph-*` 命令,而不是复制.
    
-   **(简体中文)** ——一种决定性的,可轻描淡写地叙事:概述,关键概念(顶级集群),神节点,出人意料的联系,原理要领,以及模板化的建议问题. 先读一页.
    
-   **MAP.html (英语)** ——一个具有三个分页的交互式查看器:
    
    -   **图** – 交互式由力量引导的画布图:以集群为颜色并按地平分大小的节点,默认每组倒塌为1个超级节点;搜索,层/集群/对接自信过滤器,一个检查器(文件,符号,进口商,呼叫者)和PNG/SVG导出.
    -   **建筑** ——分层带装有跨包数据流箭头(厚度=导入计数)的包容器;单击包以求细节,双击组头以聚焦.
    -   **流量** ——上起入分,下起入分,中间模块按深度排名. 选择一个条目 —— 追踪它到达的汇和通过哪个模块.
    
    `MAP.html` 将地图数据嵌入其中,因此它通过 `file://` - 不需要服务器 运行 `draht-tools map-serve` 而不是一个在编辑时将更新推过 SSE 的活版重载 Dev 视图 .
    

`map-graph` 财务报告和审定财务报表 `map-codebase` 总是映射 **整个仓库** 从 gi根起,不论任何 `[dir]` 参数——目录参数只涵盖叙述性分析(`map-codebase`校对:Soup 每个代码文件保存上的地图重生( 文件/ 资产保存被设计忽略) `map-serve` 模式 (`fs.watch` + 服务器- 恒星事件),以及每一次承诺,如果您 `graph-hook install`。该建筑是 **决定性** (git-presmitable)和写作是一能的——不进行重建产生0 diff. 无需手写架构文件——地图总是流传.

## 查询图表( 而非刻录)

这个 `graph-*` 命令让代理(和您)在不走行走树的情况下定向:

```sh
draht-tools graph-context src/auth/session.ts   # package · layer · cluster · callers · sinks
draht-tools graph-impact  src/auth/session.ts   # what breaks if I change this
draht-tools graph-query   auth storage          # find the symbol/concept (ranked, no grep)
draht-tools graph-path    a.ts b.ts             # how does A reach B
draht-tools graph-clusters --surprising         # neighborhoods + anomalous edges
```

## 建筑

自成一体的共同JS,零运行时间依赖关系,节点为 ≥20. 只装入 `node:fs`, (中文(简体) ), `node:path`, (中文(简体) ), `node:child_process`, (中文(简体) ), `node:http`。 。 。 .

## 常见问题

### @draht/tools 是什么？

Draht Tools — Get Shit Done CLI\(由draht-Claude和@draht/coding-agent共享的目录源\)\.

### 如何安装 @draht/tools？

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

### @draht/tools 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/draht\_\_tools 是否存在。

### @draht/tools 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @draht/tools 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js ^22\.23\.4 \|\| ^24\.22\.1 \|\| ^26\.12\.1。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @draht/tools 可以商用吗？

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

### @draht/tools 的下载量有多少？

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

### @draht/tools 还在维护吗？

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

