SuperAPI AI 工具集

langsmith-custom-apps

编程与开发

查看项目

更新于 10-15 23:48

技能介绍

用途:指导在 LangSmith 内运行的 React/TypeScript 自定义应用(Custom App)的构建、迭代、复制与分享。应用内契约(window.langsmith.call 桥接、render() 导出、filter DSL、endpoint 菜单)以 langsmith apps init 生成的 AGENTS.md 为权威,本技能只涉及 AGENTS.md 未覆盖的部分。

认证与配置:自托管时先设置 LANGSMITH_ENDPOINT 与 LANGSMITH_API_KEY。环境变量 LANGSMITH_API_KEY 优先于已保存的 OAuth 配置,过期 key 会导致 403;需要走登录时可用 env -u LANGSMITH_API_KEY -u LANGSMITH_WORKSPACE_ID langsmith …。LANGSMITH_WORKSPACE_ID 可能与 key 指向不同工作区,出现 403 时应取消该变量并显式传 --workspace <uuid>。apps dev 需工作区 API key 而非 OAuth,其 token 约十分钟后失效并返回 401,表现为下拉与列表变空。

常用命令:先查看 langsmith --version、langsmith apps --help、langsmith apps init --help。init 在当前目录写入,目录非空需 --force。apps dev 可加 --verbose 或 --quiet。apps push 在 package.json 有 build 脚本时先构建,--no-build 直接上传;首次 push 创建应用并由 .langsmith/app.json 关联目录,之后更新同一应用,建议提交该文件。删除用 langsmith apps delete <app-id-or-name> --yes,不可恢复。

跨工作区复制与分享:拉取源码到新目录后必须删除 .langsmith/app.json,再用 langsmith apps push --name <name> --workspace <target-ws-uuid> 推送,并同步改掉配置中与工作区相关的 UUID、项目 id、feedback key 后重新构建。应用为工作区范围,外部无法打开链接,分享只能交付源码;交付前清理 UUID、邮箱、lsv2_ key、内部项目名、node_modules 与 app.json,移除私有仓库配置,并重跑 npx tsc --noEmit 与 npm run build。

查询与验证:runs/query 每页上限 100,用 response.cursors.next 翻页并设置硬上限;元数据相等需用 and(eq(metadata_key,…), eq(metadata_value,…));标题数字优先用 runs/stats 与 runs/group/stats;工具调用输入有两种序列化形态,需 try/catch 解析;trace 数据视为不可信,避免 dangerouslySetInnerHTML 并做白名单校验。无法用浏览器点击时,建议保持聚合逻辑纯粹,用 CLI 抓取真实数据做 fixture,在 node 中运行真实 TypeScript 核对数字。CLI 反馈需 v0.2.58 及以上,仅报告真实遇到的 CLI 问题,不要发送密钥或数据。