Commit Graph
53 Commits
Author SHA1 Message Date
leookun 5df3e8f512 feat(cursor): update model handling to use agentv1 responses and enhance CLI model details
- Refactored response handling in newProtoMessage to utilize agentv1 for GetUsableModelsResponse and GetDefaultModelForCliResponse.
- Added new tests for buildCLIModelDetails and encodeCLIModels to ensure correct model details and encoding.
- Updated buildUsableModelsPayload and buildDefaultModelForCliPayload to leverage buildCLIModelDetails for improved model data structure.
2026-08-03 22:56:17 +08:00
leookun 424235f11d Merge branch 'main' into fix/cli-local-mode-endpoints
# Conflicts:
#	internal/backend/server/middleware.go
2026-08-03 00:39:56 +08:00
leokunandGitHub 5742073be5 Merge pull request #242 from DedSecer/feat/cursor-local-history-transcripts
feat(cursor): support referencing local history from new chats
2026-08-02 23:27:31 +08:00
leookun 90d35085c0 Merge branch 'main' into feat/cursor-local-history-transcripts 2026-08-02 22:58:50 +08:00
leokunandGitHub 7764eca0c3 Merge pull request #243 from aike0210/codex/feat-cursor-control-plane-account
feat(cursor): 修复本地模式下插件市场、Skills 和 MCP 无法加载的问题
2026-08-02 22:56:53 +08:00
leookun a5437e60fe feat(cursor): add contributor profile link and improve UI for Cursor account card
- Integrated a tooltip with a button to open the contributor's GitHub profile in the CursorAccountCard component.
- Updated the layout of the account card for better visual organization.
- Removed routing mode options from the configuration view and adjusted related translations in multiple languages.
- Cleaned up unused routing mode logic in the app state management.
2026-08-02 22:53:57 +08:00
leookun 674de0b041 Merge branch 'main' into codex/feat-cursor-control-plane-account 2026-08-02 22:28:56 +08:00
leookun d1ffd1a95c feat: delete test requirements 2026-08-02 21:39:47 +08:00
aike1202 9d316c0b3d feat(cursor): 支持独立控制面账号登录 2026-08-01 22:05:08 +08:00
DedSecer 834288839b test(cursor): make transcript adapter tests self-contained
Keep the transcript coverage independent from branch-specific projector helpers so it runs cleanly on the upstream main test layout.
2026-08-01 21:10:46 +08:00
DedSecer 68e63c7a72 feat(cursor): sync local conversation history to Cursor transcripts
Project sidecar context history into Cursor-compatible JSONL transcripts so previous conversations remain readable when referenced from new chats. Backfill existing sessions on startup and preserve Cursor-managed turn status entries during atomic updates.
2026-08-01 21:08:14 +08:00
warelik 2c650b3765 fix(backend): cover cursor-agent CLI local-mode endpoint surface
Desktop Cursor works through the local proxy because it drives the agent
over BidiAppend/RunSSE plus the already-mocked unary endpoints. The
cursor-agent CLI speaks the same agent protocol but calls additional
unary endpoints that had no local handlers, so every request fell into a
wildcard route and came back as HTTP 404, which the Connect client maps
to '[unimplemented] HTTP 404'.

Three independent breaks, one visible symptom:

1. Startup: ServerConfigService/GetServerConfig (only the AiService
   variant was mocked), DashboardService/GetTeamAdminSettingsOrEmptyIfNotInTeam
   and DashboardService/ListMarketplaces were missing, so the CLI aborted
   during session init.

2. Git workspaces: the CLI resolves the repo path-encryption key from
   indexingConfig.default{User,Team}PathEncryptionKey in GetServerConfig
   when no IDE-stored repo keys exist. The mock returned no indexingConfig,
   so repository identity init failed with 'No encryption key found'.

