Skip to content

Commit 0399080

Browse files
committed
chore: release v0.6.7
1 parent bb3dc06 commit 0399080

108 files changed

Lines changed: 354 additions & 259 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CHANGELOG.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
- `BaseRunner` / `ADKRunner` / `LangGraphRunner` 补齐 runtime capability 描述,默认 runner 明确声明 checkpoint/resume/cancel unsupported,ADK 暂声明 forward-only/后续桥接。
4444
- `agentengine web` 本地启动会为 local session、SQLite checkpoint、项目 `.env`、项目 UI bundle 路径注入更一致的默认值,并支持覆盖 project UI dir。
4545
- 本地 Web 启动兼容 Windows 无 `termios` 环境。
46-
- 同步 ksadk-web 静态资源与 reasoning control 文案/配置,保证本地 UI 与 Hosted UI 的模型、思考能力和 custom UI bootstrap 行为一致。
46+
- 同步 `@kingsoftcloud/ksadk-web@0.2.15` 静态资源与 reasoning control 文案/配置,保证本地 UI 与 Hosted UI 的模型、思考能力、完整会话历史回显和 custom UI bootstrap 行为一致。
4747
- Hermes dashboard open、本地 dry-run bootstrap defaults、OpenClaw terminal session 参数继续保持和 0.6.6 runtime model policy 兼容。
4848
- LanceDB memory backend manifest 语义收敛,provider 注册、渲染、schema 字段和 OpenClaw 配置生成保持一致。
4949
- 旧 checkpoint 预览 action 统一为 `GetCheckpointResumePreview`
@@ -76,7 +76,7 @@
7676
- 新增 CloudMonitor OTLP exporter 并行双写、CloudMonitor Langfuse SDK callback 隔离 provider、token 用量归集(`_prepare_cloud_monitor_spans`)、Langfuse 鉴权 fallback、generic OTLP Langfuse endpoint 自动补 Auth 回归测试,以及本地 HTTP e2e 上报验证。
7777
- 新增 Runner Langfuse 多 callback、disable-thinking 模型选项透传、Postgres session 超时与降级、UI 配置解析、server session app 与 FastAPI 兼容性回归测试。
7878
- ADK event → checkpoint bridge、`run_async(invocation_id=...)` 接入和 ADK checkpoint descriptor 映射延期到 0.6.8。
79-
- 公开发布版本从 `0.6.6` 升级到 `0.6.7`,发布前继续执行 `make public-preflight`、sdist/wheel build 和 `twine check`
79+
- 公开发布版本从 `0.6.6` 升级到 `0.6.7`发布候选固定同步 `@kingsoftcloud/ksadk-web@0.2.15` 静态资源,发布前继续执行 `make public-preflight`、sdist/wheel build 和 `twine check`
8080
- 镜像构建应固定 `KSADK_PACKAGE_SPEC=ksadk==0.6.7`,再走 staging E2E、GitHub Actions / PyPI Trusted Publishing 和环境门禁。
8181

8282
## [0.6.6] - 2026-06-23

