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

biji-cli

v1.2.5

Published

得到大脑 CLI 工具和 MCP 服务器 - 帮助用户获取和管理 得到大脑 内容

Readme

biji-cli

得到大脑 CLI 工具 - 一键获取笔记内容并保存到obsidian

💖 赞助

如果这个项目对你有帮助,欢迎通过 ghh-l-djl.github.io 赞助支持开发~

🌟 功能特点

  • 📥 一键获取 得到大脑内容并保存到obsidian
  • 🖼️ 自动下载图片到本地
  • 📝 支持普通笔记和原文笔记两种格式
  • 🔄 支持获取最新一篇笔记
  • 🔗 支持 URL 和笔记 ID 两种输入方式
  • 💾 支持 Obsidian 格式 (![[]]) 和标准格式 (![]())
  • 🤖 提供 Claude Code Skill,支持自然语言调用(推荐)
  • ⚙️ 灵活的配置系统,支持命令行、配置文件、环境变量

📦 安装

NPM 全局安装(推荐)

npm install -g biji-cli

从源代码安装

cd /path/to/get-info-from-biji
npm install
npm run build

使用方式:

  • 推荐:使用 npm run biji -- <命令>(注意 -- 分隔符)
  • 或者:node dist/cli.js <命令>

示例:

# 注意:使用 -- 分隔符,否则带 -- 的参数会被 npm 吃掉
npm run biji -- config set --output-dir ~/Documents/MyNotes
npm run biji -- get-latest

# 或者使用 node 直接运行
node dist/cli.js config set --output-dir ~/Documents/MyNotes

🚀 快速开始

方式 1: 使用 Claude Code Skill(最推荐)⭐

一键安装,使用自然语言获取笔记!

# 1. 安装 biji-cli
npm install -g biji-cli

# 2. 登录 biji.com
biji login

# 3. 安装 Claude Code Skill
biji install-skill

安装后,您可以直接在 Claude Code 中使用自然语言:

  • "保存最新的 biji 笔记"
  • "获取笔记 1900215167371849544"
  • "从 biji 获取这个笔记 https://www.biji.com/note/xxx"
  • "获取最新的原文笔记"

Skill 会自动调用 biji-cli 命令,无需记忆复杂的命令行参数!


方式 2: 使用 CLI 命令

登录

biji login

获取笔记

# 使用笔记 ID
biji get-note 1900215167371849544

# 使用完整 URL
biji get-note https://www.biji.com/note/1900215167371849544

# 获取原文笔记(带 /web 后缀)
biji get-note https://www.biji.com/note/1900215167371849544/web

# 获取最新笔记
biji get-latest

# 获取最新原文笔记
biji get-latest-original

⚙️ 配置输出目录

biji-cli 支持三种配置方式,优先级从高到低:

方式 1: 配置命令(推荐)

# 查看当前配置
biji config show

# 使用配置向导(最简单)
biji config wizard

# 直接设置输出目录
biji config set --output-dir ~/Documents/MyNotes

# 设置 Assets 目录
biji config set --assets-dir ~/Documents/MyNotes/Assets

配置文件保存在 ~/.bijirc.json,修改后立即生效。

方式 2: 命令行参数(一次性)

biji get-note <ID> ~/custom/path

方式 3: 环境变量

export BIJI_OUTPUT_DIR="~/Documents/MyNotes"
export BIJI_ASSETS_DIR="~/Documents/MyNotes/Assets"

默认配置

如果未配置,使用以下默认值:

| 配置项 | 默认值 | |--------|--------| | 输出目录 | ~/Documents/A第二大脑 | | Assets 目录 | {输出目录}/Assets | | 图片格式 | Obsidian (![[]]) |


📋 命令速查

| 命令 | 说明 | |------|------| | biji login | 登录 biji.com 账号 | | biji check-login | 检查登录状态 | | biji install-skill [--force] | 安装 Claude Code Skill(推荐) | | biji config show | 查看当前配置 | | biji config wizard | 交互式配置向导 | | biji config set --output-dir <path> | 设置输出目录 | | biji get-note <URL\|ID> | 获取指定笔记(支持完整 URL 或 ID) | | biji get-latest | 获取最新一篇笔记 | | biji get-latest-original | 获取最新一篇原文笔记 | | biji sync | 同步新笔记到 Obsidian vault 仓库(见下方「同步到 Obsidian vault」) |


📖 Claude Code Skill 使用指南

安装 Skill

biji install-skill

使用示例

安装后,在 Claude Code 中直接使用自然语言:

