[RFC] 079 - Edge Config 配置层 #5215
arvinxx
started this conversation in
RFC | 特性开发
Replies: 2 comments
-
未来实现流程: 添加 config key先在 enum EdgeConfigKeys {
/**
* Assistant whitelist
*/
AssistantWhitelist = 'assistant_whitelist',
} 实现对应的读取方法逻辑与类型export class EdgeConfig {
// 实现逻辑
getAgentWhitelist = async (): Promise<string[] | undefined> => {
return this.client.get<string[]>(EdgeConfigKeys.AssistantWhitelist);
};
} 实现应该是很简单的,主要还是包一层方法,屏蔽掉 config key 最裸的一层实现,同时补充对应的类型定义。如果这里需要添加兜底字段,也可以在这里加。 在对应的部分添加实现需要有一个来是否进入 edge config 的判断逻辑,目前感觉 const data: AgentStoreIndex = await res.json();
// Get the assistant whitelist from Edge Config
const edgeConfig = new EdgeConfig();
if (!!appEnv.VERCEL_EDGE_CONFIG) {
const assistantWhitelist = await edgeConfig.getAgentWhitelist();
if (assistantWhitelist && assistantWhitelist?.length > 0) {
data.agents = data.agents.filter((item) => assistantWhitelist.includes(item.identifier));
}
}
return data; |
Beta Was this translation helpful? Give feedback.
0 replies
-
不了解这个设计思路的实现,不过支持 Redis 这个方向对于未来一些功能的实现会有很大帮助, Vercel 环境可以使用免费的 Redis 云数据库,私有化环境直接本地部署 Redis |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
背景
之前做 #913 这个的时候提过,未来会需要一个服务端的配置能力。正好最近有了一个助手市场的黑/白名单需求,在这个 RFC 中先实现一版。
设计思路
从终局来看,这个中间配置层应该是要兼容各种部署环境的,比如:
但是目前这一期简单做,直接写 Vercel Edge Config,后续抽象中间层,并抽取 ConfigRuntime ,到时候就可以提供 Edge Config, Redis Config 这样的 provider。
进展
Beta Was this translation helpful? Give feedback.
All reactions