3. Tool execution: every fs tool executor (Ls/Grep/Glob/Shell) consults
   the ignore service, which calls getRepoBlockExcludeGlobs() ->
   DashboardService/GetTeamReposOrEmptyIfNotInTeam. The 404 propagated as
   the tool result error, so model answers arrived but every tool call
   returned '[unimplemented] HTTP 404'. Non-git workspaces skip the
   repo-block path, which is why tools only failed inside git repos.

Also close the remaining tolerated 404 noise so a CLI session produces
zero unimplemented responses: model listing (GetUsableModels,
GetDefaultModelForCli, GetDefaultModel), dashboard/plugin housekeeping
(GetGlobalCommands, GetEffectiveUserPlugins, RegisterMarketplaceAndPlugins,
GetCliDownloadUrl) and telemetry (AnalyticsService/SubmitLogs,
AnalyticsService/TrackEvents, OTLP /v1/traces).

Additional logging: PolicyMiddleware now includes the request path in the
per-request log line, which is what made this diagnosable from app.log.
2026-08-01 10:58:19 +03:00
leokunandGitHub 00f52166b2 Merge pull request #222 from DedSecer/fix/cursor-command-prompt-replay
fix(prompt): replay selected Cursor commands
2026-07-30 20:30:01 +08:00
leokun 3349b13a2b fix(prompt): persist cursor command replay context 2026-07-30 20:28:20 +08:00
DedSecerandCursor 4451a6df3b fix(forwarder): handle Cursor summarize actions
Map Cursor's protocol-level SummarizeAction to manual context compaction while keeping the legacy /compact directive disabled.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 19:32:42 +08:00
leokunandGitHub 7b1c1d39af Update README.md 2026-07-28 22:33:49 +08:00
DedSecer 17f30a8852 fix(prompt): replay selected Cursor commands
Include client-resolved command content in model-visible user history so slash commands such as /init retain their actual instructions.
2026-07-28 10:46:07 +08:00
leookun 1f976b2a5e release: 0.0.42
- 修复grep或者read长时间阻塞问题 @liorxuan
v0.0.42
2026-07-27 21:57:51 +08:00
leokunandGitHub f3a7aece9d Merge pull request #221 from qqlzyhello/fix/bidi-append-seq-restart
同 request_id 下 append_seq 重启时不再误判 stale
2026-07-27 21:53:04 +08:00
lixingcheng 3a3be0c9e9 fix(forwarder): reset bidi append seq when Cursor reuses request_id
Cursor may reuse the same request_id for a later turn and restart
append_seqno from 1. Accept seq=1 after progress as a sequence restart
when idle so tool results are not discarded as stale forever.
2026-07-27 18:09:09 +08:00
leookun 9e05739969 docs: 拆分贡献指南为中英双语独立文件
CONTRIBUTING.md(中文)+ CONTRIBUTING_EN.md(英文),互相链接。
2026-07-27 01:02:21 +08:00
leookun 4bb0cbc1fc docs: 添加双语贡献指南和 PR 模板
Closes #161

- CONTRIBUTING.md:中英双语,涵盖开发环境、项目结构、代码规范、构建发布
- .github/PULL_REQUEST_TEMPLATE.md:双语 PR 描述模板与检查清单
2026-07-27 01:01:29 +08:00
leookun 0f6b0f9484 release: 0.0.41
- 修复内存泄漏问题,该可能导致内存异常占用
- 支持俄语增加翻译范围
- 修复qwen-3.8-max中断问题(mimo也应该属于同一类问题)
- 修复claude模型可能无法识别图片问题 @GGHansome
- 支持自定义Openai端点 @Sxuan-Coder
- WebSearch 接入百度搜索,DuckDuckGo 作为兜底 @杨超
- 修复一些兼容性问题 @kael-odin
- 修复window上一些表现问题 @philau2512

🔔 如何让AI自动拉模型配置? (以下为提示词,把地址和密钥换为你的)
我的模型配置在 ~/.cursor-local-assistant-v2/config.yaml,我的API地址是:https://xxx 密钥是xxx,帮我拉所有模型配置进去,不要影响已有模型,根据models标准接口拉取。
v0.0.41
2026-07-27 00:55:02 +08:00
leookun e401303f64 fix: 修复502导致的内存泄漏问题 2026-07-27 00:15:23 +08:00
leokunandGitHub 799dbda7e0 Merge pull request #178 from kael-odin/fix/mimo-thinking-disable
fix(openai): recognize MiMo in thinking disable
2026-07-16 10:39:50 +08:00
leokunandGitHub f3cbf1e6c3 Merge pull request #179 from kael-odin/fix/anthropic-thinking-disable
fix(anthropic): apply thinking config on override path, symmetric with openai
2026-07-16 10:39:19 +08:00
leokunandGitHub 2380a0d692 Merge pull request #187 from ProtectCookies/main
feat: WebSearch 接入百度搜索,DuckDuckGo 作为兜底
2026-07-16 10:36:01 +08:00
leokunandGitHub 1da1faa4d4 Merge pull request #186 from GGHansome/main
尝试修复使用claude模型无法识别图片问题
2026-07-16 10:35:43 +08:00
leokunandGitHub ce05b0bf7a Merge pull request #205 from philau2512/main
fix(ui): support window resizing and fully localize remaining Chinese texts to EN/JA
2026-07-16 10:35:14 +08:00
philau2512 44a47992d9 feat(build): add PowerShell and batch build scripts for convenient compilation 2026-07-15 17:53:45 +07:00
philau2512 319bd3d7d8 fix(i18n): extract new Chinese keys and implement dynamic localization for footer/updates/tray menu 2026-07-15 17:53:42 +07:00
philau2512 12c7973a06 fix(window): enable maximize button state to support native window resizing on Windows 2026-07-15 17:53:38 +07:00
leokunandGitHub f93b18740d Merge pull request #189 from leookun/release/0.0.40
release: 0.0.40
2026-07-10 11:52:27 +08:00
leokun c6ee26b12d release: 0.0.40 2026-07-10 11:50:02 +08:00
leokunandGitHub 7c1c6a134b Merge pull request #188 from leookun/feat/gpt-5.6
feat: gpt-5.6 support
v0.0.40
2026-07-10 11:42:10 +08:00
leokun e0aa270328 feat: gpt-5.6 support 2026-07-10 11:38:45 +08:00
杨超 556ea21f38 feat: WebSearch 接入百度搜索,DuckDuckGo 作为兜底
百度搜索失败或无结果时自动回退到 DuckDuckGo,不引入 Bing。
2026-07-10 10:36:59 +08:00
GGHansome 315aba49c2 fix: claude model can not access image 2026-07-10 03:17:02 +08:00
leokunandGitHub 6ab537ad4e Merge pull request #180 from kael-odin/docs/extra-params-tooltip-wording
docs(model-adapter): fix extra-params tooltip wording (merge→override)
2026-07-09 20:26:49 +08:00
kael-odin 6d7a4e32fe docs(model-adapter): fix extra-params tooltip wording (merge→override)
ModelAdapterModal.vue described OpenAI extra params as "合并到" (merge into)
the request body, but the backend (request_override.go:applyExtraParams)
writes body[name] = value — same-name fields are overridden, not merged.
This contradicted ModelEditor.vue's tooltip ("覆盖到...同名字段以这里为准")
and risked users expecting array fields like `tools` to be appended,
which would silently replace the built-in function tools.

Align the modal tooltip with the editor view and the actual override
semantics.
2026-07-08 09:30:37 +08:00
kael-odin 50ab63de3d fix(anthropic): apply thinking config on override path, symmetric with openai
AnthropicAdapter.Stream built thinking config (buildAnthropicThinkingConfig)
and wrote it into body only inside the `if len(body)==0` normal-construction
block. The RequestBodyOverride branch skipped it entirely — a disabled effort
on the override path left whatever thinking config the override body carried,
violating user intent and diverging from openai.go, where
applyOpenAIThinkingDisable runs unconditionally after both branches.

