EvoX Genesis
EvoX Genesis turns a high-level software objective into a persistent recursive software world: finite-lived agents recursively develop software, while only accepted consequences persist across develop
翻譯準備中
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證petstore is an example app that extends the Swagger Petstore API definition (openapi.yaml) with a server, petstore-server, that serves every operation from memory.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗petstore is an example app that extends the Swagger Petstore API definition
(openapi.yaml) with a server, petstore-server, that serves every operation
from memory. Optionally, the server is an AAuth
resource: each operation asks an AI agent for exactly the trust it needs.
go run ./cmd/petstore-server --listen 127.0.0.1:8080
curl 'http://127.0.0.1:8080/v2/pet/findByStatus?status=available'
The store starts with six pets and keeps everything in memory. The spec is
served at /openapi.yaml and /openapi.json, with servers pointing at the
server, so tools that load an OpenAPI document find it there.
With --auth aauth, each operation requires what its x-aauth annotation in
openapi.yaml says:
| Operations | Requires | What the agent does |
|---|---|---|
findPetsByStatus, findPetsByTags, getPetById, getInventory, loginUser, logoutUser | the agent's identity | signs the request with its agent token |
getOrderById, user operations | the person | presents a person token from its person server |
placeOrder, deleteOrder | an auth token for write:orders | asks the person to approve, then presents the auth token |
addPet, updatePet, updatePetWithForm, deletePet, uploadFile | an auth token for write:pets | the same, for write:pets |
Orders belong to the person who placed them: another person's order is not found.
The quickest way to try it is behind the
aauth-go sandbox,
which runs an agent provider and a person server and serves the Petstore as
https://petstore.aauth.test:
aauth-sandbox init
petstore-server --listen 127.0.0.1:8080 --auth aauth \
--url https://petstore.aauth.test \
--trust https://ps.aauth.test \
--ca-file ~/.aauth-sandbox/ca.pem
aauth-sandbox serve --upstream petstore=http://127.0.0.1:8080
| Flag | Meaning |
|---|---|
--auth | none (default) or aauth |
--url | the resource's public URL and AAuth identifier |
--trust | a person server whose tokens to accept (repeatable) |
--ca-file | an extra root CA for fetching issuers' keys, such as the sandbox CA |
--listen | the address to listen on, plain HTTP (default :8080) |
The resource metadata is at /.well-known/aauth-resource.json, with the scope
descriptions a person server shows on its consent page.
To test agents and AAuth implementations against the Petstore, see the interop guide.
docker build -t petstore-server .
docker run --rm -p 127.0.0.1:8080:8080 petstore-server