✓ "保存最新的 biji 笔记"
✓ "获取笔记 1900215167371849544"
✓ "从 biji 获取笔记 https://www.biji.com/note/xxx"
✓ "获取最新的原文笔记"
✓ "保存这个 biji 笔记到 ~/Documents/MyNotes"

Skill 工作原理

  • Skill 监听关键词:保存笔记、获取 biji、biji 笔记、get-note
  • 自动调用 biji-cli 命令
  • 零 token 开销(相比 MCP 服务器)
  • 支持所有 CLI 功能

更新 Skill

如果更新了 biji-cli,重新安装 Skill:

biji install-skill --force

🔧 高级用法:MCP 服务器(可选)

如果您需要更精细的控制或要在其他应用中使用,可以启用 MCP 服务器。

在 Claude Desktop 中配置

在 ~/Library/Application Support/Claude/claude_desktop_config.json 中添加:

{
  "mcpServers": {
    "biji": {
      "command": "node",
      "args": ["/path/to/get-info-from-biji/dist/mcp/index.js"]
    }
  }
}

注意:将 /path/to/get-info-from-biji 替换为实际的项目路径。

MCP 可用工具

| 工具 | 描述 | 参数 | |------|------|------| | biji_login | 登录 biji.com 账号 | 无 | | biji_check_login | 检查登录状态 | 无 | | biji_get_note_detail | 获取笔记详情 | urlOrId(URL 或笔记 ID) | | biji_save_note_as_markdown | 获取笔记并保存为 Markdown | urlOrId, outputDir(可选), imageFormat(可选) | | biji_get_latest_note | 获取最新笔记并保存为 Markdown | outputDir(可选), imageFormat(可选) | | biji_get_latest_original_note | 获取最新原文笔记并保存为 Markdown | outputDir(可选), imageFormat(可选) |

注意:使用 MCP 服务器会消耗约 350 tokens(工具描述开销)。推荐使用 Skill 方式,零 token 开销。


📂 输出格式

文件结构

~/Documents/A第二大脑/
├── 笔记标题.md
└── Assets/
    ├── xxx.jpg
    └── yyy.jpg

Markdown 格式

# 笔记标题

笔记内容...

![[图片1.jpg]]
![[图片2.jpg]]
  • 图片使用 Obsidian 格式 ![[filename]]
  • 图片保存在 Assets/ 子目录中

📝 笔记类型说明

普通笔记

  • URL: https://www.biji.com/note/{noteId}
  • AI 生成的摘要笔记

原文笔记

  • URL: https://www.biji.com/note/{noteId}/web
  • 用户保存的原文内容

🔍 工作原理

  1. 使用 Puppeteer 拦截 biji.com 的 API 请求
  2. 获取笔记的完整 JSON 数据
  3. 提取内容和图片链接
  4. 下载图片到本地 Assets/ 目录
  5. 替换图片链接为 Obsidian 格式
  6. 生成 Markdown 文件

📁 项目结构

.
├── src/
│   ├── core/
│   │   ├── login.ts              # 登录功能
│   │   ├── check_login.ts        # 检查登录状态
│   │   ├── config.ts             # 配置管理
│   │   ├── install_skill.ts      # Skill 安装
│   │   ├── get_note_detail.ts   # 获取笔记详情(支持普通/原文)
│   │   ├── get_latest_note.ts    # 获取最新笔记
│   │   └── convert_to_md.ts     # 转换为 Markdown
│   ├── mcp/
│   │   ├── index.ts              # MCP 服务器
│   │   ├── tools.ts              # 工具定义
│   │   └── handlers.ts           # 工具处理器
│   ├── utils/
│   │   └── url.ts               # URL 解析工具
│   └── types/note.ts            # 类型定义
├── skills/
│   └── biji-cli/
│       └── SKILL.md             # Claude Code Skill 文件

📦 依赖说明

本项目使用以下 npm 包:

  • @asd345gh/mcpkit - MCP 工具包
    • @asd345gh/mcpkit/browser - Puppeteer 浏览器工具
    • @asd345gh/mcpkit/mcp - MCP 服务器创建工具
    • @asd345gh/mcpkit/utils - 缓存等实用工具
  • @modelcontextprotocol/sdk - MCP SDK
  • puppeteer-core - 浏览器自动化

⚙️ 配置文件详解

配置优先级

从高到低:

  1. 命令行参数(一次性)
  2. 环境变量
  3. 配置文件(~/.bijirc.json)
  4. 默认值

配置文件格式

在用户主目录创建 ~/.bijirc.json:

