张路.

NPM PACKAGE

用一行 npx zhanglu-net 读本站。

zhanglu-net 是本站的官方 npm CLI。它不是另一套数据源,而是 /api/*.json 的薄包装:默认给人看,加 --json 就给 agent 和脚本用。

package: zhanglu-net version: 0.2.0 Node >= 18 0 dependencies MIT 542 lines

先说清楚:npm 和 npx 分别是什么

npm 包

npm 是 JavaScript 包注册表。本站发布的包名是 zhanglu-net, 包里只有 CLI 源码、README 和 package.json。安装后得到一个同名命令 zhanglu-net

npx 命令

npx 是“临时运行 npm 包”的方式。你不用先安装,直接 npx zhanglu-net list projects, 它会下载并执行最新版。偶尔用,npx 最省心。

注意:npm 上 zhanglu 是别人 2021 年发的空包,和本站无关。请安装 zhanglu-net

三种运行方式

1. 不安装,直接 npx

npx zhanglu-net --help
npx zhanglu-net endpoints
npx zhanglu-net list skills --featured

推荐方式。适合偶尔查一次、给 agent 临时调用、或者不想污染全局环境。

2. 全局安装

npm i -g zhanglu-net
zhanglu-net list projects
zhanglu-net search "周报"

适合经常用。启动更快,但升级要自己跑 npm up -g zhanglu-net

3. 从源码运行

git clone https://github.com/zhanglunet/zhanglu.net
node zhanglu.net/cli/bin/zhanglu-net.mjs list skills

适合 npm 访问受限、想审源码、或准备改 CLI。它零依赖,不需要先 install。

常用配方

先看这个站有什么

npx zhanglu-net endpoints

列出 live 项目,给程序继续处理

npx zhanglu-net list projects --status live --json

拿一个 skill 的完整正文

npx zhanglu-net get skill boss --md

搜索品牌判断相关内容

npx zhanglu-net search "品牌判断" --type skill

读取最近周报列表

npx zhanglu-net list weekly

切到英文语料

npx zhanglu-net --lang en search "brand judgment"

本地开发时连本机 dev server

ZHANGLU_BASE_URL=http://localhost:4321 npx zhanglu-net endpoints

命令

支持的内容类型叫 kind。复数用于 listskillsprojectsarticlespresentationsweekly。 单数用于 get

endpoints 查看 manifest:内容计数、全部 API URL、双语入口。 list <kind> 列出 skills / projects / articles / presentations / weekly。 get <kind> <slug> 读取单条 skill / project / weekly;article / presentation 从列表里取。 search <keyword> 在全语料里做关键词搜索,可用 --type 限定类型。 about 读取作者简介、tagline、bio 和 tags。 social 读取公开社交链接,邮箱已脱敏。 help <command> 查看某个命令的详细帮助。 version 打印 CLI 版本。

Flags

--lang <zh|en> 选择中文或英文数据;默认 zh。 --json 输出原始 JSON,适合 agent、脚本和 jq 管道。 --md get 时只输出 body_md;最适合直接喂给模型。 --featured 只看 featured 内容。 --source <s> 按 source 过滤 skills / articles。 --status <s> 按 status 过滤 projects。 --type <t> search 时限定 skill / project / article / presentation / weekly / about。 --since <YYYY-MM-DD> list articles 时按日期过滤。 --limit <N> 最多返回 N 项。 --base <url> 覆盖站点根地址,本地开发用 http://localhost:4321。

它到底读哪里

CLI 不保存数据,也不连数据库。每个命令都是一次或几次 HTTP GET: 中文读 https://zhanglu.net/api/*.json, 英文读 https://zhanglu.net/en/api/*.json。 所以 curl、浏览器 fetch、CLI 拿到的是同一份构建产物。

# 这两条读的是同一个列表
curl -s https://zhanglu.net/api/projects.json | jq '.items[].slug'
npx zhanglu-net list projects --json | jq '.items[].slug'

# 英文版只是路径多了 /en,CLI 用 --lang en 帮你切
curl -s https://zhanglu.net/en/api/projects.json | jq '.lang'
npx zhanglu-net --lang en list projects --json | jq '.lang'

给 agent 用时怎么写

要结构化数据

npx zhanglu-net list projects --json

--json,输出可直接 pipe 给 jq、脚本或模型。

要正文给模型读

npx zhanglu-net get project boss --md

--md,只输出正文 markdown,少一点包装噪声。

环境变量

ZHANGLU_BASE_URL 默认 https://zhanglu.net;本地开发改成 http://localhost:4321。 ZHANGLU_LANG 默认语言,等价于每次加 --lang。 NO_COLOR=1 关闭 ANSI 颜色;非 TTY 管道里也会自动少用颜色。

常见问题

需要 API key 吗?

不需要。本站内容公开,端点 CORS 全开,无 token。

npx 每次都会联网吗?

通常会检查 / 使用缓存。想减少下载延迟,就全局安装。

为什么搜英文搜不到中文内容?

语料按语言分开。中文默认,英文加 --lang en

什么时候不用 CLI?

如果你的 agent 已经能发 HTTP,直接读 /api/index.json 更直接。CLI 是给终端和没有 HTTP tool 的场景准备的。

继续看