diff --git a/CLAUDE.md b/CLAUDE.md index 7cb20c2..fc45756 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -87,7 +87,8 @@ auto-dev "" # bin 入口 → server/src/cli/auto-dev.js | `server/services/devloop/` | DevLoop 支撑服务:path-resolver, git-vault, unit-registry(FSM), timeline-logger, bug-tracker, doc-store, changelog-writer, sse-broker | | `server/src/tools/devloop/` | DevLoop Agent 可调用工具(coder/tester/integrator/triager/doc/persistence-tools + tool-registry + sandbox) | | `server/routes/devloop.js` | DevLoop REST:`/api/devloop/projects` | -| `system/templates/devloop-*/` | 六个 DevLoop Agent 的 prompt 模板(pm, architect, coder, tester, integrator, triager) | +| `system/agents/` | **全部 Agent 本体的唯一目录**(75 个)。`_base/` 是元 Agent 骨架,`_registry.json` 只用于按 id 补 `benchmark_score`(**目录才是数据源头**,`graph-seed-service.seedAgents()` 直接扫目录)。`_` 前缀为保留 id,扫描时跳过 | +| `system/agents/devloop-*/` | 六个 DevLoop Agent(pm, architect, coder, tester, integrator, triager),每个含 `config.json` + `prompt.md` + 一份指路用的薄 `agent.md` | | `server/src/tools/` | Master Agent 可调用的工具(call-agent, marketplace, orchestrate, train-skill, …) | | `web/src/views/` | 10 个页面:AgentChat, AgentList, CompanyDashboard, JobsPanel, OkrDashboard, PipelineEditor, QuotaMonitor, SkillsMarket, TaskTimeline, TemplateAgents | | `packages/` | `acp-core`, `agent-core`, `evolution`, `plugin-bootstrap` | diff --git a/docs/README.md b/docs/README.md index c7cc476..ebd3185 100644 --- a/docs/README.md +++ b/docs/README.md @@ -18,7 +18,7 @@ | [architecture-v5.md](./done/architecture-v5.md) | v5.3 架构方案,Phase 1-6 已完成(Phase 7 认知架构条目单独见 todo/) | | [claude-code-cron.md](./done/claude-code-cron.md) | Claude Code 原生 Cron 调度功能参考手册 | | [open-api-manual.md](./done/open-api-manual.md) | ArenaSK Open API 外部调用手册 | -| [qa_judge_req.md](./done/qa_judge_req.md) | QA Judge Agent 需求文档 — 已在 `system/templates/qa-judge/` 落地 | +| [qa_judge_req.md](./done/qa_judge_req.md) | QA Judge Agent 需求文档 — 已在 `system/agents/qa-judge/` 落地 | | [task_timeline_design.md](./done/task_timeline_design.md) | Task Timeline View 设计文档 — 已实现(`server/routes/tasks.js`、`server/services/task-service.js`、`web/src/views/TaskTimeline.vue`) | | [user-guides/08-base-agent-4-phase-guide.md](./done/user-guides/08-base-agent-4-phase-guide.md) | Base Agent 四阶段使用指南 | | [system-design/27-p1-virtual-reference.md](./done/system-design/27-p1-virtual-reference.md) | P1 虚拟引用寻址 — ✅ 已实现(commit `226489d`,`server/services/graph-service.js`):`agent.md` 不再逐公司拷贝,改为 `config.json.systemAgentRef` 引用 + `company-context.md` 承载公司语境 | diff --git a/scripts/demo-harness-company.js b/scripts/demo-harness-company.js index 995351c..ce65721 100644 --- a/scripts/demo-harness-company.js +++ b/scripts/demo-harness-company.js @@ -117,7 +117,7 @@ async function main() { const agentDir = path.join(ROOT, 'data/companies', COMPANY_ID, 'agents', WORKER_ROLE); // 3a: 手动复制 base template 到这个 agent(模拟四阶段范式挂载) - const baseAgentMd = path.join(ROOT, 'system/templates/base/agent.md'); + const baseAgentMd = path.join(ROOT, 'system/agents/_base/agent.md'); const targetAgentMd = path.join(agentDir, 'agent.md'); if (fs.existsSync(baseAgentMd) && fs.existsSync(agentDir)) { const currentContent = fs.existsSync(targetAgentMd) ? fs.readFileSync(targetAgentMd, 'utf-8') : ''; @@ -140,7 +140,7 @@ async function main() { } // 3c: 复制 base config.json (restricted 工具策略) - const baseConfig = path.join(ROOT, 'system/templates/base/config.json'); + const baseConfig = path.join(ROOT, 'system/agents/_base/config.json'); const agentConfig = path.join(agentDir, 'config.json'); if (fs.existsSync(baseConfig) && fs.existsSync(agentDir)) { const existingConfig = fs.existsSync(agentConfig) ? JSON.parse(fs.readFileSync(agentConfig, 'utf-8')) : {}; diff --git a/scripts/migrate-agent-naming.js b/scripts/migrate-agent-naming.js index c0d464c..3897f8e 100644 --- a/scripts/migrate-agent-naming.js +++ b/scripts/migrate-agent-naming.js @@ -62,7 +62,7 @@ function moveDir(from, to) { function migrateDirs() { for (const [oldName, newName] of Object.entries(RENAMES)) { - for (const base of ['system/agents', 'system/templates']) { + for (const base of ['system/agents']) { // 28 批次 1:system/templates/ 已并入 system/agents/ const from = `${base}/${oldName}`; const to = `${base}/${newName}`; const fromAbs = path.join(ROOT, from); diff --git a/scripts/real-pm-smoke.js b/scripts/real-pm-smoke.js index c28fcbe..011533b 100644 --- a/scripts/real-pm-smoke.js +++ b/scripts/real-pm-smoke.js @@ -64,7 +64,7 @@ async function main() { ].join('\n'); console.log('▸ calling devloop-pm via real claude CLI...'); - console.log(` (system prompt: system/templates/devloop-pm/prompt.md, ~3KB)\n`); + console.log(` (system prompt: system/agents/devloop-pm/prompt.md, ~3KB)\n`); const startMs = Date.now(); let chunkCount = 0;