nb is a command line and local web
note‑taking, bookmarking, archiving,
and knowledge base application
with:
and more, in a single portable script.
nb creates notes in text-based formats like
Markdown,
Org,
LaTeX,
and AsciiDoc,
can work with files in any format,
can import and export notes to many document formats,
and can create private, password-protected encrypted notes and bookmarks.
With nb, you can write notes using
Vim,
Emacs,
VS Code,
Sublime Text,
and any other text editor you like,
as well as terminal and GUI web browsers.
nb works in any standard Linux / Unix environment,
including macOS and Windows via WSL, MSYS, and Cygwin.
Optional dependencies can be installed to enhance functionality,
but nb works great without them.
nb is also a powerful bookmarking system featuring:
nb features.Page information is downloaded, cleaned up, structured, and saved into normal Markdown documents made for humans, so bookmarks are easy to view and edit just like any other note.
<div align="center"> <img src="https://xwmx.github.io/misc/nb/images/gui-terminal-browse.png" alt="nb browse" width="500"> </div>nb uses Git in the background to
automatically record changes and sync notebooks with remote repositories.
nb can also be configured to
sync notebooks using a general purpose syncing utility like Dropbox
so notes can be edited in other apps on any device.
nb is designed to be portable, future-focused, and vendor independent,
providing a full-featured and intuitive experience within
a highly composable multimodal user-centric text interface.
The entire program is contained within
a single well-tested shell script
that can be
installed, copied, or curled almost anywhere and just work,
using a strategy inspired by
progressive enhancement
for various experience improvements in more capable environments.
nb works great whether you have one notebook with just a few notes
or dozens of notebooks containing thousands of notes, bookmarks, and other items.
nb makes it easy to incorporate other tools, writing apps, and workflows.
nb can be used a little, a lot, once in a while, or for just a subset of features.
nb is flexible.
nb works perfectly with Zsh, fish, and any other shell
set as your primary login shell,
the system just needs to have Bash available on it.nb leverages standard command line tools
and works in standard Linux / Unix environments.
nb also checks the environment for some additional optional tools and
uses them to enhance the experience whenever they are available.
Recommended:
Also supported for various enhancements:
Ack,
afplay,
asciidoctor,
The Silver Searcher (ag),
catimg,
Chafa,
Chromium / Chrome,
eza,
ffplay,
ImageMagick,
glow,
GnuPG,
highlight,
imgcat,
joshuto,
kitty's icat kitten,
lsd,
Links,
Lynx,
mdcat,
mdless,
mdv,
Midnight Commander (mc),
mpg123,
MPlayer,
ncat,
netcat,
note-link-janitor
(via plugin),
pdftotext,
Pygments,
Ranger,
readability-cli,
rga / ripgrep-all,
sc-im,
socat,
termvisage,
termpdf.py,
Tidy-Viewer (tv),
timg,
vifm,
viu,
VisiData
brew install xwmx/taps/nb
Installing nb with Homebrew also installs
the recommended dependencies above
and completion scripts for Bash, Zsh, and Fish.
Install the latest development version from the repository with:
brew install xwmx/taps/nb --head
nb is also available in
homebrew-core.
Installing it together with the bash formula is recommended:
brew install nb bash
npm install -g nb.sh
After npm installation completes, run
sudo "$(which nb)" completions install
to install Bash and Zsh completion scripts (recommended).
On Ubuntu and WSL, you can
run sudo "$(which nb)" env install
to install the optional dependencies.
When nb is installed on Windows,
socat (MSYS,
Cygwin) is recommended.
nb is also available under its original package name,
notes.sh,
which comes with an extra notes executable wrapping nb.
To install as an administrator, copy and paste one of the following multi-line commands:
# install using wget sudo wget https://raw.github.com/xwmx/nb/master/nb -O /usr/local/bin/nb && sudo chmod +x /usr/local/bin/nb && sudo nb completions install # install using curl sudo curl -L https://raw.github.com/xwmx/nb/master/nb -o /usr/local/bin/nb && sudo chmod +x /usr/local/bin/nb && sudo nb completions install
On Ubuntu and WSL, you can
run sudo nb env install to install the optional dependencies.
To install with just user permissions, simply
add the nb script to your $PATH.
If you already have a ~/bin directory, for example, you can
use one of the following commands:
# download with wget wget https://raw.github.com/xwmx/nb/master/nb -O ~/bin/nb && chmod +x ~/bin/nb # download with curl curl -L https://raw.github.com/xwmx/nb/master/nb -o ~/bin/nb && chmod +x ~/bin/nb
Installing with just user permissions doesn't include
the optional dependencies or completions,
but nb core functionality works without them.
If you have sudo access and want
to install the completion scripts and dependencies, run the following command:
sudo nb env install
To install with Make, clone this repository, navigate to the clone's root directory, and run:
sudo make install
This will also install the completion scripts on all systems and the recommended dependencies on Ubuntu and WSL.
To install with bpkg:
bpkg install xwmx/nb
To install with basher:
basher install xwmx/nb
Bash, Fish, and Zsh tab completion should be enabled
when nb is installed using the methods above,
assuming you have the appropriate system permissions or installed with sudo.
If completion isn't working after installing nb, see the
completion installation instructions.
When nb is installed using a package manager like npm or Homebrew,
use the package manager's upgrade functionality to update nb to
the latest version.
When installed via other methods,
nb can be updated to the latest version using
the nb update subcommand.


全球首个AI音乐社区
音述AI是全球首个AI音乐社区,致力让每个人都能用音乐表达自我。音述AI提供零门槛AI创作工具,独创GETI法则帮助用户精准定义音乐风格,AI润色功能支持自动优化作品质感。音述AI支持交流讨论、二次创作与价值变现。针对中文用户的语言习惯与文化背景进行专门优化,支持国风融合、C-pop等本土音乐标签,让技术更好地承载人文表达。


阿里Qoder团队推出的桌面端AI智能体
QoderWork 是阿里推出的本地优先桌面 AI 智能体,适配 macOS14+/Windows10+,以自然语言交互实现文件管理、数据分析、AI 视觉生成、浏览器自动化等办公任务,自主拆解执行复杂工作流,数据本地运行零上传,技能市场可无限扩展,是高效的 Agentic 生产力办公助手。


一站式搞定所有学习需求
不再被海量信息淹没,开始真正理解知识。Lynote 可摘要 YouTube 视频、PDF、文章等内容。即时创建笔记,检测 AI 内容并下载资料,将您的学习效率提升 10 倍。


为AI短剧协作而生