Skip to content

v0.1.14

Choose a tag to compare

@github-actions github-actions released this 21 Aug 04:37
· 9 commits to main since this release
v0.1.14
e4db67c

新增

  • 接入 xyz-go(v0.2.2,一次定义、三个界面):ls / stat / presign / find 四个查询命令新增 HTTP REST 与 MCP 工具 两种对外调用方式(cat/cp 属原始流式与文件传输,保持仅 CLI)
  • 新增 oss serve:一个端口同时提供 REST 路由(GET /ls /stat /presign /find)、/openapi.json、/healthz 与 /mcp(MCP streamable HTTP);支持 --bearer 鉴权、--cors、--tls-cert/--tls-key、--timeout,SIGINT/SIGTERM 优雅关停,未配置鉴权时启动即告警
  • 新增 oss mcp:MCP 工具服务器(stdio/http/sse 三种传输),工具名即命令名,带只读标注与反射生成的 inputSchema
  • HTTP 凭据走请求头 X-Oss-Ak/X-Oss-Sk/X-Oss-Token/X-Oss-Profile(不进 URL 日志),未提供时回落服务端环境变量 / ~/.aws
  • 统一错误分类:smithy 错误码与传输异常映射为 HTTP 状态码(400/401/403/404/503)与 MCP 错误码
  • README(中/英双语)补齐 v0.1.12/0.1.13 find 新行为说明,新增对外服务章节与参数手册

内部改造(CLI 行为不变,全部既有测试通过)

  • ls/stat/presign/find 的查询核心从 urfave 处理器中抽离,CLI 与 API 共享同一实现(新增 listWindow 分页窗口与框架无关的 listFlags)

v0.1.14 — serve/mcp: REST + OpenAPI + MCP interfaces

New

  • Adopted xyz-go (v0.2.2, one definition, three interfaces): ls / stat / presign / find are now also exposed as HTTP REST and MCP tools (cat/cp stream raw bytes or move files and stay CLI-only)
  • New oss serve: one port serves the REST routes (GET /ls /stat /presign /find), /openapi.json, /healthz and /mcp (MCP streamable HTTP); --bearer auth, --cors, --tls-cert/--tls-key, --timeout, graceful shutdown, and a loud warning when left unauthenticated
  • New oss mcp: MCP tool server over stdio/http/sse; tool names equal command names, with read-only annotations and reflection-generated inputSchema
  • HTTP credentials travel via X-Oss-Ak/X-Oss-Sk/X-Oss-Token/X-Oss-Profile headers (never in the URL), falling back to the server environment / ~/.aws
  • One error taxonomy maps smithy error codes and transport conditions to HTTP status codes (400/401/403/404/503) and MCP error codes
  • README (zh/en) documents the find behavior introduced in v0.1.12/0.1.13, plus the serving section and parameter reference

Internals (no CLI behavior change; the full existing test suite passes)

  • The ls/stat/presign/find cores were extracted from the urfave handlers (new listWindow pager and framework-free listFlags), so the CLI and the API share one implementation