refactor(core,server): 简化配置加载,移除 workdir 参数
Provider 和 Agent 配置统一从全局目录加载,无需传递 workdir: - ProviderRegistry.init() 不再需要 workdir 参数 - AgentRegistry.init() 不再需要 workdir 参数 - 配置文件路径统一使用 ~/.ai-terminal-assistant/
This commit is contained in:
@@ -156,7 +156,7 @@ interface PermissionManager {
|
||||
* Provider Registry 接口
|
||||
*/
|
||||
interface ProviderRegistryInterface {
|
||||
init(workdir?: string): Promise<void>;
|
||||
init(): Promise<void>;
|
||||
isInitialized(): boolean;
|
||||
}
|
||||
|
||||
@@ -164,7 +164,7 @@ interface ProviderRegistryInterface {
|
||||
* Agent Registry 接口
|
||||
*/
|
||||
interface AgentRegistryInterface {
|
||||
init(workdir: string): Promise<void>;
|
||||
init(): Promise<void>;
|
||||
isInitialized(): boolean;
|
||||
}
|
||||
|
||||
@@ -221,22 +221,18 @@ export async function initCore(): Promise<boolean> {
|
||||
return false;
|
||||
}
|
||||
|
||||
// 获取服务器配置的工作目录
|
||||
const config = getConfig();
|
||||
const workdir = config.workdir;
|
||||
|
||||
// 初始化 ProviderRegistry(加载用户配置)
|
||||
const providerRegistry = core.getProviderRegistry();
|
||||
if (!providerRegistry.isInitialized()) {
|
||||
await providerRegistry.init(workdir);
|
||||
console.log('[Agent] ProviderRegistry initialized with workdir:', workdir);
|
||||
await providerRegistry.init();
|
||||
console.log('[Agent] ProviderRegistry initialized');
|
||||
}
|
||||
|
||||
// 初始化 AgentRegistry(加载用户自定义 Agent 配置)
|
||||
const agentRegistry = core.agentRegistry;
|
||||
if (!agentRegistry.isInitialized()) {
|
||||
await agentRegistry.init(workdir);
|
||||
console.log('[Agent] AgentRegistry initialized with workdir:', workdir);
|
||||
await agentRegistry.init();
|
||||
console.log('[Agent] AgentRegistry initialized');
|
||||
}
|
||||
|
||||
coreModule = core;
|
||||
|
||||
@@ -74,7 +74,7 @@ interface AgentConfigFile {
|
||||
// Core Agent 模块类型
|
||||
interface AgentModule {
|
||||
agentRegistry: {
|
||||
init: (workdir: string) => Promise<void>;
|
||||
init: () => Promise<void>;
|
||||
get: (name: string) => AgentInfo | undefined;
|
||||
list: () => AgentInfo[];
|
||||
};
|
||||
@@ -152,8 +152,7 @@ async function ensureRegistryInitialized(): Promise<boolean> {
|
||||
if (!module) return false;
|
||||
|
||||
if (!initialized) {
|
||||
const config = getConfig();
|
||||
await module.agentRegistry.init(config.workdir);
|
||||
await module.agentRegistry.init();
|
||||
initialized = true;
|
||||
}
|
||||
|
||||
|
||||
@@ -247,7 +247,7 @@ providersRouter.post('/', async (c) => {
|
||||
|
||||
const registry = core.getProviderRegistry();
|
||||
registry.registerCustom(body);
|
||||
await registry.saveConfig(getConfig().workdir);
|
||||
await registry.saveConfig();
|
||||
|
||||
return c.json({
|
||||
success: true,
|
||||
@@ -285,7 +285,7 @@ providersRouter.put('/:id', async (c) => {
|
||||
}
|
||||
|
||||
registry.setConfig(id, { ...body, id });
|
||||
await registry.saveConfig(getConfig().workdir);
|
||||
await registry.saveConfig();
|
||||
|
||||
return c.json({
|
||||
success: true,
|
||||
@@ -321,7 +321,7 @@ providersRouter.delete('/:id', async (c) => {
|
||||
return c.json({ success: false, error: `Provider not found: ${id}` }, 404);
|
||||
}
|
||||
|
||||
await registry.saveConfig(getConfig().workdir);
|
||||
await registry.saveConfig();
|
||||
|
||||
return c.json({
|
||||
success: true,
|
||||
@@ -365,7 +365,7 @@ providersRouter.post('/:id/models', async (c) => {
|
||||
|
||||
const registry = core.getProviderRegistry();
|
||||
registry.addCustomModel(providerId, body);
|
||||
await registry.saveConfig(getConfig().workdir);
|
||||
await registry.saveConfig();
|
||||
|
||||
return c.json({
|
||||
success: true,
|
||||
@@ -408,7 +408,7 @@ providersRouter.delete('/:id/models/:modelId', async (c) => {
|
||||
);
|
||||
}
|
||||
|
||||
await registry.saveConfig(getConfig().workdir);
|
||||
await registry.saveConfig();
|
||||
|
||||
return c.json({
|
||||
success: true,
|
||||
|
||||
Reference in New Issue
Block a user