ACP整合
API整合
学习如何通过 ACP API 将 Langcli 集成到你的应用中
配置其他 ACP 客户端
ACP 是开放协议,任何支持 ACP 的客户端都可以连接 Langcli。通用配置模式:
命令: langcli --acp
参数: ["--acp"]
通信: stdin/stdout NDJSON
协议版本: ACP v1自定义客户端
使用 @agentclientprotocol/sdk 可以快速构建 ACP 客户端:
import { ClientSideConnection, ndJsonStream } from '@agentclientprotocol/sdk'
// 创建连接(将 langcli --acp 作为子进程启动)
const child = spawn('langcli', ['--acp'])
const stream = ndJsonStream(
Writable.toWeb(child.stdin),
Readable.toWeb(child.stdout),
)
const client = new ClientSideConnection(stream)
// 初始化
await client.initialize({ clientCapabilities: {} })
// 创建会话
const { sessionId } = await client.newSession({
cwd: '/path/to/project',
})
// 发送 prompt
const response = await client.prompt({
sessionId,
prompt: [{ type: 'text', text: 'Hello, explain this project' }],
})
// 监听 session 更新
client.on('sessionUpdate', (update) => {
console.log('Update:', update)
})最后更新