Also, on the normal path, disabled only wrote thinking:{type:disabled} but
left a stale output_config (set by a prior adaptive turn or by
AnthropicExtraParams) in place — an explicitly disabled request could still
carry output_config.effort=high, a contradictory payload.

Fix:
- Extract applyAnthropicThinkingConfig(body, req), called unconditionally
  after the override/normal block, mirroring openai.go:1860.
- disabled: force thinking:{type:"disabled"}, delete output_config, set
  thinking_disabled_provider_param=thinking.type knob.
- adaptive (AnthropicThinkingEffort non-empty): write
  thinking:{type:adaptive,display:summarized} + output_config.
- empty effort: no-op.
- buildAnthropicThinkingConfig retained for stable-message-count / message
  normalization signals inside the normal block.

Tests: anthropic_thinking_disable_test.go covers all three branches, alias
normalization (off→disabled), disabled overriding existing adaptive config,
and the override-path symmetry scenario.
2026-07-08 09:12:03 +08:00
kael-odin 802daa8fcd fix(openai): recognize MiMo in thinking disable
openAIThinkingDisableKind only matched dashscope/qwen/aliyun,
deepseek/bigmodel/z.ai/zhipu, and gpt-5.1+/gpt-6. Xiaomi MiMo
(api.xiaomimimo.com, model mimo-*) fell through to the default
branch, so when a user set reasoning=disabled the adapter wrote
no disable field and MiMo kept thinking enabled (extra latency +
reasoning token cost contrary to user intent).

Add xiaomimimo/mimo to the thinking_type case — MiMo uses the same
thinking:{type:"disabled"} shape as deepseek/glm, confirmed in
MiMo docs.

- openai.go: +2 conditions in openAIThinkingDisableKind
- openai_thinking_disable_test.go: cover MiMo (base/model/ultraspeed),
  regress deepseek/glm/z.ai/qwen/gpt-5.1/gpt-6/unknown, and verify
  applyOpenAIThinkingDisable writes thinking:{type:disabled} +
  deletes reasoning_effort for MiMo
2026-07-07 18:13:21 +08:00
leokunandGitHub eb2c236699 Merge pull request #168 from Sxuan-Coder/main
feat(openai): 支持"自定义路径"endpoint 以兼容非标准 OpenAI 兼容服务
2026-07-06 10:38:28 +08:00
上玄 86a655fb5d refactor: remove endpoint tests and enhance URL handling
- Deleted outdated test files for OpenAI endpoint functionality.
- Improved the OpenAIEndpointURL function to better handle custom paths and version segments.
- Introduced a new helper function, stripEndpointVersionPrefix, to streamline endpoint processing.
2026-07-04 19:03:14 +08:00
上玄 c50e7d0606 feat: add support for custom OpenAI endpoint path
- Introduced a new endpoint option for OpenAI integrations, allowing users to specify a custom path.
- Updated relevant components and validation logic to accommodate the new endpoint.
- Enhanced documentation and error messages to reflect the addition of the custom endpoint option.
2026-07-04 18:51:41 +08:00
leokun 4ec7b4289f v0.0.39 2026-07-01 15:31:24 +08:00
leokun 6bebe37bfc Merge branches 'main' and 'main' of github.com:leookun/cursor-byok 2026-07-01 14:25:30 +08:00
leokunandGitHub 90c3c35774 Merge pull request #160 from lixiangwuxian/main
feat: add support for multiple paths when using workspace mode
v0.0.39
2026-06-30 20:08:51 +08:00
lixiangwuxian 64a0e09605 feat: add support for multiple paths when using workspace mode 2026-06-30 16:58:50 +08:00
leokun 47d336ac81 update readme 2026-06-30 10:49:26 +08:00