虚拟 Shell (lx sh)

April 21, 2026 · View on GitHub

lx sh 提供一个面向知识库的虚拟 Shell。用熟悉的 Bash 风格命令浏览和搜索知识库,无需记 API 参数。

运行模式

模式说明启动方式
Worktree本地 worktree 目录映射cd my-kb && lx sh
MCP 远程直接连远端知识库lx sh --space <SPACE_ID>
单次执行执行一条命令即退出lx sh -e "ls /kb"

文件系统布局

/
├── kb/     # 知识库挂载点(只读)
└── tmp/    # 临时可写区域
  • /kb:Worktree 模式映射到本地磁盘;MCP 模式实时加载远端
  • /tmp:中间结果存储(sort/uniq/重定向用)
  • 默认工作目录:/kb

内置命令

核心

命令说明示例
ls列目录ls -la /kb
cat查看内容cat /kb/README.md
grep搜文本grep -rni "OAuth" /kb
find查文件find /kb -name "*.md"
tree目录树tree -L 2 /kb

辅助

命令说明示例
head / tail头/尾head -20 /kb/README.md
wc统计wc -l /kb/docs/*.md
sort / uniq排序/去重cat log | sort | uniq -c
echo输出echo $PWD
pwd / cd导航cd /kb/docs && pwd
stat文件信息stat /kb/README.md
xargs参数传递find /kb -name "*.md" | xargs grep "API"
fzf模糊筛选ls /kb | fzf

桥接

命令说明示例
gitGit 操作(仅 Worktree)git statusgit log
search知识库搜索search OAuth 认证
mcp透传 MCP Toolmcp entry_describe

git 只在 Worktree 模式可用。写操作建议退出 Shell 后用 lx git 执行。

只读保护

以下命令返回"只读文件系统"错误:rmmvcpmkdirtouchchmod

现代 CLI 兼容

自动翻译常见现代 CLI 工具:

输入实际执行
rg "p" /kbgrep -rn "p" /kb
eza -la /kbls -la /kb
fd readme /kbfind /kb -name '*readme*'
bat /kb/README.mdcat /kb/README.md
ll / la / lls -la / ls -a / ls

支持的 Bash 语法

# 管道
ls /kb | grep "产品" | head -5

# 逻辑运算
cd /kb/docs && cat README.md

# 分号
pwd; ls; echo "done"

# 变量
NAME="test"; echo $NAME

# Glob
cat /kb/*.md

# 重定向(写入 /tmp)
grep -r "API" /kb > /tmp/results.txt

典型工作流

快速浏览结构

lx sh -e "tree -L 2 /kb"
lx sh --space <SPACE_ID> -e "tree -L 2 /kb"

搜索 + 组合查询

cd my-kb && lx sh
# 进入后:
grep -rn "部署" /kb | head -10
find /kb -name '*.md' | xargs grep 'OAuth' | head -20

程序内调用(Rust)

use lexiang_cli::cmd::sh;

let mut bash = sh::build_shell(&config, None, None).await?;
let out = bash.exec("grep -r OAuth /kb | head -5").await?;
println!("{}", out.stdout);