风趣
管理 风云 特工作为代码。 在 YAML 中描述每个代理
文档,然后 funky apply 创建或更新它——如Terraform,用于代理配置.
安装
npm install -g @funky-dev/cli # or, without installing: npx @funky-dev/cli login
或者从 macOS、 Linux 或 Windows 下载二进制 最新发布,或者,安装了Go:
go install github.com/funkyhq/cli/cmd/funky@latest
funky --version 显示已安装的版本.
快开始
funky login # opens your browser: sign in, pick a project, approve this machine
funky init # creates agents/
$EDITOR agents/researcher.yaml
funky apply # shows the plan, asks, then creates or updates
代理文件
每个代理配置一个文件 agents/。这些字段是API的代理配置字段:
# agents/researcher.yaml
inference:
provider: anthropic
model: claude-sonnet-5
maxTokens: 2048
systemPrompt: You are an autonomous agent in a fresh Linux sandbox.
network:
type: allowlist
domains: [github.com]
packages:
pip: [pandas==2.2.0]
setupCommands: []
credentials: []
resources: { cpuCount: 4, memoryMB: 4096 }
metadata: { team: research }
inference, (中文(简体) ), systemPrompt 财务报告和审定财务报表 network 需要; 其余默认为空.
resources 在 vCPUs 和 MiB 内存中大小代理服务器的沙盒; 遗漏的字段是
默认, 2 vCPUs 和 1024 MiB.
代理人以其文件名或 name: 字段。 名称保存在配置中
元数据为 funky.dev/name,这就是下一个 apply 找到要更新的配置 .
funky apply数字 :
- 创建新文件的配置, 更新文件已更改的配置( 仅结束更改) 字段,因此每个字段最多增加一个版本),而留下其余部分;
- 将每个更新标注在它计划对应的版本上, 因此在其它版本中编辑了一个配置 与此同时,冲突失败,而不是被掩盖;
- 从不保存任何文件: 删除一个文件会留下它的配置 .
旗帜 : --dry-run 仅显示计划; --auto-approve 跳过确认.
认证
funky login 将CLI签入您, 在一个项目中—— 再次运行它来切换项目 。 这个
登录持续90天,生活在您的 OS 密钥链中,并可通过 funky logout 或从
网络应用程序中的设置 . funky whoami 显示CLI是谁和在哪里行动.
在一台没有浏览器的机器上, funky login --no-browser 打印链接并询问代码
页面显示.
在CI中,设置 FUNKY_API_KEY 键 https://platform.funky.dev/api-keys (中文(简体) ) 相反;它需要
优先于登录.
发展
go test ./...
go run ./cmd/funky --help
FUNKY_API_URL, (中文(简体) ), FUNKY_CONSOLE_URL 财务报告和审定财务报表 FUNKY_PLATFORM_URL 将CLI指向非生产
服务; FUNKY_CONFIG_DIR 移动保存登录的地方.
释放
按下版本标签; 发布工作流程构建每个平台
释放器,发布 GitHub 发布,然后发布
@funky-dev/cli 至npm( 时间npm/publish.mjs;每个平台的二进制是自己的版本,比如
0.1.1-darwin-arm64,主要版本作为可选依赖性安装的:
git tag v0.1.0 && git push origin v0.1.0
带有后缀的标签( T)v0.2.0-rc.1)成为预发式,在npm的 next 标签。 试试这栋楼
当地: goreleaser release --snapshot --clean && node npm/publish.mjs --dry-run (产出)
dist/) (中文(简体) ).