docs/ksadk环境变量参考.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,8 @@
127127
| `LANGFUSE_SECRET_KEY` | 条件必传 ||| 平台 Secret / 开发者 | 启用 Langfuse 时需要。 |
128128
| `LANGFUSE_BASE_URL` || `LANGFUSE_HOST` || 平台 / 开发者 | Langfuse endpoint。 |
129129
| `LANGFUSE_USE_CALLBACK` |||| 开发者 | 控制是否启用 callback 集成。 |
130+
| `CLOUD_MONITOR_APP_KEY` | 条件必传 ||| 平台 Secret | 云监控 OTLP AppKey。 |
131+
| `CLOUD_MONITOR_OTLP_ENDPOINT` | 条件必传 ||| 平台 / 开发者 | CloudMonitor 通用 OTLP HTTP endpoint。 |
130132
| `OTEL_EXPORTER_OTLP_ENDPOINT` | 条件必传 ||| 平台 / 开发者 | OTel Collector endpoint;未设置 traces 专用 endpoint 时,KsADK 会派生 `/v1/traces`|
131133
| `OTEL_EXPORTER_OTLP_PROTOCOL` |||| 平台 / 开发者 | 通用 OTLP 协议;KsADK 自动 HTTP exporter 当前支持 `http/protobuf`|
132134
| `OTEL_EXPORTER_OTLP_HEADERS` |||| 平台 / 开发者 | 通用 OTLP headers,逗号分隔,值按 URL encoding;可能包含 `Authorization`|
@@ -243,7 +245,12 @@
243245
| `KSADK_SESSION_BACKEND` | Sessions || `local` | `AGENTENGINE_SESSION_BACKEND``KSADK_STM_BACKEND` || 开发者 / 平台 || 会话存储 backend。ADK/STM 也会把它作为兜底。 |
244246
| `KSADK_SESSION_DSN` | Sessions | 条件必传 | 未设置 | `KSADK_STM_URL``KSADK_STM_DB_URL``KSADK_ADK_SESSION_URL` || Secret || PostgreSQL DSN。`postgres` / `database` backend 时必传。ADK/STM 也会把它作为兜底。 |
245247
| `KSADK_SESSION_PATH` | Sessions || 项目目录下本地 sqlite 路径 | `KSADK_STM_PATH``KSADK_STM_DB_PATH` || 开发者 / 本地运行时 || 本地 SQLite 会话路径。 |
248+
| `KSADK_SESSION_CONNECT_TIMEOUT` | Sessions || `5` | `KSADK_SESSION_PG_CONNECT_TIMEOUT` || 开发者 / 平台 || PostgreSQL 会话 backend 连接超时秒数。 |
249+
| `KSADK_SESSION_PG_CONNECT_TIMEOUT` | Sessions 旧兼容 || `5` | `KSADK_SESSION_CONNECT_TIMEOUT` || 兼容旧部署 || 旧 PostgreSQL session 连接超时变量。新部署优先 `KSADK_SESSION_CONNECT_TIMEOUT`|
246250
| `KSADK_SESSION_NAMESPACE` | Sessions || 未设置 | `KSADK_WORKSPACE_ID``AGENTENGINE_WORKSPACE_ID``KSADK_TENANT_ID``AGENTENGINE_TENANT_ID` || 平台 || 会话 namespace。 |
251+
| `KSADK_CHECKPOINT_BACKEND` | LangGraph checkpoint || `local` | `local` 等价本地 SQLite;也支持 `sqlite``memory``postgres` || 开发者 / 平台 || LangGraph checkpoint backend。`agentengine web` 本地调试默认优先使用 SQLite。 |
252+
| `KSADK_CHECKPOINT_PATH` | LangGraph checkpoint || 项目目录下 `.agentengine/ui/checkpoints.sqlite` ||| 开发者 / 本地运行时 || 本地 SQLite checkpoint 文件路径。 |
253+
| `KSADK_LANGGRAPH_CHECKPOINT_DSN` | LangGraph checkpoint | 条件必传 | 未设置 ||| Secret || `KSADK_CHECKPOINT_BACKEND=postgres` 时的 LangGraph checkpointer PostgreSQL DSN。 |
247254
| `KSADK_TENANT_ID` | Sessions || 未设置 | `AGENTENGINE_TENANT_ID` || 平台 || 租户 id。 |
248255
| `KSADK_WORKSPACE_ID` | Sessions || 未设置 | `AGENTENGINE_WORKSPACE_ID` || 平台 || workspace id。 |
249256
| `KSADK_STM_BACKEND` | 旧 STM / Sessions fallback || 未设置 | `KSADK_SESSION_BACKEND` || 兼容旧部署 || 旧变量。新部署优先 `KSADK_SESSION_BACKEND`,但 ADK/STM 仍可读。 |
@@ -309,6 +316,10 @@
309316
| `KSADK_AICP_ENDPOINT_MODE` | AICP resolver || `auto` ||| 平台 / 开发者 || AICP endpoint 选择策略,支持 `auto/detect/internal/inner/public`。内网环境可显式设为 `inner`,跳过自动探测。 |
310317
| `AGENTENGINE_MODEL_ALLOWLIST` | CLI model / OpenClaw || 未设置 | `OPENCLAW_MODEL_ALLOWLIST` || 平台 / 开发者 || 模型列表过滤。OpenClaw 场景优先使用 `OPENCLAW_MODEL_ALLOWLIST`|
311318
| `AGENTENGINE_UI_DIR` | 本地 Web UI / Sessions || 未设置 ||| 本地开发者 || 本地 UI 静态目录覆盖,主要用于 Web/文件上传本地调试。 |
319+
| `KSADK_UI_PROFILE` | 本地 Web UI / Runtime bootstrap || `builtin` ||| 开发者 / 平台 || Agent UI profile。`custom` 时 runtime 会暴露自定义 UI bootstrap 信息。 |
320+
| `KSADK_UI_PATH` | 本地 Web UI / Runtime bootstrap || `/` ||| 开发者 / 平台 || 自定义 UI 挂载路径,例如 `/research`|
321+
| `KSADK_UI_URL` | Runtime bootstrap || 未设置 ||| 平台 / 开发者 || 外部自定义 UI URL。 |
322+
| `KSADK_UI_BUNDLE_PATH` | Runtime bootstrap || 自动探测 `research-ui/dist` ||| 开发者 / 平台 || 自定义 UI 静态 bundle 相对项目路径。 |
312323
| `KSADK_WEB_VERSION` | Hosted Web UI static sync || `latest` | 可显式设置 `0.2.7` / `v0.2.7` || 构建环境 / 开发者 || `make sync-ksadk-web-static` 使用的 `@kingsoftcloud/ksadk-web` npm dist-tag 或版本,默认消费最新 release。 |
313324
| `KSADK_WEB_PACKAGE` | Hosted Web UI static sync || `@kingsoftcloud/ksadk-web` ||| 构建环境 / 开发者 || 本地 UI static 同步使用的 npm 包名。 |
314325
| `KSADK_WEB_TARBALL_NAME` | Hosted Web UI static sync || 根据 `KSADK_WEB_VERSION` 派生 ||| 构建环境 || 仅在设置 `KSADK_WEB_RELEASE_URL` 时作为下载保存文件名;npm pack 模式会使用 npm 返回的真实 tarball 文件名。 |
@@ -358,6 +369,17 @@
358369
| `LANGFUSE_USE_CALLBACK` | Tracing || 未设置 ||| 开发者 || 是否启用 Langfuse callback。 |
359370
| `LANGCHAIN_TRACING_V2` | LangChain tracing || 未设置 ||| 开发者 / 平台 || LangChain v2 tracing 开关。 |
360371
| `LANGCHAIN_VERBOSE` | Runtime image || `true` ||| 开发者 / 平台 || 模板运行时 LangChain verbose 开关。 |
372+
| `CLOUD_MONITOR_APP_KEY` | CloudMonitor tracing | 条件必传 | 未设置 ||| 平台 Secret || 云监控 OTLP AppKey;启用 CloudMonitor OTLP 上报时需要。 |
373+
| `CLOUD_MONITOR_OTLP_ENABLED` | CloudMonitor tracing || 自动判断 ||| 平台 / 开发者 || 显式启用或禁用 CloudMonitor OTLP exporter。 |
374+
| `CLOUD_MONITOR_OTLP_ENDPOINT` | CloudMonitor tracing | 条件必传 | 未设置 ||| 平台 / 开发者 || CloudMonitor 通用 OTLP HTTP endpoint;未设置 traces endpoint 时会派生 `/v1/traces`|
375+
| `CLOUD_MONITOR_OTLP_PROTOCOL` | CloudMonitor tracing || 未设置 ||| 平台 / 开发者 || CloudMonitor 通用 OTLP 协议,当前支持 `http/protobuf`|
376+
| `CLOUD_MONITOR_OTLP_HEADERS` | CloudMonitor tracing || 未设置 ||| 平台 / 开发者 || CloudMonitor OTLP 附加 headers,逗号分隔且 URL encoded。 |
377+
| `CLOUD_MONITOR_OTLP_TRACES_ENDPOINT` | CloudMonitor tracing || 未设置 ||| 平台 / 开发者 || CloudMonitor traces 专用 endpoint,优先于通用 endpoint。 |
378+
| `CLOUD_MONITOR_OTLP_TRACES_PROTOCOL` | CloudMonitor tracing || 未设置 ||| 平台 / 开发者 || CloudMonitor traces 专用协议,优先于通用 protocol。 |
379+
| `CLOUD_MONITOR_LANGFUSE_ENABLED` | CloudMonitor Langfuse callback || 自动判断 ||| 平台 / 开发者 || 显式启用或禁用 CloudMonitor Langfuse SDK callback。 |
380+
| `CLOUD_MONITOR_LANGFUSE_HOST` | CloudMonitor Langfuse callback | 条件必传 | 未设置 | `CLOUD_MONITOR_OTLP_ENDPOINT` || 平台 / 开发者 || CloudMonitor AppMonitor Langfuse SDK host。 |
381+
| `CLOUD_MONITOR_LANGFUSE_PUBLIC_KEY` | CloudMonitor Langfuse callback | 条件必传 | 未设置 ||| 平台 Secret || CloudMonitor AppMonitor Langfuse public key。 |
382+
| `CLOUD_MONITOR_LANGFUSE_SECRET_KEY` | CloudMonitor Langfuse callback | 条件必传 | 未设置 ||| 平台 Secret || CloudMonitor AppMonitor Langfuse secret key。 |
361383
| `OTEL_EXPORTER_OTLP_ENDPOINT` | OTel | 条件必传 | 未设置 ||| 平台 / 开发者 || OTel Collector endpoint;未设置 traces 专用 endpoint 时,KsADK 会派生 `/v1/traces`|
362384
| `OTEL_EXPORTER_OTLP_PROTOCOL` | OTel || 未设置 ||| 平台 / 开发者 || 通用 OTLP 协议;KsADK 自动 HTTP exporter 当前支持 `http/protobuf`|
363385
| `OTEL_EXPORTER_OTLP_HEADERS` | OTel || 未设置 ||| 平台 / 开发者 || 通用 OTLP headers,逗号分隔,值按 URL encoding;可能包含 `Authorization`|

