Remove `ate-env-api` and use the Substrate API directly
维护者通常 1 天内回复
@rakyll 已经在做这个了。
开始于 2026年10月26日。
评估
这个 Issue 还没有评估数据。
描述
Consider removing the ate-env-api service and have clients (the ate-env CLI and the Go and Python libraries) talk to Substrate directly. The environment-shaped surface (process, filesystem, MCP) would live in the client libraries and the in-actor guest daemon, not in a second server.
Problem
ate-env-api is a second control plane in front of Substrate, with its own API, auth surface, and notion of identity. This causes several problems:
- Security capabilities must be aligned twice. Any authn/authz, audit, quota, or policy that Substrate enforces has to be re-implemented in
ate-env-api, or it is bypassed. Today callers are trusted based on network reachability to the service. - Identity is lost at the hop. Substrate sees the API service as the caller, not the user or agent. It can't attribute, authorize, or audit per caller.
- Confused-deputy risk. The service holds broad credentials and exposes them to anything that can reach it. Per-environment authorization has to be re-invented, and a mistake means cross-tenant access.
- Duplicated and drifting semantics. We re-map Substrate concepts (actors, status, atespaces, templates, errors) and track Substrate changes in two places.
- More to build and operate. There is an extra deployment, image, and release, plus a second API for users to learn.
Proposal
- Delete
ate-env-apiand stop publishing its image. - The CLI and client libraries call Substrate directly for lifecycle, and call the guest daemon through the Substrate router for process, filesystem, and MCP operations, all using Substrate's identity.
- Move the "environment" abstraction (ID mapping, defaults, status mapping, wake-on-call) into the client library.
ate-env manifestdeploys only the namespace and worker pool.
Open questions
- Where should MCP be served: the guest daemon, or a Substrate-native gateway?
Acceptance criteria
- No dual control plane components in
ate-env-apibinary. - The CLI and clients work against a cluster with only Substrate.
- 主要语言
- Go
- 星标
- 71
- 派生
- 17
- 平均合并
- 21 小时 36 分钟
- 30 天内合并 PR
- 19
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
agent-substrate/env 的其他 Issue
-
难度 4/5 3-5 天 新手友好度 42/100
agent-substrate/env#123 ·
维护者通常 1 天内回复
-
难度 3/5 1-2 天 新手友好度 74/100
agent-substrate/env#121 ·
维护者通常 1 天内回复
-
难度 4/5 3-5 天 新手友好度 42/100
agent-substrate/env#119 ·
维护者通常 1 天内回复
-
难度 4/5 3-5 天 新手友好度 55/100
agent-substrate/env#118 ·
维护者通常 1 天内回复
-
难度 4/5 3-5 天 新手友好度 57/100
agent-substrate/env#117 ·
维护者通常 1 天内回复
查看 agent-substrate/env 的全部 Issue
相似的 Issue
-
agent-butler-finding chore
难度 1/5 1 小时以内 新手友好度 88/100
jordansmall/spindrift#6695 ·
维护者通常 1 天内回复
-
skills-init: commit-SHA skill refs never start (git checkout -- <sha> reads the SHA as a pathspec)未关闭
难度 1/5 1 小时以内 新手友好度 84/100
kagent-dev/kagent#3571 ·
维护者通常 1 天内回复
-
book-layout.spec fails when the similar-books rail holds other projects' books可能已有人在做 @praetorianer777 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 78/100
praetorianer777/GoTome#373 ·
维护者通常 1 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 80/100
-
/shutdown/ready can fail to return an HTTP response when readiness takes longer than the server write timeout可能已有人在做 @floriankoch 今天认领。 未关闭triage
难度 2/5 1-3 小时 新手友好度 76/100
envoyproxy/gateway#10562 ·
维护者通常 1 天内回复