跳转至

快速开始

下面的示例会区分“可直接运行”和“仅作示意”,便于第一次接触时快速判断哪些步骤可以马上执行。

开始前先记住两条规则

  • 版本规则:文件、API、CLI 参数统一使用带 v 前缀的精确版本号,例如 v1.0.0
  • CLI 地址规则:做远程查询时请显式设置 ASACTL_SERVER_HOST,不要依赖当前实现里的默认值。

1. 安装 ASACtl

满足 Bun 环境时可直接运行。

bun add -g asactl

依赖要求:

  • Bun 运行时(建议 Bun >= 1.0)

2. 指向真实远程地址

可直接运行。

export ASACTL_SERVER_HOST=https://asahub.ai

3. 验证 CLI 是否可用

可直接运行。

asactl -h
asactl -h agreement

预期结果:

  • 能看到根命令和 agreement 模块的帮助输出

4. 拉取一个公开 Agreement

在远程地址可访问时可直接运行。

asactl agreement search -q '{"tags":["payment"]}'
asactl agreement get -q '{"agreementName":"try","version":"v2.4.5"}'

预期结果:

  • 第一条命令返回公开协议列表
  • 第二条命令返回协议详情,并把内容保存到本地工作区

5. 搜索公开服务

在远程地址可访问时可直接运行。

asactl service search -q '{"query":"shop"}'
asactl service get -q '{"serviceId":"<service-id>"}'

说明:

  • <service-id> 只是占位 id
  • 先执行 service search,再把返回结果里的真实 serviceId 替换进去

6. 按 Agreement 调本地服务

需要你本地已经启动实现该协议的服务。

asactl call shop -a list -v v1.0.0 -h 127.0.0.1:3000

仅在本地服务已监听 127.0.0.1:3000 时使用。

7. 发布服务索引

仅作写法示意,需要替换成真实服务元数据。

asactl service post -q '{"name":"<service-name>","summary":"service summary","provider":"asa"}'

8. 发布 Agreement

asactl build agreement
asactl agreement prepost
asactl agreement post

说明:

  • 本地工作文件位于 ~/.asactl/build/agreement/<name>/<version>/
  • 实际发布物是 agreement.jsonmeta.json 不参与发布

相关文档