ksadk/configs/env_registry.py

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ class EnvVarSpec:
1212
sensitive: bool = False
1313

1414

15-
ENV_VAR_REGISTRY: tuple[EnvVarSpec, ...] = (
15+
_ENV_VAR_REGISTRY_ITEMS: tuple[EnvVarSpec, ...] = (
1616
EnvVarSpec("KSADK_ADK_SESSION_BACKEND", "sessions", "ADK-native session backend selector."),
1717
EnvVarSpec("KSADK_ADK_SESSION_PATH", "sessions", "ADK-native SQLite session database path."),
1818
EnvVarSpec("KSADK_ADK_SESSION_URL", "sessions", "ADK-native database session URL.", sensitive=True),
@@ -52,6 +52,8 @@ class EnvVarSpec:
5252
"pip install timeout seconds for source builds.",
5353
"2700",
5454
),
55+
EnvVarSpec("KSADK_CHECKPOINT_BACKEND", "sessions", "LangGraph checkpoint backend selector.", "local"),
56+
EnvVarSpec("KSADK_CHECKPOINT_PATH", "sessions", "Local SQLite checkpoint database path."),
5557
EnvVarSpec(
5658
"KSADK_CORE_RUNTIME_REQUIREMENTS",
5759
"builders",
@@ -72,6 +74,7 @@ class EnvVarSpec:
7274
EnvVarSpec("KSADK_KB_SEARCH_METHOD", "knowledge_base", "Knowledge-base search method.", "intelligence_search"),
7375
EnvVarSpec("KSADK_KB_SECRET_KEY", "knowledge_base", "Knowledge-base API secret key.", sensitive=True),
7476
EnvVarSpec("KSADK_KB_TOP_K", "knowledge_base", "Knowledge-base retrieval result count.", "5"),
77+
EnvVarSpec("KSADK_LANGGRAPH_CHECKPOINT_DSN", "sessions", "LangGraph PostgreSQL checkpoint DSN.", sensitive=True),
7578
EnvVarSpec("KSADK_LOCAL_SKILLS_DIR", "skills", "Local directory containing extracted Skill packages."),
7679
EnvVarSpec("KSADK_LTM", "memory", "AICP long-term-memory connection prefix."),
7780
EnvVarSpec("KSADK_LTM_ACCESS_KEY", "memory", "Long-term-memory API access key.", sensitive=True),
@@ -128,9 +131,11 @@ class EnvVarSpec:
128131
EnvVarSpec("KSADK_SELECTED_SKILL_NAMES", "skills", "Comma-separated Skill names selected by the outer agent."),
129132
EnvVarSpec("KSADK_SESSIONS_TABLE", "sessions", "Internal SQLite sessions table constant."),
130133
EnvVarSpec("KSADK_SESSION_BACKEND", "sessions", "Conversation session backend selector.", "local"),
134+
EnvVarSpec("KSADK_SESSION_CONNECT_TIMEOUT", "sessions", "Conversation PostgreSQL connection timeout seconds.", "5"),
131135
EnvVarSpec("KSADK_SESSION_DSN", "sessions", "Conversation session database DSN.", sensitive=True),
132136
EnvVarSpec("KSADK_SESSION_NAMESPACE", "sessions", "Conversation session namespace."),
133137
EnvVarSpec("KSADK_SESSION_PATH", "sessions", "Conversation local SQLite database path."),
138+
EnvVarSpec("KSADK_SESSION_PG_CONNECT_TIMEOUT", "sessions", "Legacy PostgreSQL session connection timeout seconds.", "5"),
134139
EnvVarSpec("KSADK_SKILLS_MODE", "skills", "Skill loading mode: auto, local, or sandbox.", "auto"),
135140
EnvVarSpec(
136141
"KSADK_SKILL_ALLOW_HASH_MISMATCH",
@@ -177,6 +182,10 @@ class EnvVarSpec:
177182
EnvVarSpec("KSADK_TOOL_APPROVAL_MODE", "tools", "Built-in tool approval mode: off or strict.", "off"),
178183
EnvVarSpec("KSADK_UPDATED_AT", "configs", "Internal config update timestamp field."),
179184
EnvVarSpec("KSADK_VERSION", "configs", "Internal config version field."),
185+
EnvVarSpec("KSADK_UI_BUNDLE_PATH", "web", "Custom agent UI bundle path relative to project root."),
186+
EnvVarSpec("KSADK_UI_PATH", "web", "Custom agent UI mount path."),
187+
EnvVarSpec("KSADK_UI_PROFILE", "web", "Agent UI profile selector, such as builtin or custom."),
188+
EnvVarSpec("KSADK_UI_URL", "web", "External custom agent UI URL."),
180189
EnvVarSpec("KSADK_WEB_CACHE_DIR", "web", "Directory used by hosted Web UI static asset sync cache."),
181190
EnvVarSpec("KSADK_WEB_PACKAGE", "web", "KsADK Web npm package name.", "@kingsoftcloud/ksadk-web"),
182191
EnvVarSpec("KSADK_WEB_RELEASE_URL", "web", "Optional KsADK Web tarball URL fallback."),
@@ -248,6 +257,10 @@ class EnvVarSpec:
248257
EnvVarSpec("OTEL_SERVICE_NAME", "tracing", "OpenTelemetry service name."),
249258
)
250259

260+
ENV_VAR_REGISTRY: tuple[EnvVarSpec, ...] = tuple(
261+
sorted(_ENV_VAR_REGISTRY_ITEMS, key=lambda spec: spec.name)
262+
)
263+
251264

252265
def iter_env_vars() -> tuple[EnvVarSpec, ...]:
253266
return ENV_VAR_REGISTRY

ksadk/runners/utils/langfuse.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,10 @@ def _create_langfuse_callback(
5555
base_url=host or None,
5656
tracer_provider=tracer_provider,
5757
)
58-
handler = CallbackHandler(public_key=public_key)
58+
try:
59+
handler = CallbackHandler(public_key=public_key)
60+
except TypeError:
61+
handler = CallbackHandler()
5962
logger.info(
6063
"%s Langfuse CallbackHandler initialized "
6164
"(host: %s public_key_present=%s secret_key_present=%s isolated_provider=True)",

ksadk/server/static/assets/ArtifactsPanel-D9kIK37N.js renamed to ksadk/server/static/assets/ArtifactsPanel-BQycE-WQ.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ksadk/server/static/assets/CodeBlock-D_V5ZoiN.js renamed to ksadk/server/static/assets/CodeBlock-BBNgCUzs.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)