diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f5f3ea7..d544f45 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -7,7 +7,7 @@ on: workflow_dispatch: inputs: tag: - description: "Release tag, for example v1.2.0" + description: "Release tag, for example v1.2.1" required: true permissions: diff --git a/README.md b/README.md index 4f94802..e075a7a 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ The project is designed for tools such as Claude Code, Cline, Continue, OpenCode ## Current Version -The current desktop line is `v1.2.0`. +The current desktop line is `v1.2.1`. Release builds are produced by GitHub Actions for: @@ -249,6 +249,21 @@ Priority order: 4. command-line flags 5. desktop Settings page updates +## Concurrency + +Older builds rejected concurrent chat requests with a `rate_limit_error` saying the proxy handled one request at a time. Current builds use a small execution pool instead: + +- default max concurrent chat requests: `4` +- override with `LINGMA_PROXY_MAX_CONCURRENT` +- allowed range: `1` to `16` +- `session_mode=auto` uses fresh Lingma sessions so parallel editor requests do not share one sticky session + +Example: + +```bash +LINGMA_PROXY_MAX_CONCURRENT=8 lingma-ipc-proxy --port 8095 +``` + ## Function Calling / Tool Calling Lingma does not expose a native public OpenAI/Anthropic tool-call protocol, so this proxy emulates tool calling: @@ -291,7 +306,7 @@ The desktop bundle name is always `Lingma IPC Proxy`. The release workflow is triggered by: -- pushing a tag such as `v1.2.0` +- pushing a tag such as `v1.2.1` - manually running the `Release` workflow with a tag input Planned improvements: diff --git a/README.zh-CN.md b/README.zh-CN.md index 4acba81..f139e3a 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -11,7 +11,7 @@ ## 当前版本 -当前桌面端版本线:`v1.2.0` +当前桌面端版本线:`v1.2.1` GitHub Actions 会在 Release 中产出: @@ -328,6 +328,27 @@ export ANTHROPIC_API_KEY="any" 4. 命令行参数 5. 桌面端设置页保存的配置 +## 并发请求 + +旧版本为了避免 Lingma 会话串扰,在 HTTP 层做了全局单请求限制,所以并发请求会返回: + +```json +{"error":{"message":"Lingma IPC proxy handles one request at a time.","type":"rate_limit_error"},"type":"error"} +``` + +现在已经改成有限并发执行池: + +- 默认最多同时处理 `4` 个 Chat 请求。 +- 可以用 `LINGMA_PROXY_MAX_CONCURRENT` 覆盖。 +- 合法范围是 `1` 到 `16`。 +- `session_mode=auto` 默认使用 fresh Lingma 会话,避免多个编辑器并发请求挤到同一个 sticky session 里串上下文。 + +示例: + +```bash +LINGMA_PROXY_MAX_CONCURRENT=8 lingma-ipc-proxy --port 8095 +``` + ## 工具调用实现 Lingma 插件本身没有公开标准 OpenAI / Anthropic Tools 协议,所以本项目使用 **Tool Emulation**: @@ -394,8 +415,8 @@ Lingma IPC Proxy 发布方式: ```bash -git tag v1.2.0 -git push origin v1.2.0 +git tag v1.2.1 +git push origin v1.2.1 ``` 也可以在 GitHub Actions 页面手动运行 `Release` workflow,并输入 tag。 diff --git a/desktop/frontend/src/App.vue b/desktop/frontend/src/App.vue index d7d0b50..a8ca9e3 100644 --- a/desktop/frontend/src/App.vue +++ b/desktop/frontend/src/App.vue @@ -222,7 +222,7 @@ onUnmounted(() => {
{{ filtered[selected].reqBody || '空请求体' }}
+ {{ filtered[selected].respBody || '空响应体' }}
+