Skip to content

feat(acp): generate commit messages via ACP agents with acp management - #20

Merged
kooksee merged 4 commits into
mainfrom
feat/acp-commit-provider
Oct 20, 2026
Merged

kooksee merged 4 commits into
mainfrom
feat/acp-commit-provider

Conversation

@kooksee

@kooksee kooksee commented Oct 20, 2026

Copy link
Copy Markdown
Contributor

Summary

commit message 生成从 OpenAI SDK 切换为 ACP (Agent Client Protocol):fastgit 作为 ACP client spawn 外部 agent 进程(如 cursor-agent acp / opencode acp)生成 message,并提供 ggc acp 管理命令。openai 保留为可选 provider,通过 ai.provider 配置选择。

Changes

  • 升级 github.com/coder/acp-go-sdk v0.6.3 → v0.13.5(适配 KillTerminalRequest、ToolCallUpdate 等破坏性改名)
  • 新增 pkg/acpclient:ACP client 最小实现(spawn agent → initialize → session/new → session/prompt,收集 agent_message;权限请求自动拒绝;超时与进程清理)
  • 新增 pkg/acpconfig:acp: 配置段读写(default/agents)+ 内置 catalog(claude/codex/gemini/opencode),yaml.Node 写回保留其他段落
  • 新增 pkg/aiprovider ACPProvider;Default/ResolveProvider 支持 acp,auto 链变为 acp → openai → copilot → 规则
  • 新增 ai.provider 配置项(auto|acp|openai|copilot),优先级 --ai* flag > FASTGIT_AI_PROVIDER > config > auto
  • 新增 ggc acp list/add/remove/set-default/test 管理命令
  • 移除 tagcmd 中未使用的 OpenaiClient 字段
  • 测试:acpclient 以测试二进制为假 ACP agent 做端到端单测;acpconfig 读写单测(可注入路径,不再依赖真实配置)

Testing

  • go build ./... / go vet ./... 通过
  • go test ./... 全绿
  • ggc acp test 真实验证 cursor-agent / opencode(spawn+initialize+session 落盘 ~/.cursor/acp-sessions)
  • 一次性仓库端到端 ggc commit ai 由 cursor ACP 生成 message 并 push 成功

@kooksee
kooksee merged commit c4ea5d6 into main Oct 20, 2026
1 check passed
@kooksee
kooksee deleted the feat/acp-commit-provider branch October 20, 2026 14:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant