我用 200-Token CLI Skill 替换了我的 LangSmith MCP Server
Source: Dev.to
如果你在使用 LangSmith 与 Claude Code(或任何 AI‑coding 代理),很可能在运行官方的 MCP 服务器。它能工作,但每个会话都会向你的上下文窗口注入 5 000+ 个 token 的工具模式——即使你根本不使用 LangSmith。
我创建了 langsmith‑cli 来解决这个问题。它是一个独立的 CLI 以及 Claude Code 插件,能够用 —dataset my-eval-set 替代 MCP 服务器。
智能过滤并转换为 FQL
没有人想手写原始的 Filter Query Language。CLI 会自动将人性化的标志翻译成 FQL:
# These flags...
langsmith-cli runs list --tag summarizer --failed --last 24h --slow
# ...become this FQL:
# and(
# has(tags, "summarizer"),
# eq(error, true),
# gt(start_time, "2026-03-03T..."),
# gt(latency, "5s")
# )
像 --recent(最近一小时)、--today、--last 7d、以及 --since 2026-01-01 这样的时间预设都能使用。使用 --grep 的内容搜索支持正则表达式和字段特定匹配。所有功能都可以组合使用。
v0.4.0 新特性
v0.4.0 版本侧重于类型安全和代码质量:
- 零 pyright 错误 – 每个函数都有正确的类型注解(
client: langsmith.Client,而不是client: Any)。返回类型是真实的 SDK Pydantic 模型,而不是object。 datasets delete命令加入确认提示并支持 JSON 模式。- 改进错误处理,在 prompts 和 runs 命令中使用具体的 SDK 异常类型(
LangSmithNotFoundError、LangSmithConflictError),而不是宽泛的except Exception。 - 702 条单元测试 全部通过,使用真实的 Pydantic 模型实例(测试数据不再使用
MagicMock)。
入门指南
# Install
uv tool install langsmith-cli
# or:
pip install langsmith-cli
# Authenticate
export LANGSMITH_API_KEY="lsv2_..."
# or:
langsmith-cli auth login
# Start exploring
langsmith-cli runs list --project my-app --last 24h
langsmith-cli --json runs get-latest --failed --fields name,error
如果你在使用 Claude Code,添加插件以获得最佳代理体验:
claude plugin marketplace add gigaverse-app/langsmith-cli
claude plugin install langsmith-cli@langsmith-cli
代码采用 MIT 许可证,托管在 GitHub 上:
github.com/gigaverse-app/langsmith-cli
如果你正在使用 LangSmith 并且厌倦了上下文沉重的 MCP 服务器,试试看吧。欢迎在 issue 中留下反馈。