{
  "outputDir": "~/Documents/MyNotes",
  "assetsDir": "~/Documents/MyNotes/Assets",
  "syncRepoPath": "~/.biji-cli/vault-sync",
  "notifyEmail": "[email protected]",
  "smtp": {
    "host": "smtp.example.com",
    "port": 465,
    "secure": true,
    "user": "[email protected]",
    "pass": "app-password",
    "from": "[email protected]"
  }
}

注意:syncRepoPath/notifyEmail 可通过 biji config set 设置;smtp 字段较复杂(嵌套对象),需要直接编辑 ~/.bijirc.json。smtp 仅用于 biji sync 的失败/恢复通知邮件,建议使用专用的低权限凭据(例如单独 Gmail 账号的「应用专用密码」),不要使用主账号密码。

注意:

  • 配置文件修改后立即生效,无需重启
  • 使用 biji config wizard 可自动生成配置文件
  • 路径支持 ~ 符号表示用户主目录

🔁 同步到 Obsidian vault(biji sync)

biji sync 在一台常驻、闲置的 Mac 上运行,定期把新的 biji 笔记同步到一个 独立的 Obsidian vault git 仓库(通过 GitHub 中转,主 Mac 上的 Obsidian Git 插件再自动拉取)。完整的运行流程、配置项、状态文件格式和已知限制详见: docs/biji-sync.md。

运行结果

运行过程1 运行过程2

单篇文章导入

运行过程3 运行结果

多篇文章一次性导入

配置

biji login
# 可选,配置失败/恢复通知邮箱
biji config set --notify-email [email protected]

syncRepoPath 默认是 ~/.biji-cli/vault-sync,即 biji sync 读写的本地仓库路径。 如果你打算把同步仓库 clone 到别的位置(见下方「首次运行」),需要用绝对路径告诉 biji sync 实际的 clone 目录:

biji config set --sync-repo-path /绝对/路径/到/你的vault

如需邮件通知,编辑 ~/.bijirc.json,添加 smtp 字段(见上方配置文件格式)。

首次运行

# 1. 手动 clone 同步仓库到 syncRepoPath(默认 ~/.biji-cli/vault-sync,或上面
#    配置的绝对路径)。不受 biji sync 的 git 超时限制,大型 vault 可能需要较长
#    时间,如遇连接超时见 docs/biji-sync.md 第 8 节的 SSH 443 端口配置
git clone <你的 Obsidian vault 仓库地址> ~/.biji-cli/vault-sync

# 2. 运行 biji sync 完成初始化
biji sync

若 syncRepoPath 还不是 git 仓库,biji sync 不会自动 clone,只会提示上面的命令并以 exitCode=1 退出。clone 完成后再运行 biji sync,会初始化 .biji-sync-state.json / _biji-sync-status.md 并提交推送,但不会拉取 任何得到大脑的历史笔记 —— 只有此后新建的笔记才会被同步。

同步内容

  • 笔记 Markdown 文件 → <syncRepoPath>/inbox/(待整理区)
  • 图片 → <syncRepoPath>/Assets/(与 vault 其余部分共用)
  • 状态文件 .biji-sync-state.json 和状态说明 _biji-sync-status.md

定时运行(launchd)

在闲置 Mac 上:

mkdir -p ~/.biji-cli
cp scripts/launchd/run-sync.sh ~/.biji-cli/run-sync.sh
chmod +x ~/.biji-cli/run-sync.sh

# 将模板中的 <USERNAME> 替换为 `whoami` 的输出
sed "s/<USERNAME>/$(whoami)/g" scripts/launchd/com.bijicli.sync.plist > ~/Library/LaunchAgents/com.bijicli.sync.plist

launchctl load ~/Library/LaunchAgents/com.bijicli.sync.plist

每小时整点运行一次。日志和邮件通知规则详见 docs/biji-sync.md 第 6 节;如果这台机器访问 GitHub 存在网络连通性问题,参见该文档第 8 节的 SSH 配置说明。


❓ 常见问题

Q: Skill 和 MCP 有什么区别?

A:

  • Skill(推荐):零 token 开销,使用自然语言,更简单
  • MCP:更精细的控制,但消耗约 350 tokens

Q: 修改配置后需要重启吗?

A: 不需要。配置文件修改后立即生效。

Q: 可以同时使用 Skill 和 CLI 命令吗?

A: 可以。Skill 内部就是调用 CLI 命令,两者完全兼容。

Q: 如何更新 Skill?

A: 运行 biji install-skill --force 强制重新安装。


📄 License

MIT