🚀
AgentProc把任意 Agent CLI 接入任意消息平台
一个极简的进程级协议。不用 HTTP、不用 socket——只用 stdin、stdout 和环境变量。
npm install -g agentprocpipx install agentprocpip install agentproc验证可用:
agentproc --version
# agentproc 0.2.0 (protocol 0.1)agentproc hub list
# claude-code official Connect the claude CLI (Anthropic) as an AgentProc agent
# codex official Connect the codex CLI (OpenAI) as an AgentProc agent
# codebuddy official Connect the codebuddy CLI (Tencent) as an AgentProc agent
# agy community Connect the agy CLI as an AgentProc agent
# echo-agent official Minimal hello-world agentProfile Hub 收录了主流 AI CLI 的开箱即用 profile。不用 clone、不用复制、不用改 YAML——CLI 按需拉取并缓存。
先跑冒烟测试(不需要 API key):
agentproc hub run echo-agent -p "hello"
# → You said: hello然后跑真实的。claude-code 支持流式输出和多轮会话续接:
cd ~/projects/my-app
agentproc hub run claude-code \
-p "what is this codebase?" \
--env ANTHROPIC_API_KEY="$ANTHROPIC_API_KEY"stderr 上会实时看到协议行,stdout 是最终回复:
AGENT_PARTIAL:"This codebase is..."
AGENT_SESSION:13c2f6ec-1f97-42c4-be9e-9475129e243c
agentproc:session:13c2f6ec-1f97-42c4-be9e-9475129e243c捕获 session id,继续对话:
agentproc hub run claude-code \
-p "tell me about the auth module" \
--env ANTHROPIC_API_KEY="$ANTHROPIC_API_KEY" \
--session 13c2f6ec-1f97-42c4-be9e-9475129e243cAgentProc agent 不直接和微信或 Slack 通信——那是 bridge 的工作。bridge 是一个小程序,职责是:
AGENT_MESSAGE 环境变量下面是一个 ~30 行的 Node.js bridge 示例,把 agentproc 接到任何平台:
// bridge.js — 一个极简的 AgentProc bridge
const { run } = require('agentproc');
const fs = require('fs');
async function handleMessage(message, sessionId) {
const profile = JSON.parse(fs.readFileSync('./profile.json'));
const result = await run(profile, {
message,
sessionId,
onPartial: (chunk) => console.log(`[streaming] ${chunk}`),
});
console.log(`Reply: ${result.reply}`);
console.log(`Session: ${result.sessionId}`); // 下一轮把这个传回来
}
// 替换成你平台的 SDK:
// yourMessagingPlatform.onMessage(handleMessage);
handleMessage(process.argv[2] || 'hello', '');存为 bridge.js,指向一个 profile,再接到你消息平台的 webhook。runner.js 源码就是协议的代码化形式——读它就是读规范。