README
🚀 Livebook工具
Livebook工具是一款命令行工具,它能赋予您处理.livemd文件的强大能力。其主要功能有:
- BYOE(自带编辑器):将
.livemd文件同步到运行中的Livebook会话,方便您在如Cursor这类AI增强代码编辑器中进行编辑。 - MCP服务器:一个简易的模型上下文协议服务器,用于连接AI编码代理和Livebook会话,更多详情见下文。
- 从CLI运行Livebooks:把
.livemd文件转换为Elixir脚本并按顺序运行,就像运行.exs脚本一样。若想将Livebook变成cron作业,此功能十分实用。
🚀 快速开始
Livebook工具是一款强大的命令行工具,能让您在处理.livemd文件时如虎添翼。它具备多种实用功能,能满足不同场景下的需求。接下来,将为您详细介绍其安装、运行及相关配置方法。
✨ 主要特性
- BYOE(自带编辑器) - 将您的
.livemd文件同步到正在运行的Livebook会话中,以便您可以在像Cursor这样的AI增强代码编辑器中进行编辑。 - MCP服务器 - 一个简单的模型上下文协议服务器,用于将AI编码代理连接到您的Livebook会话。
- 从CLI运行Livebooks - 将您的
.livemd文件转换为Elixir脚本,并按顺序运行它们,就像运行一个.exs脚本一样。
📦 安装指南
Livebook工具是一个Elixir escript。要安装它,您可以使用mix escript.install命令。
mix escript.install github thmsmlr/livebook_tools
安装完成后,请确保escript目录在您的PATH中。
# 对于普通elixir用户
export PATH="$HOME/.mix/escripts:$PATH"
# 对于asdfelixir用户
for escripts_dir in $(find "${ASDF_DATA_DIR:-$HOME/.asdf}/installs/elixir" -type d -name "escripts" 2>/dev/null); do
export PATH="$escripts_dir:$PATH"
done
💻 使用示例
运行Livebook
为了让Livebook工具正常工作,它需要能够连接到正在运行的Livebook服务器,使用分布式Elixir。要实现这一点,具体操作取决于您如何运行Livebook。最简单的方法是将两个环境变量添加到您的~/.bashrc或~/.zshrc文件中。
export LIVEBOOK_NODE="livebook@127.0.0.1"
export LIVEBOOK_COOKIE="secret"
然后,当您运行Livebook工具或Livebook时,两个程序都会读取这些值并确保它们能够互相连接。如果您使用的是Livebook桌面版,则可能需要将这些值添加到~/.livebookdesktop.sh文件中。有关更多Livebook桌面版的信息,请参阅Livebook HexDocs。
设置MCP服务器
MCP服务器是一个简单的模型上下文协议服务器,允许您将AI编码代理连接到您的Livebook会话。我亲自测试过与Cursor的实现,尽管它应该适用于任何支持MCP协议的AI编辑器。以下是配置步骤:
- 安装依赖项:确保您已安装必要的包,例如
elixir和erlang。 - 启动Livebook服务器:运行
livebook start。 - 设置环境变量:
export LIVEBOOK_SERVER_URL="http://localhost:4000"
- 启动MCP服务器:
# 在elixir REPL中或在新的文件中
alias Livebook.Application, as: LBApp
config = %{
server_url: System.get_env("LIVEBOOK_SERVER_URL") || "http://localhost:4000",
cookie: System.get_env("LIVEBOOK_COOKIE") || "_livebook_session"
}
{:ok, _pid} = LBApp.start_mcp_server(config)
📚 详细文档
实用技巧
以下是使用Livebook工具时的一些有用提示:
- 配置编辑器:在您的IDE中启用对
.livemd文件的支持,以便获得最佳的编码体验。 - 调试:如果遇到问题,请检查服务器日志或使用
iex -S mix进入交互式外壳进行调试。 - 扩展功能:通过创建自定义插件或脚本来扩展Livebook的功能。
希望这些信息对您有所帮助! 如果有任何问题,请随时查阅文档或与社区联系。
微信扫一扫