From 94c4c8b88751176d4ccc71f571247794bebd72e2 Mon Sep 17 00:00:00 2001 From: chiguyong Date: Sun, 14 Jun 2026 16:35:01 +0800 Subject: [PATCH] feat: accumulated frontend enhancements, docs, and static assets - Frontend view updates (ChatView, EvolutionView, SkillsView, etc.) - Updated portal routes and chat store - New frontend components (FilePreview, ToolCallCard, IconNav) - Updated static build assets - New test files (merged router, parallel tools, ReWOO fallback) - Documentation and brainstorm files - Codegraph and understand-anything artifacts --- .agents/skills/find-skills/SKILL.md | 142 + .agents/skills/open-code-review/SKILL.md | 231 + .codegraph/.gitignore | 16 + .cursor/rules/codegraph.mdc | 39 + .understand-anything/build_kg.py | 818 + .understand-anything/dashboard.html | 315 + .understand-anything/fingerprints.json | 250 + .understand-anything/knowledge-graph.json | 52190 ++++++++++++++++ .understand-anything/meta.json | 6 + README.md | 432 +- docs/GEO-INTEGRATION-GUIDE.md | 5 +- .../plan.md | 765 + .../requirements.md | 212 + .../2026-06-09-clawith-research-prompt.md | 183 + ...latform-experience-upgrade-requirements.md | 191 + ...6-06-13-gui-productization-requirements.md | 190 + .../2026-06-13-gui-redesign-requirements.md | 220 + ...feat-agentkit-phase8-chat-adaptive-plan.md | 550 + ...8-016-feat-agentkit-layered-memory-plan.md | 308 + ...t-agentkit-multi-agent-marketplace-plan.md | 597 + ...020-feat-pipeline-adversarial-loop-plan.md | 404 + ...ntkit-phase9-integrated-next-stage-plan.md | 490 + ...-06-13-001-feat-gui-productization-plan.md | 382 + ...3-feat-platform-experience-upgrade-plan.md | 807 + ...4-001-feat-p0-production-hardening-plan.md | 498 + ...026-06-14-002-u1-llm-cache-architecture.md | 616 + ...2026-06-14-003-u2-llm-cache-integration.md | 271 + .../2026-06-14-004-u3-semantic-router.md | 235 + ocr | Bin 0 -> 11353949 bytes skills-lock.json | 17 + src/agentkit/llm/providers/usage_store.py | 2 +- src/agentkit/quality/cascade_state_store.py | 8 +- src/agentkit/server/frontend/components.d.ts | 93 + src/agentkit/server/frontend/src/App.vue | 2 +- src/agentkit/server/frontend/src/api/types.ts | 12 + .../src/components/chat/ChatInput.vue | 13 +- .../src/components/chat/ChatMessage.vue | 225 +- .../src/components/chat/ChatSidebar.vue | 9 +- .../src/components/chat/FilePreview.vue | 155 + .../src/components/chat/MentionDropdown.vue | 32 +- .../src/components/chat/ToolCallCard.vue | 206 + .../evolution/DashboardOverview.vue | 359 +- .../evolution/ExperienceTimeline.vue | 103 +- .../src/components/evolution/PitfallPanel.vue | 74 +- .../src/components/layout/IconNav.vue | 150 + .../src/components/layout/QuadrantPanel.vue | 28 +- .../src/components/layout/SplitPane.vue | 12 +- .../src/components/skills/SkillCard.vue | 22 +- .../server/frontend/src/router/index.ts | 16 +- .../server/frontend/src/stores/chat.ts | 124 +- .../server/frontend/src/stores/theme.ts | 35 +- .../server/frontend/src/styles/responsive.css | 23 +- .../server/frontend/src/styles/theme.ts | 59 +- .../frontend/src/styles/transitions.css | 33 +- .../server/frontend/src/views/ChatView.vue | 108 +- .../frontend/src/views/EvolutionView.vue | 18 +- .../frontend/src/views/SettingsView.vue | 3 +- .../server/frontend/src/views/SkillsView.vue | 4 +- .../frontend/src/views/WorkflowView.vue | 8 + src/agentkit/server/routes/portal.py | 113 +- src/agentkit/server/routes/skills.py | 3 +- .../static/assets/AgentLayout-BoHQ-707.css | 1 - .../static/assets/AgentLayout-CQsfOrfB.js | 2 - .../static/assets/AppLayout-DtmIrV-6.js | 1 - .../assets/AppstoreOutlined-9JgVwya2.js | 1 - .../server/static/assets/ChatView-BXdrpfq3.js | 33 - .../static/assets/ChatView-Qd8xFa-f.css | 1 - .../server/static/assets/Checkbox-DC6g3ROJ.js | 1 - .../static/assets/ComputerUseView-YPXC2irq.js | 1 - .../static/assets/DeleteOutlined-1KmeV5Dj.js | 105 - .../static/assets/DesktopOutlined-m1Bno1aW.js | 1 - .../server/static/assets/Dropdown-CMTEjtJL.js | 24 - .../static/assets/EvolutionView-C4KDa_Qc.css | 1 - .../static/assets/EvolutionView-CWQm0Pq8.js | 40 - .../assets/FolderOpenOutlined-4T_PmCKs.js | 1 - .../static/assets/FormItemContext-BhaNA-Ih.js | 1 - .../assets/KnowledgeBaseView-BQ07J8lv.js | 14 - .../static/assets/LeftOutlined-eZ7K677W.js | 1 - .../static/assets/PlusOutlined-DtaYeIdT.js | 1 - .../static/assets/SettingOutlined-Dw_jq9HX.js | 1 - .../static/assets/SettingsView-1Lv4tiIK.js | 1 - .../static/assets/SettingsView-DU8lFOKb.css | 1 - .../static/assets/SkillsView-C1h55c-o.css | 1 - .../static/assets/SkillsView-DZldEZO4.js | 1 - .../static/assets/TerminalView-SwAp9rWE.js | 1 - .../static/assets/UserOutlined-dYk0zdiy.js | 1 - .../static/assets/WorkflowView-CkW9lcI4.css | 1 - .../static/assets/WorkflowView-a2QNzFaq.js | 26 - .../_plugin-vue_export-helper-BXCjjis4.js | 1 - .../server/static/assets/base-Cow5GIMt.js | 1 - .../server/static/assets/chat-BUezKUB6.js | 1 - .../server/static/assets/client-DqZAWx8A.js | 1 - .../server/static/assets/index-1C3jTpKA.js | 1 - .../server/static/assets/index-7CSmvneG.js | 2 - .../server/static/assets/index-BZ2zXBU8.js | 3 - .../server/static/assets/index-BcYNajIr.js | 1 - .../server/static/assets/index-BsLYDQ_b.js | 1 - .../server/static/assets/index-C643gxCs.js | 1 - .../server/static/assets/index-CGYWic9O.js | 1 - .../server/static/assets/index-CHYx4bhh.js | 18 - .../server/static/assets/index-CMOUF6MJ.js | 141 - .../server/static/assets/index-Ck9xsg_d.js | 19 - .../server/static/assets/index-CqwY2lQz.css | 1 - .../server/static/assets/index-D4NsMLD-.js | 3 - .../server/static/assets/index-D8cNCNrv.js | 7 - .../server/static/assets/index-D9MO3MSj.js | 1 - .../server/static/assets/index-DElG9jy6.js | 23 - .../server/static/assets/index-DKO06twN.js | 1 - .../server/static/assets/index-Dut1Rnm8.js | 7 - .../server/static/assets/index-LmmgEBrA.js | 17 - .../server/static/assets/index-cPkTPAms.js | 13 - .../server/static/assets/index-kndtlfwZ.js | 1 - .../static/assets/pickAttrs-BFS_Qmv5.js | 18 - .../assets/responsiveObserve-Dor1RzIw.js | 1 - .../static/assets/styleChecker-C6HHvEvp.js | 1 - .../server/static/assets/zoom-BE7hnYTX.js | 14 - src/agentkit/server/static/index.html | 4 +- src/agentkit/tools/computer_use_session.py | 44 +- src/agentkit/tools/memory_tool.py | 53 +- src/agentkit/tools/shell.py | 3 + tests/integration/test_merged_router.py | 368 + tests/integration/test_parallel_tools.py | 341 + .../test_rewoo_configurable_fallback.py | 413 + tests/test_routing_chain.py | 441 + 124 files changed, 64726 insertions(+), 937 deletions(-) create mode 100644 .agents/skills/find-skills/SKILL.md create mode 100644 .agents/skills/open-code-review/SKILL.md create mode 100644 .codegraph/.gitignore create mode 100644 .cursor/rules/codegraph.mdc create mode 100644 .understand-anything/build_kg.py create mode 100644 .understand-anything/dashboard.html create mode 100644 .understand-anything/fingerprints.json create mode 100644 .understand-anything/knowledge-graph.json create mode 100644 .understand-anything/meta.json create mode 100644 docs/brainstorms/2026-06-09-agentkit-capability-matrix/plan.md create mode 100644 docs/brainstorms/2026-06-09-agentkit-capability-matrix/requirements.md create mode 100644 docs/brainstorms/2026-06-09-clawith-research-prompt.md create mode 100644 docs/brainstorms/2026-06-13-agentkit-platform-experience-upgrade-requirements.md create mode 100644 docs/brainstorms/2026-06-13-gui-productization-requirements.md create mode 100644 docs/brainstorms/2026-06-13-gui-redesign-requirements.md create mode 100644 docs/plans/2026-06-07-015-feat-agentkit-phase8-chat-adaptive-plan.md create mode 100644 docs/plans/2026-06-08-016-feat-agentkit-layered-memory-plan.md create mode 100644 docs/plans/2026-06-09-017-feat-agentkit-multi-agent-marketplace-plan.md create mode 100644 docs/plans/2026-06-12-020-feat-pipeline-adversarial-loop-plan.md create mode 100644 docs/plans/2026-06-12-022-feat-agentkit-phase9-integrated-next-stage-plan.md create mode 100644 docs/plans/2026-06-13-001-feat-gui-productization-plan.md create mode 100644 docs/plans/2026-06-13-003-feat-platform-experience-upgrade-plan.md create mode 100644 docs/plans/2026-06-14-001-feat-p0-production-hardening-plan.md create mode 100644 docs/plans/2026-06-14-002-u1-llm-cache-architecture.md create mode 100644 docs/plans/2026-06-14-003-u2-llm-cache-integration.md create mode 100644 docs/plans/2026-06-14-004-u3-semantic-router.md create mode 100644 ocr create mode 100644 skills-lock.json create mode 100644 src/agentkit/server/frontend/components.d.ts create mode 100644 src/agentkit/server/frontend/src/components/chat/FilePreview.vue create mode 100644 src/agentkit/server/frontend/src/components/chat/ToolCallCard.vue create mode 100644 src/agentkit/server/frontend/src/components/layout/IconNav.vue delete mode 100644 src/agentkit/server/static/assets/AgentLayout-BoHQ-707.css delete mode 100644 src/agentkit/server/static/assets/AgentLayout-CQsfOrfB.js delete mode 100644 src/agentkit/server/static/assets/AppLayout-DtmIrV-6.js delete mode 100644 src/agentkit/server/static/assets/AppstoreOutlined-9JgVwya2.js delete mode 100644 src/agentkit/server/static/assets/ChatView-BXdrpfq3.js delete mode 100644 src/agentkit/server/static/assets/ChatView-Qd8xFa-f.css delete mode 100644 src/agentkit/server/static/assets/Checkbox-DC6g3ROJ.js delete mode 100644 src/agentkit/server/static/assets/ComputerUseView-YPXC2irq.js delete mode 100644 src/agentkit/server/static/assets/DeleteOutlined-1KmeV5Dj.js delete mode 100644 src/agentkit/server/static/assets/DesktopOutlined-m1Bno1aW.js delete mode 100644 src/agentkit/server/static/assets/Dropdown-CMTEjtJL.js delete mode 100644 src/agentkit/server/static/assets/EvolutionView-C4KDa_Qc.css delete mode 100644 src/agentkit/server/static/assets/EvolutionView-CWQm0Pq8.js delete mode 100644 src/agentkit/server/static/assets/FolderOpenOutlined-4T_PmCKs.js delete mode 100644 src/agentkit/server/static/assets/FormItemContext-BhaNA-Ih.js delete mode 100644 src/agentkit/server/static/assets/KnowledgeBaseView-BQ07J8lv.js delete mode 100644 src/agentkit/server/static/assets/LeftOutlined-eZ7K677W.js delete mode 100644 src/agentkit/server/static/assets/PlusOutlined-DtaYeIdT.js delete mode 100644 src/agentkit/server/static/assets/SettingOutlined-Dw_jq9HX.js delete mode 100644 src/agentkit/server/static/assets/SettingsView-1Lv4tiIK.js delete mode 100644 src/agentkit/server/static/assets/SettingsView-DU8lFOKb.css delete mode 100644 src/agentkit/server/static/assets/SkillsView-C1h55c-o.css delete mode 100644 src/agentkit/server/static/assets/SkillsView-DZldEZO4.js delete mode 100644 src/agentkit/server/static/assets/TerminalView-SwAp9rWE.js delete mode 100644 src/agentkit/server/static/assets/UserOutlined-dYk0zdiy.js delete mode 100644 src/agentkit/server/static/assets/WorkflowView-CkW9lcI4.css delete mode 100644 src/agentkit/server/static/assets/WorkflowView-a2QNzFaq.js delete mode 100644 src/agentkit/server/static/assets/_plugin-vue_export-helper-BXCjjis4.js delete mode 100644 src/agentkit/server/static/assets/base-Cow5GIMt.js delete mode 100644 src/agentkit/server/static/assets/chat-BUezKUB6.js delete mode 100644 src/agentkit/server/static/assets/client-DqZAWx8A.js delete mode 100644 src/agentkit/server/static/assets/index-1C3jTpKA.js delete mode 100644 src/agentkit/server/static/assets/index-7CSmvneG.js delete mode 100644 src/agentkit/server/static/assets/index-BZ2zXBU8.js delete mode 100644 src/agentkit/server/static/assets/index-BcYNajIr.js delete mode 100644 src/agentkit/server/static/assets/index-BsLYDQ_b.js delete mode 100644 src/agentkit/server/static/assets/index-C643gxCs.js delete mode 100644 src/agentkit/server/static/assets/index-CGYWic9O.js delete mode 100644 src/agentkit/server/static/assets/index-CHYx4bhh.js delete mode 100644 src/agentkit/server/static/assets/index-CMOUF6MJ.js delete mode 100644 src/agentkit/server/static/assets/index-Ck9xsg_d.js delete mode 100644 src/agentkit/server/static/assets/index-CqwY2lQz.css delete mode 100644 src/agentkit/server/static/assets/index-D4NsMLD-.js delete mode 100644 src/agentkit/server/static/assets/index-D8cNCNrv.js delete mode 100644 src/agentkit/server/static/assets/index-D9MO3MSj.js delete mode 100644 src/agentkit/server/static/assets/index-DElG9jy6.js delete mode 100644 src/agentkit/server/static/assets/index-DKO06twN.js delete mode 100644 src/agentkit/server/static/assets/index-Dut1Rnm8.js delete mode 100644 src/agentkit/server/static/assets/index-LmmgEBrA.js delete mode 100644 src/agentkit/server/static/assets/index-cPkTPAms.js delete mode 100644 src/agentkit/server/static/assets/index-kndtlfwZ.js delete mode 100644 src/agentkit/server/static/assets/pickAttrs-BFS_Qmv5.js delete mode 100644 src/agentkit/server/static/assets/responsiveObserve-Dor1RzIw.js delete mode 100644 src/agentkit/server/static/assets/styleChecker-C6HHvEvp.js delete mode 100644 src/agentkit/server/static/assets/zoom-BE7hnYTX.js create mode 100644 tests/integration/test_merged_router.py create mode 100644 tests/integration/test_parallel_tools.py create mode 100644 tests/integration/test_rewoo_configurable_fallback.py create mode 100644 tests/test_routing_chain.py diff --git a/.agents/skills/find-skills/SKILL.md b/.agents/skills/find-skills/SKILL.md new file mode 100644 index 0000000..114c663 --- /dev/null +++ b/.agents/skills/find-skills/SKILL.md @@ -0,0 +1,142 @@ +--- +name: find-skills +description: Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill. +--- + +# Find Skills + +This skill helps you discover and install skills from the open agent skills ecosystem. + +## When to Use This Skill + +Use this skill when the user: + +- Asks "how do I do X" where X might be a common task with an existing skill +- Says "find a skill for X" or "is there a skill for X" +- Asks "can you do X" where X is a specialized capability +- Expresses interest in extending agent capabilities +- Wants to search for tools, templates, or workflows +- Mentions they wish they had help with a specific domain (design, testing, deployment, etc.) + +## What is the Skills CLI? + +The Skills CLI (`npx skills`) is the package manager for the open agent skills ecosystem. Skills are modular packages that extend agent capabilities with specialized knowledge, workflows, and tools. + +**Key commands:** + +- `npx skills find [query]` - Search for skills interactively or by keyword +- `npx skills add ` - Install a skill from GitHub or other sources +- `npx skills check` - Check for skill updates +- `npx skills update` - Update all installed skills + +**Browse skills at:** https://skills.sh/ + +## How to Help Users Find Skills + +### Step 1: Understand What They Need + +When a user asks for help with something, identify: + +1. The domain (e.g., React, testing, design, deployment) +2. The specific task (e.g., writing tests, creating animations, reviewing PRs) +3. Whether this is a common enough task that a skill likely exists + +### Step 2: Check the Leaderboard First + +Before running a CLI search, check the [skills.sh leaderboard](https://skills.sh/) to see if a well-known skill already exists for the domain. The leaderboard ranks skills by total installs, surfacing the most popular and battle-tested options. + +For example, top skills for web development include: +- `vercel-labs/agent-skills` — React, Next.js, web design (100K+ installs each) +- `anthropics/skills` — Frontend design, document processing (100K+ installs) + +### Step 3: Search for Skills + +If the leaderboard doesn't cover the user's need, run the find command: + +```bash +npx skills find [query] +``` + +For example: + +- User asks "how do I make my React app faster?" → `npx skills find react performance` +- User asks "can you help me with PR reviews?" → `npx skills find pr review` +- User asks "I need to create a changelog" → `npx skills find changelog` + +### Step 4: Verify Quality Before Recommending + +**Do not recommend a skill based solely on search results.** Always verify: + +1. **Install count** — Prefer skills with 1K+ installs. Be cautious with anything under 100. +2. **Source reputation** — Official sources (`vercel-labs`, `anthropics`, `microsoft`) are more trustworthy than unknown authors. +3. **GitHub stars** — Check the source repository. A skill from a repo with <100 stars should be treated with skepticism. + +### Step 5: Present Options to the User + +When you find relevant skills, present them to the user with: + +1. The skill name and what it does +2. The install count and source +3. The install command they can run +4. A link to learn more at skills.sh + +Example response: + +``` +I found a skill that might help! The "react-best-practices" skill provides +React and Next.js performance optimization guidelines from Vercel Engineering. +(185K installs) + +To install it: +npx skills add vercel-labs/agent-skills@react-best-practices + +Learn more: https://skills.sh/vercel-labs/agent-skills/react-best-practices +``` + +### Step 6: Offer to Install + +If the user wants to proceed, you can install the skill for them: + +```bash +npx skills add -g -y +``` + +The `-g` flag installs globally (user-level) and `-y` skips confirmation prompts. + +## Common Skill Categories + +When searching, consider these common categories: + +| Category | Example Queries | +| --------------- | ---------------------------------------- | +| Web Development | react, nextjs, typescript, css, tailwind | +| Testing | testing, jest, playwright, e2e | +| DevOps | deploy, docker, kubernetes, ci-cd | +| Documentation | docs, readme, changelog, api-docs | +| Code Quality | review, lint, refactor, best-practices | +| Design | ui, ux, design-system, accessibility | +| Productivity | workflow, automation, git | + +## Tips for Effective Searches + +1. **Use specific keywords**: "react testing" is better than just "testing" +2. **Try alternative terms**: If "deploy" doesn't work, try "deployment" or "ci-cd" +3. **Check popular sources**: Many skills come from `vercel-labs/agent-skills` or `ComposioHQ/awesome-claude-skills` + +## When No Skills Are Found + +If no relevant skills exist: + +1. Acknowledge that no existing skill was found +2. Offer to help with the task directly using your general capabilities +3. Suggest the user could create their own skill with `npx skills init` + +Example: + +``` +I searched for skills related to "xyz" but didn't find any matches. +I can still help you with this task directly! Would you like me to proceed? + +If this is something you do often, you could create your own skill: +npx skills init my-xyz-skill +``` diff --git a/.agents/skills/open-code-review/SKILL.md b/.agents/skills/open-code-review/SKILL.md new file mode 100644 index 0000000..ff61473 --- /dev/null +++ b/.agents/skills/open-code-review/SKILL.md @@ -0,0 +1,231 @@ +--- +name: open-code-review +description: > + Performs AI-powered code review on Git changes using the `ocr` CLI from + alibaba/open-code-review. Use when the user asks to review code, review + a pull request, review staged/unstaged changes, review a commit, or + compare branches for code quality issues. Produces line-level review + comments and can automatically apply fixes when requested. With appropriate + review rules, can detect various types of issues including bugs, security + vulnerabilities, performance problems, and code quality concerns. +license: Apache-2.0 +compatibility: > + Requires the `ocr` CLI installed (via `npm install -g + @alibaba-group/open-code-review` or GitHub release binary). Requires a + configured LLM (Anthropic or OpenAI-compatible) before first run. +metadata: + author: alibaba + homepage: https://github.com/alibaba/open-code-review + version: "1.0.0" +--- + +# Open Code Review + +A skill for invoking [open-code-review](https://github.com/alibaba/open-code-review) (`ocr`) — an open-source AI code review CLI that reads Git diffs and generates structured, line-level review comments. + +## Prerequisites check + +Before starting a review, verify the environment: + +```bash +# 1. Check the CLI is installed +which ocr || echo "NOT INSTALLED" + +# 2. Verify LLM connectivity +ocr llm test +``` + +If `ocr` is not installed, install it first: + +```bash +npm install -g @alibaba-group/open-code-review +``` + +If `ocr llm test` fails, the user must configure an LLM. Guide them with one of these options: + +**Option A — Environment variables (highest priority, recommended for CI):** + +```bash +export OCR_LLM_URL=https://api.anthropic.com/v1/messages +export OCR_LLM_TOKEN= +export OCR_LLM_MODEL=claude-opus-4-6 +export OCR_USE_ANTHROPIC=true +``` + +**Option B — Persistent config:** + +```bash +ocr config set llm.url https://api.anthropic.com/v1/messages +ocr config set llm.auth_token +ocr config set llm.model claude-opus-4-6 +ocr config set llm.use_anthropic true +``` + +Stop here and ask the user to provide credentials — never invent or hardcode API keys. + +## Workflow + +### Step 1: Gather Business Context + +Analyze the review target (commits, branch, or changes) to extract concise business context. Pass this context via `--background` to improve review quality. + +### Step 2: Run Code Review + +Run the OCR command with appropriate flags. **Always pass business context via `--background`** when available: + +```bash +ocr review --audience agent --background "business context here" [user-args] +``` + +**Argument handling:** + +- **Background context** (RECOMMENDED): use `--background "context"` or `-b "context"` to provide business context for better review quality +- **Default** (no user arguments): reviews staged, unstaged, and untracked changes (workspace mode) +- **Specific commit**: use `--commit` or `-c` to review a single commit against its parent +- **Branch comparison**: use `--from ` and `--to ` to review diff between two refs +- **Timeout**: default timeout is 10 minutes per file; adjust with `--timeout ` +- **Concurrency**: default concurrency is 8 file workers; reduce with `--concurrency ` if rate limits are hit +- **Preview mode**: use `--preview` or `-p` to preview which files will be reviewed without running the LLM +- **Installation**: if `ocr` command is not found, install it by running `npm i -g @alibaba-group/open-code-review` + +**Common invocation patterns:** + +| User says | Command to run | +|-----------|---------------| +| "review my changes" / "review the working copy" | `ocr review --audience agent -b "context"` | +| "review this PR" / "review feature branch" | `ocr review --audience agent -b "context" --from main --to ` | +| "review commit abc123" | `ocr review --audience agent -b "context" --commit abc123` | +| "what would be reviewed?" (dry-run) | `ocr review --preview` | + +**Output mode:** + +- Always use `--audience agent` to suppress progress UI and emit only the final summary + +### Step 3: Classify and Report + +For each comment from the review output, classify by priority and report all issues to the user: + +- **High**: Obvious bugs, security issues, clear mistakes, or well-founded suggestions with precise fix proposals +- **Medium**: Reasonable concerns but context-dependent, style/performance suggestions, or fixes that require manual implementation +- **Low**: Likely false positives, lacking sufficient context, nitpicks, or meaningless suggestions + +Report all comments grouped by priority level. + +### Step 4: Fix + +Before applying fixes, check whether the user requested automatic fixes: + +- If the user explicitly requested "review and fix" or similar, proceed with automatic fixes +- If the user only requested "review" without fix intent, ask for permission before applying any changes + +When fixing issues and suggestions: + +- Focus on High and Medium priority items +- Apply fixes directly to the code when safe and well-defined +- For complex fixes requiring manual intervention, clearly describe what needs to be done +- Always verify fixes with the user before committing + +## Output Format + +Each comment contains: + +- `path`: File path +- `content`: Review comment text +- `start_line` / `end_line`: Line range (both 0 means positioning failed) +- `suggestion_code`: Optional fix suggestion +- `existing_code`: Optional original code snippet +- `thinking`: Optional LLM reasoning process + +After filtering comments by priority, present results using this template: + +```markdown +## Code Review Results + +**Files reviewed**: N +**Issues found**: X high priority / Y medium priority + +### High Priority + +- **`path/to/file.java:42`** — Brief description + > Recommendation: How to fix + +### Medium Priority + +- **`path/to/file.ts:88`** — Brief description + > Recommendation: How to fix (if applicable) +``` + +If the review found no issues after filtering, simply state: "Review complete — no issues found in N files." + +**Priority classification:** + +- **High**: Obvious bugs, security issues, clear mistakes, or well-founded suggestions with precise fix proposals +- **Medium**: Reasonable concerns but context-dependent, style/performance suggestions, or fixes that require manual implementation +- **Low**: Discarded silently (likely false positives, lacking context, nitpicks, or meaningless suggestions) + +**Handling mispositioned comments:** + +When `start_line` and `end_line` are both `0`, the comment failed to locate the exact position in the file. In such cases: + +1. Read the comment content to understand the issue +2. Examine the target file mentioned in the comment +3. Identify the relevant code section based on the comment's context +4. Apply the fix or suggestion to the correct location + +## Custom Review Rules + +If the user wants project-specific rules, OCR resolves them in this priority order: + +1. `--rule ` flag (highest) +2. `/.opencodereview/rule.json` +3. `~/.opencodereview/rule.json` +4. Built-in system defaults (lowest) + +Rule file format: + +```json +{ + "rules": [ + { + "path": "**/*.java", + "rule": "All new methods must validate required parameters for null" + }, + { + "path": "**/*mapper*.xml", + "rule": "Check SQL for injection risks and missing closing tags" + } + ] +} +``` + +To preview which rule applies to a file before reviewing: + +```bash +ocr rules check src/main/java/com/example/Foo.java +``` + +## Gotchas + +- **LLM must be configured first** — `ocr review` will fail loudly if no LLM is reachable. Always run `ocr llm test` before the first review. +- **Working directory matters** — `ocr review` operates on the Git repo at the current directory. Use `--repo /path/to/repo` to run from elsewhere. +- **Untracked files are reviewed in workspace mode** — running bare `ocr review` includes staged, unstaged, *and* untracked changes. Stage selectively if you want narrower scope. +- **Large diffs may hit token limits** — files with very large diffs may be truncated. The default `MAX_TOKENS` is 58888 per request. +- **Plan phase triggers at 50 lines** — diffs exceeding 50 changed lines run an extra risk-analysis phase before main review. This adds latency but improves quality. +- **Don't pass `--audience human`** — it streams progress UI that pollutes output. Always use `--audience agent`. +- **Comment language follows config** — set `language` config to `English` or `Chinese` (default: Chinese) to control review comment language. + +## Validation + +After the review completes, verify success by checking: + +1. The command exited with code 0 +2. Comments were generated (or "No comments generated" message appears) +3. Warnings (if any) are displayed in stderr + +If errors occurred, check the stderr warnings for details about which files failed and why. + +## References + +- Full docs: https://github.com/alibaba/open-code-review +- NPM package: https://www.npmjs.com/package/@alibaba-group/open-code-review +- Issue tracker: https://github.com/alibaba/open-code-review/issues diff --git a/.codegraph/.gitignore b/.codegraph/.gitignore new file mode 100644 index 0000000..9de0f16 --- /dev/null +++ b/.codegraph/.gitignore @@ -0,0 +1,16 @@ +# CodeGraph data files +# These are local to each machine and should not be committed + +# Database +*.db +*.db-wal +*.db-shm + +# Cache +cache/ + +# Logs +*.log + +# Hook markers +.dirty diff --git a/.cursor/rules/codegraph.mdc b/.cursor/rules/codegraph.mdc new file mode 100644 index 0000000..00a3f81 --- /dev/null +++ b/.cursor/rules/codegraph.mdc @@ -0,0 +1,39 @@ +--- +description: CodeGraph MCP usage guide — when to use which tool +alwaysApply: true +--- + +## CodeGraph + +This project has a CodeGraph MCP server (`codegraph_*` tools) configured. CodeGraph is a tree-sitter-parsed knowledge graph of every symbol, edge, and file. Reads are sub-millisecond and return structural information grep cannot. + +### When to prefer codegraph over native search + +Use codegraph for **structural** questions — what calls what, what would break, where is X defined, what is X's signature. Use native grep/read only for **literal text** queries (string contents, comments, log messages) or after you already have a specific file open. + +| Question | Tool | +|---|---| +| "Where is X defined?" / "Find symbol named X" | `codegraph_search` | +| "What calls function Y?" | `codegraph_callers` | +| "What does Y call?" | `codegraph_callees` | +| "How does X reach/become Y? / trace the flow from X to Y" | `codegraph_trace` (one call = the whole path, incl. callback/React/JSX dynamic hops) | +| "What would break if I changed Z?" | `codegraph_impact` | +| "Show me Y's signature / source / docstring" | `codegraph_node` | +| "Give me focused context for a task/area" | `codegraph_context` | +| "See several related symbols' source at once" | `codegraph_explore` | +| "What files exist under path/" | `codegraph_files` | +| "Is the index healthy?" | `codegraph_status` | + +### Rules of thumb + +- **Answer directly — don't delegate exploration.** For "how does X work" / architecture questions, answer with 2-3 codegraph calls: `codegraph_context` first, then ONE `codegraph_explore` for the source of the symbols it surfaces. For a specific **flow** ("how does X reach Y") start with `codegraph_trace` from→to — one call returns the whole path with dynamic hops bridged — then ONE `codegraph_explore` for the bodies; don't rebuild the path with `codegraph_search` + `codegraph_callers`. Codegraph IS the pre-built index, so spawning a separate file-reading sub-task/agent — or running a grep + read loop — repeats work codegraph already did and costs more for the same answer. +- **Trust codegraph results.** They come from a full AST parse. Do NOT re-verify them with grep — that's slower, less accurate, and wastes context. +- **Don't grep first** when looking up a symbol by name. `codegraph_search` is faster and returns kind + location + signature in one call. +- **Don't chain `codegraph_search` + `codegraph_node`** when you just want context — `codegraph_context` is one call. +- **Don't loop `codegraph_node` over many symbols** — one `codegraph_explore` call returns several symbols' source grouped in a single capped call, while each separate node/Read call re-reads the whole context and costs far more. +- **Index lag — check the staleness banner, don't guess a wait.** When a codegraph response starts with "⚠️ Some files referenced below were edited since the last index sync…", the listed files are pending re-index — Read those specific files for accurate content. Files NOT in that banner are fresh and codegraph is authoritative for them. `codegraph_status` also lists pending files under "Pending sync". + +### If `.codegraph/` doesn't exist + +The MCP server returns "not initialized." Ask the user: *"I notice this project doesn't have CodeGraph initialized. Want me to run `codegraph init -i` to build the index?"* + diff --git a/.understand-anything/build_kg.py b/.understand-anything/build_kg.py new file mode 100644 index 0000000..c28abc6 --- /dev/null +++ b/.understand-anything/build_kg.py @@ -0,0 +1,818 @@ +#!/usr/bin/env python3 +"""Knowledge Graph Builder for Fischer AgentKit + +Scans all Python source files under src/agentkit/ and configs/, +extracts classes, functions, imports, and builds a comprehensive +knowledge graph JSON file. +""" + +import ast +import json +import os +import sys +import uuid +from datetime import datetime, timezone +from pathlib import Path +from typing import Any + +# Project root +PROJECT_ROOT = Path("/Users/Chiguyong/Code/Fischer/fischer-agentkit") +OUTPUT_PATH = PROJECT_ROOT / ".understand-anything" / "knowledge-graph.json" + +# Directories to scan +SCAN_DIRS = [ + PROJECT_ROOT / "src" / "agentkit", + PROJECT_ROOT / "configs", +] + +# Architecture layer mapping +LAYER_MAP = { + "server": "api", + "cli": "api", + "core": "service", + "orchestrator": "service", + "skills": "service", + "router": "service", + "memory": "data", + "session": "data", + "bus": "data", + "llm": "utility", + "mcp": "utility", + "tools": "utility", + "telemetry": "utility", + "prompts": "utility", + "quality": "utility", + "evaluation": "utility", + "evolution": "utility", + "configs": "utility", +} + +# Chinese summaries for modules +MODULE_SUMMARIES = { + "core": "核心模块 - 定义Agent基类、通信协议、ReAct引擎、任务分发、注册中心等基础组件", + "core.base": "Agent基类 - 统一Agent生命周期管理,包括启动、停止、任务执行、Handoff、进度上报", + "core.protocol": "通信协议定义 - 统一消息格式,包括TaskMessage、TaskResult、TaskProgress、HandoffMessage等", + "core.react": "ReAct推理-行动循环引擎 - 实现Think→Act→Observe循环,支持工具调用和文本解析模式", + "core.exceptions": "自定义异常体系 - 定义Agent框架所有异常类型", + "core.dispatcher": "任务分发器 - 通过Redis Queue将任务分发给Agent,支持回调、重试、进度上报", + "core.registry": "Agent注册中心 - 管理Agent的注册、发现、状态、心跳和负载均衡", + "core.config_driven": "配置驱动Agent - 从YAML/Dict配置自动组装Agent,支持llm_generate/tool_call/custom三种模式", + "core.compressor": "上下文压缩器 - 长会话自动压缩历史消息,支持LLM摘要和简单截断策略", + "core.trace": "执行轨迹记录器 - 记录ReAct执行过程中的完整轨迹,为反思和可观测性提供数据", + "core.shared_workspace": "共享工作空间 - 基于Redis的Agent间共享状态存储,支持读写、锁操作", + "core.agent_pool": "Agent实例池 - 运行时管理Agent的创建、获取、删除", + "core.orchestrator": "多Agent协作编排器 - 实现Orchestrator-Worker模式,支持任务分解、并行执行、自适应编排", + "core.headroom_compressor": "Headroom AI压缩器 - 基于Headroom AI的上下文压缩实现", + "core.logging": "日志配置 - 统一日志格式和配置", + "core.standalone": "独立运行模式 - 支持Agent脱离框架独立运行", + + "llm": "LLM网关模块 - 多Provider统一网关,支持OpenAI/Anthropic/Gemini/文心/豆包/元宝等", + "llm.gateway": "LLM网关 - 统一多Provider调用接口,支持路由、重试、流式输出", + "llm.protocol": "LLM协议定义 - 定义LLMProvider、LLMRequest、LLMResponse等接口", + "llm.config": "LLM配置 - 模型别名、Provider配置管理", + "llm.retry": "LLM重试策略 - 指数退避重试和错误处理", + "llm.providers": "LLM Provider实现 - 各大模型服务商的具体适配器", + "llm.providers.openai": "OpenAI Provider - 支持GPT-4/GPT-3.5等模型", + "llm.providers.anthropic": "Anthropic Provider - 支持Claude系列模型", + "llm.providers.gemini": "Gemini Provider - 支持Google Gemini模型", + "llm.providers.wenxin": "文心一言Provider - 支持百度文心大模型", + "llm.providers.doubao": "豆包Provider - 支持字节豆包大模型", + "llm.providers.yuanbao": "元宝Provider - 支持腾讯元宝大模型", + "llm.providers.tracker": "LLM调用追踪器 - 记录和统计LLM调用", + + "tools": "工具模块 - 提供Agent可调用的各类工具", + "tools.base": "工具基类 - 定义Tool接口和标准执行流程", + "tools.registry": "工具注册中心 - 管理工具的注册、发现、获取", + "tools.shell": "Shell工具 - 执行系统命令", + "tools.web_search": "Web搜索工具 - 执行网络搜索", + "tools.web_crawl": "Web爬取工具 - 爬取网页内容", + "tools.memory_tool": "记忆工具 - Agent记忆读写操作", + "tools.ask_human": "人工介入工具 - 请求人类输入", + "tools.schema_tools": "Schema工具 - JSON Schema相关操作", + "tools.function_tool": "函数工具 - 将Python函数包装为Tool", + "tools.agent_tool": "Agent工具 - 将Agent包装为可调用Tool", + "tools.mcp_tool": "MCP工具 - MCP协议工具适配器", + "tools.composition": "工具组合 - 支持工具链式组合", + "tools.baidu_search": "百度搜索工具 - 百度搜索引擎集成", + "tools.headroom_retrieve": "Headroom检索工具 - Headroom AI知识检索", + + "memory": "记忆模块 - 多层记忆系统,支持工作记忆、情景记忆、语义记忆", + "memory.base": "记忆基类 - 定义Memory接口", + "memory.working": "工作记忆 - 基于Redis的短期工作记忆", + "memory.episodic": "情景记忆 - 基于向量数据库的长期情景记忆", + "memory.semantic": "语义记忆 - 基于RAG服务的语义知识检索", + "memory.profile": "用户画像 - 用户偏好和历史信息管理", + "memory.retriever": "记忆检索器 - 统一多层记忆检索接口", + "memory.embedder": "嵌入器 - 文本向量化,支持OpenAI Embedding", + "memory.models": "记忆数据模型 - Pydantic模型定义", + "memory.rag_loop": "RAG循环 - 检索增强生成的迭代循环", + "memory.query_transformer": "查询转换器 - 优化检索查询", + "memory.relevance_scorer": "相关性评分器 - 评估检索结果相关性", + "memory.contextual_retrieval": "上下文检索 - 基于上下文的检索增强", + "memory.http_rag": "HTTP RAG服务 - 远程RAG API客户端", + + "skills": "技能模块 - 定义可复用的Agent技能,包含意图、工具和质量门控", + "skills.base": "技能基类 - 定义Skill、SkillConfig、IntentConfig等", + "skills.registry": "技能注册中心 - 管理技能的注册、发现、获取", + "skills.loader": "技能加载器 - 从YAML配置加载技能定义", + "skills.pipeline": "技能Pipeline - 技能编排流程", + "skills.skill_md": "Markdown技能 - 从Markdown文档生成技能", + "skills.geo_pipeline": "GEO Pipeline - 地理信息处理Pipeline", + + "orchestrator": "编排模块 - Pipeline编排引擎,支持DAG工作流", + "orchestrator.pipeline_engine": "Pipeline引擎 - 执行DAG定义的工作流", + "orchestrator.pipeline_schema": "Pipeline Schema - Pipeline配置模型定义", + "orchestrator.pipeline_state": "Pipeline状态 - Pipeline执行状态管理", + "orchestrator.pipeline_models": "Pipeline模型 - Pipeline数据模型", + "orchestrator.pipeline_loader": "Pipeline加载器 - 从YAML加载Pipeline定义", + "orchestrator.reflection": "反思模块 - 执行后反思和改进", + "orchestrator.retry": "重试策略 - Pipeline步骤重试机制", + "orchestrator.compensation": "补偿机制 - Pipeline失败时的补偿操作", + "orchestrator.handoff": "Handoff - Agent间任务转交", + "orchestrator.dynamic_pipeline": "动态Pipeline - 运行时动态构建Pipeline", + + "router": "路由模块 - 意图路由,将用户输入匹配到对应技能", + "router.intent": "意图路由器 - 基于LLM的意图识别和路由", + + "quality": "质量模块 - 输出质量门控和标准化", + "quality.gate": "质量门控 - 检查Agent输出是否满足质量要求", + "quality.output": "输出标准化 - 统一Agent输出格式", + + "prompts": "Prompt模块 - Prompt模板和渲染", + "prompts.template": "Prompt模板 - 支持变量替换和Section组合", + "prompts.section": "Prompt Section - 定义Prompt的各组成部分", + + "bus": "消息总线模块 - Agent间异步通信", + "bus.protocol": "总线协议 - 定义消息总线接口", + "bus.message": "消息定义 - Agent间通信消息格式", + "bus.memory_bus": "内存消息总线 - 基于进程内队列的消息总线", + "bus.redis_bus": "Redis消息总线 - 基于Redis Pub/Sub的消息总线", + + "session": "会话模块 - 会话管理和持久化", + "session.manager": "会话管理器 - 管理对话会话的创建、获取、更新", + "session.store": "会话存储 - 会话数据的持久化存储", + "session.models": "会话模型 - 会话相关的数据模型", + + "server": "服务器模块 - FastAPI HTTP/WebSocket服务", + "server.app": "FastAPI应用 - 创建和配置FastAPI应用实例", + "server.config": "服务器配置 - 服务器运行参数配置", + "server.runner": "服务器运行器 - 启动和管理服务器进程", + "server.middleware": "中间件 - 请求处理中间件", + "server.client": "API客户端 - 服务端API客户端封装", + "server.client_config": "客户端配置 - API客户端配置管理", + "server.task_store": "任务存储 - 服务端任务状态存储", + "server.routes": "路由模块 - HTTP/WebSocket路由定义", + "server.routes.chat": "聊天路由 - 对话API端点", + "server.routes.ws": "WebSocket路由 - 实时通信端点", + "server.routes.tasks": "任务路由 - 任务管理API", + "server.routes.agents": "Agent路由 - Agent管理API", + "server.routes.skills": "技能路由 - 技能管理API", + "server.routes.memory": "记忆路由 - 记忆管理API", + "server.routes.llm": "LLM路由 - LLM配置和调用API", + "server.routes.health": "健康检查路由 - 服务健康状态端点", + "server.routes.metrics": "指标路由 - 运行指标API", + "server.routes.evolution": "进化路由 - Agent进化管理API", + + "cli": "命令行模块 - CLI工具", + "cli.main": "CLI入口 - Typer应用主入口", + "cli.chat": "聊天命令 - 交互式对话命令", + "cli.init": "初始化命令 - 项目初始化", + "cli.onboarding": "引导命令 - 新用户引导流程", + "cli.skill": "技能命令 - 技能管理CLI", + "cli.task": "任务命令 - 任务提交和管理CLI", + "cli.pair": "配对命令 - Agent配对", + "cli.usage": "使用统计命令 - 使用情况统计", + "cli.templates": "模板命令 - Agent模板管理", + + "mcp": "MCP协议模块 - Model Context Protocol集成", + "mcp.client": "MCP客户端 - 连接MCP服务器", + "mcp.server": "MCP服务器 - 提供MCP服务", + "mcp.manager": "MCP管理器 - 管理MCP连接", + "mcp.transport": "MCP传输层 - MCP通信传输实现", + + "telemetry": "遥测模块 - 可观测性支持", + "telemetry.tracing": "分布式追踪 - OpenTelemetry追踪集成", + "telemetry.metrics": "指标收集 - 运行指标收集和导出", + "telemetry.setup": "遥测设置 - 初始化遥测组件", + + "evolution": "进化模块 - Agent自我进化能力", + "evolution.lifecycle": "进化生命周期 - EvolutionMixin,任务后触发进化", + "evolution.reflector": "反思器 - 分析任务执行结果,生成改进建议", + "evolution.llm_reflector": "LLM反思器 - 使用LLM进行深度反思", + "evolution.prompt_optimizer": "Prompt优化器 - 自动优化Agent Prompt", + "evolution.strategy_tuner": "策略调优器 - 调整Agent执行策略", + "evolution.genetic": "遗传算法 - 基于遗传算法的Prompt进化", + "evolution.fitness": "适应度评估 - 评估进化变体的质量", + "evolution.ab_tester": "A/B测试 - 对比测试不同进化变体", + "evolution.evolution_store": "进化存储 - 持久化进化历史", + "evolution.models": "进化模型 - 进化相关数据模型", + + "evaluation": "评估模块 - Agent输出质量评估", + "evaluation.ragas_evaluator": "RAGAS评估器 - 使用RAGAS框架评估RAG质量", + + "configs": "配置模块 - Pipeline和技能YAML配置", + "configs.geo_server": "GEO服务器 - 地理信息HTTP服务", + "configs.geo_handlers": "GEO处理器 - 地理信息请求处理", + "configs.geo_tools": "GEO工具 - 地理信息相关工具定义", +} + + +def get_layer(file_path: str) -> str: + """Determine architecture layer from file path.""" + parts = file_path.replace("\\", "/").split("/") + # Check for configs/ prefix + if "configs" in parts: + return "utility" + # For src/agentkit/__init__.py and __main__.py, treat as service + if parts[-1] in ("__init__.py", "__main__.py") and len(parts) <= 4: + return "service" + for part in parts: + if part in LAYER_MAP: + return LAYER_MAP[part] + return "unknown" + + +def get_module_key(file_path: str) -> str: + """Get module key for summary lookup.""" + # Convert file path to module key + rel = file_path + if rel.startswith("src/agentkit/"): + rel = rel[len("src/agentkit/"):] + elif rel.startswith("configs/"): + rel = rel[len("configs/"):] + + # Remove __init__.py and .py suffix + rel = rel.replace("/__init__.py", "").replace(".py", "") + return rel + + +def get_file_summary(file_path: str, docstring: str = "") -> str: + """Get Chinese summary for a file.""" + # If we have a docstring, use it as base + if docstring: + # Clean up docstring + doc = docstring.strip().split("\n")[0].strip() + if doc: + return doc + + key = get_module_key(file_path) + # Try exact match first + if key in MODULE_SUMMARIES: + return MODULE_SUMMARIES[key] + # Try parent module + parts = key.split("/") + for i in range(len(parts) - 1, 0, -1): + parent_key = "/".join(parts[:i]) + if parent_key in MODULE_SUMMARIES: + return MODULE_SUMMARIES[parent_key] + return f"模块 {key}" + + +def estimate_complexity(node: ast.AST) -> str: + """Estimate complexity of an AST node.""" + if isinstance(node, (ast.FunctionDef, ast.AsyncFunctionDef)): + # Count branches, loops, nested functions + complexity = 1 + for child in ast.walk(node): + if isinstance(child, (ast.If, ast.While, ast.For, ast.ExceptHandler)): + complexity += 1 + elif isinstance(child, (ast.And, ast.Or)): + complexity += 1 + if complexity <= 3: + return "simple" + elif complexity <= 8: + return "moderate" + return "complex" + elif isinstance(node, ast.ClassDef): + methods = [n for n in node.body if isinstance(n, (ast.FunctionDef, ast.AsyncFunctionDef))] + if len(methods) <= 3: + return "simple" + elif len(methods) <= 8: + return "moderate" + return "complex" + return "simple" + + +def extract_class_info(node: ast.ClassDef, file_path: str) -> dict: + """Extract class information from AST node.""" + base_classes = [] + for base in node.bases: + if isinstance(base, ast.Name): + base_classes.append(base.id) + elif isinstance(base, ast.Attribute): + base_classes.append(ast.dump(base)) + + methods = [] + for item in node.body: + if isinstance(item, (ast.FunctionDef, ast.AsyncFunctionDef)): + params = [arg.arg for arg in item.args.args if arg.arg != "self"] + methods.append({ + "name": item.name, + "params": params, + "is_async": isinstance(item, ast.AsyncFunctionDef), + }) + + # Extract class docstring + docstring = ast.get_docstring(node) or "" + + return { + "name": node.name, + "base_classes": base_classes, + "methods": methods, + "complexity": estimate_complexity(node), + "docstring": docstring, + } + + +def extract_function_info(node: ast.FunctionDef | ast.AsyncFunctionDef) -> dict: + """Extract function information from AST node.""" + params = [arg.arg for arg in node.args.args] + + return_type = "" + if node.returns: + if isinstance(node.returns, ast.Name): + return_type = node.returns.id + elif isinstance(node.returns, ast.Constant): + return_type = str(node.returns.value) + else: + return_type = ast.dump(node.returns) + + return { + "name": node.name, + "params": params, + "return_type": return_type, + "is_async": isinstance(node, ast.AsyncFunctionDef), + "complexity": estimate_complexity(node), + } + + +def extract_imports(tree: ast.AST, file_path: str) -> list[dict]: + """Extract import information from AST.""" + imports = [] + for node in ast.walk(tree): + if isinstance(node, ast.ImportFrom): + if node.module and (node.module.startswith("agentkit") or node.module.startswith("configs")): + for alias in node.names: + imports.append({ + "from_module": node.module, + "import_name": alias.name, + }) + elif isinstance(node, ast.Import): + for alias in node.names: + if alias.name.startswith("agentkit") or alias.name.startswith("configs"): + imports.append({ + "from_module": None, + "import_name": alias.name, + }) + return imports + + +def module_to_file_path(module: str) -> str: + """Convert Python module path to file path.""" + parts = module.split(".") + + # Handle agentkit modules + if module.startswith("agentkit"): + # Skip "agentkit" prefix, it's under src/ + sub_parts = parts[1:] # skip "agentkit" + if not sub_parts: + return "src/agentkit/__init__.py" + # Try as package __init__.py + init_path = PROJECT_ROOT / "src" / "agentkit" / "/".join(sub_parts) / "__init__.py" + if init_path.exists(): + return f"src/agentkit/{'/'.join(sub_parts)}/__init__.py" + # Try as module.py + mod_path = PROJECT_ROOT / "src" / "agentkit" / ("/".join(sub_parts) + ".py") + if mod_path.exists(): + return f"src/agentkit/{'/'.join(sub_parts)}.py" + + # Handle configs modules + if module.startswith("configs"): + sub_parts = parts[1:] # skip "configs" + if not sub_parts: + return "configs/__init__.py" + mod_path = PROJECT_ROOT / "configs" / ("/".join(sub_parts) + ".py") + if mod_path.exists(): + return f"configs/{'/'.join(sub_parts)}.py" + + return "" + + +def scan_file(file_path: Path) -> dict: + """Scan a single Python file and extract all information.""" + try: + source = file_path.read_text(encoding="utf-8") + tree = ast.parse(source) + except (SyntaxError, UnicodeDecodeError): + return {"classes": [], "functions": [], "imports": [], "top_level_functions": [], "docstring": ""} + + rel_path = str(file_path.relative_to(PROJECT_ROOT)) + + # Extract module docstring + docstring = ast.get_docstring(tree) or "" + + classes = [] + functions = [] + top_level_functions = [] + + for node in ast.iter_child_nodes(tree): + if isinstance(node, ast.ClassDef): + classes.append(extract_class_info(node, rel_path)) + elif isinstance(node, (ast.FunctionDef, ast.AsyncFunctionDef)): + func_info = extract_function_info(node) + functions.append(func_info) + top_level_functions.append(func_info) + + imports = extract_imports(tree, rel_path) + + return { + "classes": classes, + "functions": top_level_functions, + "imports": imports, + "rel_path": rel_path, + "docstring": docstring, + } + + +def build_knowledge_graph(): + """Build the complete knowledge graph.""" + # Collect all Python files + py_files = [] + for scan_dir in SCAN_DIRS: + if scan_dir.exists(): + for py_file in scan_dir.rglob("*.py"): + py_files.append(py_file) + + print(f"Found {len(py_files)} Python files to scan") + + # Scan all files + file_data = {} + for py_file in sorted(py_files): + data = scan_file(py_file) + rel_path = data["rel_path"] + file_data[rel_path] = data + + # Build nodes and edges + nodes = [] + edges = [] + + # Track all node IDs for edge building + file_node_ids = {} + class_node_ids = {} + func_node_ids = {} + + # 1. Create file nodes + for rel_path, data in file_data.items(): + node_id = f"file:{rel_path}" + layer = get_layer(rel_path) + summary = get_file_summary(rel_path, data.get("docstring", "")) + + tags = [] + parts = rel_path.replace("\\", "/").split("/") + for p in parts: + if p not in ("src", "agentkit", "__init__.py") and not p.endswith(".py"): + tags.append(p) + + nodes.append({ + "id": node_id, + "type": "file", + "name": rel_path.split("/")[-1], + "filePath": rel_path, + "layer": layer, + "summary": summary, + "tags": tags, + "complexity": "moderate" if data["classes"] or data["functions"] else "simple", + }) + file_node_ids[rel_path] = node_id + + # 2. Create class nodes + for rel_path, data in file_data.items(): + for cls in data["classes"]: + class_id = f"class:{cls['name']}" + layer = get_layer(rel_path) + + method_names = [m["name"] for m in cls["methods"]] + # Use docstring for summary if available + docstring = cls.get("docstring", "") + if docstring: + # Take first line of docstring + summary = docstring.strip().split("\n")[0].strip() + else: + summary = f"{cls['name']}类" + if cls["base_classes"]: + summary += f",继承自{', '.join(cls['base_classes'])}" + if method_names: + summary += f",包含方法: {', '.join(method_names[:5])}" + if len(method_names) > 5: + summary += f" 等{len(method_names)}个方法" + + nodes.append({ + "id": class_id, + "type": "class", + "name": cls["name"], + "filePath": rel_path, + "layer": layer, + "summary": summary, + "tags": [cls["name"]], + "complexity": cls["complexity"], + }) + class_node_ids[cls["name"]] = class_id + + # Edge: file contains class + edges.append({ + "id": f"edge:{uuid.uuid4().hex[:8]}", + "source": file_node_ids[rel_path], + "target": class_id, + "type": "contains", + "label": f"定义类 {cls['name']}", + }) + + # Edge: class extends base classes + for base in cls["base_classes"]: + if base in class_node_ids: + edges.append({ + "id": f"edge:{uuid.uuid4().hex[:8]}", + "source": class_id, + "target": class_node_ids[base], + "type": "extends", + "label": f"继承 {base}", + }) + + # 3. Create method nodes + for method in cls["methods"]: + method_id = f"func:{cls['name']}.{method['name']}" + async_tag = "异步" if method["is_async"] else "" + summary = f"{cls['name']}.{method['name']}({', '.join(method['params'])}) {async_tag}方法" + + nodes.append({ + "id": method_id, + "type": "function", + "name": method["name"], + "filePath": rel_path, + "layer": layer, + "summary": summary, + "tags": [cls["name"], method["name"]], + "complexity": "simple", + }) + func_node_ids[f"{cls['name']}.{method['name']}"] = method_id + + # Edge: class contains method + edges.append({ + "id": f"edge:{uuid.uuid4().hex[:8]}", + "source": class_id, + "target": method_id, + "type": "contains", + "label": f"方法 {method['name']}", + }) + + # 4. Create top-level function nodes + for rel_path, data in file_data.items(): + for func in data["functions"]: + func_id = f"func:{func['name']}" + async_tag = "异步" if func["is_async"] else "" + summary = f"{func['name']}({', '.join(func['params'])}) {async_tag}函数" + if func["return_type"]: + summary += f" → {func['return_type']}" + + nodes.append({ + "id": func_id, + "type": "function", + "name": func["name"], + "filePath": rel_path, + "layer": get_layer(rel_path), + "summary": summary, + "tags": [func["name"]], + "complexity": func["complexity"], + }) + func_node_ids[func["name"]] = func_id + + # Edge: file contains function + edges.append({ + "id": f"edge:{uuid.uuid4().hex[:8]}", + "source": file_node_ids[rel_path], + "target": func_id, + "type": "contains", + "label": f"定义函数 {func['name']}", + }) + + # 5. Create import edges + for rel_path, data in file_data.items(): + for imp in data["imports"]: + if imp["from_module"]: + target_path = module_to_file_path(imp["from_module"]) + if target_path and target_path in file_node_ids: + edges.append({ + "id": f"edge:{uuid.uuid4().hex[:8]}", + "source": file_node_ids[rel_path], + "target": file_node_ids[target_path], + "type": "imports", + "label": f"导入 {imp['import_name']}", + }) + + # 6. Build tours + tours = build_tours(file_data, file_node_ids, class_node_ids, func_node_ids) + + # Get git commit hash + git_hash = "045fecd4cee49f04dc7b693c14d35ca38a0d92cb" + + # Build final JSON + graph = { + "version": "1.0.0", + "project": { + "name": "Fischer AgentKit", + "languages": ["python"], + "frameworks": ["FastAPI", "Pydantic", "SQLAlchemy", "Typer", "Redis"], + "description": "AI驱动的Agent框架,支持ReAct引擎、多LLM网关、Pipeline编排、自适应反思和消息总线", + "analyzedAt": datetime.now(timezone.utc).isoformat(), + "gitCommitHash": git_hash, + }, + "nodes": nodes, + "edges": edges, + "tours": tours, + } + + return graph + + +def build_tours(file_data, file_node_ids, class_node_ids, func_node_ids): + """Build guided learning tours.""" + tours = [] + + # Tour 1: Entry Points + tours.append({ + "id": "tour:entry-points", + "name": "入口点导览", + "description": "从项目入口开始,了解如何启动和使用AgentKit", + "steps": [ + {"nodeId": "file:src/agentkit/__main__.py", "why": "Python模块入口,python -m agentkit"}, + {"nodeId": "file:src/agentkit/__init__.py", "why": "包入口,导出核心公共API"}, + {"nodeId": "file:src/agentkit/cli/main.py", "why": "CLI主入口,Typer应用定义"}, + {"nodeId": "file:src/agentkit/server/app.py", "why": "HTTP服务入口,FastAPI应用创建"}, + ], + }) + + # Tour 2: Core Agent Lifecycle + tours.append({ + "id": "tour:agent-lifecycle", + "name": "Agent生命周期导览", + "description": "深入理解Agent从创建到执行任务的完整生命周期", + "steps": [ + {"nodeId": "class:BaseAgent", "why": "Agent基类,定义标准生命周期和可插拔能力"}, + {"nodeId": "func:BaseAgent.start", "why": "Agent启动流程:连接Redis→注册→心跳→监听"}, + {"nodeId": "func:BaseAgent.execute", "why": "任务执行框架方法:on_task_start→handle_task→quality_gate→on_task_complete"}, + {"nodeId": "func:BaseAgent.handle_task", "why": "抽象方法,子类实现业务逻辑"}, + {"nodeId": "class:ConfigDrivenAgent", "why": "配置驱动Agent,从YAML自动组装"}, + {"nodeId": "func:ConfigDrivenAgent.handle_task", "why": "根据execution_mode路由到react/direct/custom模式"}, + {"nodeId": "class:AgentConfig", "why": "Agent配置模型,支持YAML/Dict构建"}, + ], + }) + + # Tour 3: ReAct Engine + tours.append({ + "id": "tour:react-engine", + "name": "ReAct引擎导览", + "description": "理解ReAct推理-行动循环的核心实现", + "steps": [ + {"nodeId": "class:ReActEngine", "why": "ReAct引擎核心,Think→Act→Observe循环"}, + {"nodeId": "func:ReActEngine.execute", "why": "执行ReAct循环,支持超时和取消"}, + {"nodeId": "func:ReActEngine.execute_stream", "why": "流式执行,逐步yield事件"}, + {"nodeId": "func:ReActEngine._execute_tool", "why": "工具调用执行,处理成功和失败"}, + {"nodeId": "func:ReActEngine._parse_text_tool_calls", "why": "文本解析模式,支持Action和代码块格式"}, + {"nodeId": "class:ReActStep", "why": "单步记录数据结构"}, + {"nodeId": "class:ReActResult", "why": "ReAct执行结果数据结构"}, + {"nodeId": "class:ReActEvent", "why": "流式执行事件数据结构"}, + ], + }) + + # Tour 4: LLM Gateway + tours.append({ + "id": "tour:llm-gateway", + "name": "LLM网关导览", + "description": "了解多Provider统一网关的设计和实现", + "steps": [ + {"nodeId": "class:LLMGateway", "why": "LLM网关核心,统一多Provider调用接口"}, + {"nodeId": "file:src/agentkit/llm/protocol.py", "why": "LLM协议定义,LLMProvider/LLMRequest/LLMResponse"}, + {"nodeId": "file:src/agentkit/llm/config.py", "why": "模型别名和Provider配置"}, + {"nodeId": "file:src/agentkit/llm/providers/openai.py", "why": "OpenAI Provider实现"}, + {"nodeId": "file:src/agentkit/llm/providers/anthropic.py", "why": "Anthropic Provider实现"}, + {"nodeId": "file:src/agentkit/llm/retry.py", "why": "LLM重试策略"}, + ], + }) + + # Tour 5: Memory System + tours.append({ + "id": "tour:memory-system", + "name": "记忆系统导览", + "description": "理解多层记忆系统的架构和实现", + "steps": [ + {"nodeId": "file:src/agentkit/memory/base.py", "why": "记忆基类接口定义"}, + {"nodeId": "file:src/agentkit/memory/retriever.py", "why": "统一记忆检索器,整合工作/情景/语义记忆"}, + {"nodeId": "file:src/agentkit/memory/working.py", "why": "工作记忆 - 基于Redis的短期记忆"}, + {"nodeId": "file:src/agentkit/memory/episodic.py", "why": "情景记忆 - 基于向量的长期记忆"}, + {"nodeId": "file:src/agentkit/memory/semantic.py", "why": "语义记忆 - RAG服务集成"}, + {"nodeId": "file:src/agentkit/memory/embedder.py", "why": "文本向量化嵌入器"}, + ], + }) + + # Tour 6: Orchestration + tours.append({ + "id": "tour:orchestration", + "name": "编排系统导览", + "description": "了解多Agent协作编排和Pipeline引擎", + "steps": [ + {"nodeId": "class:Orchestrator", "why": "多Agent协作编排器,Orchestrator-Worker模式"}, + {"nodeId": "func:Orchestrator.execute", "why": "编排执行:分解→执行→汇总"}, + {"nodeId": "func:Orchestrator.execute_adaptive", "why": "自适应编排:执行→评估→再分解循环"}, + {"nodeId": "file:src/agentkit/orchestrator/pipeline_engine.py", "why": "Pipeline引擎,执行DAG工作流"}, + {"nodeId": "file:src/agentkit/orchestrator/pipeline_schema.py", "why": "Pipeline配置模型"}, + {"nodeId": "file:src/agentkit/orchestrator/reflection.py", "why": "执行后反思模块"}, + ], + }) + + # Tour 7: Skills & Router + tours.append({ + "id": "tour:skills-router", + "name": "技能与路由导览", + "description": "了解技能定义、注册和意图路由机制", + "steps": [ + {"nodeId": "file:src/agentkit/skills/base.py", "why": "技能基类和配置定义"}, + {"nodeId": "class:SkillRegistry", "why": "技能注册中心"}, + {"nodeId": "file:src/agentkit/skills/loader.py", "why": "从YAML加载技能定义"}, + {"nodeId": "class:IntentRouter", "why": "意图路由器,匹配用户输入到技能"}, + {"nodeId": "file:src/agentkit/router/intent.py", "why": "意图路由实现"}, + ], + }) + + # Tour 8: Evolution + tours.append({ + "id": "tour:evolution", + "name": "进化系统导览", + "description": "了解Agent自我进化的机制和实现", + "steps": [ + {"nodeId": "file:src/agentkit/evolution/lifecycle.py", "why": "进化生命周期Mixin"}, + {"nodeId": "file:src/agentkit/evolution/reflector.py", "why": "反思器 - 分析结果生成改进建议"}, + {"nodeId": "file:src/agentkit/evolution/prompt_optimizer.py", "why": "Prompt自动优化"}, + {"nodeId": "file:src/agentkit/evolution/genetic.py", "why": "遗传算法进化"}, + {"nodeId": "file:src/agentkit/evolution/ab_tester.py", "why": "A/B测试对比"}, + ], + }) + + # Tour 9: Infrastructure + tours.append({ + "id": "tour:infrastructure", + "name": "基础设施导览", + "description": "了解消息总线、会话管理、遥测等基础设施", + "steps": [ + {"nodeId": "file:src/agentkit/bus/protocol.py", "why": "消息总线协议接口"}, + {"nodeId": "file:src/agentkit/bus/redis_bus.py", "why": "Redis Pub/Sub消息总线"}, + {"nodeId": "file:src/agentkit/bus/memory_bus.py", "why": "进程内消息总线"}, + {"nodeId": "file:src/agentkit/session/manager.py", "why": "会话管理器"}, + {"nodeId": "file:src/agentkit/telemetry/tracing.py", "why": "OpenTelemetry追踪集成"}, + {"nodeId": "file:src/agentkit/telemetry/metrics.py", "why": "运行指标收集"}, + ], + }) + + return tours + + +def main(): + """Main entry point.""" + print("Building knowledge graph for Fischer AgentKit...") + + graph = build_knowledge_graph() + + # Ensure output directory exists + OUTPUT_PATH.parent.mkdir(parents=True, exist_ok=True) + + # Write JSON + with open(OUTPUT_PATH, "w", encoding="utf-8") as f: + json.dump(graph, f, ensure_ascii=False, indent=2) + + print(f"Knowledge graph written to {OUTPUT_PATH}") + print(f" Nodes: {len(graph['nodes'])}") + print(f" Edges: {len(graph['edges'])}") + print(f" Tours: {len(graph['tours'])}") + + # Print layer statistics + layer_counts = {} + for node in graph["nodes"]: + layer = node["layer"] + layer_counts[layer] = layer_counts.get(layer, 0) + 1 + + print("\nLayer distribution:") + for layer, count in sorted(layer_counts.items()): + print(f" {layer}: {count} nodes") + + # Print type statistics + type_counts = {} + for node in graph["nodes"]: + t = node["type"] + type_counts[t] = type_counts.get(t, 0) + 1 + + print("\nNode type distribution:") + for t, count in sorted(type_counts.items()): + print(f" {t}: {count} nodes") + + +if __name__ == "__main__": + main() diff --git a/.understand-anything/dashboard.html b/.understand-anything/dashboard.html new file mode 100644 index 0000000..9545cdf --- /dev/null +++ b/.understand-anything/dashboard.html @@ -0,0 +1,315 @@ + + + + + +Fischer AgentKit - Knowledge Graph Dashboard + + + + +
+

Fischer AgentKit Knowledge Graph

+
+
+
+ +
+
+
+ +
+
+
+
+ + + + diff --git a/.understand-anything/fingerprints.json b/.understand-anything/fingerprints.json new file mode 100644 index 0000000..d6a70da --- /dev/null +++ b/.understand-anything/fingerprints.json @@ -0,0 +1,250 @@ +{ + "configs/__init__.py": "830897da8bc1af33", + "configs/geo_handlers.py": "cbcf89b4d9da69c9", + "configs/geo_server.py": "41ddafbef18eea22", + "configs/geo_tools.py": "8a29de5d7511d2a0", + "src/agentkit/__init__.py": "43b17418bafb2c7c", + "src/agentkit/__main__.py": "503810fb0f210fab", + "src/agentkit/bus/__init__.py": "83b51b8b680ee75f", + "src/agentkit/bus/interface.py": "ee93b26fdcee1495", + "src/agentkit/bus/memory_bus.py": "28b4c3a18ef13181", + "src/agentkit/bus/message.py": "035adf5510427f85", + "src/agentkit/bus/protocol.py": "67e1ebb03a53da30", + "src/agentkit/bus/redis_bus.py": "7431c6cc2ed20e51", + "src/agentkit/chat/__init__.py": "e3b0c44298fc1c14", + "src/agentkit/chat/skill_routing.py": "bce85b158d5f2bd0", + "src/agentkit/cli/__init__.py": "a41c63d720a6e4db", + "src/agentkit/cli/chat.py": "fa0b4e7570c8bcb2", + "src/agentkit/cli/init.py": "b4f0de1670acdbb1", + "src/agentkit/cli/main.py": "25d92f4947b60dbf", + "src/agentkit/cli/onboarding.py": "0a6e8f869a02b067", + "src/agentkit/cli/pair.py": "1ceeffcc7a8d8ed3", + "src/agentkit/cli/skill.py": "af567fc67d603df6", + "src/agentkit/cli/task.py": "2a19fd0985717a20", + "src/agentkit/cli/templates.py": "b997aa3fc0dd8162", + "src/agentkit/cli/usage.py": "e121c1a5e76d21c1", + "src/agentkit/core/__init__.py": "f07bf925ec204974", + "src/agentkit/core/agent_pool.py": "d400580ed51fdd75", + "src/agentkit/core/base.py": "ab7261b559dd98c8", + "src/agentkit/core/compressor.py": "bfecb74c1a3de3e3", + "src/agentkit/core/config_driven.py": "68841e58ba2aa461", + "src/agentkit/core/dispatcher.py": "ec4c0dfc4a93b0be", + "src/agentkit/core/exceptions.py": "9145f66231230bd2", + "src/agentkit/core/goal_planner.py": "f2a4b33e33a3ab8a", + "src/agentkit/core/headroom_compressor.py": "cb496a6c5accb2ec", + "src/agentkit/core/logging.py": "96f61c08b97e4ffc", + "src/agentkit/core/orchestrator.py": "dd2de2f5a175e0de", + "src/agentkit/core/plan_checker.py": "8efab3240c01bca9", + "src/agentkit/core/plan_exec_engine.py": "93cc488b6a73cbd1", + "src/agentkit/core/plan_executor.py": "83e65f3399795244", + "src/agentkit/core/plan_schema.py": "a7ba8308e5ca8965", + "src/agentkit/core/protocol.py": "0c7d19ada22bff72", + "src/agentkit/core/react.py": "8612b9b1331c16b6", + "src/agentkit/core/reflexion.py": "a0812059d9c94825", + "src/agentkit/core/registry.py": "fa377a6bc19e87c7", + "src/agentkit/core/rewoo.py": "e673444bc4b91121", + "src/agentkit/core/shared_workspace.py": "9babb2eefff54246", + "src/agentkit/core/standalone.py": "a8a02755d5e4653d", + "src/agentkit/core/trace.py": "529563c5e0621c43", + "src/agentkit/evaluation/__init__.py": "d56ae7e0faa9a31d", + "src/agentkit/evaluation/ragas_evaluator.py": "8b6268ac71df3178", + "src/agentkit/evolution/__init__.py": "95142ac26f1ba26b", + "src/agentkit/evolution/ab_tester.py": "f8dc4bca82be03a9", + "src/agentkit/evolution/evolution_store.py": "9e9a1840f5a92377", + "src/agentkit/evolution/experience_schema.py": "81c2f52a74590e10", + "src/agentkit/evolution/experience_store.py": "f135174a2bbdfc2a", + "src/agentkit/evolution/fitness.py": "ba768d8387013b04", + "src/agentkit/evolution/genetic.py": "cdf3ff703b719be7", + "src/agentkit/evolution/lifecycle.py": "ae86dda1b5801b5f", + "src/agentkit/evolution/llm_reflector.py": "a9de6e81324c64f6", + "src/agentkit/evolution/models.py": "f5efef0d197be11f", + "src/agentkit/evolution/path_optimizer.py": "3fab382499e56ccd", + "src/agentkit/evolution/pitfall_detector.py": "e28d3ec9e8d59bf1", + "src/agentkit/evolution/prompt_optimizer.py": "41fb13fede6b3403", + "src/agentkit/evolution/reflector.py": "e72a78a4e7f2edf5", + "src/agentkit/evolution/strategy_tuner.py": "dc8cd09c786169ef", + "src/agentkit/llm/__init__.py": "657ef26b62f7bbba", + "src/agentkit/llm/config.py": "6a1984e98c59ec66", + "src/agentkit/llm/gateway.py": "b76262bb52cb4d13", + "src/agentkit/llm/protocol.py": "1bcfac4dfdff4d2c", + "src/agentkit/llm/providers/__init__.py": "46c33110f5f2520b", + "src/agentkit/llm/providers/anthropic.py": "28f5155e34b14f92", + "src/agentkit/llm/providers/doubao.py": "b33492eec5c57335", + "src/agentkit/llm/providers/gemini.py": "887f3a1322d0bae3", + "src/agentkit/llm/providers/openai.py": "e271cdb6914c3c2c", + "src/agentkit/llm/providers/tracker.py": "ed247284b574d0eb", + "src/agentkit/llm/providers/wenxin.py": "a0ac6a379635f8da", + "src/agentkit/llm/providers/yuanbao.py": "b9fc13b79e9942aa", + "src/agentkit/llm/retry.py": "478e1bb02bfcc598", + "src/agentkit/marketplace/__init__.py": "1f1580e072a7ca29", + "src/agentkit/marketplace/auction.py": "f09f9d6eff9a5b8f", + "src/agentkit/marketplace/wealth.py": "fd1a946e02f78d8b", + "src/agentkit/mcp/__init__.py": "a8a5c3c1add774af", + "src/agentkit/mcp/client.py": "785b1aba3497b49c", + "src/agentkit/mcp/manager.py": "736d67c3d8dd9d8d", + "src/agentkit/mcp/server.py": "3a9e94779d5eb53e", + "src/agentkit/mcp/transport.py": "8c6b1e564eb3e5e2", + "src/agentkit/memory/__init__.py": "71011b735f958a95", + "src/agentkit/memory/adapters/__init__.py": "469c38ab35d48484", + "src/agentkit/memory/adapters/base.py": "347dfd141a11d140", + "src/agentkit/memory/adapters/confluence.py": "f39068ec5354b67b", + "src/agentkit/memory/adapters/feishu.py": "2c0aa671fbbe3d3b", + "src/agentkit/memory/adapters/generic_http.py": "d45303c306d958f5", + "src/agentkit/memory/base.py": "df64874fe41402d7", + "src/agentkit/memory/chunking.py": "7c9947a60d8ebd7d", + "src/agentkit/memory/contextual_retrieval.py": "e3edd302f05cdfcd", + "src/agentkit/memory/document_loader.py": "30f5646712525d61", + "src/agentkit/memory/embedder.py": "3b483d4e80377e18", + "src/agentkit/memory/episodic.py": "db6f26e0dda31b8c", + "src/agentkit/memory/http_rag.py": "e4cd3f7bf11ba0ab", + "src/agentkit/memory/knowledge_base.py": "faa986892a910eff", + "src/agentkit/memory/local_rag.py": "4d474c286717a5a6", + "src/agentkit/memory/models.py": "e6861ba415a995a8", + "src/agentkit/memory/multi_source_retriever.py": "6eee1f48acf2f19f", + "src/agentkit/memory/profile.py": "153e008e625aa2f2", + "src/agentkit/memory/query_transformer.py": "ebedbfc043ee3ca9", + "src/agentkit/memory/rag_loop.py": "3ca5f89bf16fd16c", + "src/agentkit/memory/relevance_scorer.py": "bdb8930083078914", + "src/agentkit/memory/retriever.py": "28cc28168b69a5a3", + "src/agentkit/memory/semantic.py": "aa86076fd321399c", + "src/agentkit/memory/working.py": "8fc00c3c87d70845", + "src/agentkit/orchestrator/__init__.py": "4102c9499dd08119", + "src/agentkit/orchestrator/compensation.py": "460b78386f605f44", + "src/agentkit/orchestrator/dynamic_pipeline.py": "14e3f57a275160df", + "src/agentkit/orchestrator/handoff.py": "1901f8cd993ea02f", + "src/agentkit/orchestrator/pipeline_engine.py": "ab062dccfdc1f63b", + "src/agentkit/orchestrator/pipeline_loader.py": "2c09e8ede1ee792c", + "src/agentkit/orchestrator/pipeline_models.py": "de0175517a1fbb88", + "src/agentkit/orchestrator/pipeline_schema.py": "d0d64e7c20e63d53", + "src/agentkit/orchestrator/pipeline_state.py": "a462320b6c3554bc", + "src/agentkit/orchestrator/reflection.py": "2472b8d7161461b6", + "src/agentkit/orchestrator/retry.py": "abdc9c5fdd441e83", + "src/agentkit/orchestrator/workflow_schema.py": "f5b7efdb966d3564", + "src/agentkit/org/__init__.py": "ecc4ac01f48368bf", + "src/agentkit/org/context.py": "ee8e857268917c37", + "src/agentkit/org/discovery.py": "81dfb33d7599bb24", + "src/agentkit/prompts/__init__.py": "8afc78b85bd1f569", + "src/agentkit/prompts/section.py": "7698dadf96c29d62", + "src/agentkit/prompts/template.py": "de354279290b886b", + "src/agentkit/quality/__init__.py": "c12a5e356c25ef64", + "src/agentkit/quality/alignment.py": "1b480674d6598f8a", + "src/agentkit/quality/cascade_detector.py": "68dc7066e40ac8c9", + "src/agentkit/quality/gate.py": "211bf1d53ee7154d", + "src/agentkit/quality/output.py": "b26386d06d74d96d", + "src/agentkit/router/__init__.py": "76c37a202d535839", + "src/agentkit/router/intent.py": "99293a856fe71be6", + "src/agentkit/server/__init__.py": "df934a940763b2ae", + "src/agentkit/server/client.py": "badd8fd035e77613", + "src/agentkit/server/client_config.py": "c22cf22a3c9c52d7", + "src/agentkit/server/config.py": "a029878144c1fade", + "src/agentkit/server/middleware.py": "35981a4158defe97", + "src/agentkit/server/routes/agents.py": "f40c808fb19bb183", + "src/agentkit/server/routes/chat.py": "689d69dda752a22f", + "src/agentkit/server/routes/evolution.py": "f2b1d93d1588a9ed", + "src/agentkit/server/routes/health.py": "029fde5bf0951d0e", + "src/agentkit/server/routes/llm.py": "e3abf707341d9677", + "src/agentkit/server/routes/memory.py": "da00b9a092576ebe", + "src/agentkit/server/routes/metrics.py": "9cf9d61479278136", + "src/agentkit/server/routes/portal.py": "8c5ebdc1b3ede2bf", + "src/agentkit/server/routes/skill_management.py": "629bb1fe85f33007", + "src/agentkit/server/routes/skills.py": "3193d721029b5c6e", + "src/agentkit/server/routes/tasks.py": "f15c9f350f869770", + "src/agentkit/server/routes/ws.py": "784cb2b1af8abec2", + "src/agentkit/server/runner.py": "375e22b9f596adb9", + "src/agentkit/server/task_store.py": "b04afea982579a93", + "src/agentkit/session/__init__.py": "f7e2123235f799c2", + "src/agentkit/session/manager.py": "5cb0518f967b854b", + "src/agentkit/session/models.py": "8d96a974afc9acfb", + "src/agentkit/session/store.py": "41238fe9f9a4a522", + "src/agentkit/skills/__init__.py": "cd3bd9c844656636", + "src/agentkit/skills/base.py": "36e3d8062cbccd57", + "src/agentkit/skills/geo_pipeline.py": "42f969c61d0a3a7a", + "src/agentkit/skills/loader.py": "197ae05b735b6946", + "src/agentkit/skills/pipeline.py": "0367d52bd1a4d410", + "src/agentkit/skills/registry.py": "f63b5e174ec5d4d7", + "src/agentkit/skills/schema.py": "3cbe7fe2db688c4d", + "src/agentkit/skills/skill_md.py": "758de3b3601b2520", + "src/agentkit/telemetry/__init__.py": "66f777be163ce971", + "src/agentkit/telemetry/metrics.py": "72d548e3d6f1abef", + "src/agentkit/telemetry/setup.py": "b9f13873ef525378", + "src/agentkit/telemetry/tracer.py": "de8aebbe499ac264", + "src/agentkit/telemetry/tracing.py": "c0bca2277a02d383", + "src/agentkit/tools/__init__.py": "514d210f2d24be53", + "src/agentkit/tools/agent_tool.py": "0ba5f7b255225b0d", + "src/agentkit/tools/ask_human.py": "f9cb5255733e2e77", + "src/agentkit/tools/baidu_search.py": "81eaecce86d80780", + "src/agentkit/tools/base.py": "6a61acd0ca114026", + "src/agentkit/tools/composition.py": "1d2d10361382f459", + "src/agentkit/tools/computer_use.py": "be3462775cf3e004", + "src/agentkit/tools/computer_use_recorder.py": "98cf8693c0f136bf", + "src/agentkit/tools/computer_use_session.py": "102e1ac315fd09b8", + "src/agentkit/tools/function_tool.py": "702e5b3e8d6b465c", + "src/agentkit/tools/headroom_retrieve.py": "6da46b1a23fe8933", + "src/agentkit/tools/mcp_tool.py": "8a1da789ca963e2c", + "src/agentkit/tools/memory_tool.py": "197c51edcbbab705", + "src/agentkit/tools/output_parser.py": "f799cc7cafb6bb2e", + "src/agentkit/tools/pty_session.py": "6ceb31edf52a87fe", + "src/agentkit/tools/registry.py": "b2fe99106355b39d", + "src/agentkit/tools/schema_tools.py": "e490844348f3656b", + "src/agentkit/tools/shell.py": "6e2614979a2ade61", + "src/agentkit/tools/skill_install.py": "3cdf1b7c06343947", + "src/agentkit/tools/terminal_session.py": "432ceed53d63fcac", + "src/agentkit/tools/web_crawl.py": "89e2b4380810f60b", + "src/agentkit/tools/web_search.py": "3901c5ee7450521c", + "src/agentkit/utils/__init__.py": "273d2c7ba7ce101d", + "src/agentkit/utils/security.py": "939e46e447f57882", + "src/agentkit/utils/vector_math.py": "c3c7fa3f1e71463f", + "docs/brainstorms/2026-06-12-frontend-productization-requirements.md": "46e3ab3f45cd622e", + "docs/plans/2026-06-12-023-feat-frontend-productization-plan.md": "8f65a3b0dad42c4b", + "src/agentkit/server/frontend/package.json": "aebd560acfea05e8", + "src/agentkit/server/frontend/tsconfig.node.json": "d5806943b1bd0a2a", + "src/agentkit/server/frontend/vite.config.ts": "75f0385595bdcfcd", + "src/agentkit/server/app.py": "7ab76c4e95d04c05", + "src/agentkit/server/routes/__init__.py": "258f2f4c0d0cfaca", + "src/agentkit/server/routes/evolution_dashboard.py": "50d0e5cabdf6deaf", + "src/agentkit/server/routes/kb_management.py": "f2df2ab336e8966a", + "src/agentkit/server/routes/settings.py": "115e3e6fb9898883", + "src/agentkit/server/routes/terminal.py": "91ef1ba5efec6864", + "src/agentkit/server/routes/workflows.py": "6a3c19b6a4c6b157", + "src/agentkit/server/frontend/src/api/base.ts": "00e0b9a8a20134ae", + "src/agentkit/server/frontend/src/api/client.ts": "5ee2010d46fde145", + "src/agentkit/server/frontend/src/api/evolution.ts": "8e0be1d17af12ddf", + "src/agentkit/server/frontend/src/api/kb.ts": "d72a99362582fd7e", + "src/agentkit/server/frontend/src/api/settings.ts": "b9ed465850bc7ce1", + "src/agentkit/server/frontend/src/api/skills.ts": "59416c4806e257f0", + "src/agentkit/server/frontend/src/api/terminal.ts": "898862c911ca38c9", + "src/agentkit/server/frontend/src/api/workflow.ts": "60c5f34f8bf17739", + "src/agentkit/server/frontend/src/components/evolution/DashboardOverview.vue": "1734ddb592e27a91", + "src/agentkit/server/frontend/src/components/evolution/ExperiencePanel.vue": "c85a57ce584ad065", + "src/agentkit/server/frontend/src/components/evolution/MetricsChart.vue": "bb02f1ccc68e7891", + "src/agentkit/server/frontend/src/components/evolution/MetricsPanel.vue": "96a11588037f431d", + "src/agentkit/server/frontend/src/components/evolution/OptimizationPanel.vue": "cd09d8949e96728a", + "src/agentkit/server/frontend/src/components/evolution/PitfallRoutePanel.vue": "3a257fe8fadf557f", + "src/agentkit/server/frontend/src/components/evolution/UsagePanel.vue": "71e4e86d65238cc8", + "src/agentkit/server/frontend/src/components/kb/DocumentUpload.vue": "f72627b63f7dcd23", + "src/agentkit/server/frontend/src/components/kb/SearchTest.vue": "9189e0cdb6221bda", + "src/agentkit/server/frontend/src/components/kb/SourceConfig.vue": "debc96a327735395", + "src/agentkit/server/frontend/src/components/workflow/ApprovalNode.vue": "554f8c34a47678b8", + "src/agentkit/server/frontend/src/components/workflow/ConditionNode.vue": "3ac8a2cbc279d158", + "src/agentkit/server/frontend/src/components/workflow/FlowCanvas.vue": "aca6f13eaa7f4548", + "src/agentkit/server/frontend/src/components/workflow/ParallelNode.vue": "dcf01080ee5171d4", + "src/agentkit/server/frontend/src/components/workflow/PropertyPanel.vue": "d84b2944a68c4da2", + "src/agentkit/server/frontend/src/components/workflow/SkillNode.vue": "209ebd4ea8b044dc", + "src/agentkit/server/frontend/src/main.ts": "b39507810967315c", + "src/agentkit/server/frontend/src/router/index.ts": "abb5156ca57d99b4", + "src/agentkit/server/frontend/src/stores/evolution.ts": "54f43be963383e56", + "src/agentkit/server/frontend/src/stores/knowledge.ts": "c639bbbee6906230", + "src/agentkit/server/frontend/src/stores/settings.ts": "a74460585842e471", + "src/agentkit/server/frontend/src/stores/terminal.ts": "aa652567a5eac361", + "src/agentkit/server/frontend/src/stores/workflow.ts": "94aadc5b90e7f98f", + "src/agentkit/server/frontend/src/utils/echarts.ts": "0f94ea52ff56ca85", + "src/agentkit/server/frontend/src/utils/workflowSerializer.ts": "2a38775e7c55f364", + "src/agentkit/server/frontend/src/views/EvolutionView.vue": "b6e92037d8ba864c", + "src/agentkit/server/frontend/src/views/TerminalView.vue": "444065d74e0d6272", + "src/agentkit/server/frontend/src/views/WorkflowView.vue": "0b43755c77b1babe", + "tests/unit/server/test_evolution_dashboard.py": "0b584b6c40aaec8b", + "tests/unit/server/test_kb_management.py": "16463430acc7a429", + "tests/unit/server/test_settings_routes.py": "f7920e0768fa4523", + "tests/unit/server/test_terminal_routes.py": "9433384c804e1705", + "tests/unit/server/test_workflow_routes.py": "99c72096d652ba95" +} \ No newline at end of file diff --git a/.understand-anything/knowledge-graph.json b/.understand-anything/knowledge-graph.json new file mode 100644 index 0000000..74d064b --- /dev/null +++ b/.understand-anything/knowledge-graph.json @@ -0,0 +1,52190 @@ +{ + "version": "1.0.0", + "project": { + "name": "Fischer AgentKit", + "languages": [ + "python" + ], + "frameworks": [ + "FastAPI", + "Pydantic", + "SQLAlchemy", + "Typer", + "Redis" + ], + "description": "AI驱动的Agent框架,支持ReAct引擎、多LLM网关、Pipeline编排、自适应反思和消息总线", + "analyzedAt": "2026-06-14T02:23:49.851310+00:00", + "gitCommitHash": "045fecd4cee49f04dc7b693c14d35ca38a0d92cb" + }, + "nodes": [ + { + "id": "file:configs/__init__.py", + "type": "file", + "name": "__init__.py", + "filePath": "configs/__init__.py", + "layer": "utility", + "summary": "GEO AgentKit Server 配置包", + "tags": [ + "configs" + ], + "complexity": "simple" + }, + { + "id": "file:configs/geo_handlers.py", + "type": "file", + "name": "geo_handlers.py", + "filePath": "configs/geo_handlers.py", + "layer": "utility", + "summary": "GEO 项目的 Custom Handler — 供 AgentKit Server 使用", + "tags": [ + "configs" + ], + "complexity": "moderate" + }, + { + "id": "file:configs/geo_server.py", + "type": "file", + "name": "geo_server.py", + "filePath": "configs/geo_server.py", + "layer": "utility", + "summary": "GEO AgentKit Server 启动入口", + "tags": [ + "configs" + ], + "complexity": "moderate" + }, + { + "id": "file:configs/geo_tools.py", + "type": "file", + "name": "geo_tools.py", + "filePath": "configs/geo_tools.py", + "layer": "utility", + "summary": "GEO 项目的 Tool 注册 — 供 AgentKit Server 使用", + "tags": [ + "configs" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/__init__.py", + "type": "file", + "name": "__init__.py", + "filePath": "src/agentkit/__init__.py", + "layer": "service", + "summary": "Fischer AgentKit - Unified Agent Framework", + "tags": [], + "complexity": "simple" + }, + { + "id": "file:src/agentkit/__main__.py", + "type": "file", + "name": "__main__.py", + "filePath": "src/agentkit/__main__.py", + "layer": "service", + "summary": "Allow running agentkit as: python -m agentkit", + "tags": [], + "complexity": "simple" + }, + { + "id": "file:src/agentkit/bus/__init__.py", + "type": "file", + "name": "__init__.py", + "filePath": "src/agentkit/bus/__init__.py", + "layer": "service", + "summary": "AgentKit Bus - Agent 间通信基础设施", + "tags": [ + "bus" + ], + "complexity": "simple" + }, + { + "id": "file:src/agentkit/bus/interface.py", + "type": "file", + "name": "interface.py", + "filePath": "src/agentkit/bus/interface.py", + "layer": "data", + "summary": "MessageBus ABC — Agent 间通信抽象基类。", + "tags": [ + "bus" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/bus/memory_bus.py", + "type": "file", + "name": "memory_bus.py", + "filePath": "src/agentkit/bus/memory_bus.py", + "layer": "data", + "summary": "InMemoryMessageBus — 基于 asyncio.Queue 的内存消息总线。", + "tags": [ + "bus" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/bus/message.py", + "type": "file", + "name": "message.py", + "filePath": "src/agentkit/bus/message.py", + "layer": "data", + "summary": "AgentMessage — Agent 间通信消息模型。", + "tags": [ + "bus" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/bus/protocol.py", + "type": "file", + "name": "protocol.py", + "filePath": "src/agentkit/bus/protocol.py", + "layer": "data", + "summary": "MessageBus Protocol — Agent 间通信抽象层。", + "tags": [ + "bus" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/bus/redis_bus.py", + "type": "file", + "name": "redis_bus.py", + "filePath": "src/agentkit/bus/redis_bus.py", + "layer": "data", + "summary": "RedisMessageBus — 基于 Redis Streams 的消息总线。", + "tags": [ + "bus" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/chat/__init__.py", + "type": "file", + "name": "__init__.py", + "filePath": "src/agentkit/chat/__init__.py", + "layer": "service", + "summary": "模块 chat", + "tags": [ + "chat" + ], + "complexity": "simple" + }, + { + "id": "file:src/agentkit/chat/skill_routing.py", + "type": "file", + "name": "skill_routing.py", + "filePath": "src/agentkit/chat/skill_routing.py", + "layer": "unknown", + "summary": "Shared skill routing logic for GUI and CLI chat.", + "tags": [ + "chat" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/cli/__init__.py", + "type": "file", + "name": "__init__.py", + "filePath": "src/agentkit/cli/__init__.py", + "layer": "service", + "summary": "AgentKit CLI - Command-line interface for AgentKit framework", + "tags": [ + "cli" + ], + "complexity": "simple" + }, + { + "id": "file:src/agentkit/cli/chat.py", + "type": "file", + "name": "chat.py", + "filePath": "src/agentkit/cli/chat.py", + "layer": "api", + "summary": "Chat command — interactive terminal chat with an Agent.", + "tags": [ + "cli" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/cli/init.py", + "type": "file", + "name": "init.py", + "filePath": "src/agentkit/cli/init.py", + "layer": "api", + "summary": "Project initialization CLI command", + "tags": [ + "cli" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/cli/main.py", + "type": "file", + "name": "main.py", + "filePath": "src/agentkit/cli/main.py", + "layer": "api", + "summary": "AgentKit CLI main entry point", + "tags": [ + "cli" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/cli/onboarding.py", + "type": "file", + "name": "onboarding.py", + "filePath": "src/agentkit/cli/onboarding.py", + "layer": "api", + "summary": "Onboarding flow — interactive first-time configuration wizard.", + "tags": [ + "cli" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/cli/pair.py", + "type": "file", + "name": "pair.py", + "filePath": "src/agentkit/cli/pair.py", + "layer": "api", + "summary": "Client pairing CLI command", + "tags": [ + "cli" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/cli/skill.py", + "type": "file", + "name": "skill.py", + "filePath": "src/agentkit/cli/skill.py", + "layer": "api", + "summary": "Skill management CLI commands", + "tags": [ + "cli" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/cli/task.py", + "type": "file", + "name": "task.py", + "filePath": "src/agentkit/cli/task.py", + "layer": "api", + "summary": "Task management CLI commands", + "tags": [ + "cli" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/cli/templates.py", + "type": "file", + "name": "templates.py", + "filePath": "src/agentkit/cli/templates.py", + "layer": "api", + "summary": "Template files for agentkit init", + "tags": [ + "cli" + ], + "complexity": "simple" + }, + { + "id": "file:src/agentkit/cli/usage.py", + "type": "file", + "name": "usage.py", + "filePath": "src/agentkit/cli/usage.py", + "layer": "api", + "summary": "Usage statistics CLI command", + "tags": [ + "cli" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/core/__init__.py", + "type": "file", + "name": "__init__.py", + "filePath": "src/agentkit/core/__init__.py", + "layer": "service", + "summary": "AgentKit Core - 基础组件", + "tags": [ + "core" + ], + "complexity": "simple" + }, + { + "id": "file:src/agentkit/core/agent_pool.py", + "type": "file", + "name": "agent_pool.py", + "filePath": "src/agentkit/core/agent_pool.py", + "layer": "service", + "summary": "AgentPool - 运行时 Agent 实例池", + "tags": [ + "core" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/core/base.py", + "type": "file", + "name": "base.py", + "filePath": "src/agentkit/core/base.py", + "layer": "service", + "summary": "BaseAgent 基类 - 统一 Agent 生命周期管理", + "tags": [ + "core" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/core/compressor.py", + "type": "file", + "name": "compressor.py", + "filePath": "src/agentkit/core/compressor.py", + "layer": "service", + "summary": "ContextCompressor - 上下文压缩与 Prompt 缓存", + "tags": [ + "core" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/core/config_driven.py", + "type": "file", + "name": "config_driven.py", + "filePath": "src/agentkit/core/config_driven.py", + "layer": "service", + "summary": "ConfigDrivenAgent - 配置驱动的 Agent 定义", + "tags": [ + "core" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/core/dispatcher.py", + "type": "file", + "name": "dispatcher.py", + "filePath": "src/agentkit/core/dispatcher.py", + "layer": "service", + "summary": "任务分发器 - 通过 Redis Queue 将任务分发给 Agent", + "tags": [ + "core" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/core/exceptions.py", + "type": "file", + "name": "exceptions.py", + "filePath": "src/agentkit/core/exceptions.py", + "layer": "service", + "summary": "Agent 框架自定义异常", + "tags": [ + "core" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/core/goal_planner.py", + "type": "file", + "name": "goal_planner.py", + "filePath": "src/agentkit/core/goal_planner.py", + "layer": "service", + "summary": "GoalPlanner — 目标分析与计划生成", + "tags": [ + "core" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/core/headroom_compressor.py", + "type": "file", + "name": "headroom_compressor.py", + "filePath": "src/agentkit/core/headroom_compressor.py", + "layer": "service", + "summary": "HeadroomCompressor — 基于 headroom-ai 的上下文压缩器", + "tags": [ + "core" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/core/logging.py", + "type": "file", + "name": "logging.py", + "filePath": "src/agentkit/core/logging.py", + "layer": "service", + "summary": "Structured logging configuration for AgentKit.", + "tags": [ + "core" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/core/orchestrator.py", + "type": "file", + "name": "orchestrator.py", + "filePath": "src/agentkit/core/orchestrator.py", + "layer": "service", + "summary": "Orchestrator - 多 Agent 协作编排器", + "tags": [ + "core" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/core/plan_checker.py", + "type": "file", + "name": "plan_checker.py", + "filePath": "src/agentkit/core/plan_checker.py", + "layer": "service", + "summary": "PlanChecker — 计划检查与复盘", + "tags": [ + "core" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/core/plan_exec_engine.py", + "type": "file", + "name": "plan_exec_engine.py", + "filePath": "src/agentkit/core/plan_exec_engine.py", + "layer": "service", + "summary": "Plan-and-Execute 执行引擎适配器", + "tags": [ + "core" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/core/plan_executor.py", + "type": "file", + "name": "plan_executor.py", + "filePath": "src/agentkit/core/plan_executor.py", + "layer": "service", + "summary": "PlanExecutor — 执行计划执行器", + "tags": [ + "core" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/core/plan_schema.py", + "type": "file", + "name": "plan_schema.py", + "filePath": "src/agentkit/core/plan_schema.py", + "layer": "service", + "summary": "Plan Schema — GoalPlanner 的执行计划数据模型", + "tags": [ + "core" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/core/protocol.py", + "type": "file", + "name": "protocol.py", + "filePath": "src/agentkit/core/protocol.py", + "layer": "service", + "summary": "Agent 通信协议定义 - 统一消息格式", + "tags": [ + "core" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/core/react.py", + "type": "file", + "name": "react.py", + "filePath": "src/agentkit/core/react.py", + "layer": "service", + "summary": "ReAct 推理-行动循环引擎", + "tags": [ + "core" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/core/reflexion.py", + "type": "file", + "name": "reflexion.py", + "filePath": "src/agentkit/core/reflexion.py", + "layer": "service", + "summary": "Reflexion 执行引擎", + "tags": [ + "core" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/core/registry.py", + "type": "file", + "name": "registry.py", + "filePath": "src/agentkit/core/registry.py", + "layer": "service", + "summary": "Agent 注册中心 - 管理 Agent 的注册、发现、状态", + "tags": [ + "core" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/core/rewoo.py", + "type": "file", + "name": "rewoo.py", + "filePath": "src/agentkit/core/rewoo.py", + "layer": "service", + "summary": "ReWOO (Reasoning Without Observation Others) 执行引擎", + "tags": [ + "core" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/core/shared_workspace.py", + "type": "file", + "name": "shared_workspace.py", + "filePath": "src/agentkit/core/shared_workspace.py", + "layer": "service", + "summary": "SharedWorkspace - Agent 间共享工作空间", + "tags": [ + "core" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/core/standalone.py", + "type": "file", + "name": "standalone.py", + "filePath": "src/agentkit/core/standalone.py", + "layer": "service", + "summary": "Standalone Runner - 自动发现并启动配置驱动的 Agent", + "tags": [ + "core" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/core/trace.py", + "type": "file", + "name": "trace.py", + "filePath": "src/agentkit/core/trace.py", + "layer": "service", + "summary": "执行轨迹记录器", + "tags": [ + "core" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/evaluation/__init__.py", + "type": "file", + "name": "__init__.py", + "filePath": "src/agentkit/evaluation/__init__.py", + "layer": "service", + "summary": "Evaluation module - RAG quality assessment", + "tags": [ + "evaluation" + ], + "complexity": "simple" + }, + { + "id": "file:src/agentkit/evaluation/ragas_evaluator.py", + "type": "file", + "name": "ragas_evaluator.py", + "filePath": "src/agentkit/evaluation/ragas_evaluator.py", + "layer": "utility", + "summary": "Ragas Evaluator - RAG 质量评估管线", + "tags": [ + "evaluation" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/evolution/__init__.py", + "type": "file", + "name": "__init__.py", + "filePath": "src/agentkit/evolution/__init__.py", + "layer": "service", + "summary": "AgentKit Evolution - 自我进化引擎", + "tags": [ + "evolution" + ], + "complexity": "simple" + }, + { + "id": "file:src/agentkit/evolution/ab_tester.py", + "type": "file", + "name": "ab_tester.py", + "filePath": "src/agentkit/evolution/ab_tester.py", + "layer": "utility", + "summary": "ABTester - A/B 测试框架", + "tags": [ + "evolution" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/evolution/evolution_store.py", + "type": "file", + "name": "evolution_store.py", + "filePath": "src/agentkit/evolution/evolution_store.py", + "layer": "utility", + "summary": "EvolutionStore - 进化日志存储", + "tags": [ + "evolution" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/evolution/experience_schema.py", + "type": "file", + "name": "experience_schema.py", + "filePath": "src/agentkit/evolution/experience_schema.py", + "layer": "utility", + "summary": "Experience Schema - 任务经验数据模型", + "tags": [ + "evolution" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/evolution/experience_store.py", + "type": "file", + "name": "experience_store.py", + "filePath": "src/agentkit/evolution/experience_store.py", + "layer": "utility", + "summary": "ExperienceStore - 任务经验存储", + "tags": [ + "evolution" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/evolution/fitness.py", + "type": "file", + "name": "fitness.py", + "filePath": "src/agentkit/evolution/fitness.py", + "layer": "utility", + "summary": "MultiObjectiveFitness - 多目标适应度评估", + "tags": [ + "evolution" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/evolution/genetic.py", + "type": "file", + "name": "genetic.py", + "filePath": "src/agentkit/evolution/genetic.py", + "layer": "utility", + "summary": "GEPA - Genetic-Pareto Prompt Evolution", + "tags": [ + "evolution" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/evolution/lifecycle.py", + "type": "file", + "name": "lifecycle.py", + "filePath": "src/agentkit/evolution/lifecycle.py", + "layer": "utility", + "summary": "EvolutionMixin - 将进化引擎集成到 Agent 生命周期", + "tags": [ + "evolution" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/evolution/llm_reflector.py", + "type": "file", + "name": "llm_reflector.py", + "filePath": "src/agentkit/evolution/llm_reflector.py", + "layer": "utility", + "summary": "LLMReflector - LLM 驱动的执行反思器", + "tags": [ + "evolution" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/evolution/models.py", + "type": "file", + "name": "models.py", + "filePath": "src/agentkit/evolution/models.py", + "layer": "utility", + "summary": "SQLAlchemy ORM models for evolution persistence (SQLite-backed).", + "tags": [ + "evolution" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/evolution/path_optimizer.py", + "type": "file", + "name": "path_optimizer.py", + "filePath": "src/agentkit/evolution/path_optimizer.py", + "layer": "utility", + "summary": "PathOptimizer - 执行路径优化器", + "tags": [ + "evolution" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/evolution/pitfall_detector.py", + "type": "file", + "name": "pitfall_detector.py", + "filePath": "src/agentkit/evolution/pitfall_detector.py", + "layer": "utility", + "summary": "PitfallDetector - 任务避坑预警", + "tags": [ + "evolution" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/evolution/prompt_optimizer.py", + "type": "file", + "name": "prompt_optimizer.py", + "filePath": "src/agentkit/evolution/prompt_optimizer.py", + "layer": "utility", + "summary": "PromptOptimizer - DSPy 风格的 Prompt 自动优化器", + "tags": [ + "evolution" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/evolution/reflector.py", + "type": "file", + "name": "reflector.py", + "filePath": "src/agentkit/evolution/reflector.py", + "layer": "utility", + "summary": "Reflector - 执行反思", + "tags": [ + "evolution" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/evolution/strategy_tuner.py", + "type": "file", + "name": "strategy_tuner.py", + "filePath": "src/agentkit/evolution/strategy_tuner.py", + "layer": "utility", + "summary": "StrategyTuner - 策略调优", + "tags": [ + "evolution" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/llm/__init__.py", + "type": "file", + "name": "__init__.py", + "filePath": "src/agentkit/llm/__init__.py", + "layer": "service", + "summary": "LLM Gateway Module - 统一 LLM 调用", + "tags": [ + "llm" + ], + "complexity": "simple" + }, + { + "id": "file:src/agentkit/llm/config.py", + "type": "file", + "name": "config.py", + "filePath": "src/agentkit/llm/config.py", + "layer": "utility", + "summary": "LLM Config - 配置加载", + "tags": [ + "llm" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/llm/gateway.py", + "type": "file", + "name": "gateway.py", + "filePath": "src/agentkit/llm/gateway.py", + "layer": "utility", + "summary": "LLM Gateway - 统一 LLM 调用入口", + "tags": [ + "llm" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/llm/protocol.py", + "type": "file", + "name": "protocol.py", + "filePath": "src/agentkit/llm/protocol.py", + "layer": "utility", + "summary": "LLM Protocol - 数据类与抽象基类", + "tags": [ + "llm" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/llm/providers/__init__.py", + "type": "file", + "name": "__init__.py", + "filePath": "src/agentkit/llm/providers/__init__.py", + "layer": "utility", + "summary": "LLM Providers", + "tags": [ + "llm", + "providers" + ], + "complexity": "simple" + }, + { + "id": "file:src/agentkit/llm/providers/anthropic.py", + "type": "file", + "name": "anthropic.py", + "filePath": "src/agentkit/llm/providers/anthropic.py", + "layer": "utility", + "summary": "Anthropic Provider - 原生 Anthropic Messages API 支持", + "tags": [ + "llm", + "providers" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/llm/providers/doubao.py", + "type": "file", + "name": "doubao.py", + "filePath": "src/agentkit/llm/providers/doubao.py", + "layer": "utility", + "summary": "DoubaoProvider - 字节豆包 Provider", + "tags": [ + "llm", + "providers" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/llm/providers/gemini.py", + "type": "file", + "name": "gemini.py", + "filePath": "src/agentkit/llm/providers/gemini.py", + "layer": "utility", + "summary": "Gemini Provider - 原生 Google Gemini API 支持", + "tags": [ + "llm", + "providers" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/llm/providers/openai.py", + "type": "file", + "name": "openai.py", + "filePath": "src/agentkit/llm/providers/openai.py", + "layer": "utility", + "summary": "OpenAI Compatible Provider - 支持 OpenAI/DeepSeek/Anthropic 等兼容 API", + "tags": [ + "llm", + "providers" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/llm/providers/tracker.py", + "type": "file", + "name": "tracker.py", + "filePath": "src/agentkit/llm/providers/tracker.py", + "layer": "utility", + "summary": "Usage Tracker - 使用量追踪", + "tags": [ + "llm", + "providers" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/llm/providers/wenxin.py", + "type": "file", + "name": "wenxin.py", + "filePath": "src/agentkit/llm/providers/wenxin.py", + "layer": "utility", + "summary": "WenxinProvider - 百度文心 ERNIE Provider", + "tags": [ + "llm", + "providers" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/llm/providers/yuanbao.py", + "type": "file", + "name": "yuanbao.py", + "filePath": "src/agentkit/llm/providers/yuanbao.py", + "layer": "utility", + "summary": "YuanbaoProvider - 腾讯混元/元宝 Provider", + "tags": [ + "llm", + "providers" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/llm/retry.py", + "type": "file", + "name": "retry.py", + "filePath": "src/agentkit/llm/retry.py", + "layer": "utility", + "summary": "RetryPolicy and CircuitBreaker for LLM provider reliability", + "tags": [ + "llm" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/marketplace/__init__.py", + "type": "file", + "name": "__init__.py", + "filePath": "src/agentkit/marketplace/__init__.py", + "layer": "service", + "summary": "AgentKit Marketplace - 拍卖机制与财富追踪", + "tags": [ + "marketplace" + ], + "complexity": "simple" + }, + { + "id": "file:src/agentkit/marketplace/auction.py", + "type": "file", + "name": "auction.py", + "filePath": "src/agentkit/marketplace/auction.py", + "layer": "unknown", + "summary": "AuctionHouse - 拍卖机制,基于竞价选择 Agent", + "tags": [ + "marketplace" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/marketplace/wealth.py", + "type": "file", + "name": "wealth.py", + "filePath": "src/agentkit/marketplace/wealth.py", + "layer": "unknown", + "summary": "WealthTracker - Agent 财富追踪,用于拍卖机制", + "tags": [ + "marketplace" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/mcp/__init__.py", + "type": "file", + "name": "__init__.py", + "filePath": "src/agentkit/mcp/__init__.py", + "layer": "service", + "summary": "AgentKit MCP - Model Context Protocol 支持", + "tags": [ + "mcp" + ], + "complexity": "simple" + }, + { + "id": "file:src/agentkit/mcp/client.py", + "type": "file", + "name": "client.py", + "filePath": "src/agentkit/mcp/client.py", + "layer": "utility", + "summary": "MCP Client - 调用外部 MCP 工具服务器", + "tags": [ + "mcp" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/mcp/manager.py", + "type": "file", + "name": "manager.py", + "filePath": "src/agentkit/mcp/manager.py", + "layer": "utility", + "summary": "MCP Manager - 管理 MCP Server 连接和工具发现", + "tags": [ + "mcp" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/mcp/server.py", + "type": "file", + "name": "server.py", + "filePath": "src/agentkit/mcp/server.py", + "layer": "utility", + "summary": "MCP Server - 将 Agent 能力暴露为 MCP 工具", + "tags": [ + "mcp" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/mcp/transport.py", + "type": "file", + "name": "transport.py", + "filePath": "src/agentkit/mcp/transport.py", + "layer": "utility", + "summary": "MCP Transport - 传输层抽象", + "tags": [ + "mcp" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/memory/__init__.py", + "type": "file", + "name": "__init__.py", + "filePath": "src/agentkit/memory/__init__.py", + "layer": "service", + "summary": "AgentKit Memory - 记忆系统", + "tags": [ + "memory" + ], + "complexity": "simple" + }, + { + "id": "file:src/agentkit/memory/adapters/__init__.py", + "type": "file", + "name": "__init__.py", + "filePath": "src/agentkit/memory/adapters/__init__.py", + "layer": "data", + "summary": "知识库适配器包", + "tags": [ + "memory", + "adapters" + ], + "complexity": "simple" + }, + { + "id": "file:src/agentkit/memory/adapters/base.py", + "type": "file", + "name": "base.py", + "filePath": "src/agentkit/memory/adapters/base.py", + "layer": "data", + "summary": "KBAdapter 抽象基类 - 知识库适配器的基础实现", + "tags": [ + "memory", + "adapters" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/memory/adapters/confluence.py", + "type": "file", + "name": "confluence.py", + "filePath": "src/agentkit/memory/adapters/confluence.py", + "layer": "data", + "summary": "ConfluenceAdapter - Confluence 知识库适配器", + "tags": [ + "memory", + "adapters" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/memory/adapters/feishu.py", + "type": "file", + "name": "feishu.py", + "filePath": "src/agentkit/memory/adapters/feishu.py", + "layer": "data", + "summary": "FeishuKBAdapter - 飞书知识库适配器", + "tags": [ + "memory", + "adapters" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/memory/adapters/generic_http.py", + "type": "file", + "name": "generic_http.py", + "filePath": "src/agentkit/memory/adapters/generic_http.py", + "layer": "data", + "summary": "GenericHTTPAdapter - 通用 HTTP 知识库适配器", + "tags": [ + "memory", + "adapters" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/memory/base.py", + "type": "file", + "name": "base.py", + "filePath": "src/agentkit/memory/base.py", + "layer": "data", + "summary": "Memory 抽象基类 - 统一记忆接口", + "tags": [ + "memory" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/memory/chunking.py", + "type": "file", + "name": "chunking.py", + "filePath": "src/agentkit/memory/chunking.py", + "layer": "data", + "summary": "Chunking - 文档分块策略", + "tags": [ + "memory" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/memory/contextual_retrieval.py", + "type": "file", + "name": "contextual_retrieval.py", + "filePath": "src/agentkit/memory/contextual_retrieval.py", + "layer": "data", + "summary": "ContextualChunker - 上下文增强分块", + "tags": [ + "memory" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/memory/document_loader.py", + "type": "file", + "name": "document_loader.py", + "filePath": "src/agentkit/memory/document_loader.py", + "layer": "data", + "summary": "DocumentLoader - 多格式文档解析器", + "tags": [ + "memory" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/memory/embedder.py", + "type": "file", + "name": "embedder.py", + "filePath": "src/agentkit/memory/embedder.py", + "layer": "data", + "summary": "Embedder 接口与实现 - 文本向量化", + "tags": [ + "memory" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/memory/episodic.py", + "type": "file", + "name": "episodic.py", + "filePath": "src/agentkit/memory/episodic.py", + "layer": "data", + "summary": "Episodic Memory - 基于 pgvector + PostgreSQL 的任务经验记忆", + "tags": [ + "memory" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/memory/http_rag.py", + "type": "file", + "name": "http_rag.py", + "filePath": "src/agentkit/memory/http_rag.py", + "layer": "data", + "summary": "HTTP RAG Service - 通过 HTTP 调用业务系统知识库 API", + "tags": [ + "memory" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/memory/knowledge_base.py", + "type": "file", + "name": "knowledge_base.py", + "filePath": "src/agentkit/memory/knowledge_base.py", + "layer": "data", + "summary": "KnowledgeBase 协议定义 - 外部知识库统一接口", + "tags": [ + "memory" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/memory/local_rag.py", + "type": "file", + "name": "local_rag.py", + "filePath": "src/agentkit/memory/local_rag.py", + "layer": "data", + "summary": "LocalRAGService - 本地文档 RAG 服务", + "tags": [ + "memory" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/memory/models.py", + "type": "file", + "name": "models.py", + "filePath": "src/agentkit/memory/models.py", + "layer": "data", + "summary": "SQLAlchemy ORM models for episodic memory persistence (PostgreSQL + pgvector).", + "tags": [ + "memory" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/memory/multi_source_retriever.py", + "type": "file", + "name": "multi_source_retriever.py", + "filePath": "src/agentkit/memory/multi_source_retriever.py", + "layer": "data", + "summary": "MultiSourceRetriever - 多源混合检索器", + "tags": [ + "memory" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/memory/profile.py", + "type": "file", + "name": "profile.py", + "filePath": "src/agentkit/memory/profile.py", + "layer": "data", + "summary": "分层记忆系统 — SOUL/USER/MEMORY/DAILY 文件管理.", + "tags": [ + "memory" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/memory/query_transformer.py", + "type": "file", + "name": "query_transformer.py", + "filePath": "src/agentkit/memory/query_transformer.py", + "layer": "data", + "summary": "QueryTransformer - RAG 查询改写", + "tags": [ + "memory" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/memory/rag_loop.py", + "type": "file", + "name": "rag_loop.py", + "filePath": "src/agentkit/memory/rag_loop.py", + "layer": "data", + "summary": "RAGSelfCorrectionLoop - CRAG 自纠正循环", + "tags": [ + "memory" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/memory/relevance_scorer.py", + "type": "file", + "name": "relevance_scorer.py", + "filePath": "src/agentkit/memory/relevance_scorer.py", + "layer": "data", + "summary": "RelevanceScorer - 检索结果相关性自动评估", + "tags": [ + "memory" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/memory/retriever.py", + "type": "file", + "name": "retriever.py", + "filePath": "src/agentkit/memory/retriever.py", + "layer": "data", + "summary": "MemoryRetriever - 混合检索器", + "tags": [ + "memory" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/memory/semantic.py", + "type": "file", + "name": "semantic.py", + "filePath": "src/agentkit/memory/semantic.py", + "layer": "data", + "summary": "Semantic Memory - 知识库适配器", + "tags": [ + "memory" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/memory/working.py", + "type": "file", + "name": "working.py", + "filePath": "src/agentkit/memory/working.py", + "layer": "data", + "summary": "Working Memory - 基于 Redis 的短期任务记忆", + "tags": [ + "memory" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/orchestrator/__init__.py", + "type": "file", + "name": "__init__.py", + "filePath": "src/agentkit/orchestrator/__init__.py", + "layer": "service", + "summary": "AgentKit Orchestrator - 多 Agent 协同编排", + "tags": [ + "orchestrator" + ], + "complexity": "simple" + }, + { + "id": "file:src/agentkit/orchestrator/compensation.py", + "type": "file", + "name": "compensation.py", + "filePath": "src/agentkit/orchestrator/compensation.py", + "layer": "service", + "summary": "Saga compensation pattern for Pipeline execution", + "tags": [ + "orchestrator" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/orchestrator/dynamic_pipeline.py", + "type": "file", + "name": "dynamic_pipeline.py", + "filePath": "src/agentkit/orchestrator/dynamic_pipeline.py", + "layer": "service", + "summary": "DynamicPipeline - 动态 Pipeline 组合", + "tags": [ + "orchestrator" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/orchestrator/handoff.py", + "type": "file", + "name": "handoff.py", + "filePath": "src/agentkit/orchestrator/handoff.py", + "layer": "service", + "summary": "HandoffManager - Agent 间任务转交", + "tags": [ + "orchestrator" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/orchestrator/pipeline_engine.py", + "type": "file", + "name": "pipeline_engine.py", + "filePath": "src/agentkit/orchestrator/pipeline_engine.py", + "layer": "service", + "summary": "Pipeline Engine - DAG + 并行执行 + 步骤重试 + Saga 补偿", + "tags": [ + "orchestrator" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/orchestrator/pipeline_loader.py", + "type": "file", + "name": "pipeline_loader.py", + "filePath": "src/agentkit/orchestrator/pipeline_loader.py", + "layer": "service", + "summary": "Pipeline Loader - YAML 加载器", + "tags": [ + "orchestrator" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/orchestrator/pipeline_models.py", + "type": "file", + "name": "pipeline_models.py", + "filePath": "src/agentkit/orchestrator/pipeline_models.py", + "layer": "service", + "summary": "Pipeline execution ORM models for PostgreSQL persistence.", + "tags": [ + "orchestrator" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/orchestrator/pipeline_schema.py", + "type": "file", + "name": "pipeline_schema.py", + "filePath": "src/agentkit/orchestrator/pipeline_schema.py", + "layer": "service", + "summary": "Pipeline 数据模型", + "tags": [ + "orchestrator" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/orchestrator/pipeline_state.py", + "type": "file", + "name": "pipeline_state.py", + "filePath": "src/agentkit/orchestrator/pipeline_state.py", + "layer": "service", + "summary": "Pipeline execution state persistence — Redis hot state + PostgreSQL cold storage.", + "tags": [ + "orchestrator" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/orchestrator/reflection.py", + "type": "file", + "name": "reflection.py", + "filePath": "src/agentkit/orchestrator/reflection.py", + "layer": "service", + "summary": "Pipeline 反思-重规划模块", + "tags": [ + "orchestrator" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/orchestrator/retry.py", + "type": "file", + "name": "retry.py", + "filePath": "src/agentkit/orchestrator/retry.py", + "layer": "service", + "summary": "Step-level retry with exponential backoff for Pipeline execution", + "tags": [ + "orchestrator" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/orchestrator/workflow_schema.py", + "type": "file", + "name": "workflow_schema.py", + "filePath": "src/agentkit/orchestrator/workflow_schema.py", + "layer": "service", + "summary": "Workflow schema - extends Pipeline with workflow-specific fields", + "tags": [ + "orchestrator" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/org/__init__.py", + "type": "file", + "name": "__init__.py", + "filePath": "src/agentkit/org/__init__.py", + "layer": "service", + "summary": "OrganizationContext - 组织上下文与 Agent 发现", + "tags": [ + "org" + ], + "complexity": "simple" + }, + { + "id": "file:src/agentkit/org/context.py", + "type": "file", + "name": "context.py", + "filePath": "src/agentkit/org/context.py", + "layer": "unknown", + "summary": "OrganizationContext - 组织上下文,管理 AgentProfile 与能力矩阵", + "tags": [ + "org" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/org/discovery.py", + "type": "file", + "name": "discovery.py", + "filePath": "src/agentkit/org/discovery.py", + "layer": "unknown", + "summary": "AgentDiscovery - 基于 OrganizationContext 的 Agent 发现与推荐", + "tags": [ + "org" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/prompts/__init__.py", + "type": "file", + "name": "__init__.py", + "filePath": "src/agentkit/prompts/__init__.py", + "layer": "service", + "summary": "AgentKit Prompts - Prompt 模板系统", + "tags": [ + "prompts" + ], + "complexity": "simple" + }, + { + "id": "file:src/agentkit/prompts/section.py", + "type": "file", + "name": "section.py", + "filePath": "src/agentkit/prompts/section.py", + "layer": "utility", + "summary": "PromptSection - 模块化 Prompt 段落", + "tags": [ + "prompts" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/prompts/template.py", + "type": "file", + "name": "template.py", + "filePath": "src/agentkit/prompts/template.py", + "layer": "utility", + "summary": "PromptTemplate - Prompt 模板渲染", + "tags": [ + "prompts" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/quality/__init__.py", + "type": "file", + "name": "__init__.py", + "filePath": "src/agentkit/quality/__init__.py", + "layer": "service", + "summary": "Quality Gate & Output Standardizer", + "tags": [ + "quality" + ], + "complexity": "simple" + }, + { + "id": "file:src/agentkit/quality/alignment.py", + "type": "file", + "name": "alignment.py", + "filePath": "src/agentkit/quality/alignment.py", + "layer": "utility", + "summary": "AlignmentGuard - 对齐守卫:约束注入 + 级联故障检测", + "tags": [ + "quality" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/quality/cascade_detector.py", + "type": "file", + "name": "cascade_detector.py", + "filePath": "src/agentkit/quality/cascade_detector.py", + "layer": "utility", + "summary": "CascadeDetector - 独立的级联故障检测工具", + "tags": [ + "quality" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/quality/gate.py", + "type": "file", + "name": "gate.py", + "filePath": "src/agentkit/quality/gate.py", + "layer": "utility", + "summary": "QualityGate - 产出质量管理", + "tags": [ + "quality" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/quality/output.py", + "type": "file", + "name": "output.py", + "filePath": "src/agentkit/quality/output.py", + "layer": "utility", + "summary": "OutputStandardizer - 标准化输出", + "tags": [ + "quality" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/router/__init__.py", + "type": "file", + "name": "__init__.py", + "filePath": "src/agentkit/router/__init__.py", + "layer": "service", + "summary": "Intent Router - 两级意图路由:关键词匹配 → LLM 分类", + "tags": [ + "router" + ], + "complexity": "simple" + }, + { + "id": "file:src/agentkit/router/intent.py", + "type": "file", + "name": "intent.py", + "filePath": "src/agentkit/router/intent.py", + "layer": "service", + "summary": "IntentRouter - 两级意图路由:关键词匹配 → LLM 分类", + "tags": [ + "router" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/server/__init__.py", + "type": "file", + "name": "__init__.py", + "filePath": "src/agentkit/server/__init__.py", + "layer": "service", + "summary": "AgentKit Server - FastAPI REST API", + "tags": [ + "server" + ], + "complexity": "simple" + }, + { + "id": "file:src/agentkit/server/app.py", + "type": "file", + "name": "app.py", + "filePath": "src/agentkit/server/app.py", + "layer": "api", + "summary": "FastAPI Application Factory", + "tags": [ + "server" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/server/client.py", + "type": "file", + "name": "client.py", + "filePath": "src/agentkit/server/client.py", + "layer": "api", + "summary": "AgentKitClient - Python SDK for AgentKit Server", + "tags": [ + "server" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/server/client_config.py", + "type": "file", + "name": "client_config.py", + "filePath": "src/agentkit/server/client_config.py", + "layer": "api", + "summary": "Client-specific configuration with priority over defaults", + "tags": [ + "server" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/server/config.py", + "type": "file", + "name": "config.py", + "filePath": "src/agentkit/server/config.py", + "layer": "api", + "summary": "Server configuration loader - loads agentkit.yaml and .env", + "tags": [ + "server" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/server/middleware.py", + "type": "file", + "name": "middleware.py", + "filePath": "src/agentkit/server/middleware.py", + "layer": "api", + "summary": "Server middleware - Authentication and Rate Limiting", + "tags": [ + "server" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/server/routes/__init__.py", + "type": "file", + "name": "__init__.py", + "filePath": "src/agentkit/server/routes/__init__.py", + "layer": "api", + "summary": "Server route modules", + "tags": [ + "server", + "routes" + ], + "complexity": "simple" + }, + { + "id": "file:src/agentkit/server/routes/agents.py", + "type": "file", + "name": "agents.py", + "filePath": "src/agentkit/server/routes/agents.py", + "layer": "api", + "summary": "Agent CRUD routes", + "tags": [ + "server", + "routes" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/server/routes/chat.py", + "type": "file", + "name": "chat.py", + "filePath": "src/agentkit/server/routes/chat.py", + "layer": "api", + "summary": "Chat API routes — multi-turn conversation with Agent via REST and WebSocket.", + "tags": [ + "server", + "routes" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/server/routes/evolution.py", + "type": "file", + "name": "evolution.py", + "filePath": "src/agentkit/server/routes/evolution.py", + "layer": "api", + "summary": "Evolution API routes", + "tags": [ + "server", + "routes" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/server/routes/evolution_dashboard.py", + "type": "file", + "name": "evolution_dashboard.py", + "filePath": "src/agentkit/server/routes/evolution_dashboard.py", + "layer": "api", + "summary": "Evolution Dashboard API routes - 自进化仪表盘", + "tags": [ + "server", + "routes" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/server/routes/health.py", + "type": "file", + "name": "health.py", + "filePath": "src/agentkit/server/routes/health.py", + "layer": "api", + "summary": "Health check route", + "tags": [ + "server", + "routes" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/server/routes/kb_management.py", + "type": "file", + "name": "kb_management.py", + "filePath": "src/agentkit/server/routes/kb_management.py", + "layer": "api", + "summary": "Knowledge Base Management API routes", + "tags": [ + "server", + "routes" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/server/routes/llm.py", + "type": "file", + "name": "llm.py", + "filePath": "src/agentkit/server/routes/llm.py", + "layer": "api", + "summary": "LLM usage routes", + "tags": [ + "server", + "routes" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/server/routes/memory.py", + "type": "file", + "name": "memory.py", + "filePath": "src/agentkit/server/routes/memory.py", + "layer": "api", + "summary": "Memory API routes", + "tags": [ + "server", + "routes" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/server/routes/metrics.py", + "type": "file", + "name": "metrics.py", + "filePath": "src/agentkit/server/routes/metrics.py", + "layer": "api", + "summary": "Metrics route — /api/v1/metrics", + "tags": [ + "server", + "routes" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/server/routes/portal.py", + "type": "file", + "name": "portal.py", + "filePath": "src/agentkit/server/routes/portal.py", + "layer": "api", + "summary": "服务器模块 - FastAPI HTTP/WebSocket服务", + "tags": [ + "server", + "routes" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/server/routes/settings.py", + "type": "file", + "name": "settings.py", + "filePath": "src/agentkit/server/routes/settings.py", + "layer": "api", + "summary": "Settings API routes with config hot-reload support.", + "tags": [ + "server", + "routes" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/server/routes/skill_management.py", + "type": "file", + "name": "skill_management.py", + "filePath": "src/agentkit/server/routes/skill_management.py", + "layer": "api", + "summary": "Skill Management API routes", + "tags": [ + "server", + "routes" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/server/routes/skills.py", + "type": "file", + "name": "skills.py", + "filePath": "src/agentkit/server/routes/skills.py", + "layer": "api", + "summary": "Skill registration routes", + "tags": [ + "server", + "routes" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/server/routes/tasks.py", + "type": "file", + "name": "tasks.py", + "filePath": "src/agentkit/server/routes/tasks.py", + "layer": "api", + "summary": "Task submission routes", + "tags": [ + "server", + "routes" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/server/routes/terminal.py", + "type": "file", + "name": "terminal.py", + "filePath": "src/agentkit/server/routes/terminal.py", + "layer": "api", + "summary": "Terminal API routes — interactive PTY sessions with whitelist security.", + "tags": [ + "server", + "routes" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/server/routes/workflows.py", + "type": "file", + "name": "workflows.py", + "filePath": "src/agentkit/server/routes/workflows.py", + "layer": "api", + "summary": "Workflow API routes - CRUD, execution, approval, and real-time progress", + "tags": [ + "server", + "routes" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/server/routes/ws.py", + "type": "file", + "name": "ws.py", + "filePath": "src/agentkit/server/routes/ws.py", + "layer": "api", + "summary": "WebSocket route for bidirectional real-time task communication.", + "tags": [ + "server", + "routes" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/server/runner.py", + "type": "file", + "name": "runner.py", + "filePath": "src/agentkit/server/runner.py", + "layer": "api", + "summary": "BackgroundRunner - Async task execution with lifecycle management", + "tags": [ + "server" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/server/task_store.py", + "type": "file", + "name": "task_store.py", + "filePath": "src/agentkit/server/task_store.py", + "layer": "api", + "summary": "TaskStore - Task state storage with TTL (InMemory / Redis backends)", + "tags": [ + "server" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/session/__init__.py", + "type": "file", + "name": "__init__.py", + "filePath": "src/agentkit/session/__init__.py", + "layer": "service", + "summary": "Session management - multi-turn conversation support for AgentKit.", + "tags": [ + "session" + ], + "complexity": "simple" + }, + { + "id": "file:src/agentkit/session/manager.py", + "type": "file", + "name": "manager.py", + "filePath": "src/agentkit/session/manager.py", + "layer": "data", + "summary": "SessionManager — high-level API for conversation session management.", + "tags": [ + "session" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/session/models.py", + "type": "file", + "name": "models.py", + "filePath": "src/agentkit/session/models.py", + "layer": "data", + "summary": "Session and Message data models for multi-turn conversations.", + "tags": [ + "session" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/session/store.py", + "type": "file", + "name": "store.py", + "filePath": "src/agentkit/session/store.py", + "layer": "data", + "summary": "Session store backends — InMemory and Redis.", + "tags": [ + "session" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/skills/__init__.py", + "type": "file", + "name": "__init__.py", + "filePath": "src/agentkit/skills/__init__.py", + "layer": "service", + "summary": "Skill 系统 - 配置驱动的技能定义、注册与加载", + "tags": [ + "skills" + ], + "complexity": "simple" + }, + { + "id": "file:src/agentkit/skills/base.py", + "type": "file", + "name": "base.py", + "filePath": "src/agentkit/skills/base.py", + "layer": "service", + "summary": "Skill 基础类 - SkillConfig, IntentConfig, QualityGateConfig, Skill", + "tags": [ + "skills" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/skills/geo_pipeline.py", + "type": "file", + "name": "geo_pipeline.py", + "filePath": "src/agentkit/skills/geo_pipeline.py", + "layer": "service", + "summary": "GEOPipeline - GEO 端到端工作流编排", + "tags": [ + "skills" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/skills/loader.py", + "type": "file", + "name": "loader.py", + "filePath": "src/agentkit/skills/loader.py", + "layer": "service", + "summary": "SkillLoader - 从 YAML/SKILL.md 目录/Python 包批量加载 Skill", + "tags": [ + "skills" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/skills/pipeline.py", + "type": "file", + "name": "pipeline.py", + "filePath": "src/agentkit/skills/pipeline.py", + "layer": "service", + "summary": "SkillPipeline - 技能编排,将多个 Skill 串联为 Pipeline 执行", + "tags": [ + "skills" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/skills/registry.py", + "type": "file", + "name": "registry.py", + "filePath": "src/agentkit/skills/registry.py", + "layer": "service", + "summary": "SkillRegistry - Skill 注册中心(v2: 版本管理、能力查询、依赖检查)", + "tags": [ + "skills" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/skills/schema.py", + "type": "file", + "name": "schema.py", + "filePath": "src/agentkit/skills/schema.py", + "layer": "service", + "summary": "SkillSpec - Skill 标准接口规范定义", + "tags": [ + "skills" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/skills/skill_md.py", + "type": "file", + "name": "skill_md.py", + "filePath": "src/agentkit/skills/skill_md.py", + "layer": "service", + "summary": "SKILL.md 解析器 - 从 Markdown 文件解析技能定义", + "tags": [ + "skills" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/telemetry/__init__.py", + "type": "file", + "name": "__init__.py", + "filePath": "src/agentkit/telemetry/__init__.py", + "layer": "service", + "summary": "Telemetry module — OpenTelemetry integration (optional)", + "tags": [ + "telemetry" + ], + "complexity": "simple" + }, + { + "id": "file:src/agentkit/telemetry/metrics.py", + "type": "file", + "name": "metrics.py", + "filePath": "src/agentkit/telemetry/metrics.py", + "layer": "utility", + "summary": "Metric definitions — no-op when OTel not installed", + "tags": [ + "telemetry" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/telemetry/setup.py", + "type": "file", + "name": "setup.py", + "filePath": "src/agentkit/telemetry/setup.py", + "layer": "utility", + "summary": "OTel initialization — called at app startup", + "tags": [ + "telemetry" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/telemetry/tracer.py", + "type": "file", + "name": "tracer.py", + "filePath": "src/agentkit/telemetry/tracer.py", + "layer": "utility", + "summary": "OpenTelemetry tracer integration with no-op fallback.", + "tags": [ + "telemetry" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/telemetry/tracing.py", + "type": "file", + "name": "tracing.py", + "filePath": "src/agentkit/telemetry/tracing.py", + "layer": "utility", + "summary": "Tracing helpers — no-op when OTel not installed", + "tags": [ + "telemetry" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/tools/__init__.py", + "type": "file", + "name": "__init__.py", + "filePath": "src/agentkit/tools/__init__.py", + "layer": "service", + "summary": "AgentKit Tools - 工具插件系统", + "tags": [ + "tools" + ], + "complexity": "simple" + }, + { + "id": "file:src/agentkit/tools/agent_tool.py", + "type": "file", + "name": "agent_tool.py", + "filePath": "src/agentkit/tools/agent_tool.py", + "layer": "utility", + "summary": "AgentTool - 将 Agent 包装为 Tool", + "tags": [ + "tools" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/tools/ask_human.py", + "type": "file", + "name": "ask_human.py", + "filePath": "src/agentkit/tools/ask_human.py", + "layer": "utility", + "summary": "AskHumanTool — Human-in-the-Loop tool for Chat mode.", + "tags": [ + "tools" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/tools/baidu_search.py", + "type": "file", + "name": "baidu_search.py", + "filePath": "src/agentkit/tools/baidu_search.py", + "layer": "utility", + "summary": "BaiduSearchTool - 百度搜索工具,支持优雅降级", + "tags": [ + "tools" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/tools/base.py", + "type": "file", + "name": "base.py", + "filePath": "src/agentkit/tools/base.py", + "layer": "utility", + "summary": "Tool 抽象基类 - 统一工具接口", + "tags": [ + "tools" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/tools/composition.py", + "type": "file", + "name": "composition.py", + "filePath": "src/agentkit/tools/composition.py", + "layer": "utility", + "summary": "工具组合 - SequentialChain, ParallelFanOut, DynamicSelector", + "tags": [ + "tools" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/tools/computer_use.py", + "type": "file", + "name": "computer_use.py", + "filePath": "src/agentkit/tools/computer_use.py", + "layer": "utility", + "summary": "ComputerUseTool - Anthropic Computer Use API 集成", + "tags": [ + "tools" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/tools/computer_use_recorder.py", + "type": "file", + "name": "computer_use_recorder.py", + "filePath": "src/agentkit/tools/computer_use_recorder.py", + "layer": "utility", + "summary": "ComputerUseRecorder - Computer Use 操作录制与回放", + "tags": [ + "tools" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/tools/computer_use_session.py", + "type": "file", + "name": "computer_use_session.py", + "filePath": "src/agentkit/tools/computer_use_session.py", + "layer": "utility", + "summary": "ComputerUseSession - 虚拟桌面会话管理", + "tags": [ + "tools" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/tools/function_tool.py", + "type": "file", + "name": "function_tool.py", + "filePath": "src/agentkit/tools/function_tool.py", + "layer": "utility", + "summary": "FunctionTool - 将普通 Python 函数包装为 Tool", + "tags": [ + "tools" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/tools/headroom_retrieve.py", + "type": "file", + "name": "headroom_retrieve.py", + "filePath": "src/agentkit/tools/headroom_retrieve.py", + "layer": "utility", + "summary": "HeadroomRetrieveTool — CCR 可逆压缩检索工具", + "tags": [ + "tools" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/tools/mcp_tool.py", + "type": "file", + "name": "mcp_tool.py", + "filePath": "src/agentkit/tools/mcp_tool.py", + "layer": "utility", + "summary": "MCPTool - 通过 MCP Client 调用远程工具", + "tags": [ + "tools" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/tools/memory_tool.py", + "type": "file", + "name": "memory_tool.py", + "filePath": "src/agentkit/tools/memory_tool.py", + "layer": "utility", + "summary": "MemoryTool — Agent 可在对话中读写记忆的工具.", + "tags": [ + "tools" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/tools/output_parser.py", + "type": "file", + "name": "output_parser.py", + "filePath": "src/agentkit/tools/output_parser.py", + "layer": "utility", + "summary": "OutputParser - 结构化解析命令输出", + "tags": [ + "tools" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/tools/pty_session.py", + "type": "file", + "name": "pty_session.py", + "filePath": "src/agentkit/tools/pty_session.py", + "layer": "utility", + "summary": "PTYSession - 伪终端会话,支持交互式命令", + "tags": [ + "tools" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/tools/registry.py", + "type": "file", + "name": "registry.py", + "filePath": "src/agentkit/tools/registry.py", + "layer": "utility", + "summary": "ToolRegistry - 工具注册中心", + "tags": [ + "tools" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/tools/schema_tools.py", + "type": "file", + "name": "schema_tools.py", + "filePath": "src/agentkit/tools/schema_tools.py", + "layer": "utility", + "summary": "Schema 工具集 - 结构化数据提取与生成", + "tags": [ + "tools" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/tools/shell.py", + "type": "file", + "name": "shell.py", + "filePath": "src/agentkit/tools/shell.py", + "layer": "utility", + "summary": "ShellTool - Shell 命令执行工具", + "tags": [ + "tools" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/tools/skill_install.py", + "type": "file", + "name": "skill_install.py", + "filePath": "src/agentkit/tools/skill_install.py", + "layer": "utility", + "summary": "SkillInstallTool - Agent 可调用的技能安装工具", + "tags": [ + "tools" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/tools/terminal_session.py", + "type": "file", + "name": "terminal_session.py", + "filePath": "src/agentkit/tools/terminal_session.py", + "layer": "utility", + "summary": "TerminalSession - 终端会话状态管理", + "tags": [ + "tools" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/tools/web_crawl.py", + "type": "file", + "name": "web_crawl.py", + "filePath": "src/agentkit/tools/web_crawl.py", + "layer": "utility", + "summary": "WebCrawlTool - 基于 Crawl4AI 的网页抓取工具,支持优雅降级", + "tags": [ + "tools" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/tools/web_search.py", + "type": "file", + "name": "web_search.py", + "filePath": "src/agentkit/tools/web_search.py", + "layer": "utility", + "summary": "WebSearchTool — 通用网页搜索工具。", + "tags": [ + "tools" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/utils/__init__.py", + "type": "file", + "name": "__init__.py", + "filePath": "src/agentkit/utils/__init__.py", + "layer": "service", + "summary": "AgentKit utility modules.", + "tags": [ + "utils" + ], + "complexity": "simple" + }, + { + "id": "file:src/agentkit/utils/security.py", + "type": "file", + "name": "security.py", + "filePath": "src/agentkit/utils/security.py", + "layer": "unknown", + "summary": "Security utilities for URL validation.", + "tags": [ + "utils" + ], + "complexity": "moderate" + }, + { + "id": "file:src/agentkit/utils/vector_math.py", + "type": "file", + "name": "vector_math.py", + "filePath": "src/agentkit/utils/vector_math.py", + "layer": "unknown", + "summary": "Shared vector math utilities.", + "tags": [ + "utils" + ], + "complexity": "moderate" + }, + { + "id": "class:MessageBus", + "type": "class", + "name": "MessageBus", + "filePath": "src/agentkit/bus/interface.py", + "layer": "data", + "summary": "Agent 间消息总线抽象基类。", + "tags": [ + "MessageBus" + ], + "complexity": "moderate" + }, + { + "id": "func:MessageBus.publish", + "type": "function", + "name": "publish", + "filePath": "src/agentkit/bus/interface.py", + "layer": "data", + "summary": "MessageBus.publish(message) 异步方法", + "tags": [ + "MessageBus", + "publish" + ], + "complexity": "simple" + }, + { + "id": "func:MessageBus.subscribe", + "type": "function", + "name": "subscribe", + "filePath": "src/agentkit/bus/interface.py", + "layer": "data", + "summary": "MessageBus.subscribe(agent_name, handler) 异步方法", + "tags": [ + "MessageBus", + "subscribe" + ], + "complexity": "simple" + }, + { + "id": "func:MessageBus.unsubscribe", + "type": "function", + "name": "unsubscribe", + "filePath": "src/agentkit/bus/interface.py", + "layer": "data", + "summary": "MessageBus.unsubscribe(agent_name) 异步方法", + "tags": [ + "MessageBus", + "unsubscribe" + ], + "complexity": "simple" + }, + { + "id": "func:MessageBus.request", + "type": "function", + "name": "request", + "filePath": "src/agentkit/bus/interface.py", + "layer": "data", + "summary": "MessageBus.request(message, timeout_seconds) 异步方法", + "tags": [ + "MessageBus", + "request" + ], + "complexity": "simple" + }, + { + "id": "class:InMemoryMessageBus", + "type": "class", + "name": "InMemoryMessageBus", + "filePath": "src/agentkit/bus/memory_bus.py", + "layer": "data", + "summary": "基于 asyncio.Queue 的内存消息总线。", + "tags": [ + "InMemoryMessageBus" + ], + "complexity": "complex" + }, + { + "id": "func:InMemoryMessageBus.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/bus/memory_bus.py", + "layer": "data", + "summary": "InMemoryMessageBus.__init__(cascade_detector, alignment_guard) 方法", + "tags": [ + "InMemoryMessageBus", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:InMemoryMessageBus.publish", + "type": "function", + "name": "publish", + "filePath": "src/agentkit/bus/memory_bus.py", + "layer": "data", + "summary": "InMemoryMessageBus.publish(message) 异步方法", + "tags": [ + "InMemoryMessageBus", + "publish" + ], + "complexity": "simple" + }, + { + "id": "func:InMemoryMessageBus.subscribe", + "type": "function", + "name": "subscribe", + "filePath": "src/agentkit/bus/memory_bus.py", + "layer": "data", + "summary": "InMemoryMessageBus.subscribe(agent_name, handler) 异步方法", + "tags": [ + "InMemoryMessageBus", + "subscribe" + ], + "complexity": "simple" + }, + { + "id": "func:InMemoryMessageBus._consume_queue", + "type": "function", + "name": "_consume_queue", + "filePath": "src/agentkit/bus/memory_bus.py", + "layer": "data", + "summary": "InMemoryMessageBus._consume_queue(agent_name, handler) 异步方法", + "tags": [ + "InMemoryMessageBus", + "_consume_queue" + ], + "complexity": "simple" + }, + { + "id": "func:InMemoryMessageBus._try_resolve_pending", + "type": "function", + "name": "_try_resolve_pending", + "filePath": "src/agentkit/bus/memory_bus.py", + "layer": "data", + "summary": "InMemoryMessageBus._try_resolve_pending(message) 方法", + "tags": [ + "InMemoryMessageBus", + "_try_resolve_pending" + ], + "complexity": "simple" + }, + { + "id": "func:InMemoryMessageBus.unsubscribe", + "type": "function", + "name": "unsubscribe", + "filePath": "src/agentkit/bus/memory_bus.py", + "layer": "data", + "summary": "InMemoryMessageBus.unsubscribe(agent_name) 异步方法", + "tags": [ + "InMemoryMessageBus", + "unsubscribe" + ], + "complexity": "simple" + }, + { + "id": "func:InMemoryMessageBus.request", + "type": "function", + "name": "request", + "filePath": "src/agentkit/bus/memory_bus.py", + "layer": "data", + "summary": "InMemoryMessageBus.request(message, timeout_seconds) 异步方法", + "tags": [ + "InMemoryMessageBus", + "request" + ], + "complexity": "simple" + }, + { + "id": "func:InMemoryMessageBus.broadcast", + "type": "function", + "name": "broadcast", + "filePath": "src/agentkit/bus/memory_bus.py", + "layer": "data", + "summary": "InMemoryMessageBus.broadcast(message) 异步方法", + "tags": [ + "InMemoryMessageBus", + "broadcast" + ], + "complexity": "simple" + }, + { + "id": "func:InMemoryMessageBus.health_check", + "type": "function", + "name": "health_check", + "filePath": "src/agentkit/bus/memory_bus.py", + "layer": "data", + "summary": "InMemoryMessageBus.health_check() 异步方法", + "tags": [ + "InMemoryMessageBus", + "health_check" + ], + "complexity": "simple" + }, + { + "id": "func:InMemoryMessageBus.backend_type", + "type": "function", + "name": "backend_type", + "filePath": "src/agentkit/bus/memory_bus.py", + "layer": "data", + "summary": "InMemoryMessageBus.backend_type() 方法", + "tags": [ + "InMemoryMessageBus", + "backend_type" + ], + "complexity": "simple" + }, + { + "id": "class:AgentMessage", + "type": "class", + "name": "AgentMessage", + "filePath": "src/agentkit/bus/message.py", + "layer": "data", + "summary": "Agent 间通信消息。", + "tags": [ + "AgentMessage" + ], + "complexity": "moderate" + }, + { + "id": "func:AgentMessage.is_expired", + "type": "function", + "name": "is_expired", + "filePath": "src/agentkit/bus/message.py", + "layer": "data", + "summary": "AgentMessage.is_expired() 方法", + "tags": [ + "AgentMessage", + "is_expired" + ], + "complexity": "simple" + }, + { + "id": "func:AgentMessage.is_broadcast", + "type": "function", + "name": "is_broadcast", + "filePath": "src/agentkit/bus/message.py", + "layer": "data", + "summary": "AgentMessage.is_broadcast() 方法", + "tags": [ + "AgentMessage", + "is_broadcast" + ], + "complexity": "simple" + }, + { + "id": "func:AgentMessage.to_dict", + "type": "function", + "name": "to_dict", + "filePath": "src/agentkit/bus/message.py", + "layer": "data", + "summary": "AgentMessage.to_dict() 方法", + "tags": [ + "AgentMessage", + "to_dict" + ], + "complexity": "simple" + }, + { + "id": "func:AgentMessage.from_dict", + "type": "function", + "name": "from_dict", + "filePath": "src/agentkit/bus/message.py", + "layer": "data", + "summary": "AgentMessage.from_dict(cls, data) 方法", + "tags": [ + "AgentMessage", + "from_dict" + ], + "complexity": "simple" + }, + { + "id": "class:MessageBus", + "type": "class", + "name": "MessageBus", + "filePath": "src/agentkit/bus/protocol.py", + "layer": "data", + "summary": "Agent 间通信总线协议。", + "tags": [ + "MessageBus" + ], + "complexity": "moderate" + }, + { + "id": "func:MessageBus.publish", + "type": "function", + "name": "publish", + "filePath": "src/agentkit/bus/protocol.py", + "layer": "data", + "summary": "MessageBus.publish(message) 异步方法", + "tags": [ + "MessageBus", + "publish" + ], + "complexity": "simple" + }, + { + "id": "func:MessageBus.subscribe", + "type": "function", + "name": "subscribe", + "filePath": "src/agentkit/bus/protocol.py", + "layer": "data", + "summary": "MessageBus.subscribe(agent_name, handler) 异步方法", + "tags": [ + "MessageBus", + "subscribe" + ], + "complexity": "simple" + }, + { + "id": "func:MessageBus.unsubscribe", + "type": "function", + "name": "unsubscribe", + "filePath": "src/agentkit/bus/protocol.py", + "layer": "data", + "summary": "MessageBus.unsubscribe(agent_name) 异步方法", + "tags": [ + "MessageBus", + "unsubscribe" + ], + "complexity": "simple" + }, + { + "id": "func:MessageBus.request", + "type": "function", + "name": "request", + "filePath": "src/agentkit/bus/protocol.py", + "layer": "data", + "summary": "MessageBus.request(message, timeout) 异步方法", + "tags": [ + "MessageBus", + "request" + ], + "complexity": "simple" + }, + { + "id": "func:MessageBus.broadcast", + "type": "function", + "name": "broadcast", + "filePath": "src/agentkit/bus/protocol.py", + "layer": "data", + "summary": "MessageBus.broadcast(message) 异步方法", + "tags": [ + "MessageBus", + "broadcast" + ], + "complexity": "simple" + }, + { + "id": "func:MessageBus.health_check", + "type": "function", + "name": "health_check", + "filePath": "src/agentkit/bus/protocol.py", + "layer": "data", + "summary": "MessageBus.health_check() 异步方法", + "tags": [ + "MessageBus", + "health_check" + ], + "complexity": "simple" + }, + { + "id": "class:RedisMessageBus", + "type": "class", + "name": "RedisMessageBus", + "filePath": "src/agentkit/bus/redis_bus.py", + "layer": "data", + "summary": "基于 Redis Streams 的消息总线。", + "tags": [ + "RedisMessageBus" + ], + "complexity": "complex" + }, + { + "id": "func:RedisMessageBus.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/bus/redis_bus.py", + "layer": "data", + "summary": "RedisMessageBus.__init__(redis_url, consumer_group, max_retries) 方法", + "tags": [ + "RedisMessageBus", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:RedisMessageBus._get_redis", + "type": "function", + "name": "_get_redis", + "filePath": "src/agentkit/bus/redis_bus.py", + "layer": "data", + "summary": "RedisMessageBus._get_redis() 异步方法", + "tags": [ + "RedisMessageBus", + "_get_redis" + ], + "complexity": "simple" + }, + { + "id": "func:RedisMessageBus._stream_key", + "type": "function", + "name": "_stream_key", + "filePath": "src/agentkit/bus/redis_bus.py", + "layer": "data", + "summary": "RedisMessageBus._stream_key(agent_name) 方法", + "tags": [ + "RedisMessageBus", + "_stream_key" + ], + "complexity": "simple" + }, + { + "id": "func:RedisMessageBus._dead_letter_key", + "type": "function", + "name": "_dead_letter_key", + "filePath": "src/agentkit/bus/redis_bus.py", + "layer": "data", + "summary": "RedisMessageBus._dead_letter_key(agent_name) 方法", + "tags": [ + "RedisMessageBus", + "_dead_letter_key" + ], + "complexity": "simple" + }, + { + "id": "func:RedisMessageBus.publish", + "type": "function", + "name": "publish", + "filePath": "src/agentkit/bus/redis_bus.py", + "layer": "data", + "summary": "RedisMessageBus.publish(message) 异步方法", + "tags": [ + "RedisMessageBus", + "publish" + ], + "complexity": "simple" + }, + { + "id": "func:RedisMessageBus.subscribe", + "type": "function", + "name": "subscribe", + "filePath": "src/agentkit/bus/redis_bus.py", + "layer": "data", + "summary": "RedisMessageBus.subscribe(agent_name, handler) 异步方法", + "tags": [ + "RedisMessageBus", + "subscribe" + ], + "complexity": "simple" + }, + { + "id": "func:RedisMessageBus._consume_stream", + "type": "function", + "name": "_consume_stream", + "filePath": "src/agentkit/bus/redis_bus.py", + "layer": "data", + "summary": "RedisMessageBus._consume_stream(agent_name) 异步方法", + "tags": [ + "RedisMessageBus", + "_consume_stream" + ], + "complexity": "simple" + }, + { + "id": "func:RedisMessageBus._handle_failed_message", + "type": "function", + "name": "_handle_failed_message", + "filePath": "src/agentkit/bus/redis_bus.py", + "layer": "data", + "summary": "RedisMessageBus._handle_failed_message(redis, stream_key, msg_id, fields, agent_name) 异步方法", + "tags": [ + "RedisMessageBus", + "_handle_failed_message" + ], + "complexity": "simple" + }, + { + "id": "func:RedisMessageBus.unsubscribe", + "type": "function", + "name": "unsubscribe", + "filePath": "src/agentkit/bus/redis_bus.py", + "layer": "data", + "summary": "RedisMessageBus.unsubscribe(agent_name) 异步方法", + "tags": [ + "RedisMessageBus", + "unsubscribe" + ], + "complexity": "simple" + }, + { + "id": "func:RedisMessageBus.request", + "type": "function", + "name": "request", + "filePath": "src/agentkit/bus/redis_bus.py", + "layer": "data", + "summary": "RedisMessageBus.request(message, timeout) 异步方法", + "tags": [ + "RedisMessageBus", + "request" + ], + "complexity": "simple" + }, + { + "id": "func:RedisMessageBus.broadcast", + "type": "function", + "name": "broadcast", + "filePath": "src/agentkit/bus/redis_bus.py", + "layer": "data", + "summary": "RedisMessageBus.broadcast(message) 异步方法", + "tags": [ + "RedisMessageBus", + "broadcast" + ], + "complexity": "simple" + }, + { + "id": "func:RedisMessageBus.health_check", + "type": "function", + "name": "health_check", + "filePath": "src/agentkit/bus/redis_bus.py", + "layer": "data", + "summary": "RedisMessageBus.health_check() 异步方法", + "tags": [ + "RedisMessageBus", + "health_check" + ], + "complexity": "simple" + }, + { + "id": "func:RedisMessageBus.backend_type", + "type": "function", + "name": "backend_type", + "filePath": "src/agentkit/bus/redis_bus.py", + "layer": "data", + "summary": "RedisMessageBus.backend_type() 方法", + "tags": [ + "RedisMessageBus", + "backend_type" + ], + "complexity": "simple" + }, + { + "id": "class:ExecutionMode", + "type": "class", + "name": "ExecutionMode", + "filePath": "src/agentkit/chat/skill_routing.py", + "layer": "unknown", + "summary": "How the downstream should execute this routing result.", + "tags": [ + "ExecutionMode" + ], + "complexity": "simple" + }, + { + "id": "class:SkillRoutingResult", + "type": "class", + "name": "SkillRoutingResult", + "filePath": "src/agentkit/chat/skill_routing.py", + "layer": "unknown", + "summary": "Result of skill routing for a user message.", + "tags": [ + "SkillRoutingResult" + ], + "complexity": "simple" + }, + { + "id": "class:HeuristicClassifier", + "type": "class", + "name": "HeuristicClassifier", + "filePath": "src/agentkit/chat/skill_routing.py", + "layer": "unknown", + "summary": "零成本本地启发式分类器,替代 LLM quick_classify。", + "tags": [ + "HeuristicClassifier" + ], + "complexity": "simple" + }, + { + "id": "func:HeuristicClassifier.classify", + "type": "function", + "name": "classify", + "filePath": "src/agentkit/chat/skill_routing.py", + "layer": "unknown", + "summary": "HeuristicClassifier.classify(content) 方法", + "tags": [ + "HeuristicClassifier", + "classify" + ], + "complexity": "simple" + }, + { + "id": "class:CostAwareRouter", + "type": "class", + "name": "CostAwareRouter", + "filePath": "src/agentkit/chat/skill_routing.py", + "layer": "unknown", + "summary": "三层成本感知路由器。", + "tags": [ + "CostAwareRouter" + ], + "complexity": "moderate" + }, + { + "id": "func:CostAwareRouter.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/chat/skill_routing.py", + "layer": "unknown", + "summary": "CostAwareRouter.__init__(llm_gateway, model, org_context, auction_enabled, classifier, merged_llm_classify) 方法", + "tags": [ + "CostAwareRouter", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:CostAwareRouter._match_layer0", + "type": "function", + "name": "_match_layer0", + "filePath": "src/agentkit/chat/skill_routing.py", + "layer": "unknown", + "summary": "CostAwareRouter._match_layer0(content) 方法", + "tags": [ + "CostAwareRouter", + "_match_layer0" + ], + "complexity": "simple" + }, + { + "id": "func:CostAwareRouter.quick_classify", + "type": "function", + "name": "quick_classify", + "filePath": "src/agentkit/chat/skill_routing.py", + "layer": "unknown", + "summary": "CostAwareRouter.quick_classify(content) 异步方法", + "tags": [ + "CostAwareRouter", + "quick_classify" + ], + "complexity": "simple" + }, + { + "id": "func:CostAwareRouter._classify_merged", + "type": "function", + "name": "_classify_merged", + "filePath": "src/agentkit/chat/skill_routing.py", + "layer": "unknown", + "summary": "CostAwareRouter._classify_merged(content, skill_registry, intent_router, default_tools, default_system_prompt, default_model, default_agent_name, agent_tool_registry, session_id, complexity) 异步方法", + "tags": [ + "CostAwareRouter", + "_classify_merged" + ], + "complexity": "simple" + }, + { + "id": "func:CostAwareRouter._route_layer2", + "type": "function", + "name": "_route_layer2", + "filePath": "src/agentkit/chat/skill_routing.py", + "layer": "unknown", + "summary": "CostAwareRouter._route_layer2(content, skill_registry, intent_router, default_tools, default_system_prompt, default_model, default_agent_name, agent_tool_registry, session_id, complexity, trace) 异步方法", + "tags": [ + "CostAwareRouter", + "_route_layer2" + ], + "complexity": "simple" + }, + { + "id": "func:CostAwareRouter.route", + "type": "function", + "name": "route", + "filePath": "src/agentkit/chat/skill_routing.py", + "layer": "unknown", + "summary": "CostAwareRouter.route(content, skill_registry, intent_router, default_tools, default_system_prompt, default_model, default_agent_name, agent_tool_registry, session_id, transparency) 异步方法", + "tags": [ + "CostAwareRouter", + "route" + ], + "complexity": "simple" + }, + { + "id": "class:AgentPool", + "type": "class", + "name": "AgentPool", + "filePath": "src/agentkit/core/agent_pool.py", + "layer": "service", + "summary": "运行时 Agent 实例池,管理 Agent 的创建、获取、删除", + "tags": [ + "AgentPool" + ], + "complexity": "moderate" + }, + { + "id": "func:AgentPool.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/core/agent_pool.py", + "layer": "service", + "summary": "AgentPool.__init__(llm_gateway, skill_registry, tool_registry, compressor, message_bus) 方法", + "tags": [ + "AgentPool", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:AgentPool.create_agent", + "type": "function", + "name": "create_agent", + "filePath": "src/agentkit/core/agent_pool.py", + "layer": "service", + "summary": "AgentPool.create_agent(config) 异步方法", + "tags": [ + "AgentPool", + "create_agent" + ], + "complexity": "simple" + }, + { + "id": "func:AgentPool.remove_agent", + "type": "function", + "name": "remove_agent", + "filePath": "src/agentkit/core/agent_pool.py", + "layer": "service", + "summary": "AgentPool.remove_agent(name) 异步方法", + "tags": [ + "AgentPool", + "remove_agent" + ], + "complexity": "simple" + }, + { + "id": "func:AgentPool.get_agent", + "type": "function", + "name": "get_agent", + "filePath": "src/agentkit/core/agent_pool.py", + "layer": "service", + "summary": "AgentPool.get_agent(name) 方法", + "tags": [ + "AgentPool", + "get_agent" + ], + "complexity": "simple" + }, + { + "id": "func:AgentPool.list_agents", + "type": "function", + "name": "list_agents", + "filePath": "src/agentkit/core/agent_pool.py", + "layer": "service", + "summary": "AgentPool.list_agents() 方法", + "tags": [ + "AgentPool", + "list_agents" + ], + "complexity": "simple" + }, + { + "id": "func:AgentPool.create_agent_from_skill", + "type": "function", + "name": "create_agent_from_skill", + "filePath": "src/agentkit/core/agent_pool.py", + "layer": "service", + "summary": "AgentPool.create_agent_from_skill(skill_name) 异步方法", + "tags": [ + "AgentPool", + "create_agent_from_skill" + ], + "complexity": "simple" + }, + { + "id": "class:BaseAgent", + "type": "class", + "name": "BaseAgent", + "filePath": "src/agentkit/core/base.py", + "layer": "service", + "summary": "所有 Agent 的基类,定义标准生命周期。", + "tags": [ + "BaseAgent" + ], + "complexity": "complex" + }, + { + "id": "func:BaseAgent.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/core/base.py", + "layer": "service", + "summary": "BaseAgent.__init__(name, agent_type, version) 方法", + "tags": [ + "BaseAgent", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:BaseAgent.status", + "type": "function", + "name": "status", + "filePath": "src/agentkit/core/base.py", + "layer": "service", + "summary": "BaseAgent.status() 方法", + "tags": [ + "BaseAgent", + "status" + ], + "complexity": "simple" + }, + { + "id": "func:BaseAgent.config_version", + "type": "function", + "name": "config_version", + "filePath": "src/agentkit/core/base.py", + "layer": "service", + "summary": "BaseAgent.config_version() 方法", + "tags": [ + "BaseAgent", + "config_version" + ], + "complexity": "simple" + }, + { + "id": "func:BaseAgent.is_distributed", + "type": "function", + "name": "is_distributed", + "filePath": "src/agentkit/core/base.py", + "layer": "service", + "summary": "BaseAgent.is_distributed() 方法", + "tags": [ + "BaseAgent", + "is_distributed" + ], + "complexity": "simple" + }, + { + "id": "func:BaseAgent._acquire_status_lock", + "type": "function", + "name": "_acquire_status_lock", + "filePath": "src/agentkit/core/base.py", + "layer": "service", + "summary": "BaseAgent._acquire_status_lock() 异步方法", + "tags": [ + "BaseAgent", + "_acquire_status_lock" + ], + "complexity": "simple" + }, + { + "id": "func:BaseAgent._release_status_lock", + "type": "function", + "name": "_release_status_lock", + "filePath": "src/agentkit/core/base.py", + "layer": "service", + "summary": "BaseAgent._release_status_lock() 方法", + "tags": [ + "BaseAgent", + "_release_status_lock" + ], + "complexity": "simple" + }, + { + "id": "func:BaseAgent.tools", + "type": "function", + "name": "tools", + "filePath": "src/agentkit/core/base.py", + "layer": "service", + "summary": "BaseAgent.tools() 方法", + "tags": [ + "BaseAgent", + "tools" + ], + "complexity": "simple" + }, + { + "id": "func:BaseAgent.memory", + "type": "function", + "name": "memory", + "filePath": "src/agentkit/core/base.py", + "layer": "service", + "summary": "BaseAgent.memory() 方法", + "tags": [ + "BaseAgent", + "memory" + ], + "complexity": "simple" + }, + { + "id": "func:BaseAgent.llm_gateway", + "type": "function", + "name": "llm_gateway", + "filePath": "src/agentkit/core/base.py", + "layer": "service", + "summary": "BaseAgent.llm_gateway() 方法", + "tags": [ + "BaseAgent", + "llm_gateway" + ], + "complexity": "simple" + }, + { + "id": "func:BaseAgent.llm_gateway", + "type": "function", + "name": "llm_gateway", + "filePath": "src/agentkit/core/base.py", + "layer": "service", + "summary": "BaseAgent.llm_gateway(gateway) 方法", + "tags": [ + "BaseAgent", + "llm_gateway" + ], + "complexity": "simple" + }, + { + "id": "func:BaseAgent.skill", + "type": "function", + "name": "skill", + "filePath": "src/agentkit/core/base.py", + "layer": "service", + "summary": "BaseAgent.skill() 方法", + "tags": [ + "BaseAgent", + "skill" + ], + "complexity": "simple" + }, + { + "id": "func:BaseAgent.skill", + "type": "function", + "name": "skill", + "filePath": "src/agentkit/core/base.py", + "layer": "service", + "summary": "BaseAgent.skill(skill) 方法", + "tags": [ + "BaseAgent", + "skill" + ], + "complexity": "simple" + }, + { + "id": "func:BaseAgent.quality_gate", + "type": "function", + "name": "quality_gate", + "filePath": "src/agentkit/core/base.py", + "layer": "service", + "summary": "BaseAgent.quality_gate() 方法", + "tags": [ + "BaseAgent", + "quality_gate" + ], + "complexity": "simple" + }, + { + "id": "func:BaseAgent.handle_task", + "type": "function", + "name": "handle_task", + "filePath": "src/agentkit/core/base.py", + "layer": "service", + "summary": "BaseAgent.handle_task(task) 异步方法", + "tags": [ + "BaseAgent", + "handle_task" + ], + "complexity": "simple" + }, + { + "id": "func:BaseAgent.get_capabilities", + "type": "function", + "name": "get_capabilities", + "filePath": "src/agentkit/core/base.py", + "layer": "service", + "summary": "BaseAgent.get_capabilities() 方法", + "tags": [ + "BaseAgent", + "get_capabilities" + ], + "complexity": "simple" + }, + { + "id": "func:BaseAgent.on_task_start", + "type": "function", + "name": "on_task_start", + "filePath": "src/agentkit/core/base.py", + "layer": "service", + "summary": "BaseAgent.on_task_start(task) 异步方法", + "tags": [ + "BaseAgent", + "on_task_start" + ], + "complexity": "simple" + }, + { + "id": "func:BaseAgent.on_task_complete", + "type": "function", + "name": "on_task_complete", + "filePath": "src/agentkit/core/base.py", + "layer": "service", + "summary": "BaseAgent.on_task_complete(task, output) 异步方法", + "tags": [ + "BaseAgent", + "on_task_complete" + ], + "complexity": "simple" + }, + { + "id": "func:BaseAgent.on_task_failed", + "type": "function", + "name": "on_task_failed", + "filePath": "src/agentkit/core/base.py", + "layer": "service", + "summary": "BaseAgent.on_task_failed(task, error) 异步方法", + "tags": [ + "BaseAgent", + "on_task_failed" + ], + "complexity": "simple" + }, + { + "id": "func:BaseAgent.handle_task_with_feedback", + "type": "function", + "name": "handle_task_with_feedback", + "filePath": "src/agentkit/core/base.py", + "layer": "service", + "summary": "BaseAgent.handle_task_with_feedback(task, feedback) 异步方法", + "tags": [ + "BaseAgent", + "handle_task_with_feedback" + ], + "complexity": "simple" + }, + { + "id": "func:BaseAgent._build_quality_feedback", + "type": "function", + "name": "_build_quality_feedback", + "filePath": "src/agentkit/core/base.py", + "layer": "service", + "summary": "BaseAgent._build_quality_feedback(quality_result) 方法", + "tags": [ + "BaseAgent", + "_build_quality_feedback" + ], + "complexity": "simple" + }, + { + "id": "func:BaseAgent.use_tool", + "type": "function", + "name": "use_tool", + "filePath": "src/agentkit/core/base.py", + "layer": "service", + "summary": "BaseAgent.use_tool(tool) 方法", + "tags": [ + "BaseAgent", + "use_tool" + ], + "complexity": "simple" + }, + { + "id": "func:BaseAgent.use_memory", + "type": "function", + "name": "use_memory", + "filePath": "src/agentkit/core/base.py", + "layer": "service", + "summary": "BaseAgent.use_memory(memory) 方法", + "tags": [ + "BaseAgent", + "use_memory" + ], + "complexity": "simple" + }, + { + "id": "func:BaseAgent.use_memory_retriever", + "type": "function", + "name": "use_memory_retriever", + "filePath": "src/agentkit/core/base.py", + "layer": "service", + "summary": "BaseAgent.use_memory_retriever(retriever) 方法", + "tags": [ + "BaseAgent", + "use_memory_retriever" + ], + "complexity": "simple" + }, + { + "id": "func:BaseAgent.set_registry", + "type": "function", + "name": "set_registry", + "filePath": "src/agentkit/core/base.py", + "layer": "service", + "summary": "BaseAgent.set_registry(registry) 方法", + "tags": [ + "BaseAgent", + "set_registry" + ], + "complexity": "simple" + }, + { + "id": "func:BaseAgent.set_dispatcher", + "type": "function", + "name": "set_dispatcher", + "filePath": "src/agentkit/core/base.py", + "layer": "service", + "summary": "BaseAgent.set_dispatcher(dispatcher) 方法", + "tags": [ + "BaseAgent", + "set_dispatcher" + ], + "complexity": "simple" + }, + { + "id": "func:BaseAgent.start", + "type": "function", + "name": "start", + "filePath": "src/agentkit/core/base.py", + "layer": "service", + "summary": "BaseAgent.start(redis_url) 异步方法", + "tags": [ + "BaseAgent", + "start" + ], + "complexity": "simple" + }, + { + "id": "func:BaseAgent.stop", + "type": "function", + "name": "stop", + "filePath": "src/agentkit/core/base.py", + "layer": "service", + "summary": "BaseAgent.stop() 异步方法", + "tags": [ + "BaseAgent", + "stop" + ], + "complexity": "simple" + }, + { + "id": "func:BaseAgent.execute", + "type": "function", + "name": "execute", + "filePath": "src/agentkit/core/base.py", + "layer": "service", + "summary": "BaseAgent.execute(task) 异步方法", + "tags": [ + "BaseAgent", + "execute" + ], + "complexity": "simple" + }, + { + "id": "func:BaseAgent.cancel_task", + "type": "function", + "name": "cancel_task", + "filePath": "src/agentkit/core/base.py", + "layer": "service", + "summary": "BaseAgent.cancel_task(task_id) 方法", + "tags": [ + "BaseAgent", + "cancel_task" + ], + "complexity": "simple" + }, + { + "id": "func:BaseAgent.handoff", + "type": "function", + "name": "handoff", + "filePath": "src/agentkit/core/base.py", + "layer": "service", + "summary": "BaseAgent.handoff(target_agent, task, reason, context) 异步方法", + "tags": [ + "BaseAgent", + "handoff" + ], + "complexity": "simple" + }, + { + "id": "func:BaseAgent.report_progress", + "type": "function", + "name": "report_progress", + "filePath": "src/agentkit/core/base.py", + "layer": "service", + "summary": "BaseAgent.report_progress(task_id, progress, message) 异步方法", + "tags": [ + "BaseAgent", + "report_progress" + ], + "complexity": "simple" + }, + { + "id": "func:BaseAgent.heartbeat", + "type": "function", + "name": "heartbeat", + "filePath": "src/agentkit/core/base.py", + "layer": "service", + "summary": "BaseAgent.heartbeat() 异步方法", + "tags": [ + "BaseAgent", + "heartbeat" + ], + "complexity": "simple" + }, + { + "id": "func:BaseAgent._heartbeat_loop", + "type": "function", + "name": "_heartbeat_loop", + "filePath": "src/agentkit/core/base.py", + "layer": "service", + "summary": "BaseAgent._heartbeat_loop() 异步方法", + "tags": [ + "BaseAgent", + "_heartbeat_loop" + ], + "complexity": "simple" + }, + { + "id": "func:BaseAgent._listen_for_tasks", + "type": "function", + "name": "_listen_for_tasks", + "filePath": "src/agentkit/core/base.py", + "layer": "service", + "summary": "BaseAgent._listen_for_tasks() 异步方法", + "tags": [ + "BaseAgent", + "_listen_for_tasks" + ], + "complexity": "simple" + }, + { + "id": "func:BaseAgent._execute_task_with_semaphore", + "type": "function", + "name": "_execute_task_with_semaphore", + "filePath": "src/agentkit/core/base.py", + "layer": "service", + "summary": "BaseAgent._execute_task_with_semaphore(task) 异步方法", + "tags": [ + "BaseAgent", + "_execute_task_with_semaphore" + ], + "complexity": "simple" + }, + { + "id": "func:BaseAgent._execute_task", + "type": "function", + "name": "_execute_task", + "filePath": "src/agentkit/core/base.py", + "layer": "service", + "summary": "BaseAgent._execute_task(task) 异步方法", + "tags": [ + "BaseAgent", + "_execute_task" + ], + "complexity": "simple" + }, + { + "id": "func:BaseAgent._validate_input", + "type": "function", + "name": "_validate_input", + "filePath": "src/agentkit/core/base.py", + "layer": "service", + "summary": "BaseAgent._validate_input(data, schema) 方法", + "tags": [ + "BaseAgent", + "_validate_input" + ], + "complexity": "simple" + }, + { + "id": "class:CompressionStrategy", + "type": "class", + "name": "CompressionStrategy", + "filePath": "src/agentkit/core/compressor.py", + "layer": "service", + "summary": "压缩策略协议 — 所有压缩器必须实现此接口", + "tags": [ + "CompressionStrategy" + ], + "complexity": "simple" + }, + { + "id": "func:CompressionStrategy.compress", + "type": "function", + "name": "compress", + "filePath": "src/agentkit/core/compressor.py", + "layer": "service", + "summary": "CompressionStrategy.compress(messages) 异步方法", + "tags": [ + "CompressionStrategy", + "compress" + ], + "complexity": "simple" + }, + { + "id": "func:CompressionStrategy.compress_tool_result", + "type": "function", + "name": "compress_tool_result", + "filePath": "src/agentkit/core/compressor.py", + "layer": "service", + "summary": "CompressionStrategy.compress_tool_result(tool_name, result) 异步方法", + "tags": [ + "CompressionStrategy", + "compress_tool_result" + ], + "complexity": "simple" + }, + { + "id": "func:CompressionStrategy.is_available", + "type": "function", + "name": "is_available", + "filePath": "src/agentkit/core/compressor.py", + "layer": "service", + "summary": "CompressionStrategy.is_available() 方法", + "tags": [ + "CompressionStrategy", + "is_available" + ], + "complexity": "simple" + }, + { + "id": "class:ContextCompressor", + "type": "class", + "name": "ContextCompressor", + "filePath": "src/agentkit/core/compressor.py", + "layer": "service", + "summary": "Compress long conversation histories to stay within token budgets", + "tags": [ + "ContextCompressor" + ], + "complexity": "complex" + }, + { + "id": "func:ContextCompressor.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/core/compressor.py", + "layer": "service", + "summary": "ContextCompressor.__init__(llm_gateway, max_tokens, keep_recent, model) 方法", + "tags": [ + "ContextCompressor", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:ContextCompressor.estimate_tokens", + "type": "function", + "name": "estimate_tokens", + "filePath": "src/agentkit/core/compressor.py", + "layer": "service", + "summary": "ContextCompressor.estimate_tokens(messages) 方法", + "tags": [ + "ContextCompressor", + "estimate_tokens" + ], + "complexity": "simple" + }, + { + "id": "func:ContextCompressor.compress", + "type": "function", + "name": "compress", + "filePath": "src/agentkit/core/compressor.py", + "layer": "service", + "summary": "ContextCompressor.compress(messages, _compression_depth) 异步方法", + "tags": [ + "ContextCompressor", + "compress" + ], + "complexity": "simple" + }, + { + "id": "func:ContextCompressor._summarize", + "type": "function", + "name": "_summarize", + "filePath": "src/agentkit/core/compressor.py", + "layer": "service", + "summary": "ContextCompressor._summarize(messages, max_input_tokens) 异步方法", + "tags": [ + "ContextCompressor", + "_summarize" + ], + "complexity": "simple" + }, + { + "id": "func:ContextCompressor._simple_summary", + "type": "function", + "name": "_simple_summary", + "filePath": "src/agentkit/core/compressor.py", + "layer": "service", + "summary": "ContextCompressor._simple_summary(messages) 方法", + "tags": [ + "ContextCompressor", + "_simple_summary" + ], + "complexity": "simple" + }, + { + "id": "func:ContextCompressor._compress_aggressive", + "type": "function", + "name": "_compress_aggressive", + "filePath": "src/agentkit/core/compressor.py", + "layer": "service", + "summary": "ContextCompressor._compress_aggressive(messages, _compression_depth) 异步方法", + "tags": [ + "ContextCompressor", + "_compress_aggressive" + ], + "complexity": "simple" + }, + { + "id": "func:ContextCompressor._truncate", + "type": "function", + "name": "_truncate", + "filePath": "src/agentkit/core/compressor.py", + "layer": "service", + "summary": "ContextCompressor._truncate(messages) 方法", + "tags": [ + "ContextCompressor", + "_truncate" + ], + "complexity": "simple" + }, + { + "id": "func:ContextCompressor.compress_tool_result", + "type": "function", + "name": "compress_tool_result", + "filePath": "src/agentkit/core/compressor.py", + "layer": "service", + "summary": "ContextCompressor.compress_tool_result(tool_name, result) 异步方法", + "tags": [ + "ContextCompressor", + "compress_tool_result" + ], + "complexity": "simple" + }, + { + "id": "func:ContextCompressor.is_available", + "type": "function", + "name": "is_available", + "filePath": "src/agentkit/core/compressor.py", + "layer": "service", + "summary": "ContextCompressor.is_available() 方法", + "tags": [ + "ContextCompressor", + "is_available" + ], + "complexity": "simple" + }, + { + "id": "class:AgentConfig", + "type": "class", + "name": "AgentConfig", + "filePath": "src/agentkit/core/config_driven.py", + "layer": "service", + "summary": "Agent 配置模型,从 YAML 或 Dict 构建", + "tags": [ + "AgentConfig" + ], + "complexity": "moderate" + }, + { + "id": "func:AgentConfig.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/core/config_driven.py", + "layer": "service", + "summary": "AgentConfig.__init__(name, agent_type, version, description, task_mode, supported_tasks, max_concurrency, input_schema, output_schema, prompt, llm, tools, memory, custom_handler) 方法", + "tags": [ + "AgentConfig", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:AgentConfig._validate", + "type": "function", + "name": "_validate", + "filePath": "src/agentkit/core/config_driven.py", + "layer": "service", + "summary": "AgentConfig._validate() 方法", + "tags": [ + "AgentConfig", + "_validate" + ], + "complexity": "simple" + }, + { + "id": "func:AgentConfig.from_dict", + "type": "function", + "name": "from_dict", + "filePath": "src/agentkit/core/config_driven.py", + "layer": "service", + "summary": "AgentConfig.from_dict(cls, data) 方法", + "tags": [ + "AgentConfig", + "from_dict" + ], + "complexity": "simple" + }, + { + "id": "func:AgentConfig.from_yaml", + "type": "function", + "name": "from_yaml", + "filePath": "src/agentkit/core/config_driven.py", + "layer": "service", + "summary": "AgentConfig.from_yaml(cls, path) 方法", + "tags": [ + "AgentConfig", + "from_yaml" + ], + "complexity": "simple" + }, + { + "id": "func:AgentConfig.to_dict", + "type": "function", + "name": "to_dict", + "filePath": "src/agentkit/core/config_driven.py", + "layer": "service", + "summary": "AgentConfig.to_dict() 方法", + "tags": [ + "AgentConfig", + "to_dict" + ], + "complexity": "simple" + }, + { + "id": "class:ConfigDrivenAgent", + "type": "class", + "name": "ConfigDrivenAgent", + "filePath": "src/agentkit/core/config_driven.py", + "layer": "service", + "summary": "配置驱动的 Agent", + "tags": [ + "ConfigDrivenAgent" + ], + "complexity": "complex" + }, + { + "id": "func:ConfigDrivenAgent.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/core/config_driven.py", + "layer": "service", + "summary": "ConfigDrivenAgent.__init__(config, tool_registry, llm_client, custom_handlers, llm_gateway, mcp_servers, compressor) 方法", + "tags": [ + "ConfigDrivenAgent", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:ConfigDrivenAgent.get_tools", + "type": "function", + "name": "get_tools", + "filePath": "src/agentkit/core/config_driven.py", + "layer": "service", + "summary": "ConfigDrivenAgent.get_tools() 方法", + "tags": [ + "ConfigDrivenAgent", + "get_tools" + ], + "complexity": "simple" + }, + { + "id": "func:ConfigDrivenAgent.get_model", + "type": "function", + "name": "get_model", + "filePath": "src/agentkit/core/config_driven.py", + "layer": "service", + "summary": "ConfigDrivenAgent.get_model() 方法", + "tags": [ + "ConfigDrivenAgent", + "get_model" + ], + "complexity": "simple" + }, + { + "id": "func:ConfigDrivenAgent.get_system_prompt", + "type": "function", + "name": "get_system_prompt", + "filePath": "src/agentkit/core/config_driven.py", + "layer": "service", + "summary": "ConfigDrivenAgent.get_system_prompt() 方法", + "tags": [ + "ConfigDrivenAgent", + "get_system_prompt" + ], + "complexity": "simple" + }, + { + "id": "func:ConfigDrivenAgent._build_tools_description", + "type": "function", + "name": "_build_tools_description", + "filePath": "src/agentkit/core/config_driven.py", + "layer": "service", + "summary": "ConfigDrivenAgent._build_tools_description(tools) 方法", + "tags": [ + "ConfigDrivenAgent", + "_build_tools_description" + ], + "complexity": "simple" + }, + { + "id": "func:ConfigDrivenAgent.get_react_config", + "type": "function", + "name": "get_react_config", + "filePath": "src/agentkit/core/config_driven.py", + "layer": "service", + "summary": "ConfigDrivenAgent.get_react_config() 方法", + "tags": [ + "ConfigDrivenAgent", + "get_react_config" + ], + "complexity": "simple" + }, + { + "id": "func:ConfigDrivenAgent.config", + "type": "function", + "name": "config", + "filePath": "src/agentkit/core/config_driven.py", + "layer": "service", + "summary": "ConfigDrivenAgent.config() 方法", + "tags": [ + "ConfigDrivenAgent", + "config" + ], + "complexity": "simple" + }, + { + "id": "func:ConfigDrivenAgent.prompt_template", + "type": "function", + "name": "prompt_template", + "filePath": "src/agentkit/core/config_driven.py", + "layer": "service", + "summary": "ConfigDrivenAgent.prompt_template() 方法", + "tags": [ + "ConfigDrivenAgent", + "prompt_template" + ], + "complexity": "simple" + }, + { + "id": "func:ConfigDrivenAgent.on_task_complete", + "type": "function", + "name": "on_task_complete", + "filePath": "src/agentkit/core/config_driven.py", + "layer": "service", + "summary": "ConfigDrivenAgent.on_task_complete(task, output) 异步方法", + "tags": [ + "ConfigDrivenAgent", + "on_task_complete" + ], + "complexity": "simple" + }, + { + "id": "func:ConfigDrivenAgent.on_task_failed", + "type": "function", + "name": "on_task_failed", + "filePath": "src/agentkit/core/config_driven.py", + "layer": "service", + "summary": "ConfigDrivenAgent.on_task_failed(task, error) 异步方法", + "tags": [ + "ConfigDrivenAgent", + "on_task_failed" + ], + "complexity": "simple" + }, + { + "id": "func:ConfigDrivenAgent._bind_tools", + "type": "function", + "name": "_bind_tools", + "filePath": "src/agentkit/core/config_driven.py", + "layer": "service", + "summary": "ConfigDrivenAgent._bind_tools() 方法", + "tags": [ + "ConfigDrivenAgent", + "_bind_tools" + ], + "complexity": "simple" + }, + { + "id": "func:ConfigDrivenAgent._auto_set_current_module", + "type": "function", + "name": "_auto_set_current_module", + "filePath": "src/agentkit/core/config_driven.py", + "layer": "service", + "summary": "ConfigDrivenAgent._auto_set_current_module() 方法", + "tags": [ + "ConfigDrivenAgent", + "_auto_set_current_module" + ], + "complexity": "simple" + }, + { + "id": "func:ConfigDrivenAgent._register_mcp_tools", + "type": "function", + "name": "_register_mcp_tools", + "filePath": "src/agentkit/core/config_driven.py", + "layer": "service", + "summary": "ConfigDrivenAgent._register_mcp_tools() 异步方法", + "tags": [ + "ConfigDrivenAgent", + "_register_mcp_tools" + ], + "complexity": "simple" + }, + { + "id": "func:ConfigDrivenAgent.get_capabilities", + "type": "function", + "name": "get_capabilities", + "filePath": "src/agentkit/core/config_driven.py", + "layer": "service", + "summary": "ConfigDrivenAgent.get_capabilities() 方法", + "tags": [ + "ConfigDrivenAgent", + "get_capabilities" + ], + "complexity": "simple" + }, + { + "id": "func:ConfigDrivenAgent.handle_task", + "type": "function", + "name": "handle_task", + "filePath": "src/agentkit/core/config_driven.py", + "layer": "service", + "summary": "ConfigDrivenAgent.handle_task(task) 异步方法", + "tags": [ + "ConfigDrivenAgent", + "handle_task" + ], + "complexity": "simple" + }, + { + "id": "func:ConfigDrivenAgent._handle_react", + "type": "function", + "name": "_handle_react", + "filePath": "src/agentkit/core/config_driven.py", + "layer": "service", + "summary": "ConfigDrivenAgent._handle_react(task) 异步方法", + "tags": [ + "ConfigDrivenAgent", + "_handle_react" + ], + "complexity": "simple" + }, + { + "id": "func:ConfigDrivenAgent._handle_rewoo", + "type": "function", + "name": "_handle_rewoo", + "filePath": "src/agentkit/core/config_driven.py", + "layer": "service", + "summary": "ConfigDrivenAgent._handle_rewoo(task) 异步方法", + "tags": [ + "ConfigDrivenAgent", + "_handle_rewoo" + ], + "complexity": "simple" + }, + { + "id": "func:ConfigDrivenAgent._handle_plan_exec", + "type": "function", + "name": "_handle_plan_exec", + "filePath": "src/agentkit/core/config_driven.py", + "layer": "service", + "summary": "ConfigDrivenAgent._handle_plan_exec(task) 异步方法", + "tags": [ + "ConfigDrivenAgent", + "_handle_plan_exec" + ], + "complexity": "simple" + }, + { + "id": "func:ConfigDrivenAgent._handle_reflexion", + "type": "function", + "name": "_handle_reflexion", + "filePath": "src/agentkit/core/config_driven.py", + "layer": "service", + "summary": "ConfigDrivenAgent._handle_reflexion(task) 异步方法", + "tags": [ + "ConfigDrivenAgent", + "_handle_reflexion" + ], + "complexity": "simple" + }, + { + "id": "func:ConfigDrivenAgent._handle_direct", + "type": "function", + "name": "_handle_direct", + "filePath": "src/agentkit/core/config_driven.py", + "layer": "service", + "summary": "ConfigDrivenAgent._handle_direct(task) 异步方法", + "tags": [ + "ConfigDrivenAgent", + "_handle_direct" + ], + "complexity": "simple" + }, + { + "id": "func:ConfigDrivenAgent.handle_task_with_feedback", + "type": "function", + "name": "handle_task_with_feedback", + "filePath": "src/agentkit/core/config_driven.py", + "layer": "service", + "summary": "ConfigDrivenAgent.handle_task_with_feedback(task, feedback) 异步方法", + "tags": [ + "ConfigDrivenAgent", + "handle_task_with_feedback" + ], + "complexity": "simple" + }, + { + "id": "func:ConfigDrivenAgent._wrap_llm_client", + "type": "function", + "name": "_wrap_llm_client", + "filePath": "src/agentkit/core/config_driven.py", + "layer": "service", + "summary": "ConfigDrivenAgent._wrap_llm_client(llm_client) 方法", + "tags": [ + "ConfigDrivenAgent", + "_wrap_llm_client" + ], + "complexity": "simple" + }, + { + "id": "func:ConfigDrivenAgent._handle_llm_generate", + "type": "function", + "name": "_handle_llm_generate", + "filePath": "src/agentkit/core/config_driven.py", + "layer": "service", + "summary": "ConfigDrivenAgent._handle_llm_generate(task) 异步方法", + "tags": [ + "ConfigDrivenAgent", + "_handle_llm_generate" + ], + "complexity": "simple" + }, + { + "id": "func:ConfigDrivenAgent._handle_tool_call", + "type": "function", + "name": "_handle_tool_call", + "filePath": "src/agentkit/core/config_driven.py", + "layer": "service", + "summary": "ConfigDrivenAgent._handle_tool_call(task) 异步方法", + "tags": [ + "ConfigDrivenAgent", + "_handle_tool_call" + ], + "complexity": "simple" + }, + { + "id": "func:ConfigDrivenAgent._handle_custom", + "type": "function", + "name": "_handle_custom", + "filePath": "src/agentkit/core/config_driven.py", + "layer": "service", + "summary": "ConfigDrivenAgent._handle_custom(task) 异步方法", + "tags": [ + "ConfigDrivenAgent", + "_handle_custom" + ], + "complexity": "simple" + }, + { + "id": "func:ConfigDrivenAgent._resolve_tool", + "type": "function", + "name": "_resolve_tool", + "filePath": "src/agentkit/core/config_driven.py", + "layer": "service", + "summary": "ConfigDrivenAgent._resolve_tool(task) 方法", + "tags": [ + "ConfigDrivenAgent", + "_resolve_tool" + ], + "complexity": "simple" + }, + { + "id": "func:ConfigDrivenAgent._call_llm", + "type": "function", + "name": "_call_llm", + "filePath": "src/agentkit/core/config_driven.py", + "layer": "service", + "summary": "ConfigDrivenAgent._call_llm(messages) 异步方法", + "tags": [ + "ConfigDrivenAgent", + "_call_llm" + ], + "complexity": "simple" + }, + { + "id": "func:ConfigDrivenAgent._parse_llm_response", + "type": "function", + "name": "_parse_llm_response", + "filePath": "src/agentkit/core/config_driven.py", + "layer": "service", + "summary": "ConfigDrivenAgent._parse_llm_response(response) 方法", + "tags": [ + "ConfigDrivenAgent", + "_parse_llm_response" + ], + "complexity": "simple" + }, + { + "id": "func:ConfigDrivenAgent._import_handler", + "type": "function", + "name": "_import_handler", + "filePath": "src/agentkit/core/config_driven.py", + "layer": "service", + "summary": "ConfigDrivenAgent._import_handler(dotted_path) 方法", + "tags": [ + "ConfigDrivenAgent", + "_import_handler" + ], + "complexity": "simple" + }, + { + "id": "class:TaskDispatcher", + "type": "class", + "name": "TaskDispatcher", + "filePath": "src/agentkit/core/dispatcher.py", + "layer": "service", + "summary": "任务分发器,通过 Redis Queue 将任务分发给 Agent", + "tags": [ + "TaskDispatcher" + ], + "complexity": "complex" + }, + { + "id": "func:TaskDispatcher.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/core/dispatcher.py", + "layer": "service", + "summary": "TaskDispatcher.__init__(redis_factory, session_factory, agent_model, task_model, task_log_model) 方法", + "tags": [ + "TaskDispatcher", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:TaskDispatcher._get_redis", + "type": "function", + "name": "_get_redis", + "filePath": "src/agentkit/core/dispatcher.py", + "layer": "service", + "summary": "TaskDispatcher._get_redis() 异步方法", + "tags": [ + "TaskDispatcher", + "_get_redis" + ], + "complexity": "simple" + }, + { + "id": "func:TaskDispatcher.dispatch", + "type": "function", + "name": "dispatch", + "filePath": "src/agentkit/core/dispatcher.py", + "layer": "service", + "summary": "TaskDispatcher.dispatch(task, organization_id, created_by) 异步方法", + "tags": [ + "TaskDispatcher", + "dispatch" + ], + "complexity": "simple" + }, + { + "id": "func:TaskDispatcher.cancel_task", + "type": "function", + "name": "cancel_task", + "filePath": "src/agentkit/core/dispatcher.py", + "layer": "service", + "summary": "TaskDispatcher.cancel_task(task_id) 异步方法", + "tags": [ + "TaskDispatcher", + "cancel_task" + ], + "complexity": "simple" + }, + { + "id": "func:TaskDispatcher.get_task_status", + "type": "function", + "name": "get_task_status", + "filePath": "src/agentkit/core/dispatcher.py", + "layer": "service", + "summary": "TaskDispatcher.get_task_status(task_id) 异步方法", + "tags": [ + "TaskDispatcher", + "get_task_status" + ], + "complexity": "simple" + }, + { + "id": "func:TaskDispatcher.handle_result", + "type": "function", + "name": "handle_result", + "filePath": "src/agentkit/core/dispatcher.py", + "layer": "service", + "summary": "TaskDispatcher.handle_result(result) 异步方法", + "tags": [ + "TaskDispatcher", + "handle_result" + ], + "complexity": "simple" + }, + { + "id": "func:TaskDispatcher.handle_progress", + "type": "function", + "name": "handle_progress", + "filePath": "src/agentkit/core/dispatcher.py", + "layer": "service", + "summary": "TaskDispatcher.handle_progress(progress) 异步方法", + "tags": [ + "TaskDispatcher", + "handle_progress" + ], + "complexity": "simple" + }, + { + "id": "func:TaskDispatcher.retry_failed_tasks", + "type": "function", + "name": "retry_failed_tasks", + "filePath": "src/agentkit/core/dispatcher.py", + "layer": "service", + "summary": "TaskDispatcher.retry_failed_tasks(max_retries) 异步方法", + "tags": [ + "TaskDispatcher", + "retry_failed_tasks" + ], + "complexity": "simple" + }, + { + "id": "func:TaskDispatcher._write_log", + "type": "function", + "name": "_write_log", + "filePath": "src/agentkit/core/dispatcher.py", + "layer": "service", + "summary": "TaskDispatcher._write_log(db, task_id, agent_id, log_level, message, extra_metadata) 异步方法", + "tags": [ + "TaskDispatcher", + "_write_log" + ], + "complexity": "simple" + }, + { + "id": "func:TaskDispatcher._trigger_callback", + "type": "function", + "name": "_trigger_callback", + "filePath": "src/agentkit/core/dispatcher.py", + "layer": "service", + "summary": "TaskDispatcher._trigger_callback(callback_url, result) 异步方法", + "tags": [ + "TaskDispatcher", + "_trigger_callback" + ], + "complexity": "simple" + }, + { + "id": "func:TaskDispatcher._task_to_dict", + "type": "function", + "name": "_task_to_dict", + "filePath": "src/agentkit/core/dispatcher.py", + "layer": "service", + "summary": "TaskDispatcher._task_to_dict(task) 方法", + "tags": [ + "TaskDispatcher", + "_task_to_dict" + ], + "complexity": "simple" + }, + { + "id": "class:AgentFrameworkError", + "type": "class", + "name": "AgentFrameworkError", + "filePath": "src/agentkit/core/exceptions.py", + "layer": "service", + "summary": "Agent 框架基础异常", + "tags": [ + "AgentFrameworkError" + ], + "complexity": "simple" + }, + { + "id": "func:AgentFrameworkError.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/core/exceptions.py", + "layer": "service", + "summary": "AgentFrameworkError.__init__(message) 方法", + "tags": [ + "AgentFrameworkError", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "class:AgentNotFoundError", + "type": "class", + "name": "AgentNotFoundError", + "filePath": "src/agentkit/core/exceptions.py", + "layer": "service", + "summary": "AgentNotFoundError类,继承自AgentFrameworkError,包含方法: __init__", + "tags": [ + "AgentNotFoundError" + ], + "complexity": "simple" + }, + { + "id": "func:AgentNotFoundError.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/core/exceptions.py", + "layer": "service", + "summary": "AgentNotFoundError.__init__(agent_name) 方法", + "tags": [ + "AgentNotFoundError", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "class:AgentAlreadyRegisteredError", + "type": "class", + "name": "AgentAlreadyRegisteredError", + "filePath": "src/agentkit/core/exceptions.py", + "layer": "service", + "summary": "AgentAlreadyRegisteredError类,继承自AgentFrameworkError,包含方法: __init__", + "tags": [ + "AgentAlreadyRegisteredError" + ], + "complexity": "simple" + }, + { + "id": "func:AgentAlreadyRegisteredError.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/core/exceptions.py", + "layer": "service", + "summary": "AgentAlreadyRegisteredError.__init__(agent_name) 方法", + "tags": [ + "AgentAlreadyRegisteredError", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "class:AgentUnavailableError", + "type": "class", + "name": "AgentUnavailableError", + "filePath": "src/agentkit/core/exceptions.py", + "layer": "service", + "summary": "AgentUnavailableError类,继承自AgentFrameworkError,包含方法: __init__", + "tags": [ + "AgentUnavailableError" + ], + "complexity": "simple" + }, + { + "id": "func:AgentUnavailableError.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/core/exceptions.py", + "layer": "service", + "summary": "AgentUnavailableError.__init__(agent_name, status) 方法", + "tags": [ + "AgentUnavailableError", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "class:TaskNotFoundError", + "type": "class", + "name": "TaskNotFoundError", + "filePath": "src/agentkit/core/exceptions.py", + "layer": "service", + "summary": "TaskNotFoundError类,继承自AgentFrameworkError,包含方法: __init__", + "tags": [ + "TaskNotFoundError" + ], + "complexity": "simple" + }, + { + "id": "func:TaskNotFoundError.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/core/exceptions.py", + "layer": "service", + "summary": "TaskNotFoundError.__init__(task_id) 方法", + "tags": [ + "TaskNotFoundError", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "class:TaskDispatchError", + "type": "class", + "name": "TaskDispatchError", + "filePath": "src/agentkit/core/exceptions.py", + "layer": "service", + "summary": "TaskDispatchError类,继承自AgentFrameworkError,包含方法: __init__", + "tags": [ + "TaskDispatchError" + ], + "complexity": "simple" + }, + { + "id": "func:TaskDispatchError.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/core/exceptions.py", + "layer": "service", + "summary": "TaskDispatchError.__init__(task_id, reason) 方法", + "tags": [ + "TaskDispatchError", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "class:TaskExecutionError", + "type": "class", + "name": "TaskExecutionError", + "filePath": "src/agentkit/core/exceptions.py", + "layer": "service", + "summary": "TaskExecutionError类,继承自AgentFrameworkError,包含方法: __init__", + "tags": [ + "TaskExecutionError" + ], + "complexity": "simple" + }, + { + "id": "func:TaskExecutionError.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/core/exceptions.py", + "layer": "service", + "summary": "TaskExecutionError.__init__(task_id, agent_name, reason) 方法", + "tags": [ + "TaskExecutionError", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "class:TaskTimeoutError", + "type": "class", + "name": "TaskTimeoutError", + "filePath": "src/agentkit/core/exceptions.py", + "layer": "service", + "summary": "TaskTimeoutError类,继承自AgentFrameworkError,包含方法: __init__", + "tags": [ + "TaskTimeoutError" + ], + "complexity": "simple" + }, + { + "id": "func:TaskTimeoutError.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/core/exceptions.py", + "layer": "service", + "summary": "TaskTimeoutError.__init__(task_id, timeout_seconds) 方法", + "tags": [ + "TaskTimeoutError", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "class:TaskCancelledError", + "type": "class", + "name": "TaskCancelledError", + "filePath": "src/agentkit/core/exceptions.py", + "layer": "service", + "summary": "TaskCancelledError类,继承自AgentFrameworkError,包含方法: __init__", + "tags": [ + "TaskCancelledError" + ], + "complexity": "simple" + }, + { + "id": "func:TaskCancelledError.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/core/exceptions.py", + "layer": "service", + "summary": "TaskCancelledError.__init__(task_id) 方法", + "tags": [ + "TaskCancelledError", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "class:NoAvailableAgentError", + "type": "class", + "name": "NoAvailableAgentError", + "filePath": "src/agentkit/core/exceptions.py", + "layer": "service", + "summary": "NoAvailableAgentError类,继承自AgentFrameworkError,包含方法: __init__", + "tags": [ + "NoAvailableAgentError" + ], + "complexity": "simple" + }, + { + "id": "func:NoAvailableAgentError.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/core/exceptions.py", + "layer": "service", + "summary": "NoAvailableAgentError.__init__(task_type) 方法", + "tags": [ + "NoAvailableAgentError", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "class:ConfigValidationError", + "type": "class", + "name": "ConfigValidationError", + "filePath": "src/agentkit/core/exceptions.py", + "layer": "service", + "summary": "ConfigValidationError类,继承自AgentFrameworkError,包含方法: __init__", + "tags": [ + "ConfigValidationError" + ], + "complexity": "simple" + }, + { + "id": "func:ConfigValidationError.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/core/exceptions.py", + "layer": "service", + "summary": "ConfigValidationError.__init__(agent_name, key, reason) 方法", + "tags": [ + "ConfigValidationError", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "class:AgentNotReadyError", + "type": "class", + "name": "AgentNotReadyError", + "filePath": "src/agentkit/core/exceptions.py", + "layer": "service", + "summary": "AgentNotReadyError类,继承自AgentFrameworkError,包含方法: __init__", + "tags": [ + "AgentNotReadyError" + ], + "complexity": "simple" + }, + { + "id": "func:AgentNotReadyError.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/core/exceptions.py", + "layer": "service", + "summary": "AgentNotReadyError.__init__(agent_name) 方法", + "tags": [ + "AgentNotReadyError", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "class:SkillNotFoundError", + "type": "class", + "name": "SkillNotFoundError", + "filePath": "src/agentkit/core/exceptions.py", + "layer": "service", + "summary": "SkillNotFoundError类,继承自AgentFrameworkError,包含方法: __init__", + "tags": [ + "SkillNotFoundError" + ], + "complexity": "simple" + }, + { + "id": "func:SkillNotFoundError.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/core/exceptions.py", + "layer": "service", + "summary": "SkillNotFoundError.__init__(skill_name) 方法", + "tags": [ + "SkillNotFoundError", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "class:ToolNotFoundError", + "type": "class", + "name": "ToolNotFoundError", + "filePath": "src/agentkit/core/exceptions.py", + "layer": "service", + "summary": "ToolNotFoundError类,继承自AgentFrameworkError,包含方法: __init__", + "tags": [ + "ToolNotFoundError" + ], + "complexity": "simple" + }, + { + "id": "func:ToolNotFoundError.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/core/exceptions.py", + "layer": "service", + "summary": "ToolNotFoundError.__init__(tool_name) 方法", + "tags": [ + "ToolNotFoundError", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "class:ToolExecutionError", + "type": "class", + "name": "ToolExecutionError", + "filePath": "src/agentkit/core/exceptions.py", + "layer": "service", + "summary": "ToolExecutionError类,继承自AgentFrameworkError,包含方法: __init__", + "tags": [ + "ToolExecutionError" + ], + "complexity": "simple" + }, + { + "id": "func:ToolExecutionError.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/core/exceptions.py", + "layer": "service", + "summary": "ToolExecutionError.__init__(tool_name, reason) 方法", + "tags": [ + "ToolExecutionError", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "class:SchemaValidationError", + "type": "class", + "name": "SchemaValidationError", + "filePath": "src/agentkit/core/exceptions.py", + "layer": "service", + "summary": "SchemaValidationError类,继承自AgentFrameworkError,包含方法: __init__", + "tags": [ + "SchemaValidationError" + ], + "complexity": "simple" + }, + { + "id": "func:SchemaValidationError.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/core/exceptions.py", + "layer": "service", + "summary": "SchemaValidationError.__init__(agent_name, detail) 方法", + "tags": [ + "SchemaValidationError", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "class:HandoffError", + "type": "class", + "name": "HandoffError", + "filePath": "src/agentkit/core/exceptions.py", + "layer": "service", + "summary": "HandoffError类,继承自AgentFrameworkError,包含方法: __init__", + "tags": [ + "HandoffError" + ], + "complexity": "simple" + }, + { + "id": "func:HandoffError.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/core/exceptions.py", + "layer": "service", + "summary": "HandoffError.__init__(source, target, reason) 方法", + "tags": [ + "HandoffError", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "class:EvolutionError", + "type": "class", + "name": "EvolutionError", + "filePath": "src/agentkit/core/exceptions.py", + "layer": "service", + "summary": "EvolutionError类,继承自AgentFrameworkError,包含方法: __init__", + "tags": [ + "EvolutionError" + ], + "complexity": "simple" + }, + { + "id": "func:EvolutionError.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/core/exceptions.py", + "layer": "service", + "summary": "EvolutionError.__init__(agent_name, reason) 方法", + "tags": [ + "EvolutionError", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "class:LLMError", + "type": "class", + "name": "LLMError", + "filePath": "src/agentkit/core/exceptions.py", + "layer": "service", + "summary": "LLM 基础异常", + "tags": [ + "LLMError" + ], + "complexity": "simple" + }, + { + "id": "func:LLMError.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/core/exceptions.py", + "layer": "service", + "summary": "LLMError.__init__(message) 方法", + "tags": [ + "LLMError", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "class:LLMProviderError", + "type": "class", + "name": "LLMProviderError", + "filePath": "src/agentkit/core/exceptions.py", + "layer": "service", + "summary": "LLM Provider 特定异常", + "tags": [ + "LLMProviderError" + ], + "complexity": "simple" + }, + { + "id": "func:LLMProviderError.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/core/exceptions.py", + "layer": "service", + "summary": "LLMProviderError.__init__(provider, reason) 方法", + "tags": [ + "LLMProviderError", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "class:ModelNotFoundError", + "type": "class", + "name": "ModelNotFoundError", + "filePath": "src/agentkit/core/exceptions.py", + "layer": "service", + "summary": "模型别名未找到异常", + "tags": [ + "ModelNotFoundError" + ], + "complexity": "simple" + }, + { + "id": "func:ModelNotFoundError.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/core/exceptions.py", + "layer": "service", + "summary": "ModelNotFoundError.__init__(model) 方法", + "tags": [ + "ModelNotFoundError", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "class:GoalPlanner", + "type": "class", + "name": "GoalPlanner", + "filePath": "src/agentkit/core/goal_planner.py", + "layer": "service", + "summary": "目标分析与计划生成器", + "tags": [ + "GoalPlanner" + ], + "complexity": "complex" + }, + { + "id": "func:GoalPlanner.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/core/goal_planner.py", + "layer": "service", + "summary": "GoalPlanner.__init__(llm_gateway, max_parallel) 方法", + "tags": [ + "GoalPlanner", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:GoalPlanner.generate_plan", + "type": "function", + "name": "generate_plan", + "filePath": "src/agentkit/core/goal_planner.py", + "layer": "service", + "summary": "GoalPlanner.generate_plan(goal, context, available_skills) 异步方法", + "tags": [ + "GoalPlanner", + "generate_plan" + ], + "complexity": "simple" + }, + { + "id": "func:GoalPlanner._rule_based_decompose", + "type": "function", + "name": "_rule_based_decompose", + "filePath": "src/agentkit/core/goal_planner.py", + "layer": "service", + "summary": "GoalPlanner._rule_based_decompose(goal, context, available_skills) 方法", + "tags": [ + "GoalPlanner", + "_rule_based_decompose" + ], + "complexity": "simple" + }, + { + "id": "func:GoalPlanner._extract_parallel_items", + "type": "function", + "name": "_extract_parallel_items", + "filePath": "src/agentkit/core/goal_planner.py", + "layer": "service", + "summary": "GoalPlanner._extract_parallel_items(goal) 方法", + "tags": [ + "GoalPlanner", + "_extract_parallel_items" + ], + "complexity": "simple" + }, + { + "id": "func:GoalPlanner._extract_sequential_parts", + "type": "function", + "name": "_extract_sequential_parts", + "filePath": "src/agentkit/core/goal_planner.py", + "layer": "service", + "summary": "GoalPlanner._extract_sequential_parts(goal) 方法", + "tags": [ + "GoalPlanner", + "_extract_sequential_parts" + ], + "complexity": "simple" + }, + { + "id": "func:GoalPlanner._decompose_parallel_goal", + "type": "function", + "name": "_decompose_parallel_goal", + "filePath": "src/agentkit/core/goal_planner.py", + "layer": "service", + "summary": "GoalPlanner._decompose_parallel_goal(goal, parallel_items, available_skills) 方法", + "tags": [ + "GoalPlanner", + "_decompose_parallel_goal" + ], + "complexity": "simple" + }, + { + "id": "func:GoalPlanner._decompose_sequential_goal", + "type": "function", + "name": "_decompose_sequential_goal", + "filePath": "src/agentkit/core/goal_planner.py", + "layer": "service", + "summary": "GoalPlanner._decompose_sequential_goal(goal, sequential_parts, available_skills) 方法", + "tags": [ + "GoalPlanner", + "_decompose_sequential_goal" + ], + "complexity": "simple" + }, + { + "id": "func:GoalPlanner._decompose_simple_goal", + "type": "function", + "name": "_decompose_simple_goal", + "filePath": "src/agentkit/core/goal_planner.py", + "layer": "service", + "summary": "GoalPlanner._decompose_simple_goal(goal, available_skills) 方法", + "tags": [ + "GoalPlanner", + "_decompose_simple_goal" + ], + "complexity": "simple" + }, + { + "id": "func:GoalPlanner._infer_required_skills", + "type": "function", + "name": "_infer_required_skills", + "filePath": "src/agentkit/core/goal_planner.py", + "layer": "service", + "summary": "GoalPlanner._infer_required_skills(text, available_skills) 方法", + "tags": [ + "GoalPlanner", + "_infer_required_skills" + ], + "complexity": "simple" + }, + { + "id": "func:GoalPlanner._identify_skill_gaps", + "type": "function", + "name": "_identify_skill_gaps", + "filePath": "src/agentkit/core/goal_planner.py", + "layer": "service", + "summary": "GoalPlanner._identify_skill_gaps(plan, available_skills) 方法", + "tags": [ + "GoalPlanner", + "_identify_skill_gaps" + ], + "complexity": "simple" + }, + { + "id": "func:GoalPlanner._should_refine_with_llm", + "type": "function", + "name": "_should_refine_with_llm", + "filePath": "src/agentkit/core/goal_planner.py", + "layer": "service", + "summary": "GoalPlanner._should_refine_with_llm(plan) 方法", + "tags": [ + "GoalPlanner", + "_should_refine_with_llm" + ], + "complexity": "simple" + }, + { + "id": "func:GoalPlanner._llm_refine_plan", + "type": "function", + "name": "_llm_refine_plan", + "filePath": "src/agentkit/core/goal_planner.py", + "layer": "service", + "summary": "GoalPlanner._llm_refine_plan(goal, initial_plan, context, available_skills) 异步方法", + "tags": [ + "GoalPlanner", + "_llm_refine_plan" + ], + "complexity": "simple" + }, + { + "id": "func:GoalPlanner._build_parallel_groups", + "type": "function", + "name": "_build_parallel_groups", + "filePath": "src/agentkit/core/goal_planner.py", + "layer": "service", + "summary": "GoalPlanner._build_parallel_groups(steps) 方法", + "tags": [ + "GoalPlanner", + "_build_parallel_groups" + ], + "complexity": "simple" + }, + { + "id": "func:GoalPlanner.update_plan_from_feedback", + "type": "function", + "name": "update_plan_from_feedback", + "filePath": "src/agentkit/core/goal_planner.py", + "layer": "service", + "summary": "GoalPlanner.update_plan_from_feedback(plan, modifications) 方法", + "tags": [ + "GoalPlanner", + "update_plan_from_feedback" + ], + "complexity": "simple" + }, + { + "id": "func:GoalPlanner.validate_plan", + "type": "function", + "name": "validate_plan", + "filePath": "src/agentkit/core/goal_planner.py", + "layer": "service", + "summary": "GoalPlanner.validate_plan(plan) 方法", + "tags": [ + "GoalPlanner", + "validate_plan" + ], + "complexity": "simple" + }, + { + "id": "class:HeadroomCompressor", + "type": "class", + "name": "HeadroomCompressor", + "filePath": "src/agentkit/core/headroom_compressor.py", + "layer": "service", + "summary": "基于 headroom-ai 的上下文压缩器", + "tags": [ + "HeadroomCompressor" + ], + "complexity": "complex" + }, + { + "id": "func:HeadroomCompressor.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/core/headroom_compressor.py", + "layer": "service", + "summary": "HeadroomCompressor.__init__(config) 方法", + "tags": [ + "HeadroomCompressor", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:HeadroomCompressor.is_available", + "type": "function", + "name": "is_available", + "filePath": "src/agentkit/core/headroom_compressor.py", + "layer": "service", + "summary": "HeadroomCompressor.is_available() 方法", + "tags": [ + "HeadroomCompressor", + "is_available" + ], + "complexity": "simple" + }, + { + "id": "func:HeadroomCompressor.compress", + "type": "function", + "name": "compress", + "filePath": "src/agentkit/core/headroom_compressor.py", + "layer": "service", + "summary": "HeadroomCompressor.compress(messages) 异步方法", + "tags": [ + "HeadroomCompressor", + "compress" + ], + "complexity": "simple" + }, + { + "id": "func:HeadroomCompressor.compress_tool_result", + "type": "function", + "name": "compress_tool_result", + "filePath": "src/agentkit/core/headroom_compressor.py", + "layer": "service", + "summary": "HeadroomCompressor.compress_tool_result(tool_name, result) 异步方法", + "tags": [ + "HeadroomCompressor", + "compress_tool_result" + ], + "complexity": "simple" + }, + { + "id": "func:HeadroomCompressor._detect_content_type", + "type": "function", + "name": "_detect_content_type", + "filePath": "src/agentkit/core/headroom_compressor.py", + "layer": "service", + "summary": "HeadroomCompressor._detect_content_type(content) 方法", + "tags": [ + "HeadroomCompressor", + "_detect_content_type" + ], + "complexity": "simple" + }, + { + "id": "func:HeadroomCompressor._compress_with_headroom", + "type": "function", + "name": "_compress_with_headroom", + "filePath": "src/agentkit/core/headroom_compressor.py", + "layer": "service", + "summary": "HeadroomCompressor._compress_with_headroom(content, compressor) 方法", + "tags": [ + "HeadroomCompressor", + "_compress_with_headroom" + ], + "complexity": "simple" + }, + { + "id": "func:HeadroomCompressor._store_ccr", + "type": "function", + "name": "_store_ccr", + "filePath": "src/agentkit/core/headroom_compressor.py", + "layer": "service", + "summary": "HeadroomCompressor._store_ccr(original) 方法", + "tags": [ + "HeadroomCompressor", + "_store_ccr" + ], + "complexity": "simple" + }, + { + "id": "func:HeadroomCompressor._evict_expired", + "type": "function", + "name": "_evict_expired", + "filePath": "src/agentkit/core/headroom_compressor.py", + "layer": "service", + "summary": "HeadroomCompressor._evict_expired() 方法", + "tags": [ + "HeadroomCompressor", + "_evict_expired" + ], + "complexity": "simple" + }, + { + "id": "func:HeadroomCompressor.retrieve", + "type": "function", + "name": "retrieve", + "filePath": "src/agentkit/core/headroom_compressor.py", + "layer": "service", + "summary": "HeadroomCompressor.retrieve(ccr_hash, query) 方法", + "tags": [ + "HeadroomCompressor", + "retrieve" + ], + "complexity": "simple" + }, + { + "id": "class:StructuredFormatter", + "type": "class", + "name": "StructuredFormatter", + "filePath": "src/agentkit/core/logging.py", + "layer": "service", + "summary": "JSON structured log formatter.", + "tags": [ + "StructuredFormatter" + ], + "complexity": "simple" + }, + { + "id": "func:StructuredFormatter.format", + "type": "function", + "name": "format", + "filePath": "src/agentkit/core/logging.py", + "layer": "service", + "summary": "StructuredFormatter.format(record) 方法", + "tags": [ + "StructuredFormatter", + "format" + ], + "complexity": "simple" + }, + { + "id": "class:AgentRole", + "type": "class", + "name": "AgentRole", + "filePath": "src/agentkit/core/orchestrator.py", + "layer": "service", + "summary": "Agent 角色枚举", + "tags": [ + "AgentRole" + ], + "complexity": "simple" + }, + { + "id": "class:SubTaskStatus", + "type": "class", + "name": "SubTaskStatus", + "filePath": "src/agentkit/core/orchestrator.py", + "layer": "service", + "summary": "子任务状态", + "tags": [ + "SubTaskStatus" + ], + "complexity": "simple" + }, + { + "id": "class:SubTask", + "type": "class", + "name": "SubTask", + "filePath": "src/agentkit/core/orchestrator.py", + "layer": "service", + "summary": "子任务定义", + "tags": [ + "SubTask" + ], + "complexity": "simple" + }, + { + "id": "class:OrchestrationPlan", + "type": "class", + "name": "OrchestrationPlan", + "filePath": "src/agentkit/core/orchestrator.py", + "layer": "service", + "summary": "编排计划", + "tags": [ + "OrchestrationPlan" + ], + "complexity": "simple" + }, + { + "id": "class:OrchestrationResult", + "type": "class", + "name": "OrchestrationResult", + "filePath": "src/agentkit/core/orchestrator.py", + "layer": "service", + "summary": "编排结果", + "tags": [ + "OrchestrationResult" + ], + "complexity": "simple" + }, + { + "id": "class:OrchestratorConfig", + "type": "class", + "name": "OrchestratorConfig", + "filePath": "src/agentkit/core/orchestrator.py", + "layer": "service", + "summary": "Orchestrator 配置", + "tags": [ + "OrchestratorConfig" + ], + "complexity": "simple" + }, + { + "id": "class:Orchestrator", + "type": "class", + "name": "Orchestrator", + "filePath": "src/agentkit/core/orchestrator.py", + "layer": "service", + "summary": "多 Agent 协作编排器", + "tags": [ + "Orchestrator" + ], + "complexity": "complex" + }, + { + "id": "func:Orchestrator.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/core/orchestrator.py", + "layer": "service", + "summary": "Orchestrator.__init__(agent_pool, workspace, llm_gateway, max_parallel, subtask_timeout, goal_planner, plan_executor, plan_checker, config, message_bus) 方法", + "tags": [ + "Orchestrator", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:Orchestrator.execute", + "type": "function", + "name": "execute", + "filePath": "src/agentkit/core/orchestrator.py", + "layer": "service", + "summary": "Orchestrator.execute(task) 异步方法", + "tags": [ + "Orchestrator", + "execute" + ], + "complexity": "simple" + }, + { + "id": "func:Orchestrator._decompose_task", + "type": "function", + "name": "_decompose_task", + "filePath": "src/agentkit/core/orchestrator.py", + "layer": "service", + "summary": "Orchestrator._decompose_task(task) 异步方法", + "tags": [ + "Orchestrator", + "_decompose_task" + ], + "complexity": "simple" + }, + { + "id": "func:Orchestrator._llm_decompose", + "type": "function", + "name": "_llm_decompose", + "filePath": "src/agentkit/core/orchestrator.py", + "layer": "service", + "summary": "Orchestrator._llm_decompose(task) 异步方法", + "tags": [ + "Orchestrator", + "_llm_decompose" + ], + "complexity": "simple" + }, + { + "id": "func:Orchestrator._build_parallel_groups", + "type": "function", + "name": "_build_parallel_groups", + "filePath": "src/agentkit/core/orchestrator.py", + "layer": "service", + "summary": "Orchestrator._build_parallel_groups(subtasks) 方法", + "tags": [ + "Orchestrator", + "_build_parallel_groups" + ], + "complexity": "simple" + }, + { + "id": "func:Orchestrator._execute_plan", + "type": "function", + "name": "_execute_plan", + "filePath": "src/agentkit/core/orchestrator.py", + "layer": "service", + "summary": "Orchestrator._execute_plan(plan, original_task) 异步方法", + "tags": [ + "Orchestrator", + "_execute_plan" + ], + "complexity": "simple" + }, + { + "id": "func:Orchestrator._execute_subtask", + "type": "function", + "name": "_execute_subtask", + "filePath": "src/agentkit/core/orchestrator.py", + "layer": "service", + "summary": "Orchestrator._execute_subtask(subtask, input_data, original_task) 异步方法", + "tags": [ + "Orchestrator", + "_execute_subtask" + ], + "complexity": "simple" + }, + { + "id": "func:Orchestrator._inject_dependency_results", + "type": "function", + "name": "_inject_dependency_results", + "filePath": "src/agentkit/core/orchestrator.py", + "layer": "service", + "summary": "Orchestrator._inject_dependency_results(subtask, subtask_results) 方法", + "tags": [ + "Orchestrator", + "_inject_dependency_results" + ], + "complexity": "simple" + }, + { + "id": "func:Orchestrator._aggregate_results", + "type": "function", + "name": "_aggregate_results", + "filePath": "src/agentkit/core/orchestrator.py", + "layer": "service", + "summary": "Orchestrator._aggregate_results(plan, subtask_results, original_task) 异步方法", + "tags": [ + "Orchestrator", + "_aggregate_results" + ], + "complexity": "simple" + }, + { + "id": "func:Orchestrator._get_available_skill_names", + "type": "function", + "name": "_get_available_skill_names", + "filePath": "src/agentkit/core/orchestrator.py", + "layer": "service", + "summary": "Orchestrator._get_available_skill_names() 方法", + "tags": [ + "Orchestrator", + "_get_available_skill_names" + ], + "complexity": "simple" + }, + { + "id": "func:Orchestrator._convert_execution_plan_to_subtasks", + "type": "function", + "name": "_convert_execution_plan_to_subtasks", + "filePath": "src/agentkit/core/orchestrator.py", + "layer": "service", + "summary": "Orchestrator._convert_execution_plan_to_subtasks(execution_plan, parent_task_id, default_agent, default_task_type, original_input) 方法", + "tags": [ + "Orchestrator", + "_convert_execution_plan_to_subtasks" + ], + "complexity": "simple" + }, + { + "id": "func:Orchestrator._match_agent_for_skills", + "type": "function", + "name": "_match_agent_for_skills", + "filePath": "src/agentkit/core/orchestrator.py", + "layer": "service", + "summary": "Orchestrator._match_agent_for_skills(required_skills) 方法", + "tags": [ + "Orchestrator", + "_match_agent_for_skills" + ], + "complexity": "simple" + }, + { + "id": "func:Orchestrator.execute_adaptive", + "type": "function", + "name": "execute_adaptive", + "filePath": "src/agentkit/core/orchestrator.py", + "layer": "service", + "summary": "Orchestrator.execute_adaptive(task) 异步方法", + "tags": [ + "Orchestrator", + "execute_adaptive" + ], + "complexity": "simple" + }, + { + "id": "func:Orchestrator._evaluate_quality", + "type": "function", + "name": "_evaluate_quality", + "filePath": "src/agentkit/core/orchestrator.py", + "layer": "service", + "summary": "Orchestrator._evaluate_quality(task, result) 异步方法", + "tags": [ + "Orchestrator", + "_evaluate_quality" + ], + "complexity": "simple" + }, + { + "id": "func:Orchestrator._rule_based_evaluate", + "type": "function", + "name": "_rule_based_evaluate", + "filePath": "src/agentkit/core/orchestrator.py", + "layer": "service", + "summary": "Orchestrator._rule_based_evaluate(result) 方法", + "tags": [ + "Orchestrator", + "_rule_based_evaluate" + ], + "complexity": "simple" + }, + { + "id": "func:Orchestrator._llm_evaluate", + "type": "function", + "name": "_llm_evaluate", + "filePath": "src/agentkit/core/orchestrator.py", + "layer": "service", + "summary": "Orchestrator._llm_evaluate(task, result) 异步方法", + "tags": [ + "Orchestrator", + "_llm_evaluate" + ], + "complexity": "simple" + }, + { + "id": "func:Orchestrator._reexecute_failed", + "type": "function", + "name": "_reexecute_failed", + "filePath": "src/agentkit/core/orchestrator.py", + "layer": "service", + "summary": "Orchestrator._reexecute_failed(task, previous_result, quality) 异步方法", + "tags": [ + "Orchestrator", + "_reexecute_failed" + ], + "complexity": "simple" + }, + { + "id": "class:CheckStatus", + "type": "class", + "name": "CheckStatus", + "filePath": "src/agentkit/core/plan_checker.py", + "layer": "service", + "summary": "检查结果状态", + "tags": [ + "CheckStatus" + ], + "complexity": "simple" + }, + { + "id": "class:CheckResult", + "type": "class", + "name": "CheckResult", + "filePath": "src/agentkit/core/plan_checker.py", + "layer": "service", + "summary": "单步检查结果", + "tags": [ + "CheckResult" + ], + "complexity": "simple" + }, + { + "id": "class:ReviewReport", + "type": "class", + "name": "ReviewReport", + "filePath": "src/agentkit/core/plan_checker.py", + "layer": "service", + "summary": "复盘报告", + "tags": [ + "ReviewReport" + ], + "complexity": "simple" + }, + { + "id": "func:ReviewReport.to_dict", + "type": "function", + "name": "to_dict", + "filePath": "src/agentkit/core/plan_checker.py", + "layer": "service", + "summary": "ReviewReport.to_dict() 方法", + "tags": [ + "ReviewReport", + "to_dict" + ], + "complexity": "simple" + }, + { + "id": "class:QualityGate", + "type": "class", + "name": "QualityGate", + "filePath": "src/agentkit/core/plan_checker.py", + "layer": "service", + "summary": "质量门控", + "tags": [ + "QualityGate" + ], + "complexity": "moderate" + }, + { + "id": "func:QualityGate.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/core/plan_checker.py", + "layer": "service", + "summary": "QualityGate.__init__(config, custom_validator) 方法", + "tags": [ + "QualityGate", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:QualityGate.check", + "type": "function", + "name": "check", + "filePath": "src/agentkit/core/plan_checker.py", + "layer": "service", + "summary": "QualityGate.check(step, exec_result) 方法", + "tags": [ + "QualityGate", + "check" + ], + "complexity": "simple" + }, + { + "id": "func:QualityGate._check_required_fields", + "type": "function", + "name": "_check_required_fields", + "filePath": "src/agentkit/core/plan_checker.py", + "layer": "service", + "summary": "QualityGate._check_required_fields(result) 方法", + "tags": [ + "QualityGate", + "_check_required_fields" + ], + "complexity": "simple" + }, + { + "id": "func:QualityGate._check_min_word_count", + "type": "function", + "name": "_check_min_word_count", + "filePath": "src/agentkit/core/plan_checker.py", + "layer": "service", + "summary": "QualityGate._check_min_word_count(result) 方法", + "tags": [ + "QualityGate", + "_check_min_word_count" + ], + "complexity": "simple" + }, + { + "id": "func:QualityGate._check_custom", + "type": "function", + "name": "_check_custom", + "filePath": "src/agentkit/core/plan_checker.py", + "layer": "service", + "summary": "QualityGate._check_custom(result) 方法", + "tags": [ + "QualityGate", + "_check_custom" + ], + "complexity": "simple" + }, + { + "id": "func:QualityGate._compute_quality_score", + "type": "function", + "name": "_compute_quality_score", + "filePath": "src/agentkit/core/plan_checker.py", + "layer": "service", + "summary": "QualityGate._compute_quality_score(failure_count) 方法", + "tags": [ + "QualityGate", + "_compute_quality_score" + ], + "complexity": "simple" + }, + { + "id": "class:RuleBasedStepReflector", + "type": "class", + "name": "RuleBasedStepReflector", + "filePath": "src/agentkit/core/plan_checker.py", + "layer": "service", + "summary": "基于规则的步骤反思器", + "tags": [ + "RuleBasedStepReflector" + ], + "complexity": "simple" + }, + { + "id": "func:RuleBasedStepReflector.reflect_step", + "type": "function", + "name": "reflect_step", + "filePath": "src/agentkit/core/plan_checker.py", + "layer": "service", + "summary": "RuleBasedStepReflector.reflect_step(step, exec_result) 异步方法", + "tags": [ + "RuleBasedStepReflector", + "reflect_step" + ], + "complexity": "simple" + }, + { + "id": "class:PlanChecker", + "type": "class", + "name": "PlanChecker", + "filePath": "src/agentkit/core/plan_checker.py", + "layer": "service", + "summary": "计划检查器", + "tags": [ + "PlanChecker" + ], + "complexity": "complex" + }, + { + "id": "func:PlanChecker.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/core/plan_checker.py", + "layer": "service", + "summary": "PlanChecker.__init__(quality_gate, quality_gate_config, custom_validator, reflector, experience_store, max_check_retries, quality_threshold, step_quality_configs) 方法", + "tags": [ + "PlanChecker", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:PlanChecker.check_step", + "type": "function", + "name": "check_step", + "filePath": "src/agentkit/core/plan_checker.py", + "layer": "service", + "summary": "PlanChecker.check_step(step, exec_result) 异步方法", + "tags": [ + "PlanChecker", + "check_step" + ], + "complexity": "simple" + }, + { + "id": "func:PlanChecker.review_plan", + "type": "function", + "name": "review_plan", + "filePath": "src/agentkit/core/plan_checker.py", + "layer": "service", + "summary": "PlanChecker.review_plan(plan, plan_result, task_type, goal) 异步方法", + "tags": [ + "PlanChecker", + "review_plan" + ], + "complexity": "simple" + }, + { + "id": "func:PlanChecker.should_retry", + "type": "function", + "name": "should_retry", + "filePath": "src/agentkit/core/plan_checker.py", + "layer": "service", + "summary": "PlanChecker.should_retry(check_result, retry_count) 方法", + "tags": [ + "PlanChecker", + "should_retry" + ], + "complexity": "simple" + }, + { + "id": "func:PlanChecker.should_request_human", + "type": "function", + "name": "should_request_human", + "filePath": "src/agentkit/core/plan_checker.py", + "layer": "service", + "summary": "PlanChecker.should_request_human(check_result, retry_count) 方法", + "tags": [ + "PlanChecker", + "should_request_human" + ], + "complexity": "simple" + }, + { + "id": "func:PlanChecker.make_step_complete_callback", + "type": "function", + "name": "make_step_complete_callback", + "filePath": "src/agentkit/core/plan_checker.py", + "layer": "service", + "summary": "PlanChecker.make_step_complete_callback() 方法", + "tags": [ + "PlanChecker", + "make_step_complete_callback" + ], + "complexity": "simple" + }, + { + "id": "func:PlanChecker._collect_failure_reasons", + "type": "function", + "name": "_collect_failure_reasons", + "filePath": "src/agentkit/core/plan_checker.py", + "layer": "service", + "summary": "PlanChecker._collect_failure_reasons(plan_result) 方法", + "tags": [ + "PlanChecker", + "_collect_failure_reasons" + ], + "complexity": "simple" + }, + { + "id": "func:PlanChecker._determine_outcome", + "type": "function", + "name": "_determine_outcome", + "filePath": "src/agentkit/core/plan_checker.py", + "layer": "service", + "summary": "PlanChecker._determine_outcome(plan_result) 方法", + "tags": [ + "PlanChecker", + "_determine_outcome" + ], + "complexity": "simple" + }, + { + "id": "func:PlanChecker._generate_optimization_tips", + "type": "function", + "name": "_generate_optimization_tips", + "filePath": "src/agentkit/core/plan_checker.py", + "layer": "service", + "summary": "PlanChecker._generate_optimization_tips(plan_result, quality_scores) 方法", + "tags": [ + "PlanChecker", + "_generate_optimization_tips" + ], + "complexity": "simple" + }, + { + "id": "func:PlanChecker._write_experience", + "type": "function", + "name": "_write_experience", + "filePath": "src/agentkit/core/plan_checker.py", + "layer": "service", + "summary": "PlanChecker._write_experience(report, plan, plan_result, task_type, goal) 异步方法", + "tags": [ + "PlanChecker", + "_write_experience" + ], + "complexity": "simple" + }, + { + "id": "func:PlanChecker.reset", + "type": "function", + "name": "reset", + "filePath": "src/agentkit/core/plan_checker.py", + "layer": "service", + "summary": "PlanChecker.reset() 方法", + "tags": [ + "PlanChecker", + "reset" + ], + "complexity": "simple" + }, + { + "id": "class:_StreamState", + "type": "class", + "name": "_StreamState", + "filePath": "src/agentkit/core/plan_exec_engine.py", + "layer": "service", + "summary": "流式执行内部状态,用于在 execute_stream 中跨 yield 传递", + "tags": [ + "_StreamState" + ], + "complexity": "simple" + }, + { + "id": "class:PlanExecEngine", + "type": "class", + "name": "PlanExecEngine", + "filePath": "src/agentkit/core/plan_exec_engine.py", + "layer": "service", + "summary": "Plan-and-Execute 执行引擎适配器", + "tags": [ + "PlanExecEngine" + ], + "complexity": "complex" + }, + { + "id": "func:PlanExecEngine.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/core/plan_exec_engine.py", + "layer": "service", + "summary": "PlanExecEngine.__init__(llm_gateway, max_replans, default_timeout) 方法", + "tags": [ + "PlanExecEngine", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:PlanExecEngine.execute", + "type": "function", + "name": "execute", + "filePath": "src/agentkit/core/plan_exec_engine.py", + "layer": "service", + "summary": "PlanExecEngine.execute(messages, tools, model, agent_name, task_type, system_prompt, trace_recorder, memory_retriever, task_id, compressor, retrieval_config, cancellation_token, timeout_seconds) 异步方法", + "tags": [ + "PlanExecEngine", + "execute" + ], + "complexity": "simple" + }, + { + "id": "func:PlanExecEngine.execute_stream", + "type": "function", + "name": "execute_stream", + "filePath": "src/agentkit/core/plan_exec_engine.py", + "layer": "service", + "summary": "PlanExecEngine.execute_stream(messages, tools, model, agent_name, task_type, system_prompt, trace_recorder, memory_retriever, task_id, compressor, retrieval_config, cancellation_token, timeout_seconds) 异步方法", + "tags": [ + "PlanExecEngine", + "execute_stream" + ], + "complexity": "simple" + }, + { + "id": "func:PlanExecEngine._execute_loop", + "type": "function", + "name": "_execute_loop", + "filePath": "src/agentkit/core/plan_exec_engine.py", + "layer": "service", + "summary": "PlanExecEngine._execute_loop(messages, tools, model, agent_name, task_type, system_prompt, trace_recorder, memory_retriever, task_id, compressor, retrieval_config, cancellation_token) 异步方法", + "tags": [ + "PlanExecEngine", + "_execute_loop" + ], + "complexity": "simple" + }, + { + "id": "func:PlanExecEngine._execute_with_replanning", + "type": "function", + "name": "_execute_with_replanning", + "filePath": "src/agentkit/core/plan_exec_engine.py", + "layer": "service", + "summary": "PlanExecEngine._execute_with_replanning(plan, messages, tools, model, agent_name, task_type, system_prompt, trace_recorder, task_id, cancellation_token, trajectory, total_tokens) 异步方法", + "tags": [ + "PlanExecEngine", + "_execute_with_replanning" + ], + "complexity": "simple" + }, + { + "id": "func:PlanExecEngine._extract_goal", + "type": "function", + "name": "_extract_goal", + "filePath": "src/agentkit/core/plan_exec_engine.py", + "layer": "service", + "summary": "PlanExecEngine._extract_goal(messages) 方法", + "tags": [ + "PlanExecEngine", + "_extract_goal" + ], + "complexity": "simple" + }, + { + "id": "func:PlanExecEngine._extract_skill_names", + "type": "function", + "name": "_extract_skill_names", + "filePath": "src/agentkit/core/plan_exec_engine.py", + "layer": "service", + "summary": "PlanExecEngine._extract_skill_names(tools) 方法", + "tags": [ + "PlanExecEngine", + "_extract_skill_names" + ], + "complexity": "simple" + }, + { + "id": "func:PlanExecEngine._build_task_message", + "type": "function", + "name": "_build_task_message", + "filePath": "src/agentkit/core/plan_exec_engine.py", + "layer": "service", + "summary": "PlanExecEngine._build_task_message(messages, agent_name, task_type, task_id) 方法", + "tags": [ + "PlanExecEngine", + "_build_task_message" + ], + "complexity": "simple" + }, + { + "id": "func:PlanExecEngine._create_executor", + "type": "function", + "name": "_create_executor", + "filePath": "src/agentkit/core/plan_exec_engine.py", + "layer": "service", + "summary": "PlanExecEngine._create_executor(messages, model, system_prompt, tools) 方法", + "tags": [ + "PlanExecEngine", + "_create_executor" + ], + "complexity": "simple" + }, + { + "id": "func:PlanExecEngine._plan_to_pipeline", + "type": "function", + "name": "_plan_to_pipeline", + "filePath": "src/agentkit/core/plan_exec_engine.py", + "layer": "service", + "summary": "PlanExecEngine._plan_to_pipeline(plan, agent_name) 方法", + "tags": [ + "PlanExecEngine", + "_plan_to_pipeline" + ], + "complexity": "simple" + }, + { + "id": "func:PlanExecEngine._plan_result_to_pipeline_result", + "type": "function", + "name": "_plan_result_to_pipeline_result", + "filePath": "src/agentkit/core/plan_exec_engine.py", + "layer": "service", + "summary": "PlanExecEngine._plan_result_to_pipeline_result(plan, plan_result) 方法", + "tags": [ + "PlanExecEngine", + "_plan_result_to_pipeline_result" + ], + "complexity": "simple" + }, + { + "id": "func:PlanExecEngine._pipeline_to_plan", + "type": "function", + "name": "_pipeline_to_plan", + "filePath": "src/agentkit/core/plan_exec_engine.py", + "layer": "service", + "summary": "PlanExecEngine._pipeline_to_plan(pipeline, goal) 方法", + "tags": [ + "PlanExecEngine", + "_pipeline_to_plan" + ], + "complexity": "simple" + }, + { + "id": "func:PlanExecEngine._merge_completed_results", + "type": "function", + "name": "_merge_completed_results", + "filePath": "src/agentkit/core/plan_exec_engine.py", + "layer": "service", + "summary": "PlanExecEngine._merge_completed_results(plan, plan_result) 方法", + "tags": [ + "PlanExecEngine", + "_merge_completed_results" + ], + "complexity": "simple" + }, + { + "id": "func:PlanExecEngine._aggregate_output", + "type": "function", + "name": "_aggregate_output", + "filePath": "src/agentkit/core/plan_exec_engine.py", + "layer": "service", + "summary": "PlanExecEngine._aggregate_output(plan, plan_result) 方法", + "tags": [ + "PlanExecEngine", + "_aggregate_output" + ], + "complexity": "simple" + }, + { + "id": "class:_LLMStepExecutor", + "type": "class", + "name": "_LLMStepExecutor", + "filePath": "src/agentkit/core/plan_exec_engine.py", + "layer": "service", + "summary": "LLM 直接调用步骤执行器", + "tags": [ + "_LLMStepExecutor" + ], + "complexity": "simple" + }, + { + "id": "func:_LLMStepExecutor.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/core/plan_exec_engine.py", + "layer": "service", + "summary": "_LLMStepExecutor.__init__(llm_gateway, messages, model, system_prompt, tools) 方法", + "tags": [ + "_LLMStepExecutor", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:_LLMStepExecutor.create_agent_from_skill", + "type": "function", + "name": "create_agent_from_skill", + "filePath": "src/agentkit/core/plan_exec_engine.py", + "layer": "service", + "summary": "_LLMStepExecutor.create_agent_from_skill(skill_name) 异步方法", + "tags": [ + "_LLMStepExecutor", + "create_agent_from_skill" + ], + "complexity": "simple" + }, + { + "id": "func:_LLMStepExecutor.get_agent", + "type": "function", + "name": "get_agent", + "filePath": "src/agentkit/core/plan_exec_engine.py", + "layer": "service", + "summary": "_LLMStepExecutor.get_agent(key) 方法", + "tags": [ + "_LLMStepExecutor", + "get_agent" + ], + "complexity": "simple" + }, + { + "id": "class:_LLMStepAgent", + "type": "class", + "name": "_LLMStepAgent", + "filePath": "src/agentkit/core/plan_exec_engine.py", + "layer": "service", + "summary": "LLM 直接调用步骤 Agent", + "tags": [ + "_LLMStepAgent" + ], + "complexity": "simple" + }, + { + "id": "func:_LLMStepAgent.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/core/plan_exec_engine.py", + "layer": "service", + "summary": "_LLMStepAgent.__init__(name, llm_gateway, messages, model, system_prompt, tools) 方法", + "tags": [ + "_LLMStepAgent", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:_LLMStepAgent.execute", + "type": "function", + "name": "execute", + "filePath": "src/agentkit/core/plan_exec_engine.py", + "layer": "service", + "summary": "_LLMStepAgent.execute(task_msg) 异步方法", + "tags": [ + "_LLMStepAgent", + "execute" + ], + "complexity": "simple" + }, + { + "id": "class:FailureAction", + "type": "class", + "name": "FailureAction", + "filePath": "src/agentkit/core/plan_executor.py", + "layer": "service", + "summary": "步骤失败后的处理策略", + "tags": [ + "FailureAction" + ], + "complexity": "simple" + }, + { + "id": "class:StepExecutionResult", + "type": "class", + "name": "StepExecutionResult", + "filePath": "src/agentkit/core/plan_executor.py", + "layer": "service", + "summary": "单个步骤的执行结果", + "tags": [ + "StepExecutionResult" + ], + "complexity": "simple" + }, + { + "id": "class:PlanExecutionResult", + "type": "class", + "name": "PlanExecutionResult", + "filePath": "src/agentkit/core/plan_executor.py", + "layer": "service", + "summary": "整个计划的执行结果", + "tags": [ + "PlanExecutionResult" + ], + "complexity": "simple" + }, + { + "id": "func:PlanExecutionResult.completed_steps", + "type": "function", + "name": "completed_steps", + "filePath": "src/agentkit/core/plan_executor.py", + "layer": "service", + "summary": "PlanExecutionResult.completed_steps() 方法", + "tags": [ + "PlanExecutionResult", + "completed_steps" + ], + "complexity": "simple" + }, + { + "id": "func:PlanExecutionResult.failed_steps", + "type": "function", + "name": "failed_steps", + "filePath": "src/agentkit/core/plan_executor.py", + "layer": "service", + "summary": "PlanExecutionResult.failed_steps() 方法", + "tags": [ + "PlanExecutionResult", + "failed_steps" + ], + "complexity": "simple" + }, + { + "id": "func:PlanExecutionResult.skipped_steps", + "type": "function", + "name": "skipped_steps", + "filePath": "src/agentkit/core/plan_executor.py", + "layer": "service", + "summary": "PlanExecutionResult.skipped_steps() 方法", + "tags": [ + "PlanExecutionResult", + "skipped_steps" + ], + "complexity": "simple" + }, + { + "id": "class:PlanExecutor", + "type": "class", + "name": "PlanExecutor", + "filePath": "src/agentkit/core/plan_executor.py", + "layer": "service", + "summary": "执行计划执行器", + "tags": [ + "PlanExecutor" + ], + "complexity": "complex" + }, + { + "id": "func:PlanExecutor.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/core/plan_executor.py", + "layer": "service", + "summary": "PlanExecutor.__init__(agent_pool, max_retries, step_timeout, max_parallel, base_retry_delay, max_retry_delay, on_step_complete, on_step_failed, on_human_intervention) 方法", + "tags": [ + "PlanExecutor", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:PlanExecutor.execute", + "type": "function", + "name": "execute", + "filePath": "src/agentkit/core/plan_executor.py", + "layer": "service", + "summary": "PlanExecutor.execute(plan, original_task) 异步方法", + "tags": [ + "PlanExecutor", + "execute" + ], + "complexity": "simple" + }, + { + "id": "func:PlanExecutor._execute_step_with_retry", + "type": "function", + "name": "_execute_step_with_retry", + "filePath": "src/agentkit/core/plan_executor.py", + "layer": "service", + "summary": "PlanExecutor._execute_step_with_retry(step, input_data, original_task) 异步方法", + "tags": [ + "PlanExecutor", + "_execute_step_with_retry" + ], + "complexity": "simple" + }, + { + "id": "func:PlanExecutor._execute_step_once", + "type": "function", + "name": "_execute_step_once", + "filePath": "src/agentkit/core/plan_executor.py", + "layer": "service", + "summary": "PlanExecutor._execute_step_once(step, input_data, original_task) 异步方法", + "tags": [ + "PlanExecutor", + "_execute_step_once" + ], + "complexity": "simple" + }, + { + "id": "func:PlanExecutor._handle_step_failure", + "type": "function", + "name": "_handle_step_failure", + "filePath": "src/agentkit/core/plan_executor.py", + "layer": "service", + "summary": "PlanExecutor._handle_step_failure(step, exec_result, step_map, step_results, plan) 异步方法", + "tags": [ + "PlanExecutor", + "_handle_step_failure" + ], + "complexity": "simple" + }, + { + "id": "func:PlanExecutor._default_failure_action", + "type": "function", + "name": "_default_failure_action", + "filePath": "src/agentkit/core/plan_executor.py", + "layer": "service", + "summary": "PlanExecutor._default_failure_action(step, exec_result) 方法", + "tags": [ + "PlanExecutor", + "_default_failure_action" + ], + "complexity": "simple" + }, + { + "id": "func:PlanExecutor._skip_dependent_steps", + "type": "function", + "name": "_skip_dependent_steps", + "filePath": "src/agentkit/core/plan_executor.py", + "layer": "service", + "summary": "PlanExecutor._skip_dependent_steps(failed_step_id, step_map, step_results, plan) 方法", + "tags": [ + "PlanExecutor", + "_skip_dependent_steps" + ], + "complexity": "simple" + }, + { + "id": "func:PlanExecutor._abort_remaining_steps", + "type": "function", + "name": "_abort_remaining_steps", + "filePath": "src/agentkit/core/plan_executor.py", + "layer": "service", + "summary": "PlanExecutor._abort_remaining_steps(step_map, step_results, plan) 方法", + "tags": [ + "PlanExecutor", + "_abort_remaining_steps" + ], + "complexity": "simple" + }, + { + "id": "func:PlanExecutor._inject_dependency_results", + "type": "function", + "name": "_inject_dependency_results", + "filePath": "src/agentkit/core/plan_executor.py", + "layer": "service", + "summary": "PlanExecutor._inject_dependency_results(step, step_results) 方法", + "tags": [ + "PlanExecutor", + "_inject_dependency_results" + ], + "complexity": "simple" + }, + { + "id": "func:PlanExecutor._determine_overall_status", + "type": "function", + "name": "_determine_overall_status", + "filePath": "src/agentkit/core/plan_executor.py", + "layer": "service", + "summary": "PlanExecutor._determine_overall_status(plan, step_results) 方法", + "tags": [ + "PlanExecutor", + "_determine_overall_status" + ], + "complexity": "simple" + }, + { + "id": "class:PlanStepStatus", + "type": "class", + "name": "PlanStepStatus", + "filePath": "src/agentkit/core/plan_schema.py", + "layer": "service", + "summary": "计划步骤状态", + "tags": [ + "PlanStepStatus" + ], + "complexity": "simple" + }, + { + "id": "class:SkillGapLevel", + "type": "class", + "name": "SkillGapLevel", + "filePath": "src/agentkit/core/plan_schema.py", + "layer": "service", + "summary": "能力缺口严重程度", + "tags": [ + "SkillGapLevel" + ], + "complexity": "simple" + }, + { + "id": "class:SkillGap", + "type": "class", + "name": "SkillGap", + "filePath": "src/agentkit/core/plan_schema.py", + "layer": "service", + "summary": "能力缺口:某个步骤需要的 Skill 不可用", + "tags": [ + "SkillGap" + ], + "complexity": "simple" + }, + { + "id": "class:PlanStep", + "type": "class", + "name": "PlanStep", + "filePath": "src/agentkit/core/plan_schema.py", + "layer": "service", + "summary": "计划步骤", + "tags": [ + "PlanStep" + ], + "complexity": "simple" + }, + { + "id": "func:PlanStep.to_dict", + "type": "function", + "name": "to_dict", + "filePath": "src/agentkit/core/plan_schema.py", + "layer": "service", + "summary": "PlanStep.to_dict() 方法", + "tags": [ + "PlanStep", + "to_dict" + ], + "complexity": "simple" + }, + { + "id": "class:ExecutionPlan", + "type": "class", + "name": "ExecutionPlan", + "filePath": "src/agentkit/core/plan_schema.py", + "layer": "service", + "summary": "执行计划", + "tags": [ + "ExecutionPlan" + ], + "complexity": "moderate" + }, + { + "id": "func:ExecutionPlan.has_skill_gaps", + "type": "function", + "name": "has_skill_gaps", + "filePath": "src/agentkit/core/plan_schema.py", + "layer": "service", + "summary": "ExecutionPlan.has_skill_gaps() 方法", + "tags": [ + "ExecutionPlan", + "has_skill_gaps" + ], + "complexity": "simple" + }, + { + "id": "func:ExecutionPlan.get_step", + "type": "function", + "name": "get_step", + "filePath": "src/agentkit/core/plan_schema.py", + "layer": "service", + "summary": "ExecutionPlan.get_step(step_id) 方法", + "tags": [ + "ExecutionPlan", + "get_step" + ], + "complexity": "simple" + }, + { + "id": "func:ExecutionPlan.to_readable", + "type": "function", + "name": "to_readable", + "filePath": "src/agentkit/core/plan_schema.py", + "layer": "service", + "summary": "ExecutionPlan.to_readable() 方法", + "tags": [ + "ExecutionPlan", + "to_readable" + ], + "complexity": "simple" + }, + { + "id": "func:ExecutionPlan.to_dict", + "type": "function", + "name": "to_dict", + "filePath": "src/agentkit/core/plan_schema.py", + "layer": "service", + "summary": "ExecutionPlan.to_dict() 方法", + "tags": [ + "ExecutionPlan", + "to_dict" + ], + "complexity": "simple" + }, + { + "id": "class:TaskStatus", + "type": "class", + "name": "TaskStatus", + "filePath": "src/agentkit/core/protocol.py", + "layer": "service", + "summary": "任务状态枚举", + "tags": [ + "TaskStatus" + ], + "complexity": "simple" + }, + { + "id": "class:AgentStatus", + "type": "class", + "name": "AgentStatus", + "filePath": "src/agentkit/core/protocol.py", + "layer": "service", + "summary": "Agent 状态枚举", + "tags": [ + "AgentStatus" + ], + "complexity": "simple" + }, + { + "id": "class:AgentCapability", + "type": "class", + "name": "AgentCapability", + "filePath": "src/agentkit/core/protocol.py", + "layer": "service", + "summary": "Agent 能力声明", + "tags": [ + "AgentCapability" + ], + "complexity": "simple" + }, + { + "id": "func:AgentCapability.to_dict", + "type": "function", + "name": "to_dict", + "filePath": "src/agentkit/core/protocol.py", + "layer": "service", + "summary": "AgentCapability.to_dict() 方法", + "tags": [ + "AgentCapability", + "to_dict" + ], + "complexity": "simple" + }, + { + "id": "func:AgentCapability.from_dict", + "type": "function", + "name": "from_dict", + "filePath": "src/agentkit/core/protocol.py", + "layer": "service", + "summary": "AgentCapability.from_dict(cls, data) 方法", + "tags": [ + "AgentCapability", + "from_dict" + ], + "complexity": "simple" + }, + { + "id": "class:TaskMessage", + "type": "class", + "name": "TaskMessage", + "filePath": "src/agentkit/core/protocol.py", + "layer": "service", + "summary": "任务消息 - 从调度器发往 Agent", + "tags": [ + "TaskMessage" + ], + "complexity": "simple" + }, + { + "id": "func:TaskMessage.to_dict", + "type": "function", + "name": "to_dict", + "filePath": "src/agentkit/core/protocol.py", + "layer": "service", + "summary": "TaskMessage.to_dict() 方法", + "tags": [ + "TaskMessage", + "to_dict" + ], + "complexity": "simple" + }, + { + "id": "func:TaskMessage.from_dict", + "type": "function", + "name": "from_dict", + "filePath": "src/agentkit/core/protocol.py", + "layer": "service", + "summary": "TaskMessage.from_dict(cls, data) 方法", + "tags": [ + "TaskMessage", + "from_dict" + ], + "complexity": "simple" + }, + { + "id": "class:TaskResult", + "type": "class", + "name": "TaskResult", + "filePath": "src/agentkit/core/protocol.py", + "layer": "service", + "summary": "任务结果 - 从 Agent 返回", + "tags": [ + "TaskResult" + ], + "complexity": "simple" + }, + { + "id": "func:TaskResult.to_dict", + "type": "function", + "name": "to_dict", + "filePath": "src/agentkit/core/protocol.py", + "layer": "service", + "summary": "TaskResult.to_dict() 方法", + "tags": [ + "TaskResult", + "to_dict" + ], + "complexity": "simple" + }, + { + "id": "func:TaskResult.from_dict", + "type": "function", + "name": "from_dict", + "filePath": "src/agentkit/core/protocol.py", + "layer": "service", + "summary": "TaskResult.from_dict(cls, data) 方法", + "tags": [ + "TaskResult", + "from_dict" + ], + "complexity": "simple" + }, + { + "id": "class:TaskProgress", + "type": "class", + "name": "TaskProgress", + "filePath": "src/agentkit/core/protocol.py", + "layer": "service", + "summary": "进度上报 - Agent 执行过程中上报", + "tags": [ + "TaskProgress" + ], + "complexity": "simple" + }, + { + "id": "func:TaskProgress.to_dict", + "type": "function", + "name": "to_dict", + "filePath": "src/agentkit/core/protocol.py", + "layer": "service", + "summary": "TaskProgress.to_dict() 方法", + "tags": [ + "TaskProgress", + "to_dict" + ], + "complexity": "simple" + }, + { + "id": "func:TaskProgress.from_dict", + "type": "function", + "name": "from_dict", + "filePath": "src/agentkit/core/protocol.py", + "layer": "service", + "summary": "TaskProgress.from_dict(cls, data) 方法", + "tags": [ + "TaskProgress", + "from_dict" + ], + "complexity": "simple" + }, + { + "id": "class:HandoffMessage", + "type": "class", + "name": "HandoffMessage", + "filePath": "src/agentkit/core/protocol.py", + "layer": "service", + "summary": "任务转交消息 - Agent 间 Handoff", + "tags": [ + "HandoffMessage" + ], + "complexity": "simple" + }, + { + "id": "func:HandoffMessage.to_dict", + "type": "function", + "name": "to_dict", + "filePath": "src/agentkit/core/protocol.py", + "layer": "service", + "summary": "HandoffMessage.to_dict() 方法", + "tags": [ + "HandoffMessage", + "to_dict" + ], + "complexity": "simple" + }, + { + "id": "func:HandoffMessage.from_dict", + "type": "function", + "name": "from_dict", + "filePath": "src/agentkit/core/protocol.py", + "layer": "service", + "summary": "HandoffMessage.from_dict(cls, data) 方法", + "tags": [ + "HandoffMessage", + "from_dict" + ], + "complexity": "simple" + }, + { + "id": "class:EvolutionEvent", + "type": "class", + "name": "EvolutionEvent", + "filePath": "src/agentkit/core/protocol.py", + "layer": "service", + "summary": "进化事件 - 记录 Agent 的自我进化变更", + "tags": [ + "EvolutionEvent" + ], + "complexity": "simple" + }, + { + "id": "func:EvolutionEvent.to_dict", + "type": "function", + "name": "to_dict", + "filePath": "src/agentkit/core/protocol.py", + "layer": "service", + "summary": "EvolutionEvent.to_dict() 方法", + "tags": [ + "EvolutionEvent", + "to_dict" + ], + "complexity": "simple" + }, + { + "id": "class:CancellationToken", + "type": "class", + "name": "CancellationToken", + "filePath": "src/agentkit/core/protocol.py", + "layer": "service", + "summary": "协作式取消令牌,用于通知 ReAct 循环和 Agent 停止执行。", + "tags": [ + "CancellationToken" + ], + "complexity": "simple" + }, + { + "id": "func:CancellationToken.cancel", + "type": "function", + "name": "cancel", + "filePath": "src/agentkit/core/protocol.py", + "layer": "service", + "summary": "CancellationToken.cancel() 方法", + "tags": [ + "CancellationToken", + "cancel" + ], + "complexity": "simple" + }, + { + "id": "func:CancellationToken.is_cancelled", + "type": "function", + "name": "is_cancelled", + "filePath": "src/agentkit/core/protocol.py", + "layer": "service", + "summary": "CancellationToken.is_cancelled() 方法", + "tags": [ + "CancellationToken", + "is_cancelled" + ], + "complexity": "simple" + }, + { + "id": "func:CancellationToken.check", + "type": "function", + "name": "check", + "filePath": "src/agentkit/core/protocol.py", + "layer": "service", + "summary": "CancellationToken.check() 方法", + "tags": [ + "CancellationToken", + "check" + ], + "complexity": "simple" + }, + { + "id": "class:ReActStep", + "type": "class", + "name": "ReActStep", + "filePath": "src/agentkit/core/react.py", + "layer": "service", + "summary": "ReAct 单步记录", + "tags": [ + "ReActStep" + ], + "complexity": "simple" + }, + { + "id": "class:ReActResult", + "type": "class", + "name": "ReActResult", + "filePath": "src/agentkit/core/react.py", + "layer": "service", + "summary": "ReAct 执行结果", + "tags": [ + "ReActResult" + ], + "complexity": "simple" + }, + { + "id": "class:ReActEvent", + "type": "class", + "name": "ReActEvent", + "filePath": "src/agentkit/core/react.py", + "layer": "service", + "summary": "ReAct 执行事件", + "tags": [ + "ReActEvent" + ], + "complexity": "simple" + }, + { + "id": "class:ReActEngine", + "type": "class", + "name": "ReActEngine", + "filePath": "src/agentkit/core/react.py", + "layer": "service", + "summary": "ReAct 推理-行动循环引擎", + "tags": [ + "ReActEngine" + ], + "complexity": "complex" + }, + { + "id": "func:ReActEngine.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/core/react.py", + "layer": "service", + "summary": "ReActEngine.__init__(llm_gateway, max_steps, default_timeout, parallel_tools) 方法", + "tags": [ + "ReActEngine", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:ReActEngine.reset", + "type": "function", + "name": "reset", + "filePath": "src/agentkit/core/react.py", + "layer": "service", + "summary": "ReActEngine.reset() 方法", + "tags": [ + "ReActEngine", + "reset" + ], + "complexity": "simple" + }, + { + "id": "func:ReActEngine.execute", + "type": "function", + "name": "execute", + "filePath": "src/agentkit/core/react.py", + "layer": "service", + "summary": "ReActEngine.execute(messages, tools, model, agent_name, task_type, system_prompt, trace_recorder, memory_retriever, task_id, compressor, retrieval_config, cancellation_token, timeout_seconds, confirmation_handler) 异步方法", + "tags": [ + "ReActEngine", + "execute" + ], + "complexity": "simple" + }, + { + "id": "func:ReActEngine._execute_loop", + "type": "function", + "name": "_execute_loop", + "filePath": "src/agentkit/core/react.py", + "layer": "service", + "summary": "ReActEngine._execute_loop(messages, tools, model, agent_name, task_type, system_prompt, trace_recorder, memory_retriever, task_id, compressor, retrieval_config, cancellation_token, confirmation_handler) 异步方法", + "tags": [ + "ReActEngine", + "_execute_loop" + ], + "complexity": "simple" + }, + { + "id": "func:ReActEngine.execute_stream", + "type": "function", + "name": "execute_stream", + "filePath": "src/agentkit/core/react.py", + "layer": "service", + "summary": "ReActEngine.execute_stream(messages, tools, model, agent_name, task_type, system_prompt, trace_recorder, memory_retriever, task_id, compressor, retrieval_config, cancellation_token, timeout_seconds, confirmation_handler) 异步方法", + "tags": [ + "ReActEngine", + "execute_stream" + ], + "complexity": "simple" + }, + { + "id": "func:ReActEngine._build_tool_schemas", + "type": "function", + "name": "_build_tool_schemas", + "filePath": "src/agentkit/core/react.py", + "layer": "service", + "summary": "ReActEngine._build_tool_schemas(tools) 方法", + "tags": [ + "ReActEngine", + "_build_tool_schemas" + ], + "complexity": "simple" + }, + { + "id": "func:ReActEngine._build_response_from_stream", + "type": "function", + "name": "_build_response_from_stream", + "filePath": "src/agentkit/core/react.py", + "layer": "service", + "summary": "ReActEngine._build_response_from_stream(content, tool_calls, usage, model) 方法", + "tags": [ + "ReActEngine", + "_build_response_from_stream" + ], + "complexity": "simple" + }, + { + "id": "func:ReActEngine._find_tool", + "type": "function", + "name": "_find_tool", + "filePath": "src/agentkit/core/react.py", + "layer": "service", + "summary": "ReActEngine._find_tool(name, tools) 方法", + "tags": [ + "ReActEngine", + "_find_tool" + ], + "complexity": "simple" + }, + { + "id": "func:ReActEngine._should_compress", + "type": "function", + "name": "_should_compress", + "filePath": "src/agentkit/core/react.py", + "layer": "service", + "summary": "ReActEngine._should_compress(conversation, compressor) 方法", + "tags": [ + "ReActEngine", + "_should_compress" + ], + "complexity": "simple" + }, + { + "id": "func:ReActEngine._build_tool_result_message", + "type": "function", + "name": "_build_tool_result_message", + "filePath": "src/agentkit/core/react.py", + "layer": "service", + "summary": "ReActEngine._build_tool_result_message(tool_call_id, result, compressor, tool_name) 异步方法", + "tags": [ + "ReActEngine", + "_build_tool_result_message" + ], + "complexity": "simple" + }, + { + "id": "func:ReActEngine._execute_tool", + "type": "function", + "name": "_execute_tool", + "filePath": "src/agentkit/core/react.py", + "layer": "service", + "summary": "ReActEngine._execute_tool(tool_name, arguments, tools) 异步方法", + "tags": [ + "ReActEngine", + "_execute_tool" + ], + "complexity": "simple" + }, + { + "id": "func:ReActEngine._execute_tool_with_confirmation", + "type": "function", + "name": "_execute_tool_with_confirmation", + "filePath": "src/agentkit/core/react.py", + "layer": "service", + "summary": "ReActEngine._execute_tool_with_confirmation(tc, tools, step, confirmation_handler) 异步方法", + "tags": [ + "ReActEngine", + "_execute_tool_with_confirmation" + ], + "complexity": "simple" + }, + { + "id": "func:ReActEngine._should_execute_parallel", + "type": "function", + "name": "_should_execute_parallel", + "filePath": "src/agentkit/core/react.py", + "layer": "service", + "summary": "ReActEngine._should_execute_parallel(tool_calls) 方法", + "tags": [ + "ReActEngine", + "_should_execute_parallel" + ], + "complexity": "simple" + }, + { + "id": "func:ReActEngine._get_parallelizable_indices", + "type": "function", + "name": "_get_parallelizable_indices", + "filePath": "src/agentkit/core/react.py", + "layer": "service", + "summary": "ReActEngine._get_parallelizable_indices(tool_calls) 方法", + "tags": [ + "ReActEngine", + "_get_parallelizable_indices" + ], + "complexity": "simple" + }, + { + "id": "func:ReActEngine._parse_text_tool_calls", + "type": "function", + "name": "_parse_text_tool_calls", + "filePath": "src/agentkit/core/react.py", + "layer": "service", + "summary": "ReActEngine._parse_text_tool_calls(content) 方法", + "tags": [ + "ReActEngine", + "_parse_text_tool_calls" + ], + "complexity": "simple" + }, + { + "id": "class:ReflexionReflection", + "type": "class", + "name": "ReflexionReflection", + "filePath": "src/agentkit/core/reflexion.py", + "layer": "service", + "summary": "单次反思记录", + "tags": [ + "ReflexionReflection" + ], + "complexity": "simple" + }, + { + "id": "class:ReflexionResult", + "type": "class", + "name": "ReflexionResult", + "filePath": "src/agentkit/core/reflexion.py", + "layer": "service", + "summary": "Reflexion 执行结果", + "tags": [ + "ReflexionResult" + ], + "complexity": "simple" + }, + { + "id": "class:ReflexionEngine", + "type": "class", + "name": "ReflexionEngine", + "filePath": "src/agentkit/core/reflexion.py", + "layer": "service", + "summary": "Reflexion 执行引擎", + "tags": [ + "ReflexionEngine" + ], + "complexity": "moderate" + }, + { + "id": "func:ReflexionEngine.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/core/reflexion.py", + "layer": "service", + "summary": "ReflexionEngine.__init__(llm_gateway, max_steps, max_reflections, quality_threshold, default_timeout) 方法", + "tags": [ + "ReflexionEngine", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:ReflexionEngine.execute", + "type": "function", + "name": "execute", + "filePath": "src/agentkit/core/reflexion.py", + "layer": "service", + "summary": "ReflexionEngine.execute(messages, tools, model, agent_name, task_type, system_prompt, trace_recorder, memory_retriever, task_id, compressor, retrieval_config, cancellation_token, timeout_seconds, evaluate_model, reflect_model) 异步方法", + "tags": [ + "ReflexionEngine", + "execute" + ], + "complexity": "simple" + }, + { + "id": "func:ReflexionEngine._execute_loop", + "type": "function", + "name": "_execute_loop", + "filePath": "src/agentkit/core/reflexion.py", + "layer": "service", + "summary": "ReflexionEngine._execute_loop(messages, tools, model, agent_name, task_type, system_prompt, trace_recorder, memory_retriever, task_id, compressor, retrieval_config, cancellation_token, evaluate_model, reflect_model) 异步方法", + "tags": [ + "ReflexionEngine", + "_execute_loop" + ], + "complexity": "simple" + }, + { + "id": "func:ReflexionEngine.execute_stream", + "type": "function", + "name": "execute_stream", + "filePath": "src/agentkit/core/reflexion.py", + "layer": "service", + "summary": "ReflexionEngine.execute_stream(messages, tools, model, agent_name, task_type, system_prompt, trace_recorder, memory_retriever, task_id, compressor, retrieval_config, cancellation_token, timeout_seconds, evaluate_model, reflect_model) 异步方法", + "tags": [ + "ReflexionEngine", + "execute_stream" + ], + "complexity": "simple" + }, + { + "id": "func:ReflexionEngine._evaluate", + "type": "function", + "name": "_evaluate", + "filePath": "src/agentkit/core/reflexion.py", + "layer": "service", + "summary": "ReflexionEngine._evaluate(react_result, messages, evaluate_model, agent_name, task_type) 异步方法", + "tags": [ + "ReflexionEngine", + "_evaluate" + ], + "complexity": "simple" + }, + { + "id": "func:ReflexionEngine._parse_evaluation_score", + "type": "function", + "name": "_parse_evaluation_score", + "filePath": "src/agentkit/core/reflexion.py", + "layer": "service", + "summary": "ReflexionEngine._parse_evaluation_score(content) 方法", + "tags": [ + "ReflexionEngine", + "_parse_evaluation_score" + ], + "complexity": "simple" + }, + { + "id": "func:ReflexionEngine._reflect", + "type": "function", + "name": "_reflect", + "filePath": "src/agentkit/core/reflexion.py", + "layer": "service", + "summary": "ReflexionEngine._reflect(react_result, score, messages, reflect_model, agent_name, task_type) 异步方法", + "tags": [ + "ReflexionEngine", + "_reflect" + ], + "complexity": "simple" + }, + { + "id": "func:ReflexionEngine._build_reflection_prompt", + "type": "function", + "name": "_build_reflection_prompt", + "filePath": "src/agentkit/core/reflexion.py", + "layer": "service", + "summary": "ReflexionEngine._build_reflection_prompt(original_prompt, reflection_text, attempt) 方法", + "tags": [ + "ReflexionEngine", + "_build_reflection_prompt" + ], + "complexity": "simple" + }, + { + "id": "class:AgentRegistry", + "type": "class", + "name": "AgentRegistry", + "filePath": "src/agentkit/core/registry.py", + "layer": "service", + "summary": "Agent 注册中心,管理 Agent 的注册、发现、状态", + "tags": [ + "AgentRegistry" + ], + "complexity": "complex" + }, + { + "id": "func:AgentRegistry.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/core/registry.py", + "layer": "service", + "summary": "AgentRegistry.__init__(session_factory, agent_model, load_balancer) 方法", + "tags": [ + "AgentRegistry", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:AgentRegistry.register", + "type": "function", + "name": "register", + "filePath": "src/agentkit/core/registry.py", + "layer": "service", + "summary": "AgentRegistry.register(capability, endpoint) 异步方法", + "tags": [ + "AgentRegistry", + "register" + ], + "complexity": "simple" + }, + { + "id": "func:AgentRegistry.unregister", + "type": "function", + "name": "unregister", + "filePath": "src/agentkit/core/registry.py", + "layer": "service", + "summary": "AgentRegistry.unregister(agent_name) 异步方法", + "tags": [ + "AgentRegistry", + "unregister" + ], + "complexity": "simple" + }, + { + "id": "func:AgentRegistry.update_heartbeat", + "type": "function", + "name": "update_heartbeat", + "filePath": "src/agentkit/core/registry.py", + "layer": "service", + "summary": "AgentRegistry.update_heartbeat(agent_name) 异步方法", + "tags": [ + "AgentRegistry", + "update_heartbeat" + ], + "complexity": "simple" + }, + { + "id": "func:AgentRegistry.get_agent", + "type": "function", + "name": "get_agent", + "filePath": "src/agentkit/core/registry.py", + "layer": "service", + "summary": "AgentRegistry.get_agent(agent_name) 异步方法", + "tags": [ + "AgentRegistry", + "get_agent" + ], + "complexity": "simple" + }, + { + "id": "func:AgentRegistry.list_agents", + "type": "function", + "name": "list_agents", + "filePath": "src/agentkit/core/registry.py", + "layer": "service", + "summary": "AgentRegistry.list_agents(agent_type, status) 异步方法", + "tags": [ + "AgentRegistry", + "list_agents" + ], + "complexity": "simple" + }, + { + "id": "func:AgentRegistry.get_available_agent", + "type": "function", + "name": "get_available_agent", + "filePath": "src/agentkit/core/registry.py", + "layer": "service", + "summary": "AgentRegistry.get_available_agent(task_type) 异步方法", + "tags": [ + "AgentRegistry", + "get_available_agent" + ], + "complexity": "simple" + }, + { + "id": "func:AgentRegistry.check_health", + "type": "function", + "name": "check_health", + "filePath": "src/agentkit/core/registry.py", + "layer": "service", + "summary": "AgentRegistry.check_health() 异步方法", + "tags": [ + "AgentRegistry", + "check_health" + ], + "complexity": "simple" + }, + { + "id": "func:AgentRegistry._agent_to_dict", + "type": "function", + "name": "_agent_to_dict", + "filePath": "src/agentkit/core/registry.py", + "layer": "service", + "summary": "AgentRegistry._agent_to_dict(agent) 方法", + "tags": [ + "AgentRegistry", + "_agent_to_dict" + ], + "complexity": "simple" + }, + { + "id": "class:_FallbackFailedError", + "type": "class", + "name": "_FallbackFailedError", + "filePath": "src/agentkit/core/rewoo.py", + "layer": "service", + "summary": "Internal signal: a fallback strategy failed, try the next one.", + "tags": [ + "_FallbackFailedError" + ], + "complexity": "simple" + }, + { + "id": "func:_FallbackFailedError.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/core/rewoo.py", + "layer": "service", + "summary": "_FallbackFailedError.__init__(strategy) 方法", + "tags": [ + "_FallbackFailedError", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "class:ReWOOPlanStep", + "type": "class", + "name": "ReWOOPlanStep", + "filePath": "src/agentkit/core/rewoo.py", + "layer": "service", + "summary": "ReWOO 计划中的单步", + "tags": [ + "ReWOOPlanStep" + ], + "complexity": "simple" + }, + { + "id": "class:ReWOOPlan", + "type": "class", + "name": "ReWOOPlan", + "filePath": "src/agentkit/core/rewoo.py", + "layer": "service", + "summary": "ReWOO 执行计划", + "tags": [ + "ReWOOPlan" + ], + "complexity": "simple" + }, + { + "id": "class:ReWOOStep", + "type": "class", + "name": "ReWOOStep", + "filePath": "src/agentkit/core/rewoo.py", + "layer": "service", + "summary": "ReWOO 执行步骤,扩展 ReActStep 增加 plan_step_id", + "tags": [ + "ReWOOStep" + ], + "complexity": "simple" + }, + { + "id": "class:ReWOOEngine", + "type": "class", + "name": "ReWOOEngine", + "filePath": "src/agentkit/core/rewoo.py", + "layer": "service", + "summary": "ReWOO (Reasoning Without Observation Others) 执行引擎", + "tags": [ + "ReWOOEngine" + ], + "complexity": "complex" + }, + { + "id": "func:ReWOOEngine.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/core/rewoo.py", + "layer": "service", + "summary": "ReWOOEngine.__init__(llm_gateway, max_plan_steps, default_timeout, fallback_strategies) 方法", + "tags": [ + "ReWOOEngine", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:ReWOOEngine.execute", + "type": "function", + "name": "execute", + "filePath": "src/agentkit/core/rewoo.py", + "layer": "service", + "summary": "ReWOOEngine.execute(messages, tools, model, agent_name, task_type, system_prompt, trace_recorder, memory_retriever, task_id, compressor, retrieval_config, cancellation_token, timeout_seconds, confirmation_handler) 异步方法", + "tags": [ + "ReWOOEngine", + "execute" + ], + "complexity": "simple" + }, + { + "id": "func:ReWOOEngine._execute_rewoo", + "type": "function", + "name": "_execute_rewoo", + "filePath": "src/agentkit/core/rewoo.py", + "layer": "service", + "summary": "ReWOOEngine._execute_rewoo(messages, tools, model, agent_name, task_type, system_prompt, trace_recorder, memory_retriever, task_id, compressor, retrieval_config, cancellation_token, confirmation_handler) 异步方法", + "tags": [ + "ReWOOEngine", + "_execute_rewoo" + ], + "complexity": "simple" + }, + { + "id": "func:ReWOOEngine.execute_stream", + "type": "function", + "name": "execute_stream", + "filePath": "src/agentkit/core/rewoo.py", + "layer": "service", + "summary": "ReWOOEngine.execute_stream(messages, tools, model, agent_name, task_type, system_prompt, trace_recorder, memory_retriever, task_id, compressor, retrieval_config, cancellation_token, timeout_seconds, confirmation_handler) 异步方法", + "tags": [ + "ReWOOEngine", + "execute_stream" + ], + "complexity": "simple" + }, + { + "id": "func:ReWOOEngine._try_fallback_strategies_stream", + "type": "function", + "name": "_try_fallback_strategies_stream", + "filePath": "src/agentkit/core/rewoo.py", + "layer": "service", + "summary": "ReWOOEngine._try_fallback_strategies_stream(strategies, messages, tools, model, agent_name, task_type, system_prompt, effective_system_prompt, trace_recorder, memory_retriever, task_id, compressor, retrieval_config, cancellation_token, total_tokens, confirmation_handler) 异步方法", + "tags": [ + "ReWOOEngine", + "_try_fallback_strategies_stream" + ], + "complexity": "simple" + }, + { + "id": "func:ReWOOEngine._fallback_simplified_rewoo_stream", + "type": "function", + "name": "_fallback_simplified_rewoo_stream", + "filePath": "src/agentkit/core/rewoo.py", + "layer": "service", + "summary": "ReWOOEngine._fallback_simplified_rewoo_stream(messages, tools, model, agent_name, task_type, effective_system_prompt, compressor, cancellation_token) 异步方法", + "tags": [ + "ReWOOEngine", + "_fallback_simplified_rewoo_stream" + ], + "complexity": "simple" + }, + { + "id": "func:ReWOOEngine._fallback_react_stream", + "type": "function", + "name": "_fallback_react_stream", + "filePath": "src/agentkit/core/rewoo.py", + "layer": "service", + "summary": "ReWOOEngine._fallback_react_stream(messages, tools, model, agent_name, task_type, system_prompt, trace_recorder, memory_retriever, task_id, compressor, retrieval_config, cancellation_token, confirmation_handler) 异步方法", + "tags": [ + "ReWOOEngine", + "_fallback_react_stream" + ], + "complexity": "simple" + }, + { + "id": "func:ReWOOEngine._fallback_direct_stream", + "type": "function", + "name": "_fallback_direct_stream", + "filePath": "src/agentkit/core/rewoo.py", + "layer": "service", + "summary": "ReWOOEngine._fallback_direct_stream(messages, model, agent_name, task_type, effective_system_prompt, compressor, total_tokens) 异步方法", + "tags": [ + "ReWOOEngine", + "_fallback_direct_stream" + ], + "complexity": "simple" + }, + { + "id": "func:ReWOOEngine._fallback_plan_exec_stream", + "type": "function", + "name": "_fallback_plan_exec_stream", + "filePath": "src/agentkit/core/rewoo.py", + "layer": "service", + "summary": "ReWOOEngine._fallback_plan_exec_stream(messages, tools, model, agent_name, task_type, effective_system_prompt, compressor, cancellation_token) 异步方法", + "tags": [ + "ReWOOEngine", + "_fallback_plan_exec_stream" + ], + "complexity": "simple" + }, + { + "id": "func:ReWOOEngine._try_fallback_strategies", + "type": "function", + "name": "_try_fallback_strategies", + "filePath": "src/agentkit/core/rewoo.py", + "layer": "service", + "summary": "ReWOOEngine._try_fallback_strategies(strategies, messages, tools, model, agent_name, task_type, system_prompt, effective_system_prompt, trace_recorder, memory_retriever, task_id, compressor, retrieval_config, cancellation_token, trajectory, total_tokens, confirmation_handler) 异步方法", + "tags": [ + "ReWOOEngine", + "_try_fallback_strategies" + ], + "complexity": "simple" + }, + { + "id": "func:ReWOOEngine._fallback_simplified_rewoo", + "type": "function", + "name": "_fallback_simplified_rewoo", + "filePath": "src/agentkit/core/rewoo.py", + "layer": "service", + "summary": "ReWOOEngine._fallback_simplified_rewoo(messages, tools, model, agent_name, task_type, effective_system_prompt, compressor, cancellation_token) 异步方法", + "tags": [ + "ReWOOEngine", + "_fallback_simplified_rewoo" + ], + "complexity": "simple" + }, + { + "id": "func:ReWOOEngine._fallback_react", + "type": "function", + "name": "_fallback_react", + "filePath": "src/agentkit/core/rewoo.py", + "layer": "service", + "summary": "ReWOOEngine._fallback_react(messages, tools, model, agent_name, task_type, system_prompt, trace_recorder, memory_retriever, task_id, compressor, retrieval_config, cancellation_token, confirmation_handler) 异步方法", + "tags": [ + "ReWOOEngine", + "_fallback_react" + ], + "complexity": "simple" + }, + { + "id": "func:ReWOOEngine._fallback_direct", + "type": "function", + "name": "_fallback_direct", + "filePath": "src/agentkit/core/rewoo.py", + "layer": "service", + "summary": "ReWOOEngine._fallback_direct(messages, model, agent_name, task_type, effective_system_prompt, compressor, cancellation_token, trajectory, total_tokens, trace_recorder) 异步方法", + "tags": [ + "ReWOOEngine", + "_fallback_direct" + ], + "complexity": "simple" + }, + { + "id": "func:ReWOOEngine._fallback_plan_exec", + "type": "function", + "name": "_fallback_plan_exec", + "filePath": "src/agentkit/core/rewoo.py", + "layer": "service", + "summary": "ReWOOEngine._fallback_plan_exec(messages, tools, model, agent_name, task_type, effective_system_prompt, compressor, cancellation_token) 异步方法", + "tags": [ + "ReWOOEngine", + "_fallback_plan_exec" + ], + "complexity": "simple" + }, + { + "id": "func:ReWOOEngine._plan_phase", + "type": "function", + "name": "_plan_phase", + "filePath": "src/agentkit/core/rewoo.py", + "layer": "service", + "summary": "ReWOOEngine._plan_phase(messages, tools, tool_schemas, model, agent_name, task_type, system_prompt, compressor, cancellation_token, max_steps) 异步方法", + "tags": [ + "ReWOOEngine", + "_plan_phase" + ], + "complexity": "simple" + }, + { + "id": "func:ReWOOEngine._synthesis_phase", + "type": "function", + "name": "_synthesis_phase", + "filePath": "src/agentkit/core/rewoo.py", + "layer": "service", + "summary": "ReWOOEngine._synthesis_phase(messages, tool_results, model, agent_name, task_type, system_prompt, compressor, cancellation_token) 异步方法", + "tags": [ + "ReWOOEngine", + "_synthesis_phase" + ], + "complexity": "simple" + }, + { + "id": "func:ReWOOEngine._build_tool_schemas", + "type": "function", + "name": "_build_tool_schemas", + "filePath": "src/agentkit/core/rewoo.py", + "layer": "service", + "summary": "ReWOOEngine._build_tool_schemas(tools) 方法", + "tags": [ + "ReWOOEngine", + "_build_tool_schemas" + ], + "complexity": "simple" + }, + { + "id": "func:ReWOOEngine._build_tool_descriptions", + "type": "function", + "name": "_build_tool_descriptions", + "filePath": "src/agentkit/core/rewoo.py", + "layer": "service", + "summary": "ReWOOEngine._build_tool_descriptions(tools) 方法", + "tags": [ + "ReWOOEngine", + "_build_tool_descriptions" + ], + "complexity": "simple" + }, + { + "id": "func:ReWOOEngine._parse_plan", + "type": "function", + "name": "_parse_plan", + "filePath": "src/agentkit/core/rewoo.py", + "layer": "service", + "summary": "ReWOOEngine._parse_plan(content) 方法", + "tags": [ + "ReWOOEngine", + "_parse_plan" + ], + "complexity": "simple" + }, + { + "id": "func:ReWOOEngine._find_tool", + "type": "function", + "name": "_find_tool", + "filePath": "src/agentkit/core/rewoo.py", + "layer": "service", + "summary": "ReWOOEngine._find_tool(name, tools) 方法", + "tags": [ + "ReWOOEngine", + "_find_tool" + ], + "complexity": "simple" + }, + { + "id": "func:ReWOOEngine._execute_tool", + "type": "function", + "name": "_execute_tool", + "filePath": "src/agentkit/core/rewoo.py", + "layer": "service", + "summary": "ReWOOEngine._execute_tool(tool_name, arguments, tools) 异步方法", + "tags": [ + "ReWOOEngine", + "_execute_tool" + ], + "complexity": "simple" + }, + { + "id": "class:SharedWorkspace", + "type": "class", + "name": "SharedWorkspace", + "filePath": "src/agentkit/core/shared_workspace.py", + "layer": "service", + "summary": "Agent 间共享工作空间", + "tags": [ + "SharedWorkspace" + ], + "complexity": "complex" + }, + { + "id": "func:SharedWorkspace.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/core/shared_workspace.py", + "layer": "service", + "summary": "SharedWorkspace.__init__(redis_client, prefix) 方法", + "tags": [ + "SharedWorkspace", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:SharedWorkspace._make_key", + "type": "function", + "name": "_make_key", + "filePath": "src/agentkit/core/shared_workspace.py", + "layer": "service", + "summary": "SharedWorkspace._make_key(key) 方法", + "tags": [ + "SharedWorkspace", + "_make_key" + ], + "complexity": "simple" + }, + { + "id": "func:SharedWorkspace.write", + "type": "function", + "name": "write", + "filePath": "src/agentkit/core/shared_workspace.py", + "layer": "service", + "summary": "SharedWorkspace.write(key, value, agent_id, ttl) 异步方法", + "tags": [ + "SharedWorkspace", + "write" + ], + "complexity": "simple" + }, + { + "id": "func:SharedWorkspace.read", + "type": "function", + "name": "read", + "filePath": "src/agentkit/core/shared_workspace.py", + "layer": "service", + "summary": "SharedWorkspace.read(key) 异步方法", + "tags": [ + "SharedWorkspace", + "read" + ], + "complexity": "simple" + }, + { + "id": "func:SharedWorkspace.delete", + "type": "function", + "name": "delete", + "filePath": "src/agentkit/core/shared_workspace.py", + "layer": "service", + "summary": "SharedWorkspace.delete(key) 异步方法", + "tags": [ + "SharedWorkspace", + "delete" + ], + "complexity": "simple" + }, + { + "id": "func:SharedWorkspace.lock", + "type": "function", + "name": "lock", + "filePath": "src/agentkit/core/shared_workspace.py", + "layer": "service", + "summary": "SharedWorkspace.lock(key, agent_id, timeout) 异步方法", + "tags": [ + "SharedWorkspace", + "lock" + ], + "complexity": "simple" + }, + { + "id": "func:SharedWorkspace.unlock", + "type": "function", + "name": "unlock", + "filePath": "src/agentkit/core/shared_workspace.py", + "layer": "service", + "summary": "SharedWorkspace.unlock(key, agent_id) 异步方法", + "tags": [ + "SharedWorkspace", + "unlock" + ], + "complexity": "simple" + }, + { + "id": "func:SharedWorkspace._get_version", + "type": "function", + "name": "_get_version", + "filePath": "src/agentkit/core/shared_workspace.py", + "layer": "service", + "summary": "SharedWorkspace._get_version(key) 异步方法", + "tags": [ + "SharedWorkspace", + "_get_version" + ], + "complexity": "simple" + }, + { + "id": "func:SharedWorkspace.list_keys", + "type": "function", + "name": "list_keys", + "filePath": "src/agentkit/core/shared_workspace.py", + "layer": "service", + "summary": "SharedWorkspace.list_keys() 异步方法", + "tags": [ + "SharedWorkspace", + "list_keys" + ], + "complexity": "simple" + }, + { + "id": "class:StandaloneRunner", + "type": "class", + "name": "StandaloneRunner", + "filePath": "src/agentkit/core/standalone.py", + "layer": "service", + "summary": "自动发现并启动配置驱动的 Agent", + "tags": [ + "StandaloneRunner" + ], + "complexity": "complex" + }, + { + "id": "func:StandaloneRunner.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/core/standalone.py", + "layer": "service", + "summary": "StandaloneRunner.__init__(config_dir, tool_registry, llm_client, custom_handlers) 方法", + "tags": [ + "StandaloneRunner", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:StandaloneRunner.agents", + "type": "function", + "name": "agents", + "filePath": "src/agentkit/core/standalone.py", + "layer": "service", + "summary": "StandaloneRunner.agents() 方法", + "tags": [ + "StandaloneRunner", + "agents" + ], + "complexity": "simple" + }, + { + "id": "func:StandaloneRunner.add_tool", + "type": "function", + "name": "add_tool", + "filePath": "src/agentkit/core/standalone.py", + "layer": "service", + "summary": "StandaloneRunner.add_tool(tool) 方法", + "tags": [ + "StandaloneRunner", + "add_tool" + ], + "complexity": "simple" + }, + { + "id": "func:StandaloneRunner.add_custom_handler", + "type": "function", + "name": "add_custom_handler", + "filePath": "src/agentkit/core/standalone.py", + "layer": "service", + "summary": "StandaloneRunner.add_custom_handler(name, handler) 方法", + "tags": [ + "StandaloneRunner", + "add_custom_handler" + ], + "complexity": "simple" + }, + { + "id": "func:StandaloneRunner.discover_configs", + "type": "function", + "name": "discover_configs", + "filePath": "src/agentkit/core/standalone.py", + "layer": "service", + "summary": "StandaloneRunner.discover_configs() 方法", + "tags": [ + "StandaloneRunner", + "discover_configs" + ], + "complexity": "simple" + }, + { + "id": "func:StandaloneRunner.build_agents", + "type": "function", + "name": "build_agents", + "filePath": "src/agentkit/core/standalone.py", + "layer": "service", + "summary": "StandaloneRunner.build_agents() 方法", + "tags": [ + "StandaloneRunner", + "build_agents" + ], + "complexity": "simple" + }, + { + "id": "func:StandaloneRunner.start_all", + "type": "function", + "name": "start_all", + "filePath": "src/agentkit/core/standalone.py", + "layer": "service", + "summary": "StandaloneRunner.start_all(redis_url) 异步方法", + "tags": [ + "StandaloneRunner", + "start_all" + ], + "complexity": "simple" + }, + { + "id": "func:StandaloneRunner.stop_all", + "type": "function", + "name": "stop_all", + "filePath": "src/agentkit/core/standalone.py", + "layer": "service", + "summary": "StandaloneRunner.stop_all() 异步方法", + "tags": [ + "StandaloneRunner", + "stop_all" + ], + "complexity": "simple" + }, + { + "id": "func:StandaloneRunner.execute_task", + "type": "function", + "name": "execute_task", + "filePath": "src/agentkit/core/standalone.py", + "layer": "service", + "summary": "StandaloneRunner.execute_task(agent_name, task) 异步方法", + "tags": [ + "StandaloneRunner", + "execute_task" + ], + "complexity": "simple" + }, + { + "id": "class:TraceStep", + "type": "class", + "name": "TraceStep", + "filePath": "src/agentkit/core/trace.py", + "layer": "service", + "summary": "单步执行轨迹", + "tags": [ + "TraceStep" + ], + "complexity": "simple" + }, + { + "id": "func:TraceStep.to_dict", + "type": "function", + "name": "to_dict", + "filePath": "src/agentkit/core/trace.py", + "layer": "service", + "summary": "TraceStep.to_dict() 方法", + "tags": [ + "TraceStep", + "to_dict" + ], + "complexity": "simple" + }, + { + "id": "class:ExecutionTrace", + "type": "class", + "name": "ExecutionTrace", + "filePath": "src/agentkit/core/trace.py", + "layer": "service", + "summary": "完整执行轨迹", + "tags": [ + "ExecutionTrace" + ], + "complexity": "simple" + }, + { + "id": "func:ExecutionTrace.to_dict", + "type": "function", + "name": "to_dict", + "filePath": "src/agentkit/core/trace.py", + "layer": "service", + "summary": "ExecutionTrace.to_dict() 方法", + "tags": [ + "ExecutionTrace", + "to_dict" + ], + "complexity": "simple" + }, + { + "id": "class:TraceRecorder", + "type": "class", + "name": "TraceRecorder", + "filePath": "src/agentkit/core/trace.py", + "layer": "service", + "summary": "执行轨迹记录器", + "tags": [ + "TraceRecorder" + ], + "complexity": "moderate" + }, + { + "id": "func:TraceRecorder.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/core/trace.py", + "layer": "service", + "summary": "TraceRecorder.__init__(task_id, agent_name, skill_name, on_trace_complete) 方法", + "tags": [ + "TraceRecorder", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:TraceRecorder.start_trace", + "type": "function", + "name": "start_trace", + "filePath": "src/agentkit/core/trace.py", + "layer": "service", + "summary": "TraceRecorder.start_trace(task_id, agent_name, skill_name) 方法", + "tags": [ + "TraceRecorder", + "start_trace" + ], + "complexity": "simple" + }, + { + "id": "func:TraceRecorder.record_step", + "type": "function", + "name": "record_step", + "filePath": "src/agentkit/core/trace.py", + "layer": "service", + "summary": "TraceRecorder.record_step(step, action, tool_name, input_data, output_data, duration_ms, tokens_used, error) 方法", + "tags": [ + "TraceRecorder", + "record_step" + ], + "complexity": "simple" + }, + { + "id": "func:TraceRecorder.end_trace", + "type": "function", + "name": "end_trace", + "filePath": "src/agentkit/core/trace.py", + "layer": "service", + "summary": "TraceRecorder.end_trace(outcome, quality_score) 方法", + "tags": [ + "TraceRecorder", + "end_trace" + ], + "complexity": "simple" + }, + { + "id": "func:TraceRecorder.get_trace", + "type": "function", + "name": "get_trace", + "filePath": "src/agentkit/core/trace.py", + "layer": "service", + "summary": "TraceRecorder.get_trace() 方法", + "tags": [ + "TraceRecorder", + "get_trace" + ], + "complexity": "simple" + }, + { + "id": "func:TraceRecorder.start_step_timer", + "type": "function", + "name": "start_step_timer", + "filePath": "src/agentkit/core/trace.py", + "layer": "service", + "summary": "TraceRecorder.start_step_timer() 方法", + "tags": [ + "TraceRecorder", + "start_step_timer" + ], + "complexity": "simple" + }, + { + "id": "func:TraceRecorder.elapsed_ms", + "type": "function", + "name": "elapsed_ms", + "filePath": "src/agentkit/core/trace.py", + "layer": "service", + "summary": "TraceRecorder.elapsed_ms() 方法", + "tags": [ + "TraceRecorder", + "elapsed_ms" + ], + "complexity": "simple" + }, + { + "id": "class:EvalSample", + "type": "class", + "name": "EvalSample", + "filePath": "src/agentkit/evaluation/ragas_evaluator.py", + "layer": "utility", + "summary": "评估样本", + "tags": [ + "EvalSample" + ], + "complexity": "simple" + }, + { + "id": "class:EvalMetrics", + "type": "class", + "name": "EvalMetrics", + "filePath": "src/agentkit/evaluation/ragas_evaluator.py", + "layer": "utility", + "summary": "评估指标", + "tags": [ + "EvalMetrics" + ], + "complexity": "simple" + }, + { + "id": "func:EvalMetrics.average", + "type": "function", + "name": "average", + "filePath": "src/agentkit/evaluation/ragas_evaluator.py", + "layer": "utility", + "summary": "EvalMetrics.average() 方法", + "tags": [ + "EvalMetrics", + "average" + ], + "complexity": "simple" + }, + { + "id": "func:EvalMetrics.to_dict", + "type": "function", + "name": "to_dict", + "filePath": "src/agentkit/evaluation/ragas_evaluator.py", + "layer": "utility", + "summary": "EvalMetrics.to_dict() 方法", + "tags": [ + "EvalMetrics", + "to_dict" + ], + "complexity": "simple" + }, + { + "id": "class:EvalResult", + "type": "class", + "name": "EvalResult", + "filePath": "src/agentkit/evaluation/ragas_evaluator.py", + "layer": "utility", + "summary": "评估结果", + "tags": [ + "EvalResult" + ], + "complexity": "simple" + }, + { + "id": "class:EvalDatasetBuilder", + "type": "class", + "name": "EvalDatasetBuilder", + "filePath": "src/agentkit/evaluation/ragas_evaluator.py", + "layer": "utility", + "summary": "评估数据集构建器", + "tags": [ + "EvalDatasetBuilder" + ], + "complexity": "simple" + }, + { + "id": "func:EvalDatasetBuilder.from_traces", + "type": "function", + "name": "from_traces", + "filePath": "src/agentkit/evaluation/ragas_evaluator.py", + "layer": "utility", + "summary": "EvalDatasetBuilder.from_traces(traces) 方法", + "tags": [ + "EvalDatasetBuilder", + "from_traces" + ], + "complexity": "simple" + }, + { + "id": "func:EvalDatasetBuilder.from_dict_list", + "type": "function", + "name": "from_dict_list", + "filePath": "src/agentkit/evaluation/ragas_evaluator.py", + "layer": "utility", + "summary": "EvalDatasetBuilder.from_dict_list(data) 方法", + "tags": [ + "EvalDatasetBuilder", + "from_dict_list" + ], + "complexity": "simple" + }, + { + "id": "class:RagasEvaluator", + "type": "class", + "name": "RagasEvaluator", + "filePath": "src/agentkit/evaluation/ragas_evaluator.py", + "layer": "utility", + "summary": "Ragas 评估器", + "tags": [ + "RagasEvaluator" + ], + "complexity": "moderate" + }, + { + "id": "func:RagasEvaluator.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/evaluation/ragas_evaluator.py", + "layer": "utility", + "summary": "RagasEvaluator.__init__(llm_gateway, use_ragas_lib) 方法", + "tags": [ + "RagasEvaluator", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:RagasEvaluator.evaluate", + "type": "function", + "name": "evaluate", + "filePath": "src/agentkit/evaluation/ragas_evaluator.py", + "layer": "utility", + "summary": "RagasEvaluator.evaluate(samples, metrics) 异步方法", + "tags": [ + "RagasEvaluator", + "evaluate" + ], + "complexity": "simple" + }, + { + "id": "func:RagasEvaluator._evaluate_with_ragas", + "type": "function", + "name": "_evaluate_with_ragas", + "filePath": "src/agentkit/evaluation/ragas_evaluator.py", + "layer": "utility", + "summary": "RagasEvaluator._evaluate_with_ragas(samples, metrics) 异步方法", + "tags": [ + "RagasEvaluator", + "_evaluate_with_ragas" + ], + "complexity": "simple" + }, + { + "id": "func:RagasEvaluator._evaluate_builtin", + "type": "function", + "name": "_evaluate_builtin", + "filePath": "src/agentkit/evaluation/ragas_evaluator.py", + "layer": "utility", + "summary": "RagasEvaluator._evaluate_builtin(samples, metrics) 异步方法", + "tags": [ + "RagasEvaluator", + "_evaluate_builtin" + ], + "complexity": "simple" + }, + { + "id": "class:ABTestConfig", + "type": "class", + "name": "ABTestConfig", + "filePath": "src/agentkit/evolution/ab_tester.py", + "layer": "utility", + "summary": "A/B 测试配置", + "tags": [ + "ABTestConfig" + ], + "complexity": "simple" + }, + { + "id": "class:ABTestResult", + "type": "class", + "name": "ABTestResult", + "filePath": "src/agentkit/evolution/ab_tester.py", + "layer": "utility", + "summary": "A/B 测试结果", + "tags": [ + "ABTestResult" + ], + "complexity": "simple" + }, + { + "id": "class:ABTester", + "type": "class", + "name": "ABTester", + "filePath": "src/agentkit/evolution/ab_tester.py", + "layer": "utility", + "summary": "A/B 测试框架", + "tags": [ + "ABTester" + ], + "complexity": "moderate" + }, + { + "id": "func:ABTester.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/evolution/ab_tester.py", + "layer": "utility", + "summary": "ABTester.__init__(evolution_store, min_samples) 方法", + "tags": [ + "ABTester", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:ABTester.create_test", + "type": "function", + "name": "create_test", + "filePath": "src/agentkit/evolution/ab_tester.py", + "layer": "utility", + "summary": "ABTester.create_test(config) 方法", + "tags": [ + "ABTester", + "create_test" + ], + "complexity": "simple" + }, + { + "id": "func:ABTester.assign_group", + "type": "function", + "name": "assign_group", + "filePath": "src/agentkit/evolution/ab_tester.py", + "layer": "utility", + "summary": "ABTester.assign_group(test_id, task_id) 方法", + "tags": [ + "ABTester", + "assign_group" + ], + "complexity": "simple" + }, + { + "id": "func:ABTester.record_result", + "type": "function", + "name": "record_result", + "filePath": "src/agentkit/evolution/ab_tester.py", + "layer": "utility", + "summary": "ABTester.record_result(test_id, group, metric) 方法", + "tags": [ + "ABTester", + "record_result" + ], + "complexity": "simple" + }, + { + "id": "func:ABTester.persist_results", + "type": "function", + "name": "persist_results", + "filePath": "src/agentkit/evolution/ab_tester.py", + "layer": "utility", + "summary": "ABTester.persist_results(test_id) 异步方法", + "tags": [ + "ABTester", + "persist_results" + ], + "complexity": "simple" + }, + { + "id": "func:ABTester.evaluate", + "type": "function", + "name": "evaluate", + "filePath": "src/agentkit/evolution/ab_tester.py", + "layer": "utility", + "summary": "ABTester.evaluate(test_id) 异步方法", + "tags": [ + "ABTester", + "evaluate" + ], + "complexity": "simple" + }, + { + "id": "func:ABTester._normal_cdf", + "type": "function", + "name": "_normal_cdf", + "filePath": "src/agentkit/evolution/ab_tester.py", + "layer": "utility", + "summary": "ABTester._normal_cdf(x) 方法", + "tags": [ + "ABTester", + "_normal_cdf" + ], + "complexity": "simple" + }, + { + "id": "class:EvolutionStore", + "type": "class", + "name": "EvolutionStore", + "filePath": "src/agentkit/evolution/evolution_store.py", + "layer": "utility", + "summary": "进化日志存储", + "tags": [ + "EvolutionStore" + ], + "complexity": "moderate" + }, + { + "id": "func:EvolutionStore.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/evolution/evolution_store.py", + "layer": "utility", + "summary": "EvolutionStore.__init__(session_factory, evolution_model) 方法", + "tags": [ + "EvolutionStore", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:EvolutionStore.record", + "type": "function", + "name": "record", + "filePath": "src/agentkit/evolution/evolution_store.py", + "layer": "utility", + "summary": "EvolutionStore.record(event) 异步方法", + "tags": [ + "EvolutionStore", + "record" + ], + "complexity": "simple" + }, + { + "id": "func:EvolutionStore.rollback", + "type": "function", + "name": "rollback", + "filePath": "src/agentkit/evolution/evolution_store.py", + "layer": "utility", + "summary": "EvolutionStore.rollback(event_id) 异步方法", + "tags": [ + "EvolutionStore", + "rollback" + ], + "complexity": "simple" + }, + { + "id": "func:EvolutionStore.list_events", + "type": "function", + "name": "list_events", + "filePath": "src/agentkit/evolution/evolution_store.py", + "layer": "utility", + "summary": "EvolutionStore.list_events(agent_name, change_type, status) 异步方法", + "tags": [ + "EvolutionStore", + "list_events" + ], + "complexity": "simple" + }, + { + "id": "class:PersistentEvolutionStore", + "type": "class", + "name": "PersistentEvolutionStore", + "filePath": "src/agentkit/evolution/evolution_store.py", + "layer": "utility", + "summary": "SQLite 持久化进化存储", + "tags": [ + "PersistentEvolutionStore" + ], + "complexity": "complex" + }, + { + "id": "func:PersistentEvolutionStore.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/evolution/evolution_store.py", + "layer": "utility", + "summary": "PersistentEvolutionStore.__init__(db_path) 方法", + "tags": [ + "PersistentEvolutionStore", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:PersistentEvolutionStore._run_sync", + "type": "function", + "name": "_run_sync", + "filePath": "src/agentkit/evolution/evolution_store.py", + "layer": "utility", + "summary": "PersistentEvolutionStore._run_sync(func) 方法", + "tags": [ + "PersistentEvolutionStore", + "_run_sync" + ], + "complexity": "simple" + }, + { + "id": "func:PersistentEvolutionStore.close", + "type": "function", + "name": "close", + "filePath": "src/agentkit/evolution/evolution_store.py", + "layer": "utility", + "summary": "PersistentEvolutionStore.close() 异步方法", + "tags": [ + "PersistentEvolutionStore", + "close" + ], + "complexity": "simple" + }, + { + "id": "func:PersistentEvolutionStore.__aenter__", + "type": "function", + "name": "__aenter__", + "filePath": "src/agentkit/evolution/evolution_store.py", + "layer": "utility", + "summary": "PersistentEvolutionStore.__aenter__() 异步方法", + "tags": [ + "PersistentEvolutionStore", + "__aenter__" + ], + "complexity": "simple" + }, + { + "id": "func:PersistentEvolutionStore.__aexit__", + "type": "function", + "name": "__aexit__", + "filePath": "src/agentkit/evolution/evolution_store.py", + "layer": "utility", + "summary": "PersistentEvolutionStore.__aexit__(exc_type, exc_val, exc_tb) 异步方法", + "tags": [ + "PersistentEvolutionStore", + "__aexit__" + ], + "complexity": "simple" + }, + { + "id": "func:PersistentEvolutionStore._retry_locked", + "type": "function", + "name": "_retry_locked", + "filePath": "src/agentkit/evolution/evolution_store.py", + "layer": "utility", + "summary": "PersistentEvolutionStore._retry_locked(func) 方法", + "tags": [ + "PersistentEvolutionStore", + "_retry_locked" + ], + "complexity": "simple" + }, + { + "id": "func:PersistentEvolutionStore._record_sync", + "type": "function", + "name": "_record_sync", + "filePath": "src/agentkit/evolution/evolution_store.py", + "layer": "utility", + "summary": "PersistentEvolutionStore._record_sync(event) 方法", + "tags": [ + "PersistentEvolutionStore", + "_record_sync" + ], + "complexity": "simple" + }, + { + "id": "func:PersistentEvolutionStore.record", + "type": "function", + "name": "record", + "filePath": "src/agentkit/evolution/evolution_store.py", + "layer": "utility", + "summary": "PersistentEvolutionStore.record(event) 异步方法", + "tags": [ + "PersistentEvolutionStore", + "record" + ], + "complexity": "simple" + }, + { + "id": "func:PersistentEvolutionStore._rollback_sync", + "type": "function", + "name": "_rollback_sync", + "filePath": "src/agentkit/evolution/evolution_store.py", + "layer": "utility", + "summary": "PersistentEvolutionStore._rollback_sync(event_id) 方法", + "tags": [ + "PersistentEvolutionStore", + "_rollback_sync" + ], + "complexity": "simple" + }, + { + "id": "func:PersistentEvolutionStore.rollback", + "type": "function", + "name": "rollback", + "filePath": "src/agentkit/evolution/evolution_store.py", + "layer": "utility", + "summary": "PersistentEvolutionStore.rollback(event_id) 异步方法", + "tags": [ + "PersistentEvolutionStore", + "rollback" + ], + "complexity": "simple" + }, + { + "id": "func:PersistentEvolutionStore._list_events_sync", + "type": "function", + "name": "_list_events_sync", + "filePath": "src/agentkit/evolution/evolution_store.py", + "layer": "utility", + "summary": "PersistentEvolutionStore._list_events_sync(agent_name, change_type, status) 方法", + "tags": [ + "PersistentEvolutionStore", + "_list_events_sync" + ], + "complexity": "simple" + }, + { + "id": "func:PersistentEvolutionStore.list_events", + "type": "function", + "name": "list_events", + "filePath": "src/agentkit/evolution/evolution_store.py", + "layer": "utility", + "summary": "PersistentEvolutionStore.list_events(agent_name, change_type, status) 异步方法", + "tags": [ + "PersistentEvolutionStore", + "list_events" + ], + "complexity": "simple" + }, + { + "id": "func:PersistentEvolutionStore._record_skill_version_sync", + "type": "function", + "name": "_record_skill_version_sync", + "filePath": "src/agentkit/evolution/evolution_store.py", + "layer": "utility", + "summary": "PersistentEvolutionStore._record_skill_version_sync(skill_name, version, content, parent_version) 方法", + "tags": [ + "PersistentEvolutionStore", + "_record_skill_version_sync" + ], + "complexity": "simple" + }, + { + "id": "func:PersistentEvolutionStore.record_skill_version", + "type": "function", + "name": "record_skill_version", + "filePath": "src/agentkit/evolution/evolution_store.py", + "layer": "utility", + "summary": "PersistentEvolutionStore.record_skill_version(skill_name, version, content, parent_version) 异步方法", + "tags": [ + "PersistentEvolutionStore", + "record_skill_version" + ], + "complexity": "simple" + }, + { + "id": "func:PersistentEvolutionStore._list_skill_versions_sync", + "type": "function", + "name": "_list_skill_versions_sync", + "filePath": "src/agentkit/evolution/evolution_store.py", + "layer": "utility", + "summary": "PersistentEvolutionStore._list_skill_versions_sync(skill_name) 方法", + "tags": [ + "PersistentEvolutionStore", + "_list_skill_versions_sync" + ], + "complexity": "simple" + }, + { + "id": "func:PersistentEvolutionStore.list_skill_versions", + "type": "function", + "name": "list_skill_versions", + "filePath": "src/agentkit/evolution/evolution_store.py", + "layer": "utility", + "summary": "PersistentEvolutionStore.list_skill_versions(skill_name) 异步方法", + "tags": [ + "PersistentEvolutionStore", + "list_skill_versions" + ], + "complexity": "simple" + }, + { + "id": "func:PersistentEvolutionStore._record_ab_test_result_sync", + "type": "function", + "name": "_record_ab_test_result_sync", + "filePath": "src/agentkit/evolution/evolution_store.py", + "layer": "utility", + "summary": "PersistentEvolutionStore._record_ab_test_result_sync(test_id, variant, score, sample_count) 方法", + "tags": [ + "PersistentEvolutionStore", + "_record_ab_test_result_sync" + ], + "complexity": "simple" + }, + { + "id": "func:PersistentEvolutionStore.record_ab_test_result", + "type": "function", + "name": "record_ab_test_result", + "filePath": "src/agentkit/evolution/evolution_store.py", + "layer": "utility", + "summary": "PersistentEvolutionStore.record_ab_test_result(test_id, variant, score, sample_count) 异步方法", + "tags": [ + "PersistentEvolutionStore", + "record_ab_test_result" + ], + "complexity": "simple" + }, + { + "id": "func:PersistentEvolutionStore._get_ab_test_results_sync", + "type": "function", + "name": "_get_ab_test_results_sync", + "filePath": "src/agentkit/evolution/evolution_store.py", + "layer": "utility", + "summary": "PersistentEvolutionStore._get_ab_test_results_sync(test_id) 方法", + "tags": [ + "PersistentEvolutionStore", + "_get_ab_test_results_sync" + ], + "complexity": "simple" + }, + { + "id": "func:PersistentEvolutionStore.get_ab_test_results", + "type": "function", + "name": "get_ab_test_results", + "filePath": "src/agentkit/evolution/evolution_store.py", + "layer": "utility", + "summary": "PersistentEvolutionStore.get_ab_test_results(test_id) 异步方法", + "tags": [ + "PersistentEvolutionStore", + "get_ab_test_results" + ], + "complexity": "simple" + }, + { + "id": "class:InMemoryEvolutionStore", + "type": "class", + "name": "InMemoryEvolutionStore", + "filePath": "src/agentkit/evolution/evolution_store.py", + "layer": "utility", + "summary": "基于内存字典的进化存储(用于测试和轻量场景)", + "tags": [ + "InMemoryEvolutionStore" + ], + "complexity": "moderate" + }, + { + "id": "func:InMemoryEvolutionStore.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/evolution/evolution_store.py", + "layer": "utility", + "summary": "InMemoryEvolutionStore.__init__() 方法", + "tags": [ + "InMemoryEvolutionStore", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:InMemoryEvolutionStore.record", + "type": "function", + "name": "record", + "filePath": "src/agentkit/evolution/evolution_store.py", + "layer": "utility", + "summary": "InMemoryEvolutionStore.record(event) 异步方法", + "tags": [ + "InMemoryEvolutionStore", + "record" + ], + "complexity": "simple" + }, + { + "id": "func:InMemoryEvolutionStore.rollback", + "type": "function", + "name": "rollback", + "filePath": "src/agentkit/evolution/evolution_store.py", + "layer": "utility", + "summary": "InMemoryEvolutionStore.rollback(event_id) 异步方法", + "tags": [ + "InMemoryEvolutionStore", + "rollback" + ], + "complexity": "simple" + }, + { + "id": "func:InMemoryEvolutionStore.list_events", + "type": "function", + "name": "list_events", + "filePath": "src/agentkit/evolution/evolution_store.py", + "layer": "utility", + "summary": "InMemoryEvolutionStore.list_events(agent_name, change_type, status) 异步方法", + "tags": [ + "InMemoryEvolutionStore", + "list_events" + ], + "complexity": "simple" + }, + { + "id": "func:InMemoryEvolutionStore.record_skill_version", + "type": "function", + "name": "record_skill_version", + "filePath": "src/agentkit/evolution/evolution_store.py", + "layer": "utility", + "summary": "InMemoryEvolutionStore.record_skill_version(skill_name, version, content, parent_version) 异步方法", + "tags": [ + "InMemoryEvolutionStore", + "record_skill_version" + ], + "complexity": "simple" + }, + { + "id": "func:InMemoryEvolutionStore.list_skill_versions", + "type": "function", + "name": "list_skill_versions", + "filePath": "src/agentkit/evolution/evolution_store.py", + "layer": "utility", + "summary": "InMemoryEvolutionStore.list_skill_versions(skill_name) 异步方法", + "tags": [ + "InMemoryEvolutionStore", + "list_skill_versions" + ], + "complexity": "simple" + }, + { + "id": "func:InMemoryEvolutionStore.record_ab_test_result", + "type": "function", + "name": "record_ab_test_result", + "filePath": "src/agentkit/evolution/evolution_store.py", + "layer": "utility", + "summary": "InMemoryEvolutionStore.record_ab_test_result(test_id, variant, score, sample_count) 异步方法", + "tags": [ + "InMemoryEvolutionStore", + "record_ab_test_result" + ], + "complexity": "simple" + }, + { + "id": "func:InMemoryEvolutionStore.get_ab_test_results", + "type": "function", + "name": "get_ab_test_results", + "filePath": "src/agentkit/evolution/evolution_store.py", + "layer": "utility", + "summary": "InMemoryEvolutionStore.get_ab_test_results(test_id) 异步方法", + "tags": [ + "InMemoryEvolutionStore", + "get_ab_test_results" + ], + "complexity": "simple" + }, + { + "id": "class:TaskExperience", + "type": "class", + "name": "TaskExperience", + "filePath": "src/agentkit/evolution/experience_schema.py", + "layer": "utility", + "summary": "任务执行经验", + "tags": [ + "TaskExperience" + ], + "complexity": "simple" + }, + { + "id": "func:TaskExperience.to_dict", + "type": "function", + "name": "to_dict", + "filePath": "src/agentkit/evolution/experience_schema.py", + "layer": "utility", + "summary": "TaskExperience.to_dict() 方法", + "tags": [ + "TaskExperience", + "to_dict" + ], + "complexity": "simple" + }, + { + "id": "func:TaskExperience.text_for_embedding", + "type": "function", + "name": "text_for_embedding", + "filePath": "src/agentkit/evolution/experience_schema.py", + "layer": "utility", + "summary": "TaskExperience.text_for_embedding() 方法", + "tags": [ + "TaskExperience", + "text_for_embedding" + ], + "complexity": "simple" + }, + { + "id": "class:EvolutionMetrics", + "type": "class", + "name": "EvolutionMetrics", + "filePath": "src/agentkit/evolution/experience_schema.py", + "layer": "utility", + "summary": "进化指标趋势", + "tags": [ + "EvolutionMetrics" + ], + "complexity": "simple" + }, + { + "id": "func:EvolutionMetrics.to_dict", + "type": "function", + "name": "to_dict", + "filePath": "src/agentkit/evolution/experience_schema.py", + "layer": "utility", + "summary": "EvolutionMetrics.to_dict() 方法", + "tags": [ + "EvolutionMetrics", + "to_dict" + ], + "complexity": "simple" + }, + { + "id": "class:ExperienceStore", + "type": "class", + "name": "ExperienceStore", + "filePath": "src/agentkit/evolution/experience_store.py", + "layer": "utility", + "summary": "任务经验存储 - PostgreSQL + pgvector 混合存储", + "tags": [ + "ExperienceStore" + ], + "complexity": "moderate" + }, + { + "id": "func:ExperienceStore.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/evolution/experience_store.py", + "layer": "utility", + "summary": "ExperienceStore.__init__(session_factory, experience_model, embedder, decay_rate, alpha, retrieve_limit, pgvector_enabled, table_name) 方法", + "tags": [ + "ExperienceStore", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:ExperienceStore.record_experience", + "type": "function", + "name": "record_experience", + "filePath": "src/agentkit/evolution/experience_store.py", + "layer": "utility", + "summary": "ExperienceStore.record_experience(experience) 异步方法", + "tags": [ + "ExperienceStore", + "record_experience" + ], + "complexity": "simple" + }, + { + "id": "func:ExperienceStore.search", + "type": "function", + "name": "search", + "filePath": "src/agentkit/evolution/experience_store.py", + "layer": "utility", + "summary": "ExperienceStore.search(query, top_k, task_type, search_multiplier) 异步方法", + "tags": [ + "ExperienceStore", + "search" + ], + "complexity": "simple" + }, + { + "id": "func:ExperienceStore._search_pgvector", + "type": "function", + "name": "_search_pgvector", + "filePath": "src/agentkit/evolution/experience_store.py", + "layer": "utility", + "summary": "ExperienceStore._search_pgvector(db, query, top_k, task_type, search_multiplier) 异步方法", + "tags": [ + "ExperienceStore", + "_search_pgvector" + ], + "complexity": "simple" + }, + { + "id": "func:ExperienceStore._search_client_side", + "type": "function", + "name": "_search_client_side", + "filePath": "src/agentkit/evolution/experience_store.py", + "layer": "utility", + "summary": "ExperienceStore._search_client_side(db, query, top_k, task_type, search_multiplier) 异步方法", + "tags": [ + "ExperienceStore", + "_search_client_side" + ], + "complexity": "simple" + }, + { + "id": "func:ExperienceStore.get_metrics", + "type": "function", + "name": "get_metrics", + "filePath": "src/agentkit/evolution/experience_store.py", + "layer": "utility", + "summary": "ExperienceStore.get_metrics(task_type, time_window) 异步方法", + "tags": [ + "ExperienceStore", + "get_metrics" + ], + "complexity": "simple" + }, + { + "id": "class:InMemoryExperienceStore", + "type": "class", + "name": "InMemoryExperienceStore", + "filePath": "src/agentkit/evolution/experience_store.py", + "layer": "utility", + "summary": "基于内存字典的任务经验存储(用于测试和轻量场景)", + "tags": [ + "InMemoryExperienceStore" + ], + "complexity": "moderate" + }, + { + "id": "func:InMemoryExperienceStore.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/evolution/experience_store.py", + "layer": "utility", + "summary": "InMemoryExperienceStore.__init__(embedder, decay_rate, alpha) 方法", + "tags": [ + "InMemoryExperienceStore", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:InMemoryExperienceStore.record_experience", + "type": "function", + "name": "record_experience", + "filePath": "src/agentkit/evolution/experience_store.py", + "layer": "utility", + "summary": "InMemoryExperienceStore.record_experience(experience) 异步方法", + "tags": [ + "InMemoryExperienceStore", + "record_experience" + ], + "complexity": "simple" + }, + { + "id": "func:InMemoryExperienceStore.search", + "type": "function", + "name": "search", + "filePath": "src/agentkit/evolution/experience_store.py", + "layer": "utility", + "summary": "InMemoryExperienceStore.search(query, top_k, task_type, search_multiplier) 异步方法", + "tags": [ + "InMemoryExperienceStore", + "search" + ], + "complexity": "simple" + }, + { + "id": "func:InMemoryExperienceStore.get_metrics", + "type": "function", + "name": "get_metrics", + "filePath": "src/agentkit/evolution/experience_store.py", + "layer": "utility", + "summary": "InMemoryExperienceStore.get_metrics(task_type, time_window) 异步方法", + "tags": [ + "InMemoryExperienceStore", + "get_metrics" + ], + "complexity": "simple" + }, + { + "id": "class:FitnessWeights", + "type": "class", + "name": "FitnessWeights", + "filePath": "src/agentkit/evolution/fitness.py", + "layer": "utility", + "summary": "适应度权重配置", + "tags": [ + "FitnessWeights" + ], + "complexity": "simple" + }, + { + "id": "func:FitnessWeights.__post_init__", + "type": "function", + "name": "__post_init__", + "filePath": "src/agentkit/evolution/fitness.py", + "layer": "utility", + "summary": "FitnessWeights.__post_init__() 方法", + "tags": [ + "FitnessWeights", + "__post_init__" + ], + "complexity": "simple" + }, + { + "id": "class:MultiObjectiveFitness", + "type": "class", + "name": "MultiObjectiveFitness", + "filePath": "src/agentkit/evolution/fitness.py", + "layer": "utility", + "summary": "多目标适应度评估器", + "tags": [ + "MultiObjectiveFitness" + ], + "complexity": "moderate" + }, + { + "id": "func:MultiObjectiveFitness.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/evolution/fitness.py", + "layer": "utility", + "summary": "MultiObjectiveFitness.__init__(weights, max_latency_ms, max_cost_tokens) 方法", + "tags": [ + "MultiObjectiveFitness", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:MultiObjectiveFitness.evaluate", + "type": "function", + "name": "evaluate", + "filePath": "src/agentkit/evolution/fitness.py", + "layer": "utility", + "summary": "MultiObjectiveFitness.evaluate(accuracy, latency_ms, cost_tokens, custom) 方法", + "tags": [ + "MultiObjectiveFitness", + "evaluate" + ], + "complexity": "simple" + }, + { + "id": "func:MultiObjectiveFitness.weighted_score", + "type": "function", + "name": "weighted_score", + "filePath": "src/agentkit/evolution/fitness.py", + "layer": "utility", + "summary": "MultiObjectiveFitness.weighted_score(score) 方法", + "tags": [ + "MultiObjectiveFitness", + "weighted_score" + ], + "complexity": "simple" + }, + { + "id": "func:MultiObjectiveFitness.pareto_rank", + "type": "function", + "name": "pareto_rank", + "filePath": "src/agentkit/evolution/fitness.py", + "layer": "utility", + "summary": "MultiObjectiveFitness.pareto_rank(scores) 方法", + "tags": [ + "MultiObjectiveFitness", + "pareto_rank" + ], + "complexity": "simple" + }, + { + "id": "func:MultiObjectiveFitness.crowding_distance", + "type": "function", + "name": "crowding_distance", + "filePath": "src/agentkit/evolution/fitness.py", + "layer": "utility", + "summary": "MultiObjectiveFitness.crowding_distance(scores) 方法", + "tags": [ + "MultiObjectiveFitness", + "crowding_distance" + ], + "complexity": "simple" + }, + { + "id": "class:ExtendedStrategyConfig", + "type": "class", + "name": "ExtendedStrategyConfig", + "filePath": "src/agentkit/evolution/fitness.py", + "layer": "utility", + "summary": "扩展的策略配置", + "tags": [ + "ExtendedStrategyConfig" + ], + "complexity": "simple" + }, + { + "id": "class:ExtendedStrategyTuner", + "type": "class", + "name": "ExtendedStrategyTuner", + "filePath": "src/agentkit/evolution/fitness.py", + "layer": "utility", + "summary": "多维策略调优器", + "tags": [ + "ExtendedStrategyTuner" + ], + "complexity": "moderate" + }, + { + "id": "func:ExtendedStrategyTuner.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/evolution/fitness.py", + "layer": "utility", + "summary": "ExtendedStrategyTuner.__init__(param_ranges) 方法", + "tags": [ + "ExtendedStrategyTuner", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:ExtendedStrategyTuner.record", + "type": "function", + "name": "record", + "filePath": "src/agentkit/evolution/fitness.py", + "layer": "utility", + "summary": "ExtendedStrategyTuner.record(config, metric) 方法", + "tags": [ + "ExtendedStrategyTuner", + "record" + ], + "complexity": "simple" + }, + { + "id": "func:ExtendedStrategyTuner.suggest", + "type": "function", + "name": "suggest", + "filePath": "src/agentkit/evolution/fitness.py", + "layer": "utility", + "summary": "ExtendedStrategyTuner.suggest(current) 异步方法", + "tags": [ + "ExtendedStrategyTuner", + "suggest" + ], + "complexity": "simple" + }, + { + "id": "func:ExtendedStrategyTuner._optimize_param", + "type": "function", + "name": "_optimize_param", + "filePath": "src/agentkit/evolution/fitness.py", + "layer": "utility", + "summary": "ExtendedStrategyTuner._optimize_param(param_name, best_value, noise_std) 方法", + "tags": [ + "ExtendedStrategyTuner", + "_optimize_param" + ], + "complexity": "simple" + }, + { + "id": "func:ExtendedStrategyTuner._suggest_retrieval_mode", + "type": "function", + "name": "_suggest_retrieval_mode", + "filePath": "src/agentkit/evolution/fitness.py", + "layer": "utility", + "summary": "ExtendedStrategyTuner._suggest_retrieval_mode(current_mode) 方法", + "tags": [ + "ExtendedStrategyTuner", + "_suggest_retrieval_mode" + ], + "complexity": "simple" + }, + { + "id": "func:ExtendedStrategyTuner.history_size", + "type": "function", + "name": "history_size", + "filePath": "src/agentkit/evolution/fitness.py", + "layer": "utility", + "summary": "ExtendedStrategyTuner.history_size() 方法", + "tags": [ + "ExtendedStrategyTuner", + "history_size" + ], + "complexity": "simple" + }, + { + "id": "class:FitnessScore", + "type": "class", + "name": "FitnessScore", + "filePath": "src/agentkit/evolution/genetic.py", + "layer": "utility", + "summary": "多目标适应度评分", + "tags": [ + "FitnessScore" + ], + "complexity": "simple" + }, + { + "id": "func:FitnessScore.normalized", + "type": "function", + "name": "normalized", + "filePath": "src/agentkit/evolution/genetic.py", + "layer": "utility", + "summary": "FitnessScore.normalized() 方法", + "tags": [ + "FitnessScore", + "normalized" + ], + "complexity": "simple" + }, + { + "id": "func:FitnessScore.dominates", + "type": "function", + "name": "dominates", + "filePath": "src/agentkit/evolution/genetic.py", + "layer": "utility", + "summary": "FitnessScore.dominates(other) 方法", + "tags": [ + "FitnessScore", + "dominates" + ], + "complexity": "simple" + }, + { + "id": "class:PromptChromosome", + "type": "class", + "name": "PromptChromosome", + "filePath": "src/agentkit/evolution/genetic.py", + "layer": "utility", + "summary": "Prompt 染色体 — 一个完整的 Prompt 变体", + "tags": [ + "PromptChromosome" + ], + "complexity": "simple" + }, + { + "id": "func:PromptChromosome.to_module", + "type": "function", + "name": "to_module", + "filePath": "src/agentkit/evolution/genetic.py", + "layer": "utility", + "summary": "PromptChromosome.to_module(name) 方法", + "tags": [ + "PromptChromosome", + "to_module" + ], + "complexity": "simple" + }, + { + "id": "func:PromptChromosome.from_module", + "type": "function", + "name": "from_module", + "filePath": "src/agentkit/evolution/genetic.py", + "layer": "utility", + "summary": "PromptChromosome.from_module(cls, module) 方法", + "tags": [ + "PromptChromosome", + "from_module" + ], + "complexity": "simple" + }, + { + "id": "class:CrossoverOperator", + "type": "class", + "name": "CrossoverOperator", + "filePath": "src/agentkit/evolution/genetic.py", + "layer": "utility", + "summary": "交叉算子", + "tags": [ + "CrossoverOperator" + ], + "complexity": "moderate" + }, + { + "id": "func:CrossoverOperator.crossover", + "type": "function", + "name": "crossover", + "filePath": "src/agentkit/evolution/genetic.py", + "layer": "utility", + "summary": "CrossoverOperator.crossover(parent_a, parent_b, crossover_rate) 方法", + "tags": [ + "CrossoverOperator", + "crossover" + ], + "complexity": "simple" + }, + { + "id": "func:CrossoverOperator._crossover_text", + "type": "function", + "name": "_crossover_text", + "filePath": "src/agentkit/evolution/genetic.py", + "layer": "utility", + "summary": "CrossoverOperator._crossover_text(text_a, text_b, rate) 方法", + "tags": [ + "CrossoverOperator", + "_crossover_text" + ], + "complexity": "simple" + }, + { + "id": "func:CrossoverOperator._crossover_demos", + "type": "function", + "name": "_crossover_demos", + "filePath": "src/agentkit/evolution/genetic.py", + "layer": "utility", + "summary": "CrossoverOperator._crossover_demos(demos_a, demos_b, rate) 方法", + "tags": [ + "CrossoverOperator", + "_crossover_demos" + ], + "complexity": "simple" + }, + { + "id": "func:CrossoverOperator._crossover_constraints", + "type": "function", + "name": "_crossover_constraints", + "filePath": "src/agentkit/evolution/genetic.py", + "layer": "utility", + "summary": "CrossoverOperator._crossover_constraints(constraints_a, constraints_b, rate) 方法", + "tags": [ + "CrossoverOperator", + "_crossover_constraints" + ], + "complexity": "simple" + }, + { + "id": "class:MutationOperator", + "type": "class", + "name": "MutationOperator", + "filePath": "src/agentkit/evolution/genetic.py", + "layer": "utility", + "summary": "变异算子", + "tags": [ + "MutationOperator" + ], + "complexity": "moderate" + }, + { + "id": "func:MutationOperator.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/evolution/genetic.py", + "layer": "utility", + "summary": "MutationOperator.__init__(llm_gateway) 方法", + "tags": [ + "MutationOperator", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:MutationOperator.mutate", + "type": "function", + "name": "mutate", + "filePath": "src/agentkit/evolution/genetic.py", + "layer": "utility", + "summary": "MutationOperator.mutate(chromosome, mutation_rate) 异步方法", + "tags": [ + "MutationOperator", + "mutate" + ], + "complexity": "simple" + }, + { + "id": "func:MutationOperator._mutate_instructions", + "type": "function", + "name": "_mutate_instructions", + "filePath": "src/agentkit/evolution/genetic.py", + "layer": "utility", + "summary": "MutationOperator._mutate_instructions(instructions) 异步方法", + "tags": [ + "MutationOperator", + "_mutate_instructions" + ], + "complexity": "simple" + }, + { + "id": "func:MutationOperator._mutate_demos", + "type": "function", + "name": "_mutate_demos", + "filePath": "src/agentkit/evolution/genetic.py", + "layer": "utility", + "summary": "MutationOperator._mutate_demos(demos) 方法", + "tags": [ + "MutationOperator", + "_mutate_demos" + ], + "complexity": "simple" + }, + { + "id": "func:MutationOperator._mutate_constraints", + "type": "function", + "name": "_mutate_constraints", + "filePath": "src/agentkit/evolution/genetic.py", + "layer": "utility", + "summary": "MutationOperator._mutate_constraints(constraints) 方法", + "tags": [ + "MutationOperator", + "_mutate_constraints" + ], + "complexity": "simple" + }, + { + "id": "class:GEPAPopulation", + "type": "class", + "name": "GEPAPopulation", + "filePath": "src/agentkit/evolution/genetic.py", + "layer": "utility", + "summary": "GEPA 种群管理", + "tags": [ + "GEPAPopulation" + ], + "complexity": "complex" + }, + { + "id": "func:GEPAPopulation.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/evolution/genetic.py", + "layer": "utility", + "summary": "GEPAPopulation.__init__(population_size, elite_size, tournament_size) 方法", + "tags": [ + "GEPAPopulation", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:GEPAPopulation.generation", + "type": "function", + "name": "generation", + "filePath": "src/agentkit/evolution/genetic.py", + "layer": "utility", + "summary": "GEPAPopulation.generation() 方法", + "tags": [ + "GEPAPopulation", + "generation" + ], + "complexity": "simple" + }, + { + "id": "func:GEPAPopulation.individuals", + "type": "function", + "name": "individuals", + "filePath": "src/agentkit/evolution/genetic.py", + "layer": "utility", + "summary": "GEPAPopulation.individuals() 方法", + "tags": [ + "GEPAPopulation", + "individuals" + ], + "complexity": "simple" + }, + { + "id": "func:GEPAPopulation.size", + "type": "function", + "name": "size", + "filePath": "src/agentkit/evolution/genetic.py", + "layer": "utility", + "summary": "GEPAPopulation.size() 方法", + "tags": [ + "GEPAPopulation", + "size" + ], + "complexity": "simple" + }, + { + "id": "func:GEPAPopulation.initialize", + "type": "function", + "name": "initialize", + "filePath": "src/agentkit/evolution/genetic.py", + "layer": "utility", + "summary": "GEPAPopulation.initialize(seed) 方法", + "tags": [ + "GEPAPopulation", + "initialize" + ], + "complexity": "simple" + }, + { + "id": "func:GEPAPopulation.add", + "type": "function", + "name": "add", + "filePath": "src/agentkit/evolution/genetic.py", + "layer": "utility", + "summary": "GEPAPopulation.add(chromosome) 方法", + "tags": [ + "GEPAPopulation", + "add" + ], + "complexity": "simple" + }, + { + "id": "func:GEPAPopulation.get_elite", + "type": "function", + "name": "get_elite", + "filePath": "src/agentkit/evolution/genetic.py", + "layer": "utility", + "summary": "GEPAPopulation.get_elite() 方法", + "tags": [ + "GEPAPopulation", + "get_elite" + ], + "complexity": "simple" + }, + { + "id": "func:GEPAPopulation.get_pareto_front", + "type": "function", + "name": "get_pareto_front", + "filePath": "src/agentkit/evolution/genetic.py", + "layer": "utility", + "summary": "GEPAPopulation.get_pareto_front() 方法", + "tags": [ + "GEPAPopulation", + "get_pareto_front" + ], + "complexity": "simple" + }, + { + "id": "func:GEPAPopulation.tournament_select", + "type": "function", + "name": "tournament_select", + "filePath": "src/agentkit/evolution/genetic.py", + "layer": "utility", + "summary": "GEPAPopulation.tournament_select() 方法", + "tags": [ + "GEPAPopulation", + "tournament_select" + ], + "complexity": "simple" + }, + { + "id": "func:GEPAPopulation.evolve", + "type": "function", + "name": "evolve", + "filePath": "src/agentkit/evolution/genetic.py", + "layer": "utility", + "summary": "GEPAPopulation.evolve(crossover, mutation, crossover_rate, mutation_rate) 方法", + "tags": [ + "GEPAPopulation", + "evolve" + ], + "complexity": "simple" + }, + { + "id": "func:GEPAPopulation.get_best", + "type": "function", + "name": "get_best", + "filePath": "src/agentkit/evolution/genetic.py", + "layer": "utility", + "summary": "GEPAPopulation.get_best() 方法", + "tags": [ + "GEPAPopulation", + "get_best" + ], + "complexity": "simple" + }, + { + "id": "func:GEPAPopulation.get_statistics", + "type": "function", + "name": "get_statistics", + "filePath": "src/agentkit/evolution/genetic.py", + "layer": "utility", + "summary": "GEPAPopulation.get_statistics() 方法", + "tags": [ + "GEPAPopulation", + "get_statistics" + ], + "complexity": "simple" + }, + { + "id": "class:SoulEvolutionConfig", + "type": "class", + "name": "SoulEvolutionConfig", + "filePath": "src/agentkit/evolution/lifecycle.py", + "layer": "utility", + "summary": "Soul 进化多维触发配置", + "tags": [ + "SoulEvolutionConfig" + ], + "complexity": "simple" + }, + { + "id": "class:EvolutionLogEntry", + "type": "class", + "name": "EvolutionLogEntry", + "filePath": "src/agentkit/evolution/lifecycle.py", + "layer": "utility", + "summary": "进化日志条目", + "tags": [ + "EvolutionLogEntry" + ], + "complexity": "simple" + }, + { + "id": "class:EvolutionMixin", + "type": "class", + "name": "EvolutionMixin", + "filePath": "src/agentkit/evolution/lifecycle.py", + "layer": "utility", + "summary": "进化混入类,将进化引擎集成到 Agent 生命周期。", + "tags": [ + "EvolutionMixin" + ], + "complexity": "complex" + }, + { + "id": "func:EvolutionMixin.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/evolution/lifecycle.py", + "layer": "utility", + "summary": "EvolutionMixin.__init__(reflector, prompt_optimizer, strategy_tuner, ab_tester, evolution_store, reflector_type, llm_gateway, auxiliary_model, strategy_tuning_enabled, evolution_config) 方法", + "tags": [ + "EvolutionMixin", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:EvolutionMixin._create_reflector", + "type": "function", + "name": "_create_reflector", + "filePath": "src/agentkit/evolution/lifecycle.py", + "layer": "utility", + "summary": "EvolutionMixin._create_reflector(reflector_type, llm_gateway, auxiliary_model) 方法", + "tags": [ + "EvolutionMixin", + "_create_reflector" + ], + "complexity": "simple" + }, + { + "id": "func:EvolutionMixin.evolve_after_task", + "type": "function", + "name": "evolve_after_task", + "filePath": "src/agentkit/evolution/lifecycle.py", + "layer": "utility", + "summary": "EvolutionMixin.evolve_after_task(task, result, memory_store) 异步方法", + "tags": [ + "EvolutionMixin", + "evolve_after_task" + ], + "complexity": "simple" + }, + { + "id": "func:EvolutionMixin._optimize_with_context", + "type": "function", + "name": "_optimize_with_context", + "filePath": "src/agentkit/evolution/lifecycle.py", + "layer": "utility", + "summary": "EvolutionMixin._optimize_with_context(module, reflection) 异步方法", + "tags": [ + "EvolutionMixin", + "_optimize_with_context" + ], + "complexity": "simple" + }, + { + "id": "func:EvolutionMixin._run_ab_test", + "type": "function", + "name": "_run_ab_test", + "filePath": "src/agentkit/evolution/lifecycle.py", + "layer": "utility", + "summary": "EvolutionMixin._run_ab_test(task, result, optimized, reflection) 异步方法", + "tags": [ + "EvolutionMixin", + "_run_ab_test" + ], + "complexity": "simple" + }, + { + "id": "func:EvolutionMixin._run_strategy_tuning", + "type": "function", + "name": "_run_strategy_tuning", + "filePath": "src/agentkit/evolution/lifecycle.py", + "layer": "utility", + "summary": "EvolutionMixin._run_strategy_tuning(task, result, reflection) 异步方法", + "tags": [ + "EvolutionMixin", + "_run_strategy_tuning" + ], + "complexity": "simple" + }, + { + "id": "func:EvolutionMixin.get_evolution_history", + "type": "function", + "name": "get_evolution_history", + "filePath": "src/agentkit/evolution/lifecycle.py", + "layer": "utility", + "summary": "EvolutionMixin.get_evolution_history() 方法", + "tags": [ + "EvolutionMixin", + "get_evolution_history" + ], + "complexity": "simple" + }, + { + "id": "func:EvolutionMixin.set_current_module", + "type": "function", + "name": "set_current_module", + "filePath": "src/agentkit/evolution/lifecycle.py", + "layer": "utility", + "summary": "EvolutionMixin.set_current_module(module) 方法", + "tags": [ + "EvolutionMixin", + "set_current_module" + ], + "complexity": "simple" + }, + { + "id": "func:EvolutionMixin._apply_change", + "type": "function", + "name": "_apply_change", + "filePath": "src/agentkit/evolution/lifecycle.py", + "layer": "utility", + "summary": "EvolutionMixin._apply_change(task, result, optimized, reflection) 异步方法", + "tags": [ + "EvolutionMixin", + "_apply_change" + ], + "complexity": "simple" + }, + { + "id": "func:EvolutionMixin._rollback_change", + "type": "function", + "name": "_rollback_change", + "filePath": "src/agentkit/evolution/lifecycle.py", + "layer": "utility", + "summary": "EvolutionMixin._rollback_change(log_entry) 异步方法", + "tags": [ + "EvolutionMixin", + "_rollback_change" + ], + "complexity": "simple" + }, + { + "id": "func:EvolutionMixin.record_reflection", + "type": "function", + "name": "record_reflection", + "filePath": "src/agentkit/evolution/lifecycle.py", + "layer": "utility", + "summary": "EvolutionMixin.record_reflection(pattern, reflection, task_type, score) 方法", + "tags": [ + "EvolutionMixin", + "record_reflection" + ], + "complexity": "simple" + }, + { + "id": "func:EvolutionMixin.evolve_soul", + "type": "function", + "name": "evolve_soul", + "filePath": "src/agentkit/evolution/lifecycle.py", + "layer": "utility", + "summary": "EvolutionMixin.evolve_soul(task, result, memory_store, reflection, task_type, score) 异步方法", + "tags": [ + "EvolutionMixin", + "evolve_soul" + ], + "complexity": "simple" + }, + { + "id": "class:LLMReflector", + "type": "class", + "name": "LLMReflector", + "filePath": "src/agentkit/evolution/llm_reflector.py", + "layer": "utility", + "summary": "LLM 驱动的反思器,通过 LLM 分析执行轨迹生成结构化反思", + "tags": [ + "LLMReflector" + ], + "complexity": "moderate" + }, + { + "id": "func:LLMReflector.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/evolution/llm_reflector.py", + "layer": "utility", + "summary": "LLMReflector.__init__(llm_gateway, model) 方法", + "tags": [ + "LLMReflector", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:LLMReflector._sanitize_for_prompt", + "type": "function", + "name": "_sanitize_for_prompt", + "filePath": "src/agentkit/evolution/llm_reflector.py", + "layer": "utility", + "summary": "LLMReflector._sanitize_for_prompt(value, max_length) 方法", + "tags": [ + "LLMReflector", + "_sanitize_for_prompt" + ], + "complexity": "simple" + }, + { + "id": "func:LLMReflector.reflect", + "type": "function", + "name": "reflect", + "filePath": "src/agentkit/evolution/llm_reflector.py", + "layer": "utility", + "summary": "LLMReflector.reflect(task, result, trace) 异步方法", + "tags": [ + "LLMReflector", + "reflect" + ], + "complexity": "simple" + }, + { + "id": "func:LLMReflector._build_reflection_prompt", + "type": "function", + "name": "_build_reflection_prompt", + "filePath": "src/agentkit/evolution/llm_reflector.py", + "layer": "utility", + "summary": "LLMReflector._build_reflection_prompt(task, result, trace) 方法", + "tags": [ + "LLMReflector", + "_build_reflection_prompt" + ], + "complexity": "simple" + }, + { + "id": "func:LLMReflector._parse_reflection_response", + "type": "function", + "name": "_parse_reflection_response", + "filePath": "src/agentkit/evolution/llm_reflector.py", + "layer": "utility", + "summary": "LLMReflector._parse_reflection_response(response_content, task, result) 方法", + "tags": [ + "LLMReflector", + "_parse_reflection_response" + ], + "complexity": "simple" + }, + { + "id": "func:LLMReflector._build_reflection_from_data", + "type": "function", + "name": "_build_reflection_from_data", + "filePath": "src/agentkit/evolution/llm_reflector.py", + "layer": "utility", + "summary": "LLMReflector._build_reflection_from_data(data, task) 方法", + "tags": [ + "LLMReflector", + "_build_reflection_from_data" + ], + "complexity": "simple" + }, + { + "id": "class:EvolutionEventModel", + "type": "class", + "name": "EvolutionEventModel", + "filePath": "src/agentkit/evolution/models.py", + "layer": "utility", + "summary": "进化事件 ORM 模型", + "tags": [ + "EvolutionEventModel" + ], + "complexity": "simple" + }, + { + "id": "class:SkillVersionModel", + "type": "class", + "name": "SkillVersionModel", + "filePath": "src/agentkit/evolution/models.py", + "layer": "utility", + "summary": "技能版本 ORM 模型", + "tags": [ + "SkillVersionModel" + ], + "complexity": "simple" + }, + { + "id": "class:ABTestResultModel", + "type": "class", + "name": "ABTestResultModel", + "filePath": "src/agentkit/evolution/models.py", + "layer": "utility", + "summary": "A/B 测试结果 ORM 模型", + "tags": [ + "ABTestResultModel" + ], + "complexity": "simple" + }, + { + "id": "class:ExecutionPath", + "type": "class", + "name": "ExecutionPath", + "filePath": "src/agentkit/evolution/path_optimizer.py", + "layer": "utility", + "summary": "执行路径数据模型", + "tags": [ + "ExecutionPath" + ], + "complexity": "simple" + }, + { + "id": "class:PathUpdateResult", + "type": "class", + "name": "PathUpdateResult", + "filePath": "src/agentkit/evolution/path_optimizer.py", + "layer": "utility", + "summary": "路径更新结果", + "tags": [ + "PathUpdateResult" + ], + "complexity": "simple" + }, + { + "id": "class:PathOptimizer", + "type": "class", + "name": "PathOptimizer", + "filePath": "src/agentkit/evolution/path_optimizer.py", + "layer": "utility", + "summary": "执行路径优化器", + "tags": [ + "PathOptimizer" + ], + "complexity": "moderate" + }, + { + "id": "func:PathOptimizer.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/evolution/path_optimizer.py", + "layer": "utility", + "summary": "PathOptimizer.__init__(experience_store, min_sample_count, success_rate_threshold, duration_improvement_threshold) 方法", + "tags": [ + "PathOptimizer", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:PathOptimizer.get_recommended_path", + "type": "function", + "name": "get_recommended_path", + "filePath": "src/agentkit/evolution/path_optimizer.py", + "layer": "utility", + "summary": "PathOptimizer.get_recommended_path(task_type) 方法", + "tags": [ + "PathOptimizer", + "get_recommended_path" + ], + "complexity": "simple" + }, + { + "id": "func:PathOptimizer.evaluate_and_update", + "type": "function", + "name": "evaluate_and_update", + "filePath": "src/agentkit/evolution/path_optimizer.py", + "layer": "utility", + "summary": "PathOptimizer.evaluate_and_update(task_type, new_path) 异步方法", + "tags": [ + "PathOptimizer", + "evaluate_and_update" + ], + "complexity": "simple" + }, + { + "id": "func:PathOptimizer._compare_and_decide", + "type": "function", + "name": "_compare_and_decide", + "filePath": "src/agentkit/evolution/path_optimizer.py", + "layer": "utility", + "summary": "PathOptimizer._compare_and_decide(task_type, current, new) 方法", + "tags": [ + "PathOptimizer", + "_compare_and_decide" + ], + "complexity": "simple" + }, + { + "id": "func:PathOptimizer._apply_update", + "type": "function", + "name": "_apply_update", + "filePath": "src/agentkit/evolution/path_optimizer.py", + "layer": "utility", + "summary": "PathOptimizer._apply_update(task_type, old, new, reason) 方法", + "tags": [ + "PathOptimizer", + "_apply_update" + ], + "complexity": "simple" + }, + { + "id": "func:PathOptimizer.get_pending_paths", + "type": "function", + "name": "get_pending_paths", + "filePath": "src/agentkit/evolution/path_optimizer.py", + "layer": "utility", + "summary": "PathOptimizer.get_pending_paths(task_type) 方法", + "tags": [ + "PathOptimizer", + "get_pending_paths" + ], + "complexity": "simple" + }, + { + "id": "class:WarningLevel", + "type": "class", + "name": "WarningLevel", + "filePath": "src/agentkit/evolution/pitfall_detector.py", + "layer": "utility", + "summary": "预警级别", + "tags": [ + "WarningLevel" + ], + "complexity": "simple" + }, + { + "id": "class:PitfallWarning", + "type": "class", + "name": "PitfallWarning", + "filePath": "src/agentkit/evolution/pitfall_detector.py", + "layer": "utility", + "summary": "避坑预警", + "tags": [ + "PitfallWarning" + ], + "complexity": "simple" + }, + { + "id": "class:ExperienceStoreProtocol", + "type": "class", + "name": "ExperienceStoreProtocol", + "filePath": "src/agentkit/evolution/pitfall_detector.py", + "layer": "utility", + "summary": "ExperienceStore 协议接口,用于类型标注", + "tags": [ + "ExperienceStoreProtocol" + ], + "complexity": "simple" + }, + { + "id": "func:ExperienceStoreProtocol.search", + "type": "function", + "name": "search", + "filePath": "src/agentkit/evolution/pitfall_detector.py", + "layer": "utility", + "summary": "ExperienceStoreProtocol.search(query, top_k, task_type, search_multiplier) 异步方法", + "tags": [ + "ExperienceStoreProtocol", + "search" + ], + "complexity": "simple" + }, + { + "id": "class:PitfallDetector", + "type": "class", + "name": "PitfallDetector", + "filePath": "src/agentkit/evolution/pitfall_detector.py", + "layer": "utility", + "summary": "避坑检测器", + "tags": [ + "PitfallDetector" + ], + "complexity": "moderate" + }, + { + "id": "func:PitfallDetector.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/evolution/pitfall_detector.py", + "layer": "utility", + "summary": "PitfallDetector.__init__(experience_store, similarity_threshold, max_search_results) 方法", + "tags": [ + "PitfallDetector", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:PitfallDetector.check_pitfalls", + "type": "function", + "name": "check_pitfalls", + "filePath": "src/agentkit/evolution/pitfall_detector.py", + "layer": "utility", + "summary": "PitfallDetector.check_pitfalls(task_type, planned_steps) 异步方法", + "tags": [ + "PitfallDetector", + "check_pitfalls" + ], + "complexity": "simple" + }, + { + "id": "func:PitfallDetector._search_experiences", + "type": "function", + "name": "_search_experiences", + "filePath": "src/agentkit/evolution/pitfall_detector.py", + "layer": "utility", + "summary": "PitfallDetector._search_experiences(task_type) 异步方法", + "tags": [ + "PitfallDetector", + "_search_experiences" + ], + "complexity": "simple" + }, + { + "id": "func:PitfallDetector._extract_step_failure_stats", + "type": "function", + "name": "_extract_step_failure_stats", + "filePath": "src/agentkit/evolution/pitfall_detector.py", + "layer": "utility", + "summary": "PitfallDetector._extract_step_failure_stats(failed_experiences) 方法", + "tags": [ + "PitfallDetector", + "_extract_step_failure_stats" + ], + "complexity": "simple" + }, + { + "id": "func:PitfallDetector._match_and_warn", + "type": "function", + "name": "_match_and_warn", + "filePath": "src/agentkit/evolution/pitfall_detector.py", + "layer": "utility", + "summary": "PitfallDetector._match_and_warn(planned_steps, step_failure_stats) 方法", + "tags": [ + "PitfallDetector", + "_match_and_warn" + ], + "complexity": "simple" + }, + { + "id": "class:_StepFailureStats", + "type": "class", + "name": "_StepFailureStats", + "filePath": "src/agentkit/evolution/pitfall_detector.py", + "layer": "utility", + "summary": "步骤级别的失败统计(内部使用)", + "tags": [ + "_StepFailureStats" + ], + "complexity": "simple" + }, + { + "id": "class:Signature", + "type": "class", + "name": "Signature", + "filePath": "src/agentkit/evolution/prompt_optimizer.py", + "layer": "utility", + "summary": "Prompt 签名 - 定义输入/输出字段", + "tags": [ + "Signature" + ], + "complexity": "simple" + }, + { + "id": "func:Signature.to_prompt_prefix", + "type": "function", + "name": "to_prompt_prefix", + "filePath": "src/agentkit/evolution/prompt_optimizer.py", + "layer": "utility", + "summary": "Signature.to_prompt_prefix() 方法", + "tags": [ + "Signature", + "to_prompt_prefix" + ], + "complexity": "simple" + }, + { + "id": "class:Module", + "type": "class", + "name": "Module", + "filePath": "src/agentkit/evolution/prompt_optimizer.py", + "layer": "utility", + "summary": "可组合的 Prompt 策略模块", + "tags": [ + "Module" + ], + "complexity": "simple" + }, + { + "id": "func:Module.render", + "type": "function", + "name": "render", + "filePath": "src/agentkit/evolution/prompt_optimizer.py", + "layer": "utility", + "summary": "Module.render() 方法", + "tags": [ + "Module", + "render" + ], + "complexity": "simple" + }, + { + "id": "class:BootstrapPromptOptimizer", + "type": "class", + "name": "BootstrapPromptOptimizer", + "filePath": "src/agentkit/evolution/prompt_optimizer.py", + "layer": "utility", + "summary": "基于 few-shot + failure patterns 的规则优化器", + "tags": [ + "BootstrapPromptOptimizer" + ], + "complexity": "moderate" + }, + { + "id": "func:BootstrapPromptOptimizer.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/evolution/prompt_optimizer.py", + "layer": "utility", + "summary": "BootstrapPromptOptimizer.__init__(max_demos, min_examples_for_optimization) 方法", + "tags": [ + "BootstrapPromptOptimizer", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:BootstrapPromptOptimizer.add_example", + "type": "function", + "name": "add_example", + "filePath": "src/agentkit/evolution/prompt_optimizer.py", + "layer": "utility", + "summary": "BootstrapPromptOptimizer.add_example(input_data, output_data, quality_score) 方法", + "tags": [ + "BootstrapPromptOptimizer", + "add_example" + ], + "complexity": "simple" + }, + { + "id": "func:BootstrapPromptOptimizer.optimize", + "type": "function", + "name": "optimize", + "filePath": "src/agentkit/evolution/prompt_optimizer.py", + "layer": "utility", + "summary": "BootstrapPromptOptimizer.optimize(module) 异步方法", + "tags": [ + "BootstrapPromptOptimizer", + "optimize" + ], + "complexity": "simple" + }, + { + "id": "func:BootstrapPromptOptimizer.example_count", + "type": "function", + "name": "example_count", + "filePath": "src/agentkit/evolution/prompt_optimizer.py", + "layer": "utility", + "summary": "BootstrapPromptOptimizer.example_count() 方法", + "tags": [ + "BootstrapPromptOptimizer", + "example_count" + ], + "complexity": "simple" + }, + { + "id": "class:LLMPromptOptimizer", + "type": "class", + "name": "LLMPromptOptimizer", + "filePath": "src/agentkit/evolution/prompt_optimizer.py", + "layer": "utility", + "summary": "LLM 驱动的 Prompt 优化器", + "tags": [ + "LLMPromptOptimizer" + ], + "complexity": "moderate" + }, + { + "id": "func:LLMPromptOptimizer.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/evolution/prompt_optimizer.py", + "layer": "utility", + "summary": "LLMPromptOptimizer.__init__(llm_gateway, model, max_demos, min_examples_for_optimization) 方法", + "tags": [ + "LLMPromptOptimizer", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:LLMPromptOptimizer.add_example", + "type": "function", + "name": "add_example", + "filePath": "src/agentkit/evolution/prompt_optimizer.py", + "layer": "utility", + "summary": "LLMPromptOptimizer.add_example(input_data, output_data, quality_score) 方法", + "tags": [ + "LLMPromptOptimizer", + "add_example" + ], + "complexity": "simple" + }, + { + "id": "func:LLMPromptOptimizer.optimize", + "type": "function", + "name": "optimize", + "filePath": "src/agentkit/evolution/prompt_optimizer.py", + "layer": "utility", + "summary": "LLMPromptOptimizer.optimize(module, trace, reflection) 异步方法", + "tags": [ + "LLMPromptOptimizer", + "optimize" + ], + "complexity": "simple" + }, + { + "id": "func:LLMPromptOptimizer._llm_optimize_instruction", + "type": "function", + "name": "_llm_optimize_instruction", + "filePath": "src/agentkit/evolution/prompt_optimizer.py", + "layer": "utility", + "summary": "LLMPromptOptimizer._llm_optimize_instruction(module, trace, reflection) 异步方法", + "tags": [ + "LLMPromptOptimizer", + "_llm_optimize_instruction" + ], + "complexity": "simple" + }, + { + "id": "func:LLMPromptOptimizer._build_optimization_prompt", + "type": "function", + "name": "_build_optimization_prompt", + "filePath": "src/agentkit/evolution/prompt_optimizer.py", + "layer": "utility", + "summary": "LLMPromptOptimizer._build_optimization_prompt(module, trace, reflection) 方法", + "tags": [ + "LLMPromptOptimizer", + "_build_optimization_prompt" + ], + "complexity": "simple" + }, + { + "id": "func:LLMPromptOptimizer.example_count", + "type": "function", + "name": "example_count", + "filePath": "src/agentkit/evolution/prompt_optimizer.py", + "layer": "utility", + "summary": "LLMPromptOptimizer.example_count() 方法", + "tags": [ + "LLMPromptOptimizer", + "example_count" + ], + "complexity": "simple" + }, + { + "id": "class:Reflection", + "type": "class", + "name": "Reflection", + "filePath": "src/agentkit/evolution/reflector.py", + "layer": "utility", + "summary": "反思结果", + "tags": [ + "Reflection" + ], + "complexity": "simple" + }, + { + "id": "class:RuleBasedReflector", + "type": "class", + "name": "RuleBasedReflector", + "filePath": "src/agentkit/evolution/reflector.py", + "layer": "utility", + "summary": "基于规则的执行反思器", + "tags": [ + "RuleBasedReflector" + ], + "complexity": "moderate" + }, + { + "id": "func:RuleBasedReflector.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/evolution/reflector.py", + "layer": "utility", + "summary": "RuleBasedReflector.__init__(quality_scorer, pattern_extractor) 方法", + "tags": [ + "RuleBasedReflector", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:RuleBasedReflector.reflect", + "type": "function", + "name": "reflect", + "filePath": "src/agentkit/evolution/reflector.py", + "layer": "utility", + "summary": "RuleBasedReflector.reflect(task, result) 异步方法", + "tags": [ + "RuleBasedReflector", + "reflect" + ], + "complexity": "simple" + }, + { + "id": "func:RuleBasedReflector._score_quality", + "type": "function", + "name": "_score_quality", + "filePath": "src/agentkit/evolution/reflector.py", + "layer": "utility", + "summary": "RuleBasedReflector._score_quality(task, result) 异步方法", + "tags": [ + "RuleBasedReflector", + "_score_quality" + ], + "complexity": "simple" + }, + { + "id": "func:RuleBasedReflector._extract_patterns", + "type": "function", + "name": "_extract_patterns", + "filePath": "src/agentkit/evolution/reflector.py", + "layer": "utility", + "summary": "RuleBasedReflector._extract_patterns(task, result, outcome) 异步方法", + "tags": [ + "RuleBasedReflector", + "_extract_patterns" + ], + "complexity": "simple" + }, + { + "id": "func:RuleBasedReflector._generate_insights", + "type": "function", + "name": "_generate_insights", + "filePath": "src/agentkit/evolution/reflector.py", + "layer": "utility", + "summary": "RuleBasedReflector._generate_insights(outcome, quality_score, patterns) 方法", + "tags": [ + "RuleBasedReflector", + "_generate_insights" + ], + "complexity": "simple" + }, + { + "id": "func:RuleBasedReflector._generate_suggestions", + "type": "function", + "name": "_generate_suggestions", + "filePath": "src/agentkit/evolution/reflector.py", + "layer": "utility", + "summary": "RuleBasedReflector._generate_suggestions(outcome, quality_score, patterns) 方法", + "tags": [ + "RuleBasedReflector", + "_generate_suggestions" + ], + "complexity": "simple" + }, + { + "id": "class:StrategyConfig", + "type": "class", + "name": "StrategyConfig", + "filePath": "src/agentkit/evolution/strategy_tuner.py", + "layer": "utility", + "summary": "策略配置", + "tags": [ + "StrategyConfig" + ], + "complexity": "simple" + }, + { + "id": "class:StrategyTuner", + "type": "class", + "name": "StrategyTuner", + "filePath": "src/agentkit/evolution/strategy_tuner.py", + "layer": "utility", + "summary": "策略调优器", + "tags": [ + "StrategyTuner" + ], + "complexity": "moderate" + }, + { + "id": "func:StrategyTuner.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/evolution/strategy_tuner.py", + "layer": "utility", + "summary": "StrategyTuner.__init__(param_ranges) 方法", + "tags": [ + "StrategyTuner", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:StrategyTuner.record", + "type": "function", + "name": "record", + "filePath": "src/agentkit/evolution/strategy_tuner.py", + "layer": "utility", + "summary": "StrategyTuner.record(config, metric) 方法", + "tags": [ + "StrategyTuner", + "record" + ], + "complexity": "simple" + }, + { + "id": "func:StrategyTuner.suggest", + "type": "function", + "name": "suggest", + "filePath": "src/agentkit/evolution/strategy_tuner.py", + "layer": "utility", + "summary": "StrategyTuner.suggest(current) 异步方法", + "tags": [ + "StrategyTuner", + "suggest" + ], + "complexity": "simple" + }, + { + "id": "func:StrategyTuner._optimize_param_1d", + "type": "function", + "name": "_optimize_param_1d", + "filePath": "src/agentkit/evolution/strategy_tuner.py", + "layer": "utility", + "summary": "StrategyTuner._optimize_param_1d(param_name, get_value, best_value, noise_std) 方法", + "tags": [ + "StrategyTuner", + "_optimize_param_1d" + ], + "complexity": "simple" + }, + { + "id": "func:StrategyTuner._clamp", + "type": "function", + "name": "_clamp", + "filePath": "src/agentkit/evolution/strategy_tuner.py", + "layer": "utility", + "summary": "StrategyTuner._clamp(value, min_val, max_val) 方法", + "tags": [ + "StrategyTuner", + "_clamp" + ], + "complexity": "simple" + }, + { + "id": "class:ProviderConfig", + "type": "class", + "name": "ProviderConfig", + "filePath": "src/agentkit/llm/config.py", + "layer": "utility", + "summary": "Provider 配置", + "tags": [ + "ProviderConfig" + ], + "complexity": "simple" + }, + { + "id": "class:LLMConfig", + "type": "class", + "name": "LLMConfig", + "filePath": "src/agentkit/llm/config.py", + "layer": "utility", + "summary": "LLM 配置", + "tags": [ + "LLMConfig" + ], + "complexity": "simple" + }, + { + "id": "func:LLMConfig.from_yaml", + "type": "function", + "name": "from_yaml", + "filePath": "src/agentkit/llm/config.py", + "layer": "utility", + "summary": "LLMConfig.from_yaml(cls, path) 方法", + "tags": [ + "LLMConfig", + "from_yaml" + ], + "complexity": "simple" + }, + { + "id": "func:LLMConfig.from_dict", + "type": "function", + "name": "from_dict", + "filePath": "src/agentkit/llm/config.py", + "layer": "utility", + "summary": "LLMConfig.from_dict(cls, data) 方法", + "tags": [ + "LLMConfig", + "from_dict" + ], + "complexity": "simple" + }, + { + "id": "class:LLMGateway", + "type": "class", + "name": "LLMGateway", + "filePath": "src/agentkit/llm/gateway.py", + "layer": "utility", + "summary": "LLM 网关 - Provider 注册、模型别名解析、Fallback、Usage 追踪", + "tags": [ + "LLMGateway" + ], + "complexity": "complex" + }, + { + "id": "func:LLMGateway.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/llm/gateway.py", + "layer": "utility", + "summary": "LLMGateway.__init__(config) 方法", + "tags": [ + "LLMGateway", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:LLMGateway.register_provider", + "type": "function", + "name": "register_provider", + "filePath": "src/agentkit/llm/gateway.py", + "layer": "utility", + "summary": "LLMGateway.register_provider(name, provider) 方法", + "tags": [ + "LLMGateway", + "register_provider" + ], + "complexity": "simple" + }, + { + "id": "func:LLMGateway.has_providers", + "type": "function", + "name": "has_providers", + "filePath": "src/agentkit/llm/gateway.py", + "layer": "utility", + "summary": "LLMGateway.has_providers() 方法", + "tags": [ + "LLMGateway", + "has_providers" + ], + "complexity": "simple" + }, + { + "id": "func:LLMGateway.chat", + "type": "function", + "name": "chat", + "filePath": "src/agentkit/llm/gateway.py", + "layer": "utility", + "summary": "LLMGateway.chat(messages, model, agent_name, task_type, tools, tool_choice) 异步方法", + "tags": [ + "LLMGateway", + "chat" + ], + "complexity": "simple" + }, + { + "id": "func:LLMGateway.chat_stream", + "type": "function", + "name": "chat_stream", + "filePath": "src/agentkit/llm/gateway.py", + "layer": "utility", + "summary": "LLMGateway.chat_stream(messages, model, agent_name, task_type, tools, tool_choice) 异步方法", + "tags": [ + "LLMGateway", + "chat_stream" + ], + "complexity": "simple" + }, + { + "id": "func:LLMGateway._get_models_to_try", + "type": "function", + "name": "_get_models_to_try", + "filePath": "src/agentkit/llm/gateway.py", + "layer": "utility", + "summary": "LLMGateway._get_models_to_try(resolved_model) 方法", + "tags": [ + "LLMGateway", + "_get_models_to_try" + ], + "complexity": "simple" + }, + { + "id": "func:LLMGateway._resolve_model_alias", + "type": "function", + "name": "_resolve_model_alias", + "filePath": "src/agentkit/llm/gateway.py", + "layer": "utility", + "summary": "LLMGateway._resolve_model_alias(model) 方法", + "tags": [ + "LLMGateway", + "_resolve_model_alias" + ], + "complexity": "simple" + }, + { + "id": "func:LLMGateway._resolve_model", + "type": "function", + "name": "_resolve_model", + "filePath": "src/agentkit/llm/gateway.py", + "layer": "utility", + "summary": "LLMGateway._resolve_model(model) 方法", + "tags": [ + "LLMGateway", + "_resolve_model" + ], + "complexity": "simple" + }, + { + "id": "func:LLMGateway._get_fallback_model", + "type": "function", + "name": "_get_fallback_model", + "filePath": "src/agentkit/llm/gateway.py", + "layer": "utility", + "summary": "LLMGateway._get_fallback_model(model) 方法", + "tags": [ + "LLMGateway", + "_get_fallback_model" + ], + "complexity": "simple" + }, + { + "id": "func:LLMGateway._calculate_cost", + "type": "function", + "name": "_calculate_cost", + "filePath": "src/agentkit/llm/gateway.py", + "layer": "utility", + "summary": "LLMGateway._calculate_cost(model, usage) 方法", + "tags": [ + "LLMGateway", + "_calculate_cost" + ], + "complexity": "simple" + }, + { + "id": "func:LLMGateway.get_usage", + "type": "function", + "name": "get_usage", + "filePath": "src/agentkit/llm/gateway.py", + "layer": "utility", + "summary": "LLMGateway.get_usage(agent_name, start_time, end_time) 方法", + "tags": [ + "LLMGateway", + "get_usage" + ], + "complexity": "simple" + }, + { + "id": "class:TokenUsage", + "type": "class", + "name": "TokenUsage", + "filePath": "src/agentkit/llm/protocol.py", + "layer": "utility", + "summary": "Token 使用量", + "tags": [ + "TokenUsage" + ], + "complexity": "simple" + }, + { + "id": "func:TokenUsage.total_tokens", + "type": "function", + "name": "total_tokens", + "filePath": "src/agentkit/llm/protocol.py", + "layer": "utility", + "summary": "TokenUsage.total_tokens() 方法", + "tags": [ + "TokenUsage", + "total_tokens" + ], + "complexity": "simple" + }, + { + "id": "class:ToolCall", + "type": "class", + "name": "ToolCall", + "filePath": "src/agentkit/llm/protocol.py", + "layer": "utility", + "summary": "工具调用", + "tags": [ + "ToolCall" + ], + "complexity": "simple" + }, + { + "id": "class:LLMRequest", + "type": "class", + "name": "LLMRequest", + "filePath": "src/agentkit/llm/protocol.py", + "layer": "utility", + "summary": "LLM 请求", + "tags": [ + "LLMRequest" + ], + "complexity": "simple" + }, + { + "id": "func:LLMRequest.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/llm/protocol.py", + "layer": "utility", + "summary": "LLMRequest.__init__(messages, model, tools, tool_choice, temperature, max_tokens) 方法", + "tags": [ + "LLMRequest", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "class:StreamChunk", + "type": "class", + "name": "StreamChunk", + "filePath": "src/agentkit/llm/protocol.py", + "layer": "utility", + "summary": "LLM 流式响应块", + "tags": [ + "StreamChunk" + ], + "complexity": "simple" + }, + { + "id": "class:LLMResponse", + "type": "class", + "name": "LLMResponse", + "filePath": "src/agentkit/llm/protocol.py", + "layer": "utility", + "summary": "LLM 响应", + "tags": [ + "LLMResponse" + ], + "complexity": "simple" + }, + { + "id": "func:LLMResponse.has_tool_calls", + "type": "function", + "name": "has_tool_calls", + "filePath": "src/agentkit/llm/protocol.py", + "layer": "utility", + "summary": "LLMResponse.has_tool_calls() 方法", + "tags": [ + "LLMResponse", + "has_tool_calls" + ], + "complexity": "simple" + }, + { + "id": "class:LLMProvider", + "type": "class", + "name": "LLMProvider", + "filePath": "src/agentkit/llm/protocol.py", + "layer": "utility", + "summary": "LLM Provider 抽象基类", + "tags": [ + "LLMProvider" + ], + "complexity": "simple" + }, + { + "id": "func:LLMProvider.chat", + "type": "function", + "name": "chat", + "filePath": "src/agentkit/llm/protocol.py", + "layer": "utility", + "summary": "LLMProvider.chat(request) 异步方法", + "tags": [ + "LLMProvider", + "chat" + ], + "complexity": "simple" + }, + { + "id": "func:LLMProvider.chat_stream", + "type": "function", + "name": "chat_stream", + "filePath": "src/agentkit/llm/protocol.py", + "layer": "utility", + "summary": "LLMProvider.chat_stream(request) 异步方法", + "tags": [ + "LLMProvider", + "chat_stream" + ], + "complexity": "simple" + }, + { + "id": "class:_AnthropicStreamContext", + "type": "class", + "name": "_AnthropicStreamContext", + "filePath": "src/agentkit/llm/providers/anthropic.py", + "layer": "utility", + "summary": "Wraps an httpx streaming response context manager for use with retry/circuit breaker.", + "tags": [ + "_AnthropicStreamContext" + ], + "complexity": "simple" + }, + { + "id": "func:_AnthropicStreamContext.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/llm/providers/anthropic.py", + "layer": "utility", + "summary": "_AnthropicStreamContext.__init__(response_ctx, response) 方法", + "tags": [ + "_AnthropicStreamContext", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:_AnthropicStreamContext.__aenter__", + "type": "function", + "name": "__aenter__", + "filePath": "src/agentkit/llm/providers/anthropic.py", + "layer": "utility", + "summary": "_AnthropicStreamContext.__aenter__() 异步方法", + "tags": [ + "_AnthropicStreamContext", + "__aenter__" + ], + "complexity": "simple" + }, + { + "id": "func:_AnthropicStreamContext.__aexit__", + "type": "function", + "name": "__aexit__", + "filePath": "src/agentkit/llm/providers/anthropic.py", + "layer": "utility", + "summary": "_AnthropicStreamContext.__aexit__(exc_type, exc_val, exc_tb) 异步方法", + "tags": [ + "_AnthropicStreamContext", + "__aexit__" + ], + "complexity": "simple" + }, + { + "id": "class:AnthropicProvider", + "type": "class", + "name": "AnthropicProvider", + "filePath": "src/agentkit/llm/providers/anthropic.py", + "layer": "utility", + "summary": "Anthropic Messages API 原生 Provider", + "tags": [ + "AnthropicProvider" + ], + "complexity": "complex" + }, + { + "id": "func:AnthropicProvider.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/llm/providers/anthropic.py", + "layer": "utility", + "summary": "AnthropicProvider.__init__(api_key, model, max_tokens, base_url, timeout, thinking_enabled, retry_config, circuit_breaker_config, max_connections, max_keepalive_connections, keepalive_expiry) 方法", + "tags": [ + "AnthropicProvider", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:AnthropicProvider._get_client", + "type": "function", + "name": "_get_client", + "filePath": "src/agentkit/llm/providers/anthropic.py", + "layer": "utility", + "summary": "AnthropicProvider._get_client() 方法", + "tags": [ + "AnthropicProvider", + "_get_client" + ], + "complexity": "simple" + }, + { + "id": "func:AnthropicProvider.close", + "type": "function", + "name": "close", + "filePath": "src/agentkit/llm/providers/anthropic.py", + "layer": "utility", + "summary": "AnthropicProvider.close() 异步方法", + "tags": [ + "AnthropicProvider", + "close" + ], + "complexity": "simple" + }, + { + "id": "func:AnthropicProvider._build_headers", + "type": "function", + "name": "_build_headers", + "filePath": "src/agentkit/llm/providers/anthropic.py", + "layer": "utility", + "summary": "AnthropicProvider._build_headers() 方法", + "tags": [ + "AnthropicProvider", + "_build_headers" + ], + "complexity": "simple" + }, + { + "id": "func:AnthropicProvider._convert_messages", + "type": "function", + "name": "_convert_messages", + "filePath": "src/agentkit/llm/providers/anthropic.py", + "layer": "utility", + "summary": "AnthropicProvider._convert_messages(messages) 方法", + "tags": [ + "AnthropicProvider", + "_convert_messages" + ], + "complexity": "simple" + }, + { + "id": "func:AnthropicProvider._convert_tools", + "type": "function", + "name": "_convert_tools", + "filePath": "src/agentkit/llm/providers/anthropic.py", + "layer": "utility", + "summary": "AnthropicProvider._convert_tools(tools) 方法", + "tags": [ + "AnthropicProvider", + "_convert_tools" + ], + "complexity": "simple" + }, + { + "id": "func:AnthropicProvider._convert_tool_choice", + "type": "function", + "name": "_convert_tool_choice", + "filePath": "src/agentkit/llm/providers/anthropic.py", + "layer": "utility", + "summary": "AnthropicProvider._convert_tool_choice(tool_choice) 方法", + "tags": [ + "AnthropicProvider", + "_convert_tool_choice" + ], + "complexity": "simple" + }, + { + "id": "func:AnthropicProvider._parse_response", + "type": "function", + "name": "_parse_response", + "filePath": "src/agentkit/llm/providers/anthropic.py", + "layer": "utility", + "summary": "AnthropicProvider._parse_response(data, model) 方法", + "tags": [ + "AnthropicProvider", + "_parse_response" + ], + "complexity": "simple" + }, + { + "id": "func:AnthropicProvider._handle_error", + "type": "function", + "name": "_handle_error", + "filePath": "src/agentkit/llm/providers/anthropic.py", + "layer": "utility", + "summary": "AnthropicProvider._handle_error(status_code, resp_body) 方法", + "tags": [ + "AnthropicProvider", + "_handle_error" + ], + "complexity": "simple" + }, + { + "id": "func:AnthropicProvider.chat", + "type": "function", + "name": "chat", + "filePath": "src/agentkit/llm/providers/anthropic.py", + "layer": "utility", + "summary": "AnthropicProvider.chat(request) 异步方法", + "tags": [ + "AnthropicProvider", + "chat" + ], + "complexity": "simple" + }, + { + "id": "func:AnthropicProvider._chat_impl", + "type": "function", + "name": "_chat_impl", + "filePath": "src/agentkit/llm/providers/anthropic.py", + "layer": "utility", + "summary": "AnthropicProvider._chat_impl(request) 异步方法", + "tags": [ + "AnthropicProvider", + "_chat_impl" + ], + "complexity": "simple" + }, + { + "id": "func:AnthropicProvider.chat_stream", + "type": "function", + "name": "chat_stream", + "filePath": "src/agentkit/llm/providers/anthropic.py", + "layer": "utility", + "summary": "AnthropicProvider.chat_stream(request) 异步方法", + "tags": [ + "AnthropicProvider", + "chat_stream" + ], + "complexity": "simple" + }, + { + "id": "func:AnthropicProvider._open_stream", + "type": "function", + "name": "_open_stream", + "filePath": "src/agentkit/llm/providers/anthropic.py", + "layer": "utility", + "summary": "AnthropicProvider._open_stream(request) 异步方法", + "tags": [ + "AnthropicProvider", + "_open_stream" + ], + "complexity": "simple" + }, + { + "id": "func:AnthropicProvider._iterate_stream", + "type": "function", + "name": "_iterate_stream", + "filePath": "src/agentkit/llm/providers/anthropic.py", + "layer": "utility", + "summary": "AnthropicProvider._iterate_stream(response, request) 异步方法", + "tags": [ + "AnthropicProvider", + "_iterate_stream" + ], + "complexity": "simple" + }, + { + "id": "func:AnthropicProvider.get_model_info", + "type": "function", + "name": "get_model_info", + "filePath": "src/agentkit/llm/providers/anthropic.py", + "layer": "utility", + "summary": "AnthropicProvider.get_model_info() 方法", + "tags": [ + "AnthropicProvider", + "get_model_info" + ], + "complexity": "simple" + }, + { + "id": "class:DoubaoProvider", + "type": "class", + "name": "DoubaoProvider", + "filePath": "src/agentkit/llm/providers/doubao.py", + "layer": "utility", + "summary": "字节豆包 Provider", + "tags": [ + "DoubaoProvider" + ], + "complexity": "simple" + }, + { + "id": "func:DoubaoProvider.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/llm/providers/doubao.py", + "layer": "utility", + "summary": "DoubaoProvider.__init__(api_key, base_url, default_model) 方法", + "tags": [ + "DoubaoProvider", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:DoubaoProvider.chat", + "type": "function", + "name": "chat", + "filePath": "src/agentkit/llm/providers/doubao.py", + "layer": "utility", + "summary": "DoubaoProvider.chat(request) 异步方法", + "tags": [ + "DoubaoProvider", + "chat" + ], + "complexity": "simple" + }, + { + "id": "class:_GeminiStreamContext", + "type": "class", + "name": "_GeminiStreamContext", + "filePath": "src/agentkit/llm/providers/gemini.py", + "layer": "utility", + "summary": "Wraps an httpx streaming response context manager for use with retry/circuit breaker.", + "tags": [ + "_GeminiStreamContext" + ], + "complexity": "simple" + }, + { + "id": "func:_GeminiStreamContext.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/llm/providers/gemini.py", + "layer": "utility", + "summary": "_GeminiStreamContext.__init__(response_ctx, response) 方法", + "tags": [ + "_GeminiStreamContext", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:_GeminiStreamContext.__aenter__", + "type": "function", + "name": "__aenter__", + "filePath": "src/agentkit/llm/providers/gemini.py", + "layer": "utility", + "summary": "_GeminiStreamContext.__aenter__() 异步方法", + "tags": [ + "_GeminiStreamContext", + "__aenter__" + ], + "complexity": "simple" + }, + { + "id": "func:_GeminiStreamContext.__aexit__", + "type": "function", + "name": "__aexit__", + "filePath": "src/agentkit/llm/providers/gemini.py", + "layer": "utility", + "summary": "_GeminiStreamContext.__aexit__(exc_type, exc_val, exc_tb) 异步方法", + "tags": [ + "_GeminiStreamContext", + "__aexit__" + ], + "complexity": "simple" + }, + { + "id": "class:GeminiProvider", + "type": "class", + "name": "GeminiProvider", + "filePath": "src/agentkit/llm/providers/gemini.py", + "layer": "utility", + "summary": "Google Gemini API 原生 Provider", + "tags": [ + "GeminiProvider" + ], + "complexity": "complex" + }, + { + "id": "func:GeminiProvider.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/llm/providers/gemini.py", + "layer": "utility", + "summary": "GeminiProvider.__init__(api_key, model, max_output_tokens, base_url, timeout, safety_settings, retry_config, circuit_breaker_config, max_connections, max_keepalive_connections, keepalive_expiry) 方法", + "tags": [ + "GeminiProvider", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:GeminiProvider._get_client", + "type": "function", + "name": "_get_client", + "filePath": "src/agentkit/llm/providers/gemini.py", + "layer": "utility", + "summary": "GeminiProvider._get_client() 方法", + "tags": [ + "GeminiProvider", + "_get_client" + ], + "complexity": "simple" + }, + { + "id": "func:GeminiProvider.close", + "type": "function", + "name": "close", + "filePath": "src/agentkit/llm/providers/gemini.py", + "layer": "utility", + "summary": "GeminiProvider.close() 异步方法", + "tags": [ + "GeminiProvider", + "close" + ], + "complexity": "simple" + }, + { + "id": "func:GeminiProvider._convert_messages", + "type": "function", + "name": "_convert_messages", + "filePath": "src/agentkit/llm/providers/gemini.py", + "layer": "utility", + "summary": "GeminiProvider._convert_messages(messages) 方法", + "tags": [ + "GeminiProvider", + "_convert_messages" + ], + "complexity": "simple" + }, + { + "id": "func:GeminiProvider._convert_tools", + "type": "function", + "name": "_convert_tools", + "filePath": "src/agentkit/llm/providers/gemini.py", + "layer": "utility", + "summary": "GeminiProvider._convert_tools(tools) 方法", + "tags": [ + "GeminiProvider", + "_convert_tools" + ], + "complexity": "simple" + }, + { + "id": "func:GeminiProvider._convert_tool_choice", + "type": "function", + "name": "_convert_tool_choice", + "filePath": "src/agentkit/llm/providers/gemini.py", + "layer": "utility", + "summary": "GeminiProvider._convert_tool_choice(tool_choice) 方法", + "tags": [ + "GeminiProvider", + "_convert_tool_choice" + ], + "complexity": "simple" + }, + { + "id": "func:GeminiProvider._parse_response", + "type": "function", + "name": "_parse_response", + "filePath": "src/agentkit/llm/providers/gemini.py", + "layer": "utility", + "summary": "GeminiProvider._parse_response(data, model) 方法", + "tags": [ + "GeminiProvider", + "_parse_response" + ], + "complexity": "simple" + }, + { + "id": "func:GeminiProvider._handle_error", + "type": "function", + "name": "_handle_error", + "filePath": "src/agentkit/llm/providers/gemini.py", + "layer": "utility", + "summary": "GeminiProvider._handle_error(status_code, resp_body) 方法", + "tags": [ + "GeminiProvider", + "_handle_error" + ], + "complexity": "simple" + }, + { + "id": "func:GeminiProvider.chat", + "type": "function", + "name": "chat", + "filePath": "src/agentkit/llm/providers/gemini.py", + "layer": "utility", + "summary": "GeminiProvider.chat(request) 异步方法", + "tags": [ + "GeminiProvider", + "chat" + ], + "complexity": "simple" + }, + { + "id": "func:GeminiProvider._chat_impl", + "type": "function", + "name": "_chat_impl", + "filePath": "src/agentkit/llm/providers/gemini.py", + "layer": "utility", + "summary": "GeminiProvider._chat_impl(request) 异步方法", + "tags": [ + "GeminiProvider", + "_chat_impl" + ], + "complexity": "simple" + }, + { + "id": "func:GeminiProvider.chat_stream", + "type": "function", + "name": "chat_stream", + "filePath": "src/agentkit/llm/providers/gemini.py", + "layer": "utility", + "summary": "GeminiProvider.chat_stream(request) 异步方法", + "tags": [ + "GeminiProvider", + "chat_stream" + ], + "complexity": "simple" + }, + { + "id": "func:GeminiProvider._open_stream", + "type": "function", + "name": "_open_stream", + "filePath": "src/agentkit/llm/providers/gemini.py", + "layer": "utility", + "summary": "GeminiProvider._open_stream(request) 异步方法", + "tags": [ + "GeminiProvider", + "_open_stream" + ], + "complexity": "simple" + }, + { + "id": "func:GeminiProvider._iterate_stream", + "type": "function", + "name": "_iterate_stream", + "filePath": "src/agentkit/llm/providers/gemini.py", + "layer": "utility", + "summary": "GeminiProvider._iterate_stream(response, request) 异步方法", + "tags": [ + "GeminiProvider", + "_iterate_stream" + ], + "complexity": "simple" + }, + { + "id": "func:GeminiProvider.get_model_info", + "type": "function", + "name": "get_model_info", + "filePath": "src/agentkit/llm/providers/gemini.py", + "layer": "utility", + "summary": "GeminiProvider.get_model_info() 方法", + "tags": [ + "GeminiProvider", + "get_model_info" + ], + "complexity": "simple" + }, + { + "id": "class:_StreamContext", + "type": "class", + "name": "_StreamContext", + "filePath": "src/agentkit/llm/providers/openai.py", + "layer": "utility", + "summary": "Wraps an httpx streaming response context manager for use with retry/circuit breaker.", + "tags": [ + "_StreamContext" + ], + "complexity": "simple" + }, + { + "id": "func:_StreamContext.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/llm/providers/openai.py", + "layer": "utility", + "summary": "_StreamContext.__init__(response_ctx, response) 方法", + "tags": [ + "_StreamContext", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:_StreamContext.__aenter__", + "type": "function", + "name": "__aenter__", + "filePath": "src/agentkit/llm/providers/openai.py", + "layer": "utility", + "summary": "_StreamContext.__aenter__() 异步方法", + "tags": [ + "_StreamContext", + "__aenter__" + ], + "complexity": "simple" + }, + { + "id": "func:_StreamContext.__aexit__", + "type": "function", + "name": "__aexit__", + "filePath": "src/agentkit/llm/providers/openai.py", + "layer": "utility", + "summary": "_StreamContext.__aexit__(exc_type, exc_val, exc_tb) 异步方法", + "tags": [ + "_StreamContext", + "__aexit__" + ], + "complexity": "simple" + }, + { + "id": "class:OpenAICompatibleProvider", + "type": "class", + "name": "OpenAICompatibleProvider", + "filePath": "src/agentkit/llm/providers/openai.py", + "layer": "utility", + "summary": "OpenAI 兼容 API Provider", + "tags": [ + "OpenAICompatibleProvider" + ], + "complexity": "moderate" + }, + { + "id": "func:OpenAICompatibleProvider.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/llm/providers/openai.py", + "layer": "utility", + "summary": "OpenAICompatibleProvider.__init__(api_key, base_url, default_model, retry_config, circuit_breaker_config, max_connections, max_keepalive_connections, keepalive_expiry) 方法", + "tags": [ + "OpenAICompatibleProvider", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:OpenAICompatibleProvider.close", + "type": "function", + "name": "close", + "filePath": "src/agentkit/llm/providers/openai.py", + "layer": "utility", + "summary": "OpenAICompatibleProvider.close() 异步方法", + "tags": [ + "OpenAICompatibleProvider", + "close" + ], + "complexity": "simple" + }, + { + "id": "func:OpenAICompatibleProvider.chat", + "type": "function", + "name": "chat", + "filePath": "src/agentkit/llm/providers/openai.py", + "layer": "utility", + "summary": "OpenAICompatibleProvider.chat(request) 异步方法", + "tags": [ + "OpenAICompatibleProvider", + "chat" + ], + "complexity": "simple" + }, + { + "id": "func:OpenAICompatibleProvider._chat_impl", + "type": "function", + "name": "_chat_impl", + "filePath": "src/agentkit/llm/providers/openai.py", + "layer": "utility", + "summary": "OpenAICompatibleProvider._chat_impl(request) 异步方法", + "tags": [ + "OpenAICompatibleProvider", + "_chat_impl" + ], + "complexity": "simple" + }, + { + "id": "func:OpenAICompatibleProvider.chat_stream", + "type": "function", + "name": "chat_stream", + "filePath": "src/agentkit/llm/providers/openai.py", + "layer": "utility", + "summary": "OpenAICompatibleProvider.chat_stream(request) 异步方法", + "tags": [ + "OpenAICompatibleProvider", + "chat_stream" + ], + "complexity": "simple" + }, + { + "id": "func:OpenAICompatibleProvider._open_stream", + "type": "function", + "name": "_open_stream", + "filePath": "src/agentkit/llm/providers/openai.py", + "layer": "utility", + "summary": "OpenAICompatibleProvider._open_stream(request) 异步方法", + "tags": [ + "OpenAICompatibleProvider", + "_open_stream" + ], + "complexity": "simple" + }, + { + "id": "func:OpenAICompatibleProvider._iterate_stream", + "type": "function", + "name": "_iterate_stream", + "filePath": "src/agentkit/llm/providers/openai.py", + "layer": "utility", + "summary": "OpenAICompatibleProvider._iterate_stream(response, request) 异步方法", + "tags": [ + "OpenAICompatibleProvider", + "_iterate_stream" + ], + "complexity": "simple" + }, + { + "id": "class:UsageRecord", + "type": "class", + "name": "UsageRecord", + "filePath": "src/agentkit/llm/providers/tracker.py", + "layer": "utility", + "summary": "使用量记录", + "tags": [ + "UsageRecord" + ], + "complexity": "simple" + }, + { + "id": "class:UsageSummary", + "type": "class", + "name": "UsageSummary", + "filePath": "src/agentkit/llm/providers/tracker.py", + "layer": "utility", + "summary": "使用量汇总", + "tags": [ + "UsageSummary" + ], + "complexity": "simple" + }, + { + "id": "class:UsageTracker", + "type": "class", + "name": "UsageTracker", + "filePath": "src/agentkit/llm/providers/tracker.py", + "layer": "utility", + "summary": "使用量追踪器", + "tags": [ + "UsageTracker" + ], + "complexity": "simple" + }, + { + "id": "func:UsageTracker.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/llm/providers/tracker.py", + "layer": "utility", + "summary": "UsageTracker.__init__() 方法", + "tags": [ + "UsageTracker", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:UsageTracker.record", + "type": "function", + "name": "record", + "filePath": "src/agentkit/llm/providers/tracker.py", + "layer": "utility", + "summary": "UsageTracker.record(agent_name, model, usage, cost, latency_ms) 方法", + "tags": [ + "UsageTracker", + "record" + ], + "complexity": "simple" + }, + { + "id": "func:UsageTracker.get_usage", + "type": "function", + "name": "get_usage", + "filePath": "src/agentkit/llm/providers/tracker.py", + "layer": "utility", + "summary": "UsageTracker.get_usage(agent_name, start_time, end_time) 方法", + "tags": [ + "UsageTracker", + "get_usage" + ], + "complexity": "simple" + }, + { + "id": "class:WenxinProvider", + "type": "class", + "name": "WenxinProvider", + "filePath": "src/agentkit/llm/providers/wenxin.py", + "layer": "utility", + "summary": "百度文心 ERNIE Provider", + "tags": [ + "WenxinProvider" + ], + "complexity": "simple" + }, + { + "id": "func:WenxinProvider.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/llm/providers/wenxin.py", + "layer": "utility", + "summary": "WenxinProvider.__init__(api_key, access_key, secret_key, base_url, default_model) 方法", + "tags": [ + "WenxinProvider", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:WenxinProvider.chat", + "type": "function", + "name": "chat", + "filePath": "src/agentkit/llm/providers/wenxin.py", + "layer": "utility", + "summary": "WenxinProvider.chat(request) 异步方法", + "tags": [ + "WenxinProvider", + "chat" + ], + "complexity": "simple" + }, + { + "id": "func:WenxinProvider._ensure_access_token", + "type": "function", + "name": "_ensure_access_token", + "filePath": "src/agentkit/llm/providers/wenxin.py", + "layer": "utility", + "summary": "WenxinProvider._ensure_access_token() 异步方法", + "tags": [ + "WenxinProvider", + "_ensure_access_token" + ], + "complexity": "simple" + }, + { + "id": "class:YuanbaoProvider", + "type": "class", + "name": "YuanbaoProvider", + "filePath": "src/agentkit/llm/providers/yuanbao.py", + "layer": "utility", + "summary": "腾讯混元/元宝 Provider", + "tags": [ + "YuanbaoProvider" + ], + "complexity": "simple" + }, + { + "id": "func:YuanbaoProvider.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/llm/providers/yuanbao.py", + "layer": "utility", + "summary": "YuanbaoProvider.__init__(api_key, base_url, default_model, enable_enhancement) 方法", + "tags": [ + "YuanbaoProvider", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:YuanbaoProvider.chat", + "type": "function", + "name": "chat", + "filePath": "src/agentkit/llm/providers/yuanbao.py", + "layer": "utility", + "summary": "YuanbaoProvider.chat(request) 异步方法", + "tags": [ + "YuanbaoProvider", + "chat" + ], + "complexity": "simple" + }, + { + "id": "class:RetryConfig", + "type": "class", + "name": "RetryConfig", + "filePath": "src/agentkit/llm/retry.py", + "layer": "utility", + "summary": "Retry policy configuration", + "tags": [ + "RetryConfig" + ], + "complexity": "simple" + }, + { + "id": "class:CircuitState", + "type": "class", + "name": "CircuitState", + "filePath": "src/agentkit/llm/retry.py", + "layer": "utility", + "summary": "Circuit breaker states", + "tags": [ + "CircuitState" + ], + "complexity": "simple" + }, + { + "id": "class:CircuitBreakerConfig", + "type": "class", + "name": "CircuitBreakerConfig", + "filePath": "src/agentkit/llm/retry.py", + "layer": "utility", + "summary": "Circuit breaker configuration", + "tags": [ + "CircuitBreakerConfig" + ], + "complexity": "simple" + }, + { + "id": "class:CircuitOpenError", + "type": "class", + "name": "CircuitOpenError", + "filePath": "src/agentkit/llm/retry.py", + "layer": "utility", + "summary": "Raised when the circuit breaker is open", + "tags": [ + "CircuitOpenError" + ], + "complexity": "simple" + }, + { + "id": "func:CircuitOpenError.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/llm/retry.py", + "layer": "utility", + "summary": "CircuitOpenError.__init__(provider) 方法", + "tags": [ + "CircuitOpenError", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "class:RetryPolicy", + "type": "class", + "name": "RetryPolicy", + "filePath": "src/agentkit/llm/retry.py", + "layer": "utility", + "summary": "Retry with exponential backoff for transient failures", + "tags": [ + "RetryPolicy" + ], + "complexity": "simple" + }, + { + "id": "func:RetryPolicy.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/llm/retry.py", + "layer": "utility", + "summary": "RetryPolicy.__init__(config) 方法", + "tags": [ + "RetryPolicy", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:RetryPolicy.execute", + "type": "function", + "name": "execute", + "filePath": "src/agentkit/llm/retry.py", + "layer": "utility", + "summary": "RetryPolicy.execute(fn) 异步方法", + "tags": [ + "RetryPolicy", + "execute" + ], + "complexity": "simple" + }, + { + "id": "class:CircuitBreaker", + "type": "class", + "name": "CircuitBreaker", + "filePath": "src/agentkit/llm/retry.py", + "layer": "utility", + "summary": "Circuit breaker to prevent cascading failures", + "tags": [ + "CircuitBreaker" + ], + "complexity": "moderate" + }, + { + "id": "func:CircuitBreaker.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/llm/retry.py", + "layer": "utility", + "summary": "CircuitBreaker.__init__(config, provider) 方法", + "tags": [ + "CircuitBreaker", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:CircuitBreaker.state", + "type": "function", + "name": "state", + "filePath": "src/agentkit/llm/retry.py", + "layer": "utility", + "summary": "CircuitBreaker.state() 方法", + "tags": [ + "CircuitBreaker", + "state" + ], + "complexity": "simple" + }, + { + "id": "func:CircuitBreaker._on_success", + "type": "function", + "name": "_on_success", + "filePath": "src/agentkit/llm/retry.py", + "layer": "utility", + "summary": "CircuitBreaker._on_success() 方法", + "tags": [ + "CircuitBreaker", + "_on_success" + ], + "complexity": "simple" + }, + { + "id": "func:CircuitBreaker._on_failure", + "type": "function", + "name": "_on_failure", + "filePath": "src/agentkit/llm/retry.py", + "layer": "utility", + "summary": "CircuitBreaker._on_failure() 方法", + "tags": [ + "CircuitBreaker", + "_on_failure" + ], + "complexity": "simple" + }, + { + "id": "func:CircuitBreaker.execute", + "type": "function", + "name": "execute", + "filePath": "src/agentkit/llm/retry.py", + "layer": "utility", + "summary": "CircuitBreaker.execute(fn) 异步方法", + "tags": [ + "CircuitBreaker", + "execute" + ], + "complexity": "simple" + }, + { + "id": "class:Bid", + "type": "class", + "name": "Bid", + "filePath": "src/agentkit/marketplace/auction.py", + "layer": "unknown", + "summary": "Agent 竞价信息", + "tags": [ + "Bid" + ], + "complexity": "simple" + }, + { + "id": "func:Bid.__post_init__", + "type": "function", + "name": "__post_init__", + "filePath": "src/agentkit/marketplace/auction.py", + "layer": "unknown", + "summary": "Bid.__post_init__() 方法", + "tags": [ + "Bid", + "__post_init__" + ], + "complexity": "simple" + }, + { + "id": "class:AuctionResult", + "type": "class", + "name": "AuctionResult", + "filePath": "src/agentkit/marketplace/auction.py", + "layer": "unknown", + "summary": "拍卖结果", + "tags": [ + "AuctionResult" + ], + "complexity": "simple" + }, + { + "id": "class:AuctionHouse", + "type": "class", + "name": "AuctionHouse", + "filePath": "src/agentkit/marketplace/auction.py", + "layer": "unknown", + "summary": "Auction-based agent selection mechanism.", + "tags": [ + "AuctionHouse" + ], + "complexity": "moderate" + }, + { + "id": "func:AuctionHouse.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/marketplace/auction.py", + "layer": "unknown", + "summary": "AuctionHouse.__init__(wealth_tracker) 方法", + "tags": [ + "AuctionHouse", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:AuctionHouse.run_auction", + "type": "function", + "name": "run_auction", + "filePath": "src/agentkit/marketplace/auction.py", + "layer": "unknown", + "summary": "AuctionHouse.run_auction(task_description, bidders) 异步方法", + "tags": [ + "AuctionHouse", + "run_auction" + ], + "complexity": "simple" + }, + { + "id": "func:AuctionHouse.score_bid", + "type": "function", + "name": "score_bid", + "filePath": "src/agentkit/marketplace/auction.py", + "layer": "unknown", + "summary": "AuctionHouse.score_bid(bid) 方法", + "tags": [ + "AuctionHouse", + "score_bid" + ], + "complexity": "simple" + }, + { + "id": "func:AuctionHouse.filter_by_capabilities", + "type": "function", + "name": "filter_by_capabilities", + "filePath": "src/agentkit/marketplace/auction.py", + "layer": "unknown", + "summary": "AuctionHouse.filter_by_capabilities(bidders, required_capabilities) 方法", + "tags": [ + "AuctionHouse", + "filter_by_capabilities" + ], + "complexity": "simple" + }, + { + "id": "func:AuctionHouse.run_vickrey_auction", + "type": "function", + "name": "run_vickrey_auction", + "filePath": "src/agentkit/marketplace/auction.py", + "layer": "unknown", + "summary": "AuctionHouse.run_vickrey_auction(task_description, bidders, required_capabilities) 异步方法", + "tags": [ + "AuctionHouse", + "run_vickrey_auction" + ], + "complexity": "simple" + }, + { + "id": "class:WealthTracker", + "type": "class", + "name": "WealthTracker", + "filePath": "src/agentkit/marketplace/wealth.py", + "layer": "unknown", + "summary": "Track agent wealth for auction mechanism.", + "tags": [ + "WealthTracker" + ], + "complexity": "moderate" + }, + { + "id": "func:WealthTracker.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/marketplace/wealth.py", + "layer": "unknown", + "summary": "WealthTracker.__init__(initial_wealth) 方法", + "tags": [ + "WealthTracker", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:WealthTracker.get_wealth", + "type": "function", + "name": "get_wealth", + "filePath": "src/agentkit/marketplace/wealth.py", + "layer": "unknown", + "summary": "WealthTracker.get_wealth(agent_name) 方法", + "tags": [ + "WealthTracker", + "get_wealth" + ], + "complexity": "simple" + }, + { + "id": "func:WealthTracker.reward", + "type": "function", + "name": "reward", + "filePath": "src/agentkit/marketplace/wealth.py", + "layer": "unknown", + "summary": "WealthTracker.reward(agent_name, amount) 方法", + "tags": [ + "WealthTracker", + "reward" + ], + "complexity": "simple" + }, + { + "id": "func:WealthTracker.penalize", + "type": "function", + "name": "penalize", + "filePath": "src/agentkit/marketplace/wealth.py", + "layer": "unknown", + "summary": "WealthTracker.penalize(agent_name, amount) 方法", + "tags": [ + "WealthTracker", + "penalize" + ], + "complexity": "simple" + }, + { + "id": "func:WealthTracker.is_bankrupt", + "type": "function", + "name": "is_bankrupt", + "filePath": "src/agentkit/marketplace/wealth.py", + "layer": "unknown", + "summary": "WealthTracker.is_bankrupt(agent_name) 方法", + "tags": [ + "WealthTracker", + "is_bankrupt" + ], + "complexity": "simple" + }, + { + "id": "func:WealthTracker.reset", + "type": "function", + "name": "reset", + "filePath": "src/agentkit/marketplace/wealth.py", + "layer": "unknown", + "summary": "WealthTracker.reset(agent_name) 方法", + "tags": [ + "WealthTracker", + "reset" + ], + "complexity": "simple" + }, + { + "id": "func:WealthTracker.get_rankings", + "type": "function", + "name": "get_rankings", + "filePath": "src/agentkit/marketplace/wealth.py", + "layer": "unknown", + "summary": "WealthTracker.get_rankings() 方法", + "tags": [ + "WealthTracker", + "get_rankings" + ], + "complexity": "simple" + }, + { + "id": "func:WealthTracker.get_wealth_factor", + "type": "function", + "name": "get_wealth_factor", + "filePath": "src/agentkit/marketplace/wealth.py", + "layer": "unknown", + "summary": "WealthTracker.get_wealth_factor(agent_name) 方法", + "tags": [ + "WealthTracker", + "get_wealth_factor" + ], + "complexity": "simple" + }, + { + "id": "class:MCPClient", + "type": "class", + "name": "MCPClient", + "filePath": "src/agentkit/mcp/client.py", + "layer": "utility", + "summary": "MCP Client - 连接外部 MCP Server 并调用工具", + "tags": [ + "MCPClient" + ], + "complexity": "moderate" + }, + { + "id": "func:MCPClient.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/mcp/client.py", + "layer": "utility", + "summary": "MCPClient.__init__(server_url, timeout, transport) 方法", + "tags": [ + "MCPClient", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:MCPClient.from_transport", + "type": "function", + "name": "from_transport", + "filePath": "src/agentkit/mcp/client.py", + "layer": "utility", + "summary": "MCPClient.from_transport(cls, transport) 方法", + "tags": [ + "MCPClient", + "from_transport" + ], + "complexity": "simple" + }, + { + "id": "func:MCPClient.list_tools", + "type": "function", + "name": "list_tools", + "filePath": "src/agentkit/mcp/client.py", + "layer": "utility", + "summary": "MCPClient.list_tools() 异步方法", + "tags": [ + "MCPClient", + "list_tools" + ], + "complexity": "simple" + }, + { + "id": "func:MCPClient.call_tool", + "type": "function", + "name": "call_tool", + "filePath": "src/agentkit/mcp/client.py", + "layer": "utility", + "summary": "MCPClient.call_tool(tool_name, arguments) 异步方法", + "tags": [ + "MCPClient", + "call_tool" + ], + "complexity": "simple" + }, + { + "id": "func:MCPClient.as_tool", + "type": "function", + "name": "as_tool", + "filePath": "src/agentkit/mcp/client.py", + "layer": "utility", + "summary": "MCPClient.as_tool(tool_name, description) 方法", + "tags": [ + "MCPClient", + "as_tool" + ], + "complexity": "simple" + }, + { + "id": "class:MCPTool", + "type": "class", + "name": "MCPTool", + "filePath": "src/agentkit/mcp/client.py", + "layer": "utility", + "summary": "MCP 工具 - 通过 MCP Client 调用远程工具", + "tags": [ + "MCPTool" + ], + "complexity": "simple" + }, + { + "id": "func:MCPTool.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/mcp/client.py", + "layer": "utility", + "summary": "MCPTool.__init__(name, description, client, input_schema, output_schema, version, tags) 方法", + "tags": [ + "MCPTool", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:MCPTool.execute", + "type": "function", + "name": "execute", + "filePath": "src/agentkit/mcp/client.py", + "layer": "utility", + "summary": "MCPTool.execute() 异步方法", + "tags": [ + "MCPTool", + "execute" + ], + "complexity": "simple" + }, + { + "id": "class:MCPManager", + "type": "class", + "name": "MCPManager", + "filePath": "src/agentkit/mcp/manager.py", + "layer": "utility", + "summary": "管理 MCP Server 连接和工具发现", + "tags": [ + "MCPManager" + ], + "complexity": "complex" + }, + { + "id": "func:MCPManager.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/mcp/manager.py", + "layer": "utility", + "summary": "MCPManager.__init__(configs, tool_registry) 方法", + "tags": [ + "MCPManager", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:MCPManager.start_all", + "type": "function", + "name": "start_all", + "filePath": "src/agentkit/mcp/manager.py", + "layer": "utility", + "summary": "MCPManager.start_all() 异步方法", + "tags": [ + "MCPManager", + "start_all" + ], + "complexity": "simple" + }, + { + "id": "func:MCPManager._start_server_safe", + "type": "function", + "name": "_start_server_safe", + "filePath": "src/agentkit/mcp/manager.py", + "layer": "utility", + "summary": "MCPManager._start_server_safe(name, config) 异步方法", + "tags": [ + "MCPManager", + "_start_server_safe" + ], + "complexity": "simple" + }, + { + "id": "func:MCPManager._start_server", + "type": "function", + "name": "_start_server", + "filePath": "src/agentkit/mcp/manager.py", + "layer": "utility", + "summary": "MCPManager._start_server(name, config) 异步方法", + "tags": [ + "MCPManager", + "_start_server" + ], + "complexity": "simple" + }, + { + "id": "func:MCPManager.stop_all", + "type": "function", + "name": "stop_all", + "filePath": "src/agentkit/mcp/manager.py", + "layer": "utility", + "summary": "MCPManager.stop_all() 异步方法", + "tags": [ + "MCPManager", + "stop_all" + ], + "complexity": "simple" + }, + { + "id": "func:MCPManager.is_available", + "type": "function", + "name": "is_available", + "filePath": "src/agentkit/mcp/manager.py", + "layer": "utility", + "summary": "MCPManager.is_available(server_name) 方法", + "tags": [ + "MCPManager", + "is_available" + ], + "complexity": "simple" + }, + { + "id": "func:MCPManager.get_server_tools", + "type": "function", + "name": "get_server_tools", + "filePath": "src/agentkit/mcp/manager.py", + "layer": "utility", + "summary": "MCPManager.get_server_tools(server_name) 方法", + "tags": [ + "MCPManager", + "get_server_tools" + ], + "complexity": "simple" + }, + { + "id": "func:MCPManager.list_all_tools", + "type": "function", + "name": "list_all_tools", + "filePath": "src/agentkit/mcp/manager.py", + "layer": "utility", + "summary": "MCPManager.list_all_tools() 方法", + "tags": [ + "MCPManager", + "list_all_tools" + ], + "complexity": "simple" + }, + { + "id": "func:MCPManager.get_tool_registry", + "type": "function", + "name": "get_tool_registry", + "filePath": "src/agentkit/mcp/manager.py", + "layer": "utility", + "summary": "MCPManager.get_tool_registry() 方法", + "tags": [ + "MCPManager", + "get_tool_registry" + ], + "complexity": "simple" + }, + { + "id": "class:MCPServer", + "type": "class", + "name": "MCPServer", + "filePath": "src/agentkit/mcp/server.py", + "layer": "utility", + "summary": "MCP Server - 暴露 Agent 能力为 MCP 工具", + "tags": [ + "MCPServer" + ], + "complexity": "moderate" + }, + { + "id": "func:MCPServer.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/mcp/server.py", + "layer": "utility", + "summary": "MCPServer.__init__(tool_registry, host, port) 方法", + "tags": [ + "MCPServer", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:MCPServer._create_app", + "type": "function", + "name": "_create_app", + "filePath": "src/agentkit/mcp/server.py", + "layer": "utility", + "summary": "MCPServer._create_app() 方法", + "tags": [ + "MCPServer", + "_create_app" + ], + "complexity": "simple" + }, + { + "id": "func:MCPServer.start", + "type": "function", + "name": "start", + "filePath": "src/agentkit/mcp/server.py", + "layer": "utility", + "summary": "MCPServer.start() 异步方法", + "tags": [ + "MCPServer", + "start" + ], + "complexity": "simple" + }, + { + "id": "func:MCPServer.get_app", + "type": "function", + "name": "get_app", + "filePath": "src/agentkit/mcp/server.py", + "layer": "utility", + "summary": "MCPServer.get_app() 方法", + "tags": [ + "MCPServer", + "get_app" + ], + "complexity": "simple" + }, + { + "id": "class:TransportError", + "type": "class", + "name": "TransportError", + "filePath": "src/agentkit/mcp/transport.py", + "layer": "utility", + "summary": "传输层错误", + "tags": [ + "TransportError" + ], + "complexity": "simple" + }, + { + "id": "func:TransportError.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/mcp/transport.py", + "layer": "utility", + "summary": "TransportError.__init__(message, cause) 方法", + "tags": [ + "TransportError", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "class:Transport", + "type": "class", + "name": "Transport", + "filePath": "src/agentkit/mcp/transport.py", + "layer": "utility", + "summary": "传输层抽象基类", + "tags": [ + "Transport" + ], + "complexity": "moderate" + }, + { + "id": "func:Transport.connect", + "type": "function", + "name": "connect", + "filePath": "src/agentkit/mcp/transport.py", + "layer": "utility", + "summary": "Transport.connect() 异步方法", + "tags": [ + "Transport", + "connect" + ], + "complexity": "simple" + }, + { + "id": "func:Transport.disconnect", + "type": "function", + "name": "disconnect", + "filePath": "src/agentkit/mcp/transport.py", + "layer": "utility", + "summary": "Transport.disconnect() 异步方法", + "tags": [ + "Transport", + "disconnect" + ], + "complexity": "simple" + }, + { + "id": "func:Transport.send_request", + "type": "function", + "name": "send_request", + "filePath": "src/agentkit/mcp/transport.py", + "layer": "utility", + "summary": "Transport.send_request(method, params) 异步方法", + "tags": [ + "Transport", + "send_request" + ], + "complexity": "simple" + }, + { + "id": "func:Transport.receive_response", + "type": "function", + "name": "receive_response", + "filePath": "src/agentkit/mcp/transport.py", + "layer": "utility", + "summary": "Transport.receive_response() 异步方法", + "tags": [ + "Transport", + "receive_response" + ], + "complexity": "simple" + }, + { + "id": "class:HTTPTransport", + "type": "class", + "name": "HTTPTransport", + "filePath": "src/agentkit/mcp/transport.py", + "layer": "utility", + "summary": "Streamable HTTP 传输", + "tags": [ + "HTTPTransport" + ], + "complexity": "moderate" + }, + { + "id": "func:HTTPTransport.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/mcp/transport.py", + "layer": "utility", + "summary": "HTTPTransport.__init__(endpoint, headers, timeout) 方法", + "tags": [ + "HTTPTransport", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:HTTPTransport.is_connected", + "type": "function", + "name": "is_connected", + "filePath": "src/agentkit/mcp/transport.py", + "layer": "utility", + "summary": "HTTPTransport.is_connected() 方法", + "tags": [ + "HTTPTransport", + "is_connected" + ], + "complexity": "simple" + }, + { + "id": "func:HTTPTransport.connect", + "type": "function", + "name": "connect", + "filePath": "src/agentkit/mcp/transport.py", + "layer": "utility", + "summary": "HTTPTransport.connect() 异步方法", + "tags": [ + "HTTPTransport", + "connect" + ], + "complexity": "simple" + }, + { + "id": "func:HTTPTransport.disconnect", + "type": "function", + "name": "disconnect", + "filePath": "src/agentkit/mcp/transport.py", + "layer": "utility", + "summary": "HTTPTransport.disconnect() 异步方法", + "tags": [ + "HTTPTransport", + "disconnect" + ], + "complexity": "simple" + }, + { + "id": "func:HTTPTransport._next_request_id", + "type": "function", + "name": "_next_request_id", + "filePath": "src/agentkit/mcp/transport.py", + "layer": "utility", + "summary": "HTTPTransport._next_request_id() 方法", + "tags": [ + "HTTPTransport", + "_next_request_id" + ], + "complexity": "simple" + }, + { + "id": "func:HTTPTransport.send_request", + "type": "function", + "name": "send_request", + "filePath": "src/agentkit/mcp/transport.py", + "layer": "utility", + "summary": "HTTPTransport.send_request(method, params) 异步方法", + "tags": [ + "HTTPTransport", + "send_request" + ], + "complexity": "simple" + }, + { + "id": "func:HTTPTransport.receive_response", + "type": "function", + "name": "receive_response", + "filePath": "src/agentkit/mcp/transport.py", + "layer": "utility", + "summary": "HTTPTransport.receive_response() 异步方法", + "tags": [ + "HTTPTransport", + "receive_response" + ], + "complexity": "simple" + }, + { + "id": "class:SSETransport", + "type": "class", + "name": "SSETransport", + "filePath": "src/agentkit/mcp/transport.py", + "layer": "utility", + "summary": "Server-Sent Events 传输", + "tags": [ + "SSETransport" + ], + "complexity": "moderate" + }, + { + "id": "func:SSETransport.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/mcp/transport.py", + "layer": "utility", + "summary": "SSETransport.__init__(endpoint, sse_path, message_path, headers, timeout) 方法", + "tags": [ + "SSETransport", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:SSETransport.is_connected", + "type": "function", + "name": "is_connected", + "filePath": "src/agentkit/mcp/transport.py", + "layer": "utility", + "summary": "SSETransport.is_connected() 方法", + "tags": [ + "SSETransport", + "is_connected" + ], + "complexity": "simple" + }, + { + "id": "func:SSETransport.connect", + "type": "function", + "name": "connect", + "filePath": "src/agentkit/mcp/transport.py", + "layer": "utility", + "summary": "SSETransport.connect() 异步方法", + "tags": [ + "SSETransport", + "connect" + ], + "complexity": "simple" + }, + { + "id": "func:SSETransport.disconnect", + "type": "function", + "name": "disconnect", + "filePath": "src/agentkit/mcp/transport.py", + "layer": "utility", + "summary": "SSETransport.disconnect() 异步方法", + "tags": [ + "SSETransport", + "disconnect" + ], + "complexity": "simple" + }, + { + "id": "func:SSETransport._listen_sse", + "type": "function", + "name": "_listen_sse", + "filePath": "src/agentkit/mcp/transport.py", + "layer": "utility", + "summary": "SSETransport._listen_sse() 异步方法", + "tags": [ + "SSETransport", + "_listen_sse" + ], + "complexity": "simple" + }, + { + "id": "func:SSETransport._next_request_id", + "type": "function", + "name": "_next_request_id", + "filePath": "src/agentkit/mcp/transport.py", + "layer": "utility", + "summary": "SSETransport._next_request_id() 方法", + "tags": [ + "SSETransport", + "_next_request_id" + ], + "complexity": "simple" + }, + { + "id": "func:SSETransport.send_request", + "type": "function", + "name": "send_request", + "filePath": "src/agentkit/mcp/transport.py", + "layer": "utility", + "summary": "SSETransport.send_request(method, params) 异步方法", + "tags": [ + "SSETransport", + "send_request" + ], + "complexity": "simple" + }, + { + "id": "func:SSETransport.receive_response", + "type": "function", + "name": "receive_response", + "filePath": "src/agentkit/mcp/transport.py", + "layer": "utility", + "summary": "SSETransport.receive_response() 异步方法", + "tags": [ + "SSETransport", + "receive_response" + ], + "complexity": "simple" + }, + { + "id": "class:StdioTransport", + "type": "class", + "name": "StdioTransport", + "filePath": "src/agentkit/mcp/transport.py", + "layer": "utility", + "summary": "Stdio 传输", + "tags": [ + "StdioTransport" + ], + "complexity": "complex" + }, + { + "id": "func:StdioTransport.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/mcp/transport.py", + "layer": "utility", + "summary": "StdioTransport.__init__(command, args, env, timeout) 方法", + "tags": [ + "StdioTransport", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:StdioTransport.is_connected", + "type": "function", + "name": "is_connected", + "filePath": "src/agentkit/mcp/transport.py", + "layer": "utility", + "summary": "StdioTransport.is_connected() 方法", + "tags": [ + "StdioTransport", + "is_connected" + ], + "complexity": "simple" + }, + { + "id": "func:StdioTransport._next_request_id", + "type": "function", + "name": "_next_request_id", + "filePath": "src/agentkit/mcp/transport.py", + "layer": "utility", + "summary": "StdioTransport._next_request_id() 方法", + "tags": [ + "StdioTransport", + "_next_request_id" + ], + "complexity": "simple" + }, + { + "id": "func:StdioTransport.connect", + "type": "function", + "name": "connect", + "filePath": "src/agentkit/mcp/transport.py", + "layer": "utility", + "summary": "StdioTransport.connect() 异步方法", + "tags": [ + "StdioTransport", + "connect" + ], + "complexity": "simple" + }, + { + "id": "func:StdioTransport.disconnect", + "type": "function", + "name": "disconnect", + "filePath": "src/agentkit/mcp/transport.py", + "layer": "utility", + "summary": "StdioTransport.disconnect() 异步方法", + "tags": [ + "StdioTransport", + "disconnect" + ], + "complexity": "simple" + }, + { + "id": "func:StdioTransport._cleanup", + "type": "function", + "name": "_cleanup", + "filePath": "src/agentkit/mcp/transport.py", + "layer": "utility", + "summary": "StdioTransport._cleanup() 异步方法", + "tags": [ + "StdioTransport", + "_cleanup" + ], + "complexity": "simple" + }, + { + "id": "func:StdioTransport.send_request", + "type": "function", + "name": "send_request", + "filePath": "src/agentkit/mcp/transport.py", + "layer": "utility", + "summary": "StdioTransport.send_request(method, params) 异步方法", + "tags": [ + "StdioTransport", + "send_request" + ], + "complexity": "simple" + }, + { + "id": "func:StdioTransport._send_request_internal", + "type": "function", + "name": "_send_request_internal", + "filePath": "src/agentkit/mcp/transport.py", + "layer": "utility", + "summary": "StdioTransport._send_request_internal(method, params) 异步方法", + "tags": [ + "StdioTransport", + "_send_request_internal" + ], + "complexity": "simple" + }, + { + "id": "func:StdioTransport._send_notification", + "type": "function", + "name": "_send_notification", + "filePath": "src/agentkit/mcp/transport.py", + "layer": "utility", + "summary": "StdioTransport._send_notification(method, params) 异步方法", + "tags": [ + "StdioTransport", + "_send_notification" + ], + "complexity": "simple" + }, + { + "id": "func:StdioTransport._write_message", + "type": "function", + "name": "_write_message", + "filePath": "src/agentkit/mcp/transport.py", + "layer": "utility", + "summary": "StdioTransport._write_message(message) 异步方法", + "tags": [ + "StdioTransport", + "_write_message" + ], + "complexity": "simple" + }, + { + "id": "func:StdioTransport.receive_response", + "type": "function", + "name": "receive_response", + "filePath": "src/agentkit/mcp/transport.py", + "layer": "utility", + "summary": "StdioTransport.receive_response() 异步方法", + "tags": [ + "StdioTransport", + "receive_response" + ], + "complexity": "simple" + }, + { + "id": "func:StdioTransport._read_stdout", + "type": "function", + "name": "_read_stdout", + "filePath": "src/agentkit/mcp/transport.py", + "layer": "utility", + "summary": "StdioTransport._read_stdout() 异步方法", + "tags": [ + "StdioTransport", + "_read_stdout" + ], + "complexity": "simple" + }, + { + "id": "func:StdioTransport._read_stderr", + "type": "function", + "name": "_read_stderr", + "filePath": "src/agentkit/mcp/transport.py", + "layer": "utility", + "summary": "StdioTransport._read_stderr() 异步方法", + "tags": [ + "StdioTransport", + "_read_stderr" + ], + "complexity": "simple" + }, + { + "id": "class:KBAdapter", + "type": "class", + "name": "KBAdapter", + "filePath": "src/agentkit/memory/adapters/base.py", + "layer": "data", + "summary": "知识库适配器抽象基类", + "tags": [ + "KBAdapter" + ], + "complexity": "complex" + }, + { + "id": "func:KBAdapter.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/memory/adapters/base.py", + "layer": "data", + "summary": "KBAdapter.__init__(source_id, source_name, source_type, timeout) 方法", + "tags": [ + "KBAdapter", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:KBAdapter.source_id", + "type": "function", + "name": "source_id", + "filePath": "src/agentkit/memory/adapters/base.py", + "layer": "data", + "summary": "KBAdapter.source_id() 方法", + "tags": [ + "KBAdapter", + "source_id" + ], + "complexity": "simple" + }, + { + "id": "func:KBAdapter.source_name", + "type": "function", + "name": "source_name", + "filePath": "src/agentkit/memory/adapters/base.py", + "layer": "data", + "summary": "KBAdapter.source_name() 方法", + "tags": [ + "KBAdapter", + "source_name" + ], + "complexity": "simple" + }, + { + "id": "func:KBAdapter.source_type", + "type": "function", + "name": "source_type", + "filePath": "src/agentkit/memory/adapters/base.py", + "layer": "data", + "summary": "KBAdapter.source_type() 方法", + "tags": [ + "KBAdapter", + "source_type" + ], + "complexity": "simple" + }, + { + "id": "func:KBAdapter._get_client", + "type": "function", + "name": "_get_client", + "filePath": "src/agentkit/memory/adapters/base.py", + "layer": "data", + "summary": "KBAdapter._get_client() 方法", + "tags": [ + "KBAdapter", + "_get_client" + ], + "complexity": "simple" + }, + { + "id": "func:KBAdapter._make_client", + "type": "function", + "name": "_make_client", + "filePath": "src/agentkit/memory/adapters/base.py", + "layer": "data", + "summary": "KBAdapter._make_client() 方法", + "tags": [ + "KBAdapter", + "_make_client" + ], + "complexity": "simple" + }, + { + "id": "func:KBAdapter.ingest", + "type": "function", + "name": "ingest", + "filePath": "src/agentkit/memory/adapters/base.py", + "layer": "data", + "summary": "KBAdapter.ingest(documents) 异步方法", + "tags": [ + "KBAdapter", + "ingest" + ], + "complexity": "simple" + }, + { + "id": "func:KBAdapter._ingest_one", + "type": "function", + "name": "_ingest_one", + "filePath": "src/agentkit/memory/adapters/base.py", + "layer": "data", + "summary": "KBAdapter._ingest_one(document) 异步方法", + "tags": [ + "KBAdapter", + "_ingest_one" + ], + "complexity": "simple" + }, + { + "id": "func:KBAdapter.query", + "type": "function", + "name": "query", + "filePath": "src/agentkit/memory/adapters/base.py", + "layer": "data", + "summary": "KBAdapter.query(text, top_k) 异步方法", + "tags": [ + "KBAdapter", + "query" + ], + "complexity": "simple" + }, + { + "id": "func:KBAdapter.delete_by_id", + "type": "function", + "name": "delete_by_id", + "filePath": "src/agentkit/memory/adapters/base.py", + "layer": "data", + "summary": "KBAdapter.delete_by_id(id) 异步方法", + "tags": [ + "KBAdapter", + "delete_by_id" + ], + "complexity": "simple" + }, + { + "id": "func:KBAdapter.list_sources", + "type": "function", + "name": "list_sources", + "filePath": "src/agentkit/memory/adapters/base.py", + "layer": "data", + "summary": "KBAdapter.list_sources() 异步方法", + "tags": [ + "KBAdapter", + "list_sources" + ], + "complexity": "simple" + }, + { + "id": "func:KBAdapter.health_check", + "type": "function", + "name": "health_check", + "filePath": "src/agentkit/memory/adapters/base.py", + "layer": "data", + "summary": "KBAdapter.health_check() 异步方法", + "tags": [ + "KBAdapter", + "health_check" + ], + "complexity": "simple" + }, + { + "id": "func:KBAdapter.search", + "type": "function", + "name": "search", + "filePath": "src/agentkit/memory/adapters/base.py", + "layer": "data", + "summary": "KBAdapter.search(query, top_k) 异步方法", + "tags": [ + "KBAdapter", + "search" + ], + "complexity": "simple" + }, + { + "id": "func:KBAdapter.get_document", + "type": "function", + "name": "get_document", + "filePath": "src/agentkit/memory/adapters/base.py", + "layer": "data", + "summary": "KBAdapter.get_document(doc_id) 异步方法", + "tags": [ + "KBAdapter", + "get_document" + ], + "complexity": "simple" + }, + { + "id": "func:KBAdapter.authenticate", + "type": "function", + "name": "authenticate", + "filePath": "src/agentkit/memory/adapters/base.py", + "layer": "data", + "summary": "KBAdapter.authenticate() 异步方法", + "tags": [ + "KBAdapter", + "authenticate" + ], + "complexity": "simple" + }, + { + "id": "func:KBAdapter.close", + "type": "function", + "name": "close", + "filePath": "src/agentkit/memory/adapters/base.py", + "layer": "data", + "summary": "KBAdapter.close() 异步方法", + "tags": [ + "KBAdapter", + "close" + ], + "complexity": "simple" + }, + { + "id": "func:KBAdapter.__aenter__", + "type": "function", + "name": "__aenter__", + "filePath": "src/agentkit/memory/adapters/base.py", + "layer": "data", + "summary": "KBAdapter.__aenter__() 异步方法", + "tags": [ + "KBAdapter", + "__aenter__" + ], + "complexity": "simple" + }, + { + "id": "func:KBAdapter.__aexit__", + "type": "function", + "name": "__aexit__", + "filePath": "src/agentkit/memory/adapters/base.py", + "layer": "data", + "summary": "KBAdapter.__aexit__() 异步方法", + "tags": [ + "KBAdapter", + "__aexit__" + ], + "complexity": "simple" + }, + { + "id": "class:ConfluenceAdapter", + "type": "class", + "name": "ConfluenceAdapter", + "filePath": "src/agentkit/memory/adapters/confluence.py", + "layer": "data", + "summary": "Confluence 知识库适配器", + "tags": [ + "ConfluenceAdapter" + ], + "complexity": "moderate" + }, + { + "id": "func:ConfluenceAdapter.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/memory/adapters/confluence.py", + "layer": "data", + "summary": "ConfluenceAdapter.__init__(base_url, username, api_token, space_keys, timeout) 方法", + "tags": [ + "ConfluenceAdapter", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:ConfluenceAdapter._make_client", + "type": "function", + "name": "_make_client", + "filePath": "src/agentkit/memory/adapters/confluence.py", + "layer": "data", + "summary": "ConfluenceAdapter._make_client() 方法", + "tags": [ + "ConfluenceAdapter", + "_make_client" + ], + "complexity": "simple" + }, + { + "id": "func:ConfluenceAdapter.authenticate", + "type": "function", + "name": "authenticate", + "filePath": "src/agentkit/memory/adapters/confluence.py", + "layer": "data", + "summary": "ConfluenceAdapter.authenticate() 异步方法", + "tags": [ + "ConfluenceAdapter", + "authenticate" + ], + "complexity": "simple" + }, + { + "id": "func:ConfluenceAdapter.search", + "type": "function", + "name": "search", + "filePath": "src/agentkit/memory/adapters/confluence.py", + "layer": "data", + "summary": "ConfluenceAdapter.search(query, top_k) 异步方法", + "tags": [ + "ConfluenceAdapter", + "search" + ], + "complexity": "simple" + }, + { + "id": "func:ConfluenceAdapter.get_document", + "type": "function", + "name": "get_document", + "filePath": "src/agentkit/memory/adapters/confluence.py", + "layer": "data", + "summary": "ConfluenceAdapter.get_document(doc_id) 异步方法", + "tags": [ + "ConfluenceAdapter", + "get_document" + ], + "complexity": "simple" + }, + { + "id": "func:ConfluenceAdapter.list_sources", + "type": "function", + "name": "list_sources", + "filePath": "src/agentkit/memory/adapters/confluence.py", + "layer": "data", + "summary": "ConfluenceAdapter.list_sources() 异步方法", + "tags": [ + "ConfluenceAdapter", + "list_sources" + ], + "complexity": "simple" + }, + { + "id": "func:ConfluenceAdapter.health_check", + "type": "function", + "name": "health_check", + "filePath": "src/agentkit/memory/adapters/confluence.py", + "layer": "data", + "summary": "ConfluenceAdapter.health_check() 异步方法", + "tags": [ + "ConfluenceAdapter", + "health_check" + ], + "complexity": "simple" + }, + { + "id": "class:FeishuKBAdapter", + "type": "class", + "name": "FeishuKBAdapter", + "filePath": "src/agentkit/memory/adapters/feishu.py", + "layer": "data", + "summary": "飞书知识库适配器", + "tags": [ + "FeishuKBAdapter" + ], + "complexity": "moderate" + }, + { + "id": "func:FeishuKBAdapter.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/memory/adapters/feishu.py", + "layer": "data", + "summary": "FeishuKBAdapter.__init__(app_id, app_secret, base_url, space_ids, timeout) 方法", + "tags": [ + "FeishuKBAdapter", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:FeishuKBAdapter._make_client", + "type": "function", + "name": "_make_client", + "filePath": "src/agentkit/memory/adapters/feishu.py", + "layer": "data", + "summary": "FeishuKBAdapter._make_client() 方法", + "tags": [ + "FeishuKBAdapter", + "_make_client" + ], + "complexity": "simple" + }, + { + "id": "func:FeishuKBAdapter._get_access_token", + "type": "function", + "name": "_get_access_token", + "filePath": "src/agentkit/memory/adapters/feishu.py", + "layer": "data", + "summary": "FeishuKBAdapter._get_access_token() 异步方法", + "tags": [ + "FeishuKBAdapter", + "_get_access_token" + ], + "complexity": "simple" + }, + { + "id": "func:FeishuKBAdapter.authenticate", + "type": "function", + "name": "authenticate", + "filePath": "src/agentkit/memory/adapters/feishu.py", + "layer": "data", + "summary": "FeishuKBAdapter.authenticate() 异步方法", + "tags": [ + "FeishuKBAdapter", + "authenticate" + ], + "complexity": "simple" + }, + { + "id": "func:FeishuKBAdapter.search", + "type": "function", + "name": "search", + "filePath": "src/agentkit/memory/adapters/feishu.py", + "layer": "data", + "summary": "FeishuKBAdapter.search(query, top_k) 异步方法", + "tags": [ + "FeishuKBAdapter", + "search" + ], + "complexity": "simple" + }, + { + "id": "func:FeishuKBAdapter.get_document", + "type": "function", + "name": "get_document", + "filePath": "src/agentkit/memory/adapters/feishu.py", + "layer": "data", + "summary": "FeishuKBAdapter.get_document(doc_id) 异步方法", + "tags": [ + "FeishuKBAdapter", + "get_document" + ], + "complexity": "simple" + }, + { + "id": "func:FeishuKBAdapter.list_sources", + "type": "function", + "name": "list_sources", + "filePath": "src/agentkit/memory/adapters/feishu.py", + "layer": "data", + "summary": "FeishuKBAdapter.list_sources() 异步方法", + "tags": [ + "FeishuKBAdapter", + "list_sources" + ], + "complexity": "simple" + }, + { + "id": "func:FeishuKBAdapter.health_check", + "type": "function", + "name": "health_check", + "filePath": "src/agentkit/memory/adapters/feishu.py", + "layer": "data", + "summary": "FeishuKBAdapter.health_check() 异步方法", + "tags": [ + "FeishuKBAdapter", + "health_check" + ], + "complexity": "simple" + }, + { + "id": "class:GenericHTTPAdapter", + "type": "class", + "name": "GenericHTTPAdapter", + "filePath": "src/agentkit/memory/adapters/generic_http.py", + "layer": "data", + "summary": "通用 HTTP 知识库适配器", + "tags": [ + "GenericHTTPAdapter" + ], + "complexity": "complex" + }, + { + "id": "func:GenericHTTPAdapter.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/memory/adapters/generic_http.py", + "layer": "data", + "summary": "GenericHTTPAdapter.__init__(endpoint_url, auth_config, headers, source_id, source_name, timeout) 方法", + "tags": [ + "GenericHTTPAdapter", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:GenericHTTPAdapter._make_client", + "type": "function", + "name": "_make_client", + "filePath": "src/agentkit/memory/adapters/generic_http.py", + "layer": "data", + "summary": "GenericHTTPAdapter._make_client() 方法", + "tags": [ + "GenericHTTPAdapter", + "_make_client" + ], + "complexity": "simple" + }, + { + "id": "func:GenericHTTPAdapter.search", + "type": "function", + "name": "search", + "filePath": "src/agentkit/memory/adapters/generic_http.py", + "layer": "data", + "summary": "GenericHTTPAdapter.search(query, top_k) 异步方法", + "tags": [ + "GenericHTTPAdapter", + "search" + ], + "complexity": "simple" + }, + { + "id": "func:GenericHTTPAdapter.ingest", + "type": "function", + "name": "ingest", + "filePath": "src/agentkit/memory/adapters/generic_http.py", + "layer": "data", + "summary": "GenericHTTPAdapter.ingest(documents) 异步方法", + "tags": [ + "GenericHTTPAdapter", + "ingest" + ], + "complexity": "simple" + }, + { + "id": "func:GenericHTTPAdapter.delete_by_id", + "type": "function", + "name": "delete_by_id", + "filePath": "src/agentkit/memory/adapters/generic_http.py", + "layer": "data", + "summary": "GenericHTTPAdapter.delete_by_id(id) 异步方法", + "tags": [ + "GenericHTTPAdapter", + "delete_by_id" + ], + "complexity": "simple" + }, + { + "id": "func:GenericHTTPAdapter.get_document", + "type": "function", + "name": "get_document", + "filePath": "src/agentkit/memory/adapters/generic_http.py", + "layer": "data", + "summary": "GenericHTTPAdapter.get_document(doc_id) 异步方法", + "tags": [ + "GenericHTTPAdapter", + "get_document" + ], + "complexity": "simple" + }, + { + "id": "func:GenericHTTPAdapter.list_sources", + "type": "function", + "name": "list_sources", + "filePath": "src/agentkit/memory/adapters/generic_http.py", + "layer": "data", + "summary": "GenericHTTPAdapter.list_sources() 异步方法", + "tags": [ + "GenericHTTPAdapter", + "list_sources" + ], + "complexity": "simple" + }, + { + "id": "func:GenericHTTPAdapter.health_check", + "type": "function", + "name": "health_check", + "filePath": "src/agentkit/memory/adapters/generic_http.py", + "layer": "data", + "summary": "GenericHTTPAdapter.health_check() 异步方法", + "tags": [ + "GenericHTTPAdapter", + "health_check" + ], + "complexity": "simple" + }, + { + "id": "func:GenericHTTPAdapter.authenticate", + "type": "function", + "name": "authenticate", + "filePath": "src/agentkit/memory/adapters/generic_http.py", + "layer": "data", + "summary": "GenericHTTPAdapter.authenticate() 异步方法", + "tags": [ + "GenericHTTPAdapter", + "authenticate" + ], + "complexity": "simple" + }, + { + "id": "class:MemoryItem", + "type": "class", + "name": "MemoryItem", + "filePath": "src/agentkit/memory/base.py", + "layer": "data", + "summary": "记忆条目", + "tags": [ + "MemoryItem" + ], + "complexity": "simple" + }, + { + "id": "func:MemoryItem.to_dict", + "type": "function", + "name": "to_dict", + "filePath": "src/agentkit/memory/base.py", + "layer": "data", + "summary": "MemoryItem.to_dict() 方法", + "tags": [ + "MemoryItem", + "to_dict" + ], + "complexity": "simple" + }, + { + "id": "class:Memory", + "type": "class", + "name": "Memory", + "filePath": "src/agentkit/memory/base.py", + "layer": "data", + "summary": "记忆抽象基类", + "tags": [ + "Memory" + ], + "complexity": "moderate" + }, + { + "id": "func:Memory.store", + "type": "function", + "name": "store", + "filePath": "src/agentkit/memory/base.py", + "layer": "data", + "summary": "Memory.store(key, value, metadata) 异步方法", + "tags": [ + "Memory", + "store" + ], + "complexity": "simple" + }, + { + "id": "func:Memory.retrieve", + "type": "function", + "name": "retrieve", + "filePath": "src/agentkit/memory/base.py", + "layer": "data", + "summary": "Memory.retrieve(key) 异步方法", + "tags": [ + "Memory", + "retrieve" + ], + "complexity": "simple" + }, + { + "id": "func:Memory.search", + "type": "function", + "name": "search", + "filePath": "src/agentkit/memory/base.py", + "layer": "data", + "summary": "Memory.search(query, top_k, filters) 异步方法", + "tags": [ + "Memory", + "search" + ], + "complexity": "simple" + }, + { + "id": "func:Memory.delete", + "type": "function", + "name": "delete", + "filePath": "src/agentkit/memory/base.py", + "layer": "data", + "summary": "Memory.delete(key) 异步方法", + "tags": [ + "Memory", + "delete" + ], + "complexity": "simple" + }, + { + "id": "func:Memory.store_batch", + "type": "function", + "name": "store_batch", + "filePath": "src/agentkit/memory/base.py", + "layer": "data", + "summary": "Memory.store_batch(items) 异步方法", + "tags": [ + "Memory", + "store_batch" + ], + "complexity": "simple" + }, + { + "id": "func:Memory.get_context", + "type": "function", + "name": "get_context", + "filePath": "src/agentkit/memory/base.py", + "layer": "data", + "summary": "Memory.get_context(query, token_budget) 异步方法", + "tags": [ + "Memory", + "get_context" + ], + "complexity": "simple" + }, + { + "id": "class:Chunk", + "type": "class", + "name": "Chunk", + "filePath": "src/agentkit/memory/chunking.py", + "layer": "data", + "summary": "文档分块", + "tags": [ + "Chunk" + ], + "complexity": "simple" + }, + { + "id": "func:Chunk.__post_init__", + "type": "function", + "name": "__post_init__", + "filePath": "src/agentkit/memory/chunking.py", + "layer": "data", + "summary": "Chunk.__post_init__() 方法", + "tags": [ + "Chunk", + "__post_init__" + ], + "complexity": "simple" + }, + { + "id": "func:Chunk.to_dict", + "type": "function", + "name": "to_dict", + "filePath": "src/agentkit/memory/chunking.py", + "layer": "data", + "summary": "Chunk.to_dict() 方法", + "tags": [ + "Chunk", + "to_dict" + ], + "complexity": "simple" + }, + { + "id": "class:TextChunker", + "type": "class", + "name": "TextChunker", + "filePath": "src/agentkit/memory/chunking.py", + "layer": "data", + "summary": "按字符数分块,带重叠", + "tags": [ + "TextChunker" + ], + "complexity": "moderate" + }, + { + "id": "func:TextChunker.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/memory/chunking.py", + "layer": "data", + "summary": "TextChunker.__init__(chunk_size, chunk_overlap, separator) 方法", + "tags": [ + "TextChunker", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:TextChunker.chunk", + "type": "function", + "name": "chunk", + "filePath": "src/agentkit/memory/chunking.py", + "layer": "data", + "summary": "TextChunker.chunk(text, source_doc_id, metadata) 方法", + "tags": [ + "TextChunker", + "chunk" + ], + "complexity": "simple" + }, + { + "id": "func:TextChunker._split_by_separator", + "type": "function", + "name": "_split_by_separator", + "filePath": "src/agentkit/memory/chunking.py", + "layer": "data", + "summary": "TextChunker._split_by_separator(text) 方法", + "tags": [ + "TextChunker", + "_split_by_separator" + ], + "complexity": "simple" + }, + { + "id": "func:TextChunker._merge_and_split", + "type": "function", + "name": "_merge_and_split", + "filePath": "src/agentkit/memory/chunking.py", + "layer": "data", + "summary": "TextChunker._merge_and_split(segments) 方法", + "tags": [ + "TextChunker", + "_merge_and_split" + ], + "complexity": "simple" + }, + { + "id": "func:TextChunker._split_large_segment", + "type": "function", + "name": "_split_large_segment", + "filePath": "src/agentkit/memory/chunking.py", + "layer": "data", + "summary": "TextChunker._split_large_segment(segment) 方法", + "tags": [ + "TextChunker", + "_split_large_segment" + ], + "complexity": "simple" + }, + { + "id": "func:TextChunker._get_overlap_segments", + "type": "function", + "name": "_get_overlap_segments", + "filePath": "src/agentkit/memory/chunking.py", + "layer": "data", + "summary": "TextChunker._get_overlap_segments(overlap_text, segments) 方法", + "tags": [ + "TextChunker", + "_get_overlap_segments" + ], + "complexity": "simple" + }, + { + "id": "class:StructuralChunker", + "type": "class", + "name": "StructuralChunker", + "filePath": "src/agentkit/memory/chunking.py", + "layer": "data", + "summary": "按文档结构分块", + "tags": [ + "StructuralChunker" + ], + "complexity": "simple" + }, + { + "id": "func:StructuralChunker.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/memory/chunking.py", + "layer": "data", + "summary": "StructuralChunker.__init__(chunk_size, chunk_overlap, heading_levels) 方法", + "tags": [ + "StructuralChunker", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:StructuralChunker.chunk", + "type": "function", + "name": "chunk", + "filePath": "src/agentkit/memory/chunking.py", + "layer": "data", + "summary": "StructuralChunker.chunk(text, source_doc_id, metadata) 方法", + "tags": [ + "StructuralChunker", + "chunk" + ], + "complexity": "simple" + }, + { + "id": "func:StructuralChunker._split_by_headings", + "type": "function", + "name": "_split_by_headings", + "filePath": "src/agentkit/memory/chunking.py", + "layer": "data", + "summary": "StructuralChunker._split_by_headings(text) 方法", + "tags": [ + "StructuralChunker", + "_split_by_headings" + ], + "complexity": "simple" + }, + { + "id": "class:ContextualChunk", + "type": "class", + "name": "ContextualChunk", + "filePath": "src/agentkit/memory/contextual_retrieval.py", + "layer": "data", + "summary": "带上下文前缀的文档块", + "tags": [ + "ContextualChunk" + ], + "complexity": "simple" + }, + { + "id": "func:ContextualChunk.content", + "type": "function", + "name": "content", + "filePath": "src/agentkit/memory/contextual_retrieval.py", + "layer": "data", + "summary": "ContextualChunk.content() 方法", + "tags": [ + "ContextualChunk", + "content" + ], + "complexity": "simple" + }, + { + "id": "class:ContextualChunker", + "type": "class", + "name": "ContextualChunker", + "filePath": "src/agentkit/memory/contextual_retrieval.py", + "layer": "data", + "summary": "上下文增强分块器", + "tags": [ + "ContextualChunker" + ], + "complexity": "moderate" + }, + { + "id": "func:ContextualChunker.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/memory/contextual_retrieval.py", + "layer": "data", + "summary": "ContextualChunker.__init__(llm_gateway, cache, batch_size, max_context_length, prompt_template) 方法", + "tags": [ + "ContextualChunker", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:ContextualChunker.enhance_chunks", + "type": "function", + "name": "enhance_chunks", + "filePath": "src/agentkit/memory/contextual_retrieval.py", + "layer": "data", + "summary": "ContextualChunker.enhance_chunks(document, chunks, metadata) 异步方法", + "tags": [ + "ContextualChunker", + "enhance_chunks" + ], + "complexity": "simple" + }, + { + "id": "func:ContextualChunker._process_batch", + "type": "function", + "name": "_process_batch", + "filePath": "src/agentkit/memory/contextual_retrieval.py", + "layer": "data", + "summary": "ContextualChunker._process_batch(document, chunks, start_index, metadata) 异步方法", + "tags": [ + "ContextualChunker", + "_process_batch" + ], + "complexity": "simple" + }, + { + "id": "func:ContextualChunker._generate_context", + "type": "function", + "name": "_generate_context", + "filePath": "src/agentkit/memory/contextual_retrieval.py", + "layer": "data", + "summary": "ContextualChunker._generate_context(document, chunk) 异步方法", + "tags": [ + "ContextualChunker", + "_generate_context" + ], + "complexity": "simple" + }, + { + "id": "func:ContextualChunker._make_cache_key", + "type": "function", + "name": "_make_cache_key", + "filePath": "src/agentkit/memory/contextual_retrieval.py", + "layer": "data", + "summary": "ContextualChunker._make_cache_key(document, chunk) 方法", + "tags": [ + "ContextualChunker", + "_make_cache_key" + ], + "complexity": "simple" + }, + { + "id": "func:ContextualChunker.clear_cache", + "type": "function", + "name": "clear_cache", + "filePath": "src/agentkit/memory/contextual_retrieval.py", + "layer": "data", + "summary": "ContextualChunker.clear_cache() 方法", + "tags": [ + "ContextualChunker", + "clear_cache" + ], + "complexity": "simple" + }, + { + "id": "class:Document", + "type": "class", + "name": "Document", + "filePath": "src/agentkit/memory/document_loader.py", + "layer": "data", + "summary": "解析后的文档统一格式", + "tags": [ + "Document" + ], + "complexity": "simple" + }, + { + "id": "func:Document.__post_init__", + "type": "function", + "name": "__post_init__", + "filePath": "src/agentkit/memory/document_loader.py", + "layer": "data", + "summary": "Document.__post_init__() 方法", + "tags": [ + "Document", + "__post_init__" + ], + "complexity": "simple" + }, + { + "id": "func:Document.to_dict", + "type": "function", + "name": "to_dict", + "filePath": "src/agentkit/memory/document_loader.py", + "layer": "data", + "summary": "Document.to_dict() 方法", + "tags": [ + "Document", + "to_dict" + ], + "complexity": "simple" + }, + { + "id": "class:DocumentLoader", + "type": "class", + "name": "DocumentLoader", + "filePath": "src/agentkit/memory/document_loader.py", + "layer": "data", + "summary": "多格式文档解析器", + "tags": [ + "DocumentLoader" + ], + "complexity": "moderate" + }, + { + "id": "func:DocumentLoader.load", + "type": "function", + "name": "load", + "filePath": "src/agentkit/memory/document_loader.py", + "layer": "data", + "summary": "DocumentLoader.load(file_path) 方法", + "tags": [ + "DocumentLoader", + "load" + ], + "complexity": "simple" + }, + { + "id": "func:DocumentLoader.load_bytes", + "type": "function", + "name": "load_bytes", + "filePath": "src/agentkit/memory/document_loader.py", + "layer": "data", + "summary": "DocumentLoader.load_bytes(content, filename) 方法", + "tags": [ + "DocumentLoader", + "load_bytes" + ], + "complexity": "simple" + }, + { + "id": "func:DocumentLoader._parse_pdf", + "type": "function", + "name": "_parse_pdf", + "filePath": "src/agentkit/memory/document_loader.py", + "layer": "data", + "summary": "DocumentLoader._parse_pdf(content, filename) 方法", + "tags": [ + "DocumentLoader", + "_parse_pdf" + ], + "complexity": "simple" + }, + { + "id": "func:DocumentLoader._parse_docx", + "type": "function", + "name": "_parse_docx", + "filePath": "src/agentkit/memory/document_loader.py", + "layer": "data", + "summary": "DocumentLoader._parse_docx(content, filename) 方法", + "tags": [ + "DocumentLoader", + "_parse_docx" + ], + "complexity": "simple" + }, + { + "id": "func:DocumentLoader._parse_markdown", + "type": "function", + "name": "_parse_markdown", + "filePath": "src/agentkit/memory/document_loader.py", + "layer": "data", + "summary": "DocumentLoader._parse_markdown(content, filename) 方法", + "tags": [ + "DocumentLoader", + "_parse_markdown" + ], + "complexity": "simple" + }, + { + "id": "func:DocumentLoader._parse_html", + "type": "function", + "name": "_parse_html", + "filePath": "src/agentkit/memory/document_loader.py", + "layer": "data", + "summary": "DocumentLoader._parse_html(content, filename) 方法", + "tags": [ + "DocumentLoader", + "_parse_html" + ], + "complexity": "simple" + }, + { + "id": "func:DocumentLoader._parse_text", + "type": "function", + "name": "_parse_text", + "filePath": "src/agentkit/memory/document_loader.py", + "layer": "data", + "summary": "DocumentLoader._parse_text(content, filename) 方法", + "tags": [ + "DocumentLoader", + "_parse_text" + ], + "complexity": "simple" + }, + { + "id": "class:EmbeddingCache", + "type": "class", + "name": "EmbeddingCache", + "filePath": "src/agentkit/memory/embedder.py", + "layer": "data", + "summary": "LRU cache for embedding vectors with TTL support.", + "tags": [ + "EmbeddingCache" + ], + "complexity": "moderate" + }, + { + "id": "func:EmbeddingCache.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/memory/embedder.py", + "layer": "data", + "summary": "EmbeddingCache.__init__(max_size, ttl) 方法", + "tags": [ + "EmbeddingCache", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:EmbeddingCache._make_key", + "type": "function", + "name": "_make_key", + "filePath": "src/agentkit/memory/embedder.py", + "layer": "data", + "summary": "EmbeddingCache._make_key(text) 方法", + "tags": [ + "EmbeddingCache", + "_make_key" + ], + "complexity": "simple" + }, + { + "id": "func:EmbeddingCache.get", + "type": "function", + "name": "get", + "filePath": "src/agentkit/memory/embedder.py", + "layer": "data", + "summary": "EmbeddingCache.get(text) 方法", + "tags": [ + "EmbeddingCache", + "get" + ], + "complexity": "simple" + }, + { + "id": "func:EmbeddingCache.put", + "type": "function", + "name": "put", + "filePath": "src/agentkit/memory/embedder.py", + "layer": "data", + "summary": "EmbeddingCache.put(text, embedding) 方法", + "tags": [ + "EmbeddingCache", + "put" + ], + "complexity": "simple" + }, + { + "id": "func:EmbeddingCache.clear", + "type": "function", + "name": "clear", + "filePath": "src/agentkit/memory/embedder.py", + "layer": "data", + "summary": "EmbeddingCache.clear() 方法", + "tags": [ + "EmbeddingCache", + "clear" + ], + "complexity": "simple" + }, + { + "id": "class:Embedder", + "type": "class", + "name": "Embedder", + "filePath": "src/agentkit/memory/embedder.py", + "layer": "data", + "summary": "文本嵌入抽象基类", + "tags": [ + "Embedder" + ], + "complexity": "simple" + }, + { + "id": "func:Embedder.embed", + "type": "function", + "name": "embed", + "filePath": "src/agentkit/memory/embedder.py", + "layer": "data", + "summary": "Embedder.embed(text) 异步方法", + "tags": [ + "Embedder", + "embed" + ], + "complexity": "simple" + }, + { + "id": "func:Embedder.get_dimension", + "type": "function", + "name": "get_dimension", + "filePath": "src/agentkit/memory/embedder.py", + "layer": "data", + "summary": "Embedder.get_dimension() 方法", + "tags": [ + "Embedder", + "get_dimension" + ], + "complexity": "simple" + }, + { + "id": "class:OpenAIEmbedder", + "type": "class", + "name": "OpenAIEmbedder", + "filePath": "src/agentkit/memory/embedder.py", + "layer": "data", + "summary": "OpenAI Embeddings API 实现", + "tags": [ + "OpenAIEmbedder" + ], + "complexity": "moderate" + }, + { + "id": "func:OpenAIEmbedder.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/memory/embedder.py", + "layer": "data", + "summary": "OpenAIEmbedder.__init__(api_key, model, base_url, cache) 方法", + "tags": [ + "OpenAIEmbedder", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:OpenAIEmbedder._get_client", + "type": "function", + "name": "_get_client", + "filePath": "src/agentkit/memory/embedder.py", + "layer": "data", + "summary": "OpenAIEmbedder._get_client() 方法", + "tags": [ + "OpenAIEmbedder", + "_get_client" + ], + "complexity": "simple" + }, + { + "id": "func:OpenAIEmbedder.aclose", + "type": "function", + "name": "aclose", + "filePath": "src/agentkit/memory/embedder.py", + "layer": "data", + "summary": "OpenAIEmbedder.aclose() 异步方法", + "tags": [ + "OpenAIEmbedder", + "aclose" + ], + "complexity": "simple" + }, + { + "id": "func:OpenAIEmbedder.__aenter__", + "type": "function", + "name": "__aenter__", + "filePath": "src/agentkit/memory/embedder.py", + "layer": "data", + "summary": "OpenAIEmbedder.__aenter__() 异步方法", + "tags": [ + "OpenAIEmbedder", + "__aenter__" + ], + "complexity": "simple" + }, + { + "id": "func:OpenAIEmbedder.__aexit__", + "type": "function", + "name": "__aexit__", + "filePath": "src/agentkit/memory/embedder.py", + "layer": "data", + "summary": "OpenAIEmbedder.__aexit__(exc_type, exc_val, exc_tb) 异步方法", + "tags": [ + "OpenAIEmbedder", + "__aexit__" + ], + "complexity": "simple" + }, + { + "id": "func:OpenAIEmbedder.embed", + "type": "function", + "name": "embed", + "filePath": "src/agentkit/memory/embedder.py", + "layer": "data", + "summary": "OpenAIEmbedder.embed(text) 异步方法", + "tags": [ + "OpenAIEmbedder", + "embed" + ], + "complexity": "simple" + }, + { + "id": "func:OpenAIEmbedder.get_dimension", + "type": "function", + "name": "get_dimension", + "filePath": "src/agentkit/memory/embedder.py", + "layer": "data", + "summary": "OpenAIEmbedder.get_dimension() 方法", + "tags": [ + "OpenAIEmbedder", + "get_dimension" + ], + "complexity": "simple" + }, + { + "id": "class:MockEmbedder", + "type": "class", + "name": "MockEmbedder", + "filePath": "src/agentkit/memory/embedder.py", + "layer": "data", + "summary": "Mock Embedder - 生成确定性伪嵌入向量,用于测试", + "tags": [ + "MockEmbedder" + ], + "complexity": "simple" + }, + { + "id": "func:MockEmbedder.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/memory/embedder.py", + "layer": "data", + "summary": "MockEmbedder.__init__(dimension) 方法", + "tags": [ + "MockEmbedder", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:MockEmbedder.embed", + "type": "function", + "name": "embed", + "filePath": "src/agentkit/memory/embedder.py", + "layer": "data", + "summary": "MockEmbedder.embed(text) 异步方法", + "tags": [ + "MockEmbedder", + "embed" + ], + "complexity": "simple" + }, + { + "id": "func:MockEmbedder.get_dimension", + "type": "function", + "name": "get_dimension", + "filePath": "src/agentkit/memory/embedder.py", + "layer": "data", + "summary": "MockEmbedder.get_dimension() 方法", + "tags": [ + "MockEmbedder", + "get_dimension" + ], + "complexity": "simple" + }, + { + "id": "class:EpisodicMemory", + "type": "class", + "name": "EpisodicMemory", + "filePath": "src/agentkit/memory/episodic.py", + "layer": "data", + "summary": "Episodic Memory - 记录每次任务的输入/输出/效果/反思", + "tags": [ + "EpisodicMemory" + ], + "complexity": "complex" + }, + { + "id": "func:EpisodicMemory.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/memory/episodic.py", + "layer": "data", + "summary": "EpisodicMemory.__init__(session_factory, episodic_model, embedder, decay_rate, alpha, retrieve_limit, pgvector_enabled, table_name) 方法", + "tags": [ + "EpisodicMemory", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:EpisodicMemory.store", + "type": "function", + "name": "store", + "filePath": "src/agentkit/memory/episodic.py", + "layer": "data", + "summary": "EpisodicMemory.store(key, value, metadata) 异步方法", + "tags": [ + "EpisodicMemory", + "store" + ], + "complexity": "simple" + }, + { + "id": "func:EpisodicMemory.retrieve", + "type": "function", + "name": "retrieve", + "filePath": "src/agentkit/memory/episodic.py", + "layer": "data", + "summary": "EpisodicMemory.retrieve(key) 异步方法", + "tags": [ + "EpisodicMemory", + "retrieve" + ], + "complexity": "simple" + }, + { + "id": "func:EpisodicMemory._retrieve_pgvector", + "type": "function", + "name": "_retrieve_pgvector", + "filePath": "src/agentkit/memory/episodic.py", + "layer": "data", + "summary": "EpisodicMemory._retrieve_pgvector(db, query_embedding) 异步方法", + "tags": [ + "EpisodicMemory", + "_retrieve_pgvector" + ], + "complexity": "simple" + }, + { + "id": "func:EpisodicMemory._retrieve_client_side", + "type": "function", + "name": "_retrieve_client_side", + "filePath": "src/agentkit/memory/episodic.py", + "layer": "data", + "summary": "EpisodicMemory._retrieve_client_side(db, query_embedding) 异步方法", + "tags": [ + "EpisodicMemory", + "_retrieve_client_side" + ], + "complexity": "simple" + }, + { + "id": "func:EpisodicMemory.search", + "type": "function", + "name": "search", + "filePath": "src/agentkit/memory/episodic.py", + "layer": "data", + "summary": "EpisodicMemory.search(query, top_k, filters, search_multiplier) 异步方法", + "tags": [ + "EpisodicMemory", + "search" + ], + "complexity": "simple" + }, + { + "id": "func:EpisodicMemory._search_pgvector", + "type": "function", + "name": "_search_pgvector", + "filePath": "src/agentkit/memory/episodic.py", + "layer": "data", + "summary": "EpisodicMemory._search_pgvector(db, query, top_k, filters, search_multiplier) 异步方法", + "tags": [ + "EpisodicMemory", + "_search_pgvector" + ], + "complexity": "simple" + }, + { + "id": "func:EpisodicMemory._search_client_side", + "type": "function", + "name": "_search_client_side", + "filePath": "src/agentkit/memory/episodic.py", + "layer": "data", + "summary": "EpisodicMemory._search_client_side(db, query, top_k, filters, search_multiplier) 异步方法", + "tags": [ + "EpisodicMemory", + "_search_client_side" + ], + "complexity": "simple" + }, + { + "id": "func:EpisodicMemory.delete", + "type": "function", + "name": "delete", + "filePath": "src/agentkit/memory/episodic.py", + "layer": "data", + "summary": "EpisodicMemory.delete(key) 异步方法", + "tags": [ + "EpisodicMemory", + "delete" + ], + "complexity": "simple" + }, + { + "id": "class:HttpRAGService", + "type": "class", + "name": "HttpRAGService", + "filePath": "src/agentkit/memory/http_rag.py", + "layer": "data", + "summary": "HTTP 客户端,调用业务系统的知识库检索 API", + "tags": [ + "HttpRAGService" + ], + "complexity": "complex" + }, + { + "id": "func:HttpRAGService.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/memory/http_rag.py", + "layer": "data", + "summary": "HttpRAGService.__init__(base_url, api_key, knowledge_base_ids, timeout, contextual_chunking, llm_gateway) 方法", + "tags": [ + "HttpRAGService", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:HttpRAGService._get_client", + "type": "function", + "name": "_get_client", + "filePath": "src/agentkit/memory/http_rag.py", + "layer": "data", + "summary": "HttpRAGService._get_client() 方法", + "tags": [ + "HttpRAGService", + "_get_client" + ], + "complexity": "simple" + }, + { + "id": "func:HttpRAGService.search", + "type": "function", + "name": "search", + "filePath": "src/agentkit/memory/http_rag.py", + "layer": "data", + "summary": "HttpRAGService.search(query, knowledge_base_ids, top_k) 异步方法", + "tags": [ + "HttpRAGService", + "search" + ], + "complexity": "simple" + }, + { + "id": "func:HttpRAGService.enhanced_search", + "type": "function", + "name": "enhanced_search", + "filePath": "src/agentkit/memory/http_rag.py", + "layer": "data", + "summary": "HttpRAGService.enhanced_search(query, knowledge_base_ids, top_k, use_rerank, use_compression) 异步方法", + "tags": [ + "HttpRAGService", + "enhanced_search" + ], + "complexity": "simple" + }, + { + "id": "func:HttpRAGService.ingest", + "type": "function", + "name": "ingest", + "filePath": "src/agentkit/memory/http_rag.py", + "layer": "data", + "summary": "HttpRAGService.ingest(key, value, metadata) 异步方法", + "tags": [ + "HttpRAGService", + "ingest" + ], + "complexity": "simple" + }, + { + "id": "func:HttpRAGService.health_check", + "type": "function", + "name": "health_check", + "filePath": "src/agentkit/memory/http_rag.py", + "layer": "data", + "summary": "HttpRAGService.health_check() 异步方法", + "tags": [ + "HttpRAGService", + "health_check" + ], + "complexity": "simple" + }, + { + "id": "func:HttpRAGService.close", + "type": "function", + "name": "close", + "filePath": "src/agentkit/memory/http_rag.py", + "layer": "data", + "summary": "HttpRAGService.close() 异步方法", + "tags": [ + "HttpRAGService", + "close" + ], + "complexity": "simple" + }, + { + "id": "func:HttpRAGService.__aenter__", + "type": "function", + "name": "__aenter__", + "filePath": "src/agentkit/memory/http_rag.py", + "layer": "data", + "summary": "HttpRAGService.__aenter__() 异步方法", + "tags": [ + "HttpRAGService", + "__aenter__" + ], + "complexity": "simple" + }, + { + "id": "func:HttpRAGService.__aexit__", + "type": "function", + "name": "__aexit__", + "filePath": "src/agentkit/memory/http_rag.py", + "layer": "data", + "summary": "HttpRAGService.__aexit__() 异步方法", + "tags": [ + "HttpRAGService", + "__aexit__" + ], + "complexity": "simple" + }, + { + "id": "class:Document", + "type": "class", + "name": "Document", + "filePath": "src/agentkit/memory/knowledge_base.py", + "layer": "data", + "summary": "知识库文档", + "tags": [ + "Document" + ], + "complexity": "simple" + }, + { + "id": "class:QueryResult", + "type": "class", + "name": "QueryResult", + "filePath": "src/agentkit/memory/knowledge_base.py", + "layer": "data", + "summary": "知识库检索结果", + "tags": [ + "QueryResult" + ], + "complexity": "simple" + }, + { + "id": "class:SourceInfo", + "type": "class", + "name": "SourceInfo", + "filePath": "src/agentkit/memory/knowledge_base.py", + "layer": "data", + "summary": "知识库信息源描述", + "tags": [ + "SourceInfo" + ], + "complexity": "simple" + }, + { + "id": "class:KnowledgeBase", + "type": "class", + "name": "KnowledgeBase", + "filePath": "src/agentkit/memory/knowledge_base.py", + "layer": "data", + "summary": "知识库协议 - 统一的外部知识库接口", + "tags": [ + "KnowledgeBase" + ], + "complexity": "moderate" + }, + { + "id": "func:KnowledgeBase.ingest", + "type": "function", + "name": "ingest", + "filePath": "src/agentkit/memory/knowledge_base.py", + "layer": "data", + "summary": "KnowledgeBase.ingest(documents) 异步方法", + "tags": [ + "KnowledgeBase", + "ingest" + ], + "complexity": "simple" + }, + { + "id": "func:KnowledgeBase.query", + "type": "function", + "name": "query", + "filePath": "src/agentkit/memory/knowledge_base.py", + "layer": "data", + "summary": "KnowledgeBase.query(text, top_k) 异步方法", + "tags": [ + "KnowledgeBase", + "query" + ], + "complexity": "simple" + }, + { + "id": "func:KnowledgeBase.delete_by_id", + "type": "function", + "name": "delete_by_id", + "filePath": "src/agentkit/memory/knowledge_base.py", + "layer": "data", + "summary": "KnowledgeBase.delete_by_id(id) 异步方法", + "tags": [ + "KnowledgeBase", + "delete_by_id" + ], + "complexity": "simple" + }, + { + "id": "func:KnowledgeBase.list_sources", + "type": "function", + "name": "list_sources", + "filePath": "src/agentkit/memory/knowledge_base.py", + "layer": "data", + "summary": "KnowledgeBase.list_sources() 异步方法", + "tags": [ + "KnowledgeBase", + "list_sources" + ], + "complexity": "simple" + }, + { + "id": "func:KnowledgeBase.health_check", + "type": "function", + "name": "health_check", + "filePath": "src/agentkit/memory/knowledge_base.py", + "layer": "data", + "summary": "KnowledgeBase.health_check() 异步方法", + "tags": [ + "KnowledgeBase", + "health_check" + ], + "complexity": "simple" + }, + { + "id": "class:LocalRAGService", + "type": "class", + "name": "LocalRAGService", + "filePath": "src/agentkit/memory/local_rag.py", + "layer": "data", + "summary": "基于 pgvector 的本地 RAG 服务", + "tags": [ + "LocalRAGService" + ], + "complexity": "complex" + }, + { + "id": "func:LocalRAGService.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/memory/local_rag.py", + "layer": "data", + "summary": "LocalRAGService.__init__(session_factory, embedder, chunk_size, chunk_overlap, table_name, pgvector_enabled) 方法", + "tags": [ + "LocalRAGService", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:LocalRAGService.ingest", + "type": "function", + "name": "ingest", + "filePath": "src/agentkit/memory/local_rag.py", + "layer": "data", + "summary": "LocalRAGService.ingest(documents) 异步方法", + "tags": [ + "LocalRAGService", + "ingest" + ], + "complexity": "simple" + }, + { + "id": "func:LocalRAGService.query", + "type": "function", + "name": "query", + "filePath": "src/agentkit/memory/local_rag.py", + "layer": "data", + "summary": "LocalRAGService.query(text, top_k) 异步方法", + "tags": [ + "LocalRAGService", + "query" + ], + "complexity": "simple" + }, + { + "id": "func:LocalRAGService.delete_by_id", + "type": "function", + "name": "delete_by_id", + "filePath": "src/agentkit/memory/local_rag.py", + "layer": "data", + "summary": "LocalRAGService.delete_by_id(id) 异步方法", + "tags": [ + "LocalRAGService", + "delete_by_id" + ], + "complexity": "simple" + }, + { + "id": "func:LocalRAGService.list_sources", + "type": "function", + "name": "list_sources", + "filePath": "src/agentkit/memory/local_rag.py", + "layer": "data", + "summary": "LocalRAGService.list_sources() 异步方法", + "tags": [ + "LocalRAGService", + "list_sources" + ], + "complexity": "simple" + }, + { + "id": "func:LocalRAGService.health_check", + "type": "function", + "name": "health_check", + "filePath": "src/agentkit/memory/local_rag.py", + "layer": "data", + "summary": "LocalRAGService.health_check() 异步方法", + "tags": [ + "LocalRAGService", + "health_check" + ], + "complexity": "simple" + }, + { + "id": "func:LocalRAGService._chunk_document", + "type": "function", + "name": "_chunk_document", + "filePath": "src/agentkit/memory/local_rag.py", + "layer": "data", + "summary": "LocalRAGService._chunk_document(doc) 方法", + "tags": [ + "LocalRAGService", + "_chunk_document" + ], + "complexity": "simple" + }, + { + "id": "func:LocalRAGService._store_chunks", + "type": "function", + "name": "_store_chunks", + "filePath": "src/agentkit/memory/local_rag.py", + "layer": "data", + "summary": "LocalRAGService._store_chunks(doc, chunks) 异步方法", + "tags": [ + "LocalRAGService", + "_store_chunks" + ], + "complexity": "simple" + }, + { + "id": "func:LocalRAGService._query_pgvector", + "type": "function", + "name": "_query_pgvector", + "filePath": "src/agentkit/memory/local_rag.py", + "layer": "data", + "summary": "LocalRAGService._query_pgvector(db, query_embedding, top_k) 异步方法", + "tags": [ + "LocalRAGService", + "_query_pgvector" + ], + "complexity": "simple" + }, + { + "id": "func:LocalRAGService._query_client_side", + "type": "function", + "name": "_query_client_side", + "filePath": "src/agentkit/memory/local_rag.py", + "layer": "data", + "summary": "LocalRAGService._query_client_side(db, query_embedding, top_k) 异步方法", + "tags": [ + "LocalRAGService", + "_query_client_side" + ], + "complexity": "simple" + }, + { + "id": "class:InMemoryLocalRAGService", + "type": "class", + "name": "InMemoryLocalRAGService", + "filePath": "src/agentkit/memory/local_rag.py", + "layer": "data", + "summary": "基于内存的本地 RAG 服务", + "tags": [ + "InMemoryLocalRAGService" + ], + "complexity": "moderate" + }, + { + "id": "func:InMemoryLocalRAGService.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/memory/local_rag.py", + "layer": "data", + "summary": "InMemoryLocalRAGService.__init__(embedder, chunk_size, chunk_overlap) 方法", + "tags": [ + "InMemoryLocalRAGService", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:InMemoryLocalRAGService.ingest", + "type": "function", + "name": "ingest", + "filePath": "src/agentkit/memory/local_rag.py", + "layer": "data", + "summary": "InMemoryLocalRAGService.ingest(documents) 异步方法", + "tags": [ + "InMemoryLocalRAGService", + "ingest" + ], + "complexity": "simple" + }, + { + "id": "func:InMemoryLocalRAGService.query", + "type": "function", + "name": "query", + "filePath": "src/agentkit/memory/local_rag.py", + "layer": "data", + "summary": "InMemoryLocalRAGService.query(text, top_k) 异步方法", + "tags": [ + "InMemoryLocalRAGService", + "query" + ], + "complexity": "simple" + }, + { + "id": "func:InMemoryLocalRAGService.delete_by_id", + "type": "function", + "name": "delete_by_id", + "filePath": "src/agentkit/memory/local_rag.py", + "layer": "data", + "summary": "InMemoryLocalRAGService.delete_by_id(id) 异步方法", + "tags": [ + "InMemoryLocalRAGService", + "delete_by_id" + ], + "complexity": "simple" + }, + { + "id": "func:InMemoryLocalRAGService.list_sources", + "type": "function", + "name": "list_sources", + "filePath": "src/agentkit/memory/local_rag.py", + "layer": "data", + "summary": "InMemoryLocalRAGService.list_sources() 异步方法", + "tags": [ + "InMemoryLocalRAGService", + "list_sources" + ], + "complexity": "simple" + }, + { + "id": "func:InMemoryLocalRAGService.health_check", + "type": "function", + "name": "health_check", + "filePath": "src/agentkit/memory/local_rag.py", + "layer": "data", + "summary": "InMemoryLocalRAGService.health_check() 异步方法", + "tags": [ + "InMemoryLocalRAGService", + "health_check" + ], + "complexity": "simple" + }, + { + "id": "func:InMemoryLocalRAGService._chunk_document", + "type": "function", + "name": "_chunk_document", + "filePath": "src/agentkit/memory/local_rag.py", + "layer": "data", + "summary": "InMemoryLocalRAGService._chunk_document(doc) 方法", + "tags": [ + "InMemoryLocalRAGService", + "_chunk_document" + ], + "complexity": "simple" + }, + { + "id": "class:EpisodeModel", + "type": "class", + "name": "EpisodeModel", + "filePath": "src/agentkit/memory/models.py", + "layer": "data", + "summary": "Episodic memory ORM model", + "tags": [ + "EpisodeModel" + ], + "complexity": "simple" + }, + { + "id": "class:MultiSourceRetriever", + "type": "class", + "name": "MultiSourceRetriever", + "filePath": "src/agentkit/memory/multi_source_retriever.py", + "layer": "data", + "summary": "多源混合检索器", + "tags": [ + "MultiSourceRetriever" + ], + "complexity": "complex" + }, + { + "id": "func:MultiSourceRetriever.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/memory/multi_source_retriever.py", + "layer": "data", + "summary": "MultiSourceRetriever.__init__(sources) 方法", + "tags": [ + "MultiSourceRetriever", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:MultiSourceRetriever.register_source", + "type": "function", + "name": "register_source", + "filePath": "src/agentkit/memory/multi_source_retriever.py", + "layer": "data", + "summary": "MultiSourceRetriever.register_source(name, knowledge_base) 方法", + "tags": [ + "MultiSourceRetriever", + "register_source" + ], + "complexity": "simple" + }, + { + "id": "func:MultiSourceRetriever.unregister_source", + "type": "function", + "name": "unregister_source", + "filePath": "src/agentkit/memory/multi_source_retriever.py", + "layer": "data", + "summary": "MultiSourceRetriever.unregister_source(name) 方法", + "tags": [ + "MultiSourceRetriever", + "unregister_source" + ], + "complexity": "simple" + }, + { + "id": "func:MultiSourceRetriever.search", + "type": "function", + "name": "search", + "filePath": "src/agentkit/memory/multi_source_retriever.py", + "layer": "data", + "summary": "MultiSourceRetriever.search(query, top_k, sources, weights) 异步方法", + "tags": [ + "MultiSourceRetriever", + "search" + ], + "complexity": "simple" + }, + { + "id": "func:MultiSourceRetriever.list_all_sources", + "type": "function", + "name": "list_all_sources", + "filePath": "src/agentkit/memory/multi_source_retriever.py", + "layer": "data", + "summary": "MultiSourceRetriever.list_all_sources() 异步方法", + "tags": [ + "MultiSourceRetriever", + "list_all_sources" + ], + "complexity": "simple" + }, + { + "id": "func:MultiSourceRetriever.get_source_names", + "type": "function", + "name": "get_source_names", + "filePath": "src/agentkit/memory/multi_source_retriever.py", + "layer": "data", + "summary": "MultiSourceRetriever.get_source_names() 方法", + "tags": [ + "MultiSourceRetriever", + "get_source_names" + ], + "complexity": "simple" + }, + { + "id": "func:MultiSourceRetriever._resolve_sources", + "type": "function", + "name": "_resolve_sources", + "filePath": "src/agentkit/memory/multi_source_retriever.py", + "layer": "data", + "summary": "MultiSourceRetriever._resolve_sources(sources) 方法", + "tags": [ + "MultiSourceRetriever", + "_resolve_sources" + ], + "complexity": "simple" + }, + { + "id": "func:MultiSourceRetriever._query_sources", + "type": "function", + "name": "_query_sources", + "filePath": "src/agentkit/memory/multi_source_retriever.py", + "layer": "data", + "summary": "MultiSourceRetriever._query_sources(query, top_k, target_sources, weights) 异步方法", + "tags": [ + "MultiSourceRetriever", + "_query_sources" + ], + "complexity": "simple" + }, + { + "id": "func:MultiSourceRetriever._deduplicate", + "type": "function", + "name": "_deduplicate", + "filePath": "src/agentkit/memory/multi_source_retriever.py", + "layer": "data", + "summary": "MultiSourceRetriever._deduplicate(results) 方法", + "tags": [ + "MultiSourceRetriever", + "_deduplicate" + ], + "complexity": "simple" + }, + { + "id": "class:MemoryFile", + "type": "class", + "name": "MemoryFile", + "filePath": "src/agentkit/memory/profile.py", + "layer": "data", + "summary": "单个记忆文件的管理器,支持 section 级别 CRUD 和容量控制.", + "tags": [ + "MemoryFile" + ], + "complexity": "complex" + }, + { + "id": "func:MemoryFile.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/memory/profile.py", + "layer": "data", + "summary": "MemoryFile.__init__(path, char_budget, protected_sections) 方法", + "tags": [ + "MemoryFile", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:MemoryFile.read", + "type": "function", + "name": "read", + "filePath": "src/agentkit/memory/profile.py", + "layer": "data", + "summary": "MemoryFile.read() 方法", + "tags": [ + "MemoryFile", + "read" + ], + "complexity": "simple" + }, + { + "id": "func:MemoryFile.write", + "type": "function", + "name": "write", + "filePath": "src/agentkit/memory/profile.py", + "layer": "data", + "summary": "MemoryFile.write(content) 方法", + "tags": [ + "MemoryFile", + "write" + ], + "complexity": "simple" + }, + { + "id": "func:MemoryFile.read_section", + "type": "function", + "name": "read_section", + "filePath": "src/agentkit/memory/profile.py", + "layer": "data", + "summary": "MemoryFile.read_section(name) 方法", + "tags": [ + "MemoryFile", + "read_section" + ], + "complexity": "simple" + }, + { + "id": "func:MemoryFile.add_section", + "type": "function", + "name": "add_section", + "filePath": "src/agentkit/memory/profile.py", + "layer": "data", + "summary": "MemoryFile.add_section(name, content) 方法", + "tags": [ + "MemoryFile", + "add_section" + ], + "complexity": "simple" + }, + { + "id": "func:MemoryFile.replace_section", + "type": "function", + "name": "replace_section", + "filePath": "src/agentkit/memory/profile.py", + "layer": "data", + "summary": "MemoryFile.replace_section(name, old_text, new_text) 方法", + "tags": [ + "MemoryFile", + "replace_section" + ], + "complexity": "simple" + }, + { + "id": "func:MemoryFile.remove_section", + "type": "function", + "name": "remove_section", + "filePath": "src/agentkit/memory/profile.py", + "layer": "data", + "summary": "MemoryFile.remove_section(name) 方法", + "tags": [ + "MemoryFile", + "remove_section" + ], + "complexity": "simple" + }, + { + "id": "func:MemoryFile.list_sections", + "type": "function", + "name": "list_sections", + "filePath": "src/agentkit/memory/profile.py", + "layer": "data", + "summary": "MemoryFile.list_sections() 方法", + "tags": [ + "MemoryFile", + "list_sections" + ], + "complexity": "simple" + }, + { + "id": "func:MemoryFile.trim_to_budget", + "type": "function", + "name": "trim_to_budget", + "filePath": "src/agentkit/memory/profile.py", + "layer": "data", + "summary": "MemoryFile.trim_to_budget(protected_sections) 方法", + "tags": [ + "MemoryFile", + "trim_to_budget" + ], + "complexity": "simple" + }, + { + "id": "func:MemoryFile._trim_content", + "type": "function", + "name": "_trim_content", + "filePath": "src/agentkit/memory/profile.py", + "layer": "data", + "summary": "MemoryFile._trim_content(content, protected_sections) 方法", + "tags": [ + "MemoryFile", + "_trim_content" + ], + "complexity": "simple" + }, + { + "id": "class:MemorySnapshot", + "type": "class", + "name": "MemorySnapshot", + "filePath": "src/agentkit/memory/profile.py", + "layer": "data", + "summary": "一次加载的所有记忆文件快照.", + "tags": [ + "MemorySnapshot" + ], + "complexity": "simple" + }, + { + "id": "func:MemorySnapshot.is_empty", + "type": "function", + "name": "is_empty", + "filePath": "src/agentkit/memory/profile.py", + "layer": "data", + "summary": "MemorySnapshot.is_empty() 方法", + "tags": [ + "MemorySnapshot", + "is_empty" + ], + "complexity": "simple" + }, + { + "id": "class:MemoryStore", + "type": "class", + "name": "MemoryStore", + "filePath": "src/agentkit/memory/profile.py", + "layer": "data", + "summary": "管理 SOUL/USER/MEMORY/DAILY 四类记忆文件.", + "tags": [ + "MemoryStore" + ], + "complexity": "complex" + }, + { + "id": "func:MemoryStore.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/memory/profile.py", + "layer": "data", + "summary": "MemoryStore.__init__(base_dir, on_change) 方法", + "tags": [ + "MemoryStore", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:MemoryStore.get_file", + "type": "function", + "name": "get_file", + "filePath": "src/agentkit/memory/profile.py", + "layer": "data", + "summary": "MemoryStore.get_file(file_key) 方法", + "tags": [ + "MemoryStore", + "get_file" + ], + "complexity": "simple" + }, + { + "id": "func:MemoryStore.ensure_defaults", + "type": "function", + "name": "ensure_defaults", + "filePath": "src/agentkit/memory/profile.py", + "layer": "data", + "summary": "MemoryStore.ensure_defaults() 方法", + "tags": [ + "MemoryStore", + "ensure_defaults" + ], + "complexity": "simple" + }, + { + "id": "func:MemoryStore.load_all", + "type": "function", + "name": "load_all", + "filePath": "src/agentkit/memory/profile.py", + "layer": "data", + "summary": "MemoryStore.load_all() 方法", + "tags": [ + "MemoryStore", + "load_all" + ], + "complexity": "simple" + }, + { + "id": "func:MemoryStore.load_daily_logs", + "type": "function", + "name": "load_daily_logs", + "filePath": "src/agentkit/memory/profile.py", + "layer": "data", + "summary": "MemoryStore.load_daily_logs(days) 方法", + "tags": [ + "MemoryStore", + "load_daily_logs" + ], + "complexity": "simple" + }, + { + "id": "func:MemoryStore.archive_old_dailies", + "type": "function", + "name": "archive_old_dailies", + "filePath": "src/agentkit/memory/profile.py", + "layer": "data", + "summary": "MemoryStore.archive_old_dailies(keep_days) 方法", + "tags": [ + "MemoryStore", + "archive_old_dailies" + ], + "complexity": "simple" + }, + { + "id": "func:MemoryStore.build_system_prompt", + "type": "function", + "name": "build_system_prompt", + "filePath": "src/agentkit/memory/profile.py", + "layer": "data", + "summary": "MemoryStore.build_system_prompt(snapshot, base_prompt) 方法", + "tags": [ + "MemoryStore", + "build_system_prompt" + ], + "complexity": "simple" + }, + { + "id": "func:MemoryStore.refresh_system_prompt", + "type": "function", + "name": "refresh_system_prompt", + "filePath": "src/agentkit/memory/profile.py", + "layer": "data", + "summary": "MemoryStore.refresh_system_prompt() 方法", + "tags": [ + "MemoryStore", + "refresh_system_prompt" + ], + "complexity": "simple" + }, + { + "id": "func:MemoryStore.notify_change", + "type": "function", + "name": "notify_change", + "filePath": "src/agentkit/memory/profile.py", + "layer": "data", + "summary": "MemoryStore.notify_change() 方法", + "tags": [ + "MemoryStore", + "notify_change" + ], + "complexity": "simple" + }, + { + "id": "class:TransformedQuery", + "type": "class", + "name": "TransformedQuery", + "filePath": "src/agentkit/memory/query_transformer.py", + "layer": "data", + "summary": "改写后的查询", + "tags": [ + "TransformedQuery" + ], + "complexity": "simple" + }, + { + "id": "class:QueryTransformerBase", + "type": "class", + "name": "QueryTransformerBase", + "filePath": "src/agentkit/memory/query_transformer.py", + "layer": "data", + "summary": "查询改写抽象基类", + "tags": [ + "QueryTransformerBase" + ], + "complexity": "simple" + }, + { + "id": "func:QueryTransformerBase.transform", + "type": "function", + "name": "transform", + "filePath": "src/agentkit/memory/query_transformer.py", + "layer": "data", + "summary": "QueryTransformerBase.transform(query) 异步方法", + "tags": [ + "QueryTransformerBase", + "transform" + ], + "complexity": "simple" + }, + { + "id": "class:LLMQueryTransformer", + "type": "class", + "name": "LLMQueryTransformer", + "filePath": "src/agentkit/memory/query_transformer.py", + "layer": "data", + "summary": "基于 LLM 的查询改写", + "tags": [ + "LLMQueryTransformer" + ], + "complexity": "simple" + }, + { + "id": "func:LLMQueryTransformer.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/memory/query_transformer.py", + "layer": "data", + "summary": "LLMQueryTransformer.__init__(llm_gateway, max_sub_queries) 方法", + "tags": [ + "LLMQueryTransformer", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:LLMQueryTransformer.transform", + "type": "function", + "name": "transform", + "filePath": "src/agentkit/memory/query_transformer.py", + "layer": "data", + "summary": "LLMQueryTransformer.transform(query) 异步方法", + "tags": [ + "LLMQueryTransformer", + "transform" + ], + "complexity": "simple" + }, + { + "id": "class:RuleQueryTransformer", + "type": "class", + "name": "RuleQueryTransformer", + "filePath": "src/agentkit/memory/query_transformer.py", + "layer": "data", + "summary": "基于规则的查询改写", + "tags": [ + "RuleQueryTransformer" + ], + "complexity": "simple" + }, + { + "id": "func:RuleQueryTransformer.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/memory/query_transformer.py", + "layer": "data", + "summary": "RuleQueryTransformer.__init__(synonyms, max_sub_queries) 方法", + "tags": [ + "RuleQueryTransformer", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:RuleQueryTransformer.transform", + "type": "function", + "name": "transform", + "filePath": "src/agentkit/memory/query_transformer.py", + "layer": "data", + "summary": "RuleQueryTransformer.transform(query) 异步方法", + "tags": [ + "RuleQueryTransformer", + "transform" + ], + "complexity": "simple" + }, + { + "id": "class:NoOpQueryTransformer", + "type": "class", + "name": "NoOpQueryTransformer", + "filePath": "src/agentkit/memory/query_transformer.py", + "layer": "data", + "summary": "不做任何改写,原样返回", + "tags": [ + "NoOpQueryTransformer" + ], + "complexity": "simple" + }, + { + "id": "func:NoOpQueryTransformer.transform", + "type": "function", + "name": "transform", + "filePath": "src/agentkit/memory/query_transformer.py", + "layer": "data", + "summary": "NoOpQueryTransformer.transform(query) 异步方法", + "tags": [ + "NoOpQueryTransformer", + "transform" + ], + "complexity": "simple" + }, + { + "id": "class:LoopState", + "type": "class", + "name": "LoopState", + "filePath": "src/agentkit/memory/rag_loop.py", + "layer": "data", + "summary": "自纠正循环状态", + "tags": [ + "LoopState" + ], + "complexity": "simple" + }, + { + "id": "class:CorrectionAttempt", + "type": "class", + "name": "CorrectionAttempt", + "filePath": "src/agentkit/memory/rag_loop.py", + "layer": "data", + "summary": "一次纠正尝试的记录", + "tags": [ + "CorrectionAttempt" + ], + "complexity": "simple" + }, + { + "id": "class:RAGLoopResult", + "type": "class", + "name": "RAGLoopResult", + "filePath": "src/agentkit/memory/rag_loop.py", + "layer": "data", + "summary": "自纠正循环的最终结果", + "tags": [ + "RAGLoopResult" + ], + "complexity": "simple" + }, + { + "id": "class:RAGSelfCorrectionLoop", + "type": "class", + "name": "RAGSelfCorrectionLoop", + "filePath": "src/agentkit/memory/rag_loop.py", + "layer": "data", + "summary": "CRAG 自纠正循环", + "tags": [ + "RAGSelfCorrectionLoop" + ], + "complexity": "moderate" + }, + { + "id": "func:RAGSelfCorrectionLoop.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/memory/rag_loop.py", + "layer": "data", + "summary": "RAGSelfCorrectionLoop.__init__(retriever, scorer, query_transformer, max_retries, min_items_for_correct) 方法", + "tags": [ + "RAGSelfCorrectionLoop", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:RAGSelfCorrectionLoop.retrieve_with_correction", + "type": "function", + "name": "retrieve_with_correction", + "filePath": "src/agentkit/memory/rag_loop.py", + "layer": "data", + "summary": "RAGSelfCorrectionLoop.retrieve_with_correction(query, top_k, token_budget, filters) 异步方法", + "tags": [ + "RAGSelfCorrectionLoop", + "retrieve_with_correction" + ], + "complexity": "simple" + }, + { + "id": "func:RAGSelfCorrectionLoop._determine_next_state", + "type": "function", + "name": "_determine_next_state", + "filePath": "src/agentkit/memory/rag_loop.py", + "layer": "data", + "summary": "RAGSelfCorrectionLoop._determine_next_state(evaluation, items) 方法", + "tags": [ + "RAGSelfCorrectionLoop", + "_determine_next_state" + ], + "complexity": "simple" + }, + { + "id": "func:RAGSelfCorrectionLoop._rewrite_query", + "type": "function", + "name": "_rewrite_query", + "filePath": "src/agentkit/memory/rag_loop.py", + "layer": "data", + "summary": "RAGSelfCorrectionLoop._rewrite_query(original_query, current_query, evaluation) 异步方法", + "tags": [ + "RAGSelfCorrectionLoop", + "_rewrite_query" + ], + "complexity": "simple" + }, + { + "id": "class:RelevanceVerdict", + "type": "class", + "name": "RelevanceVerdict", + "filePath": "src/agentkit/memory/relevance_scorer.py", + "layer": "data", + "summary": "相关性判定结果", + "tags": [ + "RelevanceVerdict" + ], + "complexity": "simple" + }, + { + "id": "class:RelevanceScore", + "type": "class", + "name": "RelevanceScore", + "filePath": "src/agentkit/memory/relevance_scorer.py", + "layer": "data", + "summary": "单个文档的相关性评分", + "tags": [ + "RelevanceScore" + ], + "complexity": "simple" + }, + { + "id": "class:RetrievalEvaluation", + "type": "class", + "name": "RetrievalEvaluation", + "filePath": "src/agentkit/memory/relevance_scorer.py", + "layer": "data", + "summary": "一次检索的整体评估结果", + "tags": [ + "RetrievalEvaluation" + ], + "complexity": "simple" + }, + { + "id": "class:RelevanceScorer", + "type": "class", + "name": "RelevanceScorer", + "filePath": "src/agentkit/memory/relevance_scorer.py", + "layer": "data", + "summary": "检索结果相关性评估器", + "tags": [ + "RelevanceScorer" + ], + "complexity": "moderate" + }, + { + "id": "func:RelevanceScorer.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/memory/relevance_scorer.py", + "layer": "data", + "summary": "RelevanceScorer.__init__(correct_threshold, ambiguous_threshold, keyword_weight, coverage_weight, retrieval_weight, length_weight, min_doc_length, max_doc_length) 方法", + "tags": [ + "RelevanceScorer", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:RelevanceScorer.score_item", + "type": "function", + "name": "score_item", + "filePath": "src/agentkit/memory/relevance_scorer.py", + "layer": "data", + "summary": "RelevanceScorer.score_item(query, item) 方法", + "tags": [ + "RelevanceScorer", + "score_item" + ], + "complexity": "simple" + }, + { + "id": "func:RelevanceScorer.evaluate", + "type": "function", + "name": "evaluate", + "filePath": "src/agentkit/memory/relevance_scorer.py", + "layer": "data", + "summary": "RelevanceScorer.evaluate(query, items) 方法", + "tags": [ + "RelevanceScorer", + "evaluate" + ], + "complexity": "simple" + }, + { + "id": "func:RelevanceScorer._determine_verdict", + "type": "function", + "name": "_determine_verdict", + "filePath": "src/agentkit/memory/relevance_scorer.py", + "layer": "data", + "summary": "RelevanceScorer._determine_verdict(score) 方法", + "tags": [ + "RelevanceScorer", + "_determine_verdict" + ], + "complexity": "simple" + }, + { + "id": "func:RelevanceScorer._tokenize", + "type": "function", + "name": "_tokenize", + "filePath": "src/agentkit/memory/relevance_scorer.py", + "layer": "data", + "summary": "RelevanceScorer._tokenize(text) 方法", + "tags": [ + "RelevanceScorer", + "_tokenize" + ], + "complexity": "simple" + }, + { + "id": "func:RelevanceScorer._jaccard_similarity", + "type": "function", + "name": "_jaccard_similarity", + "filePath": "src/agentkit/memory/relevance_scorer.py", + "layer": "data", + "summary": "RelevanceScorer._jaccard_similarity(set_a, set_b) 方法", + "tags": [ + "RelevanceScorer", + "_jaccard_similarity" + ], + "complexity": "simple" + }, + { + "id": "func:RelevanceScorer._query_coverage", + "type": "function", + "name": "_query_coverage", + "filePath": "src/agentkit/memory/relevance_scorer.py", + "layer": "data", + "summary": "RelevanceScorer._query_coverage(query_terms, doc_terms) 方法", + "tags": [ + "RelevanceScorer", + "_query_coverage" + ], + "complexity": "simple" + }, + { + "id": "func:RelevanceScorer._length_score", + "type": "function", + "name": "_length_score", + "filePath": "src/agentkit/memory/relevance_scorer.py", + "layer": "data", + "summary": "RelevanceScorer._length_score(length) 方法", + "tags": [ + "RelevanceScorer", + "_length_score" + ], + "complexity": "simple" + }, + { + "id": "class:MemoryRetriever", + "type": "class", + "name": "MemoryRetriever", + "filePath": "src/agentkit/memory/retriever.py", + "layer": "data", + "summary": "混合检索器 - 并行查询三层记忆,按权重融合排序", + "tags": [ + "MemoryRetriever" + ], + "complexity": "complex" + }, + { + "id": "func:MemoryRetriever.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/memory/retriever.py", + "layer": "data", + "summary": "MemoryRetriever.__init__(working_memory, episodic_memory, semantic_memory, weights, query_transformer, context_template, enable_self_correction, max_correction_retries, knowledge_sources) 方法", + "tags": [ + "MemoryRetriever", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:MemoryRetriever.retrieve", + "type": "function", + "name": "retrieve", + "filePath": "src/agentkit/memory/retriever.py", + "layer": "data", + "summary": "MemoryRetriever.retrieve(query, top_k, token_budget, filters, _skip_correction, sources, source_weights) 异步方法", + "tags": [ + "MemoryRetriever", + "retrieve" + ], + "complexity": "simple" + }, + { + "id": "func:MemoryRetriever._search_layers", + "type": "function", + "name": "_search_layers", + "filePath": "src/agentkit/memory/retriever.py", + "layer": "data", + "summary": "MemoryRetriever._search_layers(query, top_k, filters) 异步方法", + "tags": [ + "MemoryRetriever", + "_search_layers" + ], + "complexity": "simple" + }, + { + "id": "func:MemoryRetriever._retrieve_from_sources", + "type": "function", + "name": "_retrieve_from_sources", + "filePath": "src/agentkit/memory/retriever.py", + "layer": "data", + "summary": "MemoryRetriever._retrieve_from_sources(query, top_k, token_budget, sources, source_weights) 异步方法", + "tags": [ + "MemoryRetriever", + "_retrieve_from_sources" + ], + "complexity": "simple" + }, + { + "id": "func:MemoryRetriever.multi_source_retriever", + "type": "function", + "name": "multi_source_retriever", + "filePath": "src/agentkit/memory/retriever.py", + "layer": "data", + "summary": "MemoryRetriever.multi_source_retriever() 方法", + "tags": [ + "MemoryRetriever", + "multi_source_retriever" + ], + "complexity": "simple" + }, + { + "id": "func:MemoryRetriever.get_context_string", + "type": "function", + "name": "get_context_string", + "filePath": "src/agentkit/memory/retriever.py", + "layer": "data", + "summary": "MemoryRetriever.get_context_string(query, top_k, token_budget) 异步方法", + "tags": [ + "MemoryRetriever", + "get_context_string" + ], + "complexity": "simple" + }, + { + "id": "func:MemoryRetriever._format_structured_header", + "type": "function", + "name": "_format_structured_header", + "filePath": "src/agentkit/memory/retriever.py", + "layer": "data", + "summary": "MemoryRetriever._format_structured_header(item) 方法", + "tags": [ + "MemoryRetriever", + "_format_structured_header" + ], + "complexity": "simple" + }, + { + "id": "func:MemoryRetriever.store_episode", + "type": "function", + "name": "store_episode", + "filePath": "src/agentkit/memory/retriever.py", + "layer": "data", + "summary": "MemoryRetriever.store_episode(key, value, metadata) 异步方法", + "tags": [ + "MemoryRetriever", + "store_episode" + ], + "complexity": "simple" + }, + { + "id": "func:MemoryRetriever.create_retrieve_tool", + "type": "function", + "name": "create_retrieve_tool", + "filePath": "src/agentkit/memory/retriever.py", + "layer": "data", + "summary": "MemoryRetriever.create_retrieve_tool(max_calls) 方法", + "tags": [ + "MemoryRetriever", + "create_retrieve_tool" + ], + "complexity": "simple" + }, + { + "id": "class:RetrieveKnowledgeTool", + "type": "class", + "name": "RetrieveKnowledgeTool", + "filePath": "src/agentkit/memory/retriever.py", + "layer": "data", + "summary": "Built-in tool for knowledge base retrieval during ReAct reasoning.", + "tags": [ + "RetrieveKnowledgeTool" + ], + "complexity": "simple" + }, + { + "id": "func:RetrieveKnowledgeTool.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/memory/retriever.py", + "layer": "data", + "summary": "RetrieveKnowledgeTool.__init__(retriever, max_calls) 方法", + "tags": [ + "RetrieveKnowledgeTool", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:RetrieveKnowledgeTool.execute", + "type": "function", + "name": "execute", + "filePath": "src/agentkit/memory/retriever.py", + "layer": "data", + "summary": "RetrieveKnowledgeTool.execute() 异步方法", + "tags": [ + "RetrieveKnowledgeTool", + "execute" + ], + "complexity": "simple" + }, + { + "id": "class:SemanticMemory", + "type": "class", + "name": "SemanticMemory", + "filePath": "src/agentkit/memory/semantic.py", + "layer": "data", + "summary": "Semantic Memory - 知识库检索", + "tags": [ + "SemanticMemory" + ], + "complexity": "moderate" + }, + { + "id": "func:SemanticMemory.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/memory/semantic.py", + "layer": "data", + "summary": "SemanticMemory.__init__(rag_service, graph_service, knowledge_base_ids, search_mode, use_rerank, use_compression, kb_weights) 方法", + "tags": [ + "SemanticMemory", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:SemanticMemory.store", + "type": "function", + "name": "store", + "filePath": "src/agentkit/memory/semantic.py", + "layer": "data", + "summary": "SemanticMemory.store(key, value, metadata) 异步方法", + "tags": [ + "SemanticMemory", + "store" + ], + "complexity": "simple" + }, + { + "id": "func:SemanticMemory.retrieve", + "type": "function", + "name": "retrieve", + "filePath": "src/agentkit/memory/semantic.py", + "layer": "data", + "summary": "SemanticMemory.retrieve(key) 异步方法", + "tags": [ + "SemanticMemory", + "retrieve" + ], + "complexity": "simple" + }, + { + "id": "func:SemanticMemory.search", + "type": "function", + "name": "search", + "filePath": "src/agentkit/memory/semantic.py", + "layer": "data", + "summary": "SemanticMemory.search(query, top_k, filters) 异步方法", + "tags": [ + "SemanticMemory", + "search" + ], + "complexity": "simple" + }, + { + "id": "func:SemanticMemory.delete", + "type": "function", + "name": "delete", + "filePath": "src/agentkit/memory/semantic.py", + "layer": "data", + "summary": "SemanticMemory.delete(key) 异步方法", + "tags": [ + "SemanticMemory", + "delete" + ], + "complexity": "simple" + }, + { + "id": "class:WorkingMemory", + "type": "class", + "name": "WorkingMemory", + "filePath": "src/agentkit/memory/working.py", + "layer": "data", + "summary": "Working Memory - 当前任务的上下文和中间状态", + "tags": [ + "WorkingMemory" + ], + "complexity": "moderate" + }, + { + "id": "func:WorkingMemory.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/memory/working.py", + "layer": "data", + "summary": "WorkingMemory.__init__(redis, key_prefix, default_ttl) 方法", + "tags": [ + "WorkingMemory", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:WorkingMemory._make_key", + "type": "function", + "name": "_make_key", + "filePath": "src/agentkit/memory/working.py", + "layer": "data", + "summary": "WorkingMemory._make_key(key) 方法", + "tags": [ + "WorkingMemory", + "_make_key" + ], + "complexity": "simple" + }, + { + "id": "func:WorkingMemory.store", + "type": "function", + "name": "store", + "filePath": "src/agentkit/memory/working.py", + "layer": "data", + "summary": "WorkingMemory.store(key, value, metadata) 异步方法", + "tags": [ + "WorkingMemory", + "store" + ], + "complexity": "simple" + }, + { + "id": "func:WorkingMemory.retrieve", + "type": "function", + "name": "retrieve", + "filePath": "src/agentkit/memory/working.py", + "layer": "data", + "summary": "WorkingMemory.retrieve(key) 异步方法", + "tags": [ + "WorkingMemory", + "retrieve" + ], + "complexity": "simple" + }, + { + "id": "func:WorkingMemory.search", + "type": "function", + "name": "search", + "filePath": "src/agentkit/memory/working.py", + "layer": "data", + "summary": "WorkingMemory.search(query, top_k, filters) 异步方法", + "tags": [ + "WorkingMemory", + "search" + ], + "complexity": "simple" + }, + { + "id": "func:WorkingMemory.delete", + "type": "function", + "name": "delete", + "filePath": "src/agentkit/memory/working.py", + "layer": "data", + "summary": "WorkingMemory.delete(key) 异步方法", + "tags": [ + "WorkingMemory", + "delete" + ], + "complexity": "simple" + }, + { + "id": "func:WorkingMemory.clear", + "type": "function", + "name": "clear", + "filePath": "src/agentkit/memory/working.py", + "layer": "data", + "summary": "WorkingMemory.clear(prefix) 异步方法", + "tags": [ + "WorkingMemory", + "clear" + ], + "complexity": "simple" + }, + { + "id": "class:CompletedStep", + "type": "class", + "name": "CompletedStep", + "filePath": "src/agentkit/orchestrator/compensation.py", + "layer": "service", + "summary": "Record of a completed step with its compensation", + "tags": [ + "CompletedStep" + ], + "complexity": "simple" + }, + { + "id": "class:CompensationResult", + "type": "class", + "name": "CompensationResult", + "filePath": "src/agentkit/orchestrator/compensation.py", + "layer": "service", + "summary": "Result of compensation execution", + "tags": [ + "CompensationResult" + ], + "complexity": "simple" + }, + { + "id": "class:SagaOrchestrator", + "type": "class", + "name": "SagaOrchestrator", + "filePath": "src/agentkit/orchestrator/compensation.py", + "layer": "service", + "summary": "Orchestrates LIFO compensation for failed pipelines", + "tags": [ + "SagaOrchestrator" + ], + "complexity": "moderate" + }, + { + "id": "func:SagaOrchestrator.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/orchestrator/compensation.py", + "layer": "service", + "summary": "SagaOrchestrator.__init__(execute_skill_func) 方法", + "tags": [ + "SagaOrchestrator", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:SagaOrchestrator.record_completed", + "type": "function", + "name": "record_completed", + "filePath": "src/agentkit/orchestrator/compensation.py", + "layer": "service", + "summary": "SagaOrchestrator.record_completed(step_name, result, compensate_action) 方法", + "tags": [ + "SagaOrchestrator", + "record_completed" + ], + "complexity": "simple" + }, + { + "id": "func:SagaOrchestrator.compensate", + "type": "function", + "name": "compensate", + "filePath": "src/agentkit/orchestrator/compensation.py", + "layer": "service", + "summary": "SagaOrchestrator.compensate() 异步方法", + "tags": [ + "SagaOrchestrator", + "compensate" + ], + "complexity": "simple" + }, + { + "id": "func:SagaOrchestrator.clear", + "type": "function", + "name": "clear", + "filePath": "src/agentkit/orchestrator/compensation.py", + "layer": "service", + "summary": "SagaOrchestrator.clear() 方法", + "tags": [ + "SagaOrchestrator", + "clear" + ], + "complexity": "simple" + }, + { + "id": "func:SagaOrchestrator.completed_steps", + "type": "function", + "name": "completed_steps", + "filePath": "src/agentkit/orchestrator/compensation.py", + "layer": "service", + "summary": "SagaOrchestrator.completed_steps() 方法", + "tags": [ + "SagaOrchestrator", + "completed_steps" + ], + "complexity": "simple" + }, + { + "id": "class:DynamicPipeline", + "type": "class", + "name": "DynamicPipeline", + "filePath": "src/agentkit/orchestrator/dynamic_pipeline.py", + "layer": "service", + "summary": "动态 Pipeline 组合器", + "tags": [ + "DynamicPipeline" + ], + "complexity": "moderate" + }, + { + "id": "func:DynamicPipeline.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/orchestrator/dynamic_pipeline.py", + "layer": "service", + "summary": "DynamicPipeline.__init__(engine, loader) 方法", + "tags": [ + "DynamicPipeline", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:DynamicPipeline.execute_conditional", + "type": "function", + "name": "execute_conditional", + "filePath": "src/agentkit/orchestrator/dynamic_pipeline.py", + "layer": "service", + "summary": "DynamicPipeline.execute_conditional(pipelines, condition_key, context) 异步方法", + "tags": [ + "DynamicPipeline", + "execute_conditional" + ], + "complexity": "simple" + }, + { + "id": "func:DynamicPipeline.execute_nested", + "type": "function", + "name": "execute_nested", + "filePath": "src/agentkit/orchestrator/dynamic_pipeline.py", + "layer": "service", + "summary": "DynamicPipeline.execute_nested(parent, sub_pipeline_map, context) 异步方法", + "tags": [ + "DynamicPipeline", + "execute_nested" + ], + "complexity": "simple" + }, + { + "id": "func:DynamicPipeline.execute_loop", + "type": "function", + "name": "execute_loop", + "filePath": "src/agentkit/orchestrator/dynamic_pipeline.py", + "layer": "service", + "summary": "DynamicPipeline.execute_loop(pipeline, max_iterations, exit_condition, context) 异步方法", + "tags": [ + "DynamicPipeline", + "execute_loop" + ], + "complexity": "simple" + }, + { + "id": "class:HandoffManager", + "type": "class", + "name": "HandoffManager", + "filePath": "src/agentkit/orchestrator/handoff.py", + "layer": "service", + "summary": "Handoff 管理器", + "tags": [ + "HandoffManager" + ], + "complexity": "moderate" + }, + { + "id": "func:HandoffManager.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/orchestrator/handoff.py", + "layer": "service", + "summary": "HandoffManager.__init__(redis, dispatcher) 方法", + "tags": [ + "HandoffManager", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:HandoffManager.register_handler", + "type": "function", + "name": "register_handler", + "filePath": "src/agentkit/orchestrator/handoff.py", + "layer": "service", + "summary": "HandoffManager.register_handler(agent_name, handler) 方法", + "tags": [ + "HandoffManager", + "register_handler" + ], + "complexity": "simple" + }, + { + "id": "func:HandoffManager.send_handoff", + "type": "function", + "name": "send_handoff", + "filePath": "src/agentkit/orchestrator/handoff.py", + "layer": "service", + "summary": "HandoffManager.send_handoff(handoff) 异步方法", + "tags": [ + "HandoffManager", + "send_handoff" + ], + "complexity": "simple" + }, + { + "id": "func:HandoffManager.listen_for_handoffs", + "type": "function", + "name": "listen_for_handoffs", + "filePath": "src/agentkit/orchestrator/handoff.py", + "layer": "service", + "summary": "HandoffManager.listen_for_handoffs(agent_name) 异步方法", + "tags": [ + "HandoffManager", + "listen_for_handoffs" + ], + "complexity": "simple" + }, + { + "id": "func:HandoffManager._handle_handoff", + "type": "function", + "name": "_handle_handoff", + "filePath": "src/agentkit/orchestrator/handoff.py", + "layer": "service", + "summary": "HandoffManager._handle_handoff(handoff) 异步方法", + "tags": [ + "HandoffManager", + "_handle_handoff" + ], + "complexity": "simple" + }, + { + "id": "class:PipelineEngine", + "type": "class", + "name": "PipelineEngine", + "filePath": "src/agentkit/orchestrator/pipeline_engine.py", + "layer": "service", + "summary": "Pipeline 执行引擎", + "tags": [ + "PipelineEngine" + ], + "complexity": "complex" + }, + { + "id": "func:PipelineEngine.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/orchestrator/pipeline_engine.py", + "layer": "service", + "summary": "PipelineEngine.__init__(dispatcher, state_manager, llm_gateway) 方法", + "tags": [ + "PipelineEngine", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineEngine.execute", + "type": "function", + "name": "execute", + "filePath": "src/agentkit/orchestrator/pipeline_engine.py", + "layer": "service", + "summary": "PipelineEngine.execute(pipeline, context, adaptive_config) 异步方法", + "tags": [ + "PipelineEngine", + "execute" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineEngine._adaptive_loop", + "type": "function", + "name": "_adaptive_loop", + "filePath": "src/agentkit/orchestrator/pipeline_engine.py", + "layer": "service", + "summary": "PipelineEngine._adaptive_loop(pipeline, context, failed_result, adaptive_config) 异步方法", + "tags": [ + "PipelineEngine", + "_adaptive_loop" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineEngine._execute_pipeline", + "type": "function", + "name": "_execute_pipeline", + "filePath": "src/agentkit/orchestrator/pipeline_engine.py", + "layer": "service", + "summary": "PipelineEngine._execute_pipeline(pipeline, context) 异步方法", + "tags": [ + "PipelineEngine", + "_execute_pipeline" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineEngine._execute_stage", + "type": "function", + "name": "_execute_stage", + "filePath": "src/agentkit/orchestrator/pipeline_engine.py", + "layer": "service", + "summary": "PipelineEngine._execute_stage(stage, pipeline_result, saga) 异步方法", + "tags": [ + "PipelineEngine", + "_execute_stage" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineEngine._topological_group", + "type": "function", + "name": "_topological_group", + "filePath": "src/agentkit/orchestrator/pipeline_engine.py", + "layer": "service", + "summary": "PipelineEngine._topological_group(stages) 方法", + "tags": [ + "PipelineEngine", + "_topological_group" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineEngine._resolve_variables", + "type": "function", + "name": "_resolve_variables", + "filePath": "src/agentkit/orchestrator/pipeline_engine.py", + "layer": "service", + "summary": "PipelineEngine._resolve_variables(template, context) 方法", + "tags": [ + "PipelineEngine", + "_resolve_variables" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineEngine._get_nested", + "type": "function", + "name": "_get_nested", + "filePath": "src/agentkit/orchestrator/pipeline_engine.py", + "layer": "service", + "summary": "PipelineEngine._get_nested(data, path) 方法", + "tags": [ + "PipelineEngine", + "_get_nested" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineEngine._evaluate_condition", + "type": "function", + "name": "_evaluate_condition", + "filePath": "src/agentkit/orchestrator/pipeline_engine.py", + "layer": "service", + "summary": "PipelineEngine._evaluate_condition(condition, variables) 方法", + "tags": [ + "PipelineEngine", + "_evaluate_condition" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineEngine._execute_stage_with_adversarial", + "type": "function", + "name": "_execute_stage_with_adversarial", + "filePath": "src/agentkit/orchestrator/pipeline_engine.py", + "layer": "service", + "summary": "PipelineEngine._execute_stage_with_adversarial(stage, pipeline_result, saga, started_at) 异步方法", + "tags": [ + "PipelineEngine", + "_execute_stage_with_adversarial" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineEngine._execute_agent_stage", + "type": "function", + "name": "_execute_agent_stage", + "filePath": "src/agentkit/orchestrator/pipeline_engine.py", + "layer": "service", + "summary": "PipelineEngine._execute_agent_stage(agent_name, action, input_data, stage, started_at, timeout_seconds) 异步方法", + "tags": [ + "PipelineEngine", + "_execute_agent_stage" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineEngine._execute_verifier", + "type": "function", + "name": "_execute_verifier", + "filePath": "src/agentkit/orchestrator/pipeline_engine.py", + "layer": "service", + "summary": "PipelineEngine._execute_verifier(verifier_name, worker_output, stage, started_at) 异步方法", + "tags": [ + "PipelineEngine", + "_execute_verifier" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineEngine._build_feedback_context", + "type": "function", + "name": "_build_feedback_context", + "filePath": "src/agentkit/orchestrator/pipeline_engine.py", + "layer": "service", + "summary": "PipelineEngine._build_feedback_context(feedback, feedback_mode) 方法", + "tags": [ + "PipelineEngine", + "_build_feedback_context" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineEngine._escalate", + "type": "function", + "name": "_escalate", + "filePath": "src/agentkit/orchestrator/pipeline_engine.py", + "layer": "service", + "summary": "PipelineEngine._escalate(stage, worker_result, adversarial_state, started_at) 异步方法", + "tags": [ + "PipelineEngine", + "_escalate" + ], + "complexity": "simple" + }, + { + "id": "class:PipelineLoader", + "type": "class", + "name": "PipelineLoader", + "filePath": "src/agentkit/orchestrator/pipeline_loader.py", + "layer": "service", + "summary": "Pipeline YAML 加载器", + "tags": [ + "PipelineLoader" + ], + "complexity": "moderate" + }, + { + "id": "func:PipelineLoader.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/orchestrator/pipeline_loader.py", + "layer": "service", + "summary": "PipelineLoader.__init__(pipelines_dir) 方法", + "tags": [ + "PipelineLoader", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineLoader.load", + "type": "function", + "name": "load", + "filePath": "src/agentkit/orchestrator/pipeline_loader.py", + "layer": "service", + "summary": "PipelineLoader.load(pipeline_name) 方法", + "tags": [ + "PipelineLoader", + "load" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineLoader.load_from_yaml", + "type": "function", + "name": "load_from_yaml", + "filePath": "src/agentkit/orchestrator/pipeline_loader.py", + "layer": "service", + "summary": "PipelineLoader.load_from_yaml(yaml_content, pipeline_name) 方法", + "tags": [ + "PipelineLoader", + "load_from_yaml" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineLoader.validate_dag", + "type": "function", + "name": "validate_dag", + "filePath": "src/agentkit/orchestrator/pipeline_loader.py", + "layer": "service", + "summary": "PipelineLoader.validate_dag(stages) 方法", + "tags": [ + "PipelineLoader", + "validate_dag" + ], + "complexity": "simple" + }, + { + "id": "class:Base", + "type": "class", + "name": "Base", + "filePath": "src/agentkit/orchestrator/pipeline_models.py", + "layer": "service", + "summary": "Base类,继承自DeclarativeBase", + "tags": [ + "Base" + ], + "complexity": "simple" + }, + { + "id": "class:PipelineExecutionModel", + "type": "class", + "name": "PipelineExecutionModel", + "filePath": "src/agentkit/orchestrator/pipeline_models.py", + "layer": "service", + "summary": "Pipeline execution record — persisted final state.", + "tags": [ + "PipelineExecutionModel" + ], + "complexity": "simple" + }, + { + "id": "class:PipelineStepHistoryModel", + "type": "class", + "name": "PipelineStepHistoryModel", + "filePath": "src/agentkit/orchestrator/pipeline_models.py", + "layer": "service", + "summary": "Step execution history — audit trail.", + "tags": [ + "PipelineStepHistoryModel" + ], + "complexity": "simple" + }, + { + "id": "class:StageStatus", + "type": "class", + "name": "StageStatus", + "filePath": "src/agentkit/orchestrator/pipeline_schema.py", + "layer": "service", + "summary": "StageStatus类,继承自str, Enum", + "tags": [ + "StageStatus" + ], + "complexity": "simple" + }, + { + "id": "class:ReviewIssue", + "type": "class", + "name": "ReviewIssue", + "filePath": "src/agentkit/orchestrator/pipeline_schema.py", + "layer": "service", + "summary": "单条审查问题", + "tags": [ + "ReviewIssue" + ], + "complexity": "simple" + }, + { + "id": "class:ReviewFeedback", + "type": "class", + "name": "ReviewFeedback", + "filePath": "src/agentkit/orchestrator/pipeline_schema.py", + "layer": "service", + "summary": "Verifier 返回的结构化审查反馈", + "tags": [ + "ReviewFeedback" + ], + "complexity": "simple" + }, + { + "id": "class:AdversarialState", + "type": "class", + "name": "AdversarialState", + "filePath": "src/agentkit/orchestrator/pipeline_schema.py", + "layer": "service", + "summary": "对抗轮次状态追踪", + "tags": [ + "AdversarialState" + ], + "complexity": "simple" + }, + { + "id": "class:PipelineStage", + "type": "class", + "name": "PipelineStage", + "filePath": "src/agentkit/orchestrator/pipeline_schema.py", + "layer": "service", + "summary": "PipelineStage类,继承自BaseModel", + "tags": [ + "PipelineStage" + ], + "complexity": "simple" + }, + { + "id": "class:Pipeline", + "type": "class", + "name": "Pipeline", + "filePath": "src/agentkit/orchestrator/pipeline_schema.py", + "layer": "service", + "summary": "Pipeline类,继承自BaseModel", + "tags": [ + "Pipeline" + ], + "complexity": "simple" + }, + { + "id": "class:StageResult", + "type": "class", + "name": "StageResult", + "filePath": "src/agentkit/orchestrator/pipeline_schema.py", + "layer": "service", + "summary": "StageResult类,继承自BaseModel", + "tags": [ + "StageResult" + ], + "complexity": "simple" + }, + { + "id": "class:PipelineResult", + "type": "class", + "name": "PipelineResult", + "filePath": "src/agentkit/orchestrator/pipeline_schema.py", + "layer": "service", + "summary": "PipelineResult类,继承自BaseModel", + "tags": [ + "PipelineResult" + ], + "complexity": "simple" + }, + { + "id": "class:AdaptiveConfig", + "type": "class", + "name": "AdaptiveConfig", + "filePath": "src/agentkit/orchestrator/pipeline_schema.py", + "layer": "service", + "summary": "Configuration for adaptive pipeline execution with reflection-replanning.", + "tags": [ + "AdaptiveConfig" + ], + "complexity": "simple" + }, + { + "id": "class:ReflectionReport", + "type": "class", + "name": "ReflectionReport", + "filePath": "src/agentkit/orchestrator/pipeline_schema.py", + "layer": "service", + "summary": "Structured report from pipeline reflection analysis.", + "tags": [ + "ReflectionReport" + ], + "complexity": "simple" + }, + { + "id": "class:PipelineStateMemory", + "type": "class", + "name": "PipelineStateMemory", + "filePath": "src/agentkit/orchestrator/pipeline_state.py", + "layer": "service", + "summary": "In-memory pipeline state storage (testing / fallback).", + "tags": [ + "PipelineStateMemory" + ], + "complexity": "complex" + }, + { + "id": "func:PipelineStateMemory.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/orchestrator/pipeline_state.py", + "layer": "service", + "summary": "PipelineStateMemory.__init__() 方法", + "tags": [ + "PipelineStateMemory", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineStateMemory.create_execution", + "type": "function", + "name": "create_execution", + "filePath": "src/agentkit/orchestrator/pipeline_state.py", + "layer": "service", + "summary": "PipelineStateMemory.create_execution(pipeline_name, steps, input_data, tenant_id) 异步方法", + "tags": [ + "PipelineStateMemory", + "create_execution" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineStateMemory.update_step", + "type": "function", + "name": "update_step", + "filePath": "src/agentkit/orchestrator/pipeline_state.py", + "layer": "service", + "summary": "PipelineStateMemory.update_step(execution_id, step_name, status, output, error, duration_ms) 异步方法", + "tags": [ + "PipelineStateMemory", + "update_step" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineStateMemory.complete_execution", + "type": "function", + "name": "complete_execution", + "filePath": "src/agentkit/orchestrator/pipeline_state.py", + "layer": "service", + "summary": "PipelineStateMemory.complete_execution(execution_id, final_output) 异步方法", + "tags": [ + "PipelineStateMemory", + "complete_execution" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineStateMemory.fail_execution", + "type": "function", + "name": "fail_execution", + "filePath": "src/agentkit/orchestrator/pipeline_state.py", + "layer": "service", + "summary": "PipelineStateMemory.fail_execution(execution_id, step_name, error) 异步方法", + "tags": [ + "PipelineStateMemory", + "fail_execution" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineStateMemory.get_execution", + "type": "function", + "name": "get_execution", + "filePath": "src/agentkit/orchestrator/pipeline_state.py", + "layer": "service", + "summary": "PipelineStateMemory.get_execution(execution_id) 异步方法", + "tags": [ + "PipelineStateMemory", + "get_execution" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineStateMemory.list_executions", + "type": "function", + "name": "list_executions", + "filePath": "src/agentkit/orchestrator/pipeline_state.py", + "layer": "service", + "summary": "PipelineStateMemory.list_executions(status, limit, offset) 异步方法", + "tags": [ + "PipelineStateMemory", + "list_executions" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineStateMemory.get_step_history", + "type": "function", + "name": "get_step_history", + "filePath": "src/agentkit/orchestrator/pipeline_state.py", + "layer": "service", + "summary": "PipelineStateMemory.get_step_history(execution_id) 异步方法", + "tags": [ + "PipelineStateMemory", + "get_step_history" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineStateMemory.get_execution_sync", + "type": "function", + "name": "get_execution_sync", + "filePath": "src/agentkit/orchestrator/pipeline_state.py", + "layer": "service", + "summary": "PipelineStateMemory.get_execution_sync(execution_id) 方法", + "tags": [ + "PipelineStateMemory", + "get_execution_sync" + ], + "complexity": "simple" + }, + { + "id": "class:PipelineStateRedis", + "type": "class", + "name": "PipelineStateRedis", + "filePath": "src/agentkit/orchestrator/pipeline_state.py", + "layer": "service", + "summary": "Redis-backed pipeline state storage (hot state).", + "tags": [ + "PipelineStateRedis" + ], + "complexity": "complex" + }, + { + "id": "func:PipelineStateRedis.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/orchestrator/pipeline_state.py", + "layer": "service", + "summary": "PipelineStateRedis.__init__(redis_url) 方法", + "tags": [ + "PipelineStateRedis", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineStateRedis._get_redis", + "type": "function", + "name": "_get_redis", + "filePath": "src/agentkit/orchestrator/pipeline_state.py", + "layer": "service", + "summary": "PipelineStateRedis._get_redis() 异步方法", + "tags": [ + "PipelineStateRedis", + "_get_redis" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineStateRedis._safe_redis_call", + "type": "function", + "name": "_safe_redis_call", + "filePath": "src/agentkit/orchestrator/pipeline_state.py", + "layer": "service", + "summary": "PipelineStateRedis._safe_redis_call(fn) 异步方法", + "tags": [ + "PipelineStateRedis", + "_safe_redis_call" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineStateRedis._key", + "type": "function", + "name": "_key", + "filePath": "src/agentkit/orchestrator/pipeline_state.py", + "layer": "service", + "summary": "PipelineStateRedis._key(execution_id) 方法", + "tags": [ + "PipelineStateRedis", + "_key" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineStateRedis.create_execution", + "type": "function", + "name": "create_execution", + "filePath": "src/agentkit/orchestrator/pipeline_state.py", + "layer": "service", + "summary": "PipelineStateRedis.create_execution(pipeline_name, steps, input_data, tenant_id) 异步方法", + "tags": [ + "PipelineStateRedis", + "create_execution" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineStateRedis.update_step", + "type": "function", + "name": "update_step", + "filePath": "src/agentkit/orchestrator/pipeline_state.py", + "layer": "service", + "summary": "PipelineStateRedis.update_step(execution_id, step_name, status, output, error, duration_ms) 异步方法", + "tags": [ + "PipelineStateRedis", + "update_step" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineStateRedis.complete_execution", + "type": "function", + "name": "complete_execution", + "filePath": "src/agentkit/orchestrator/pipeline_state.py", + "layer": "service", + "summary": "PipelineStateRedis.complete_execution(execution_id, final_output) 异步方法", + "tags": [ + "PipelineStateRedis", + "complete_execution" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineStateRedis.fail_execution", + "type": "function", + "name": "fail_execution", + "filePath": "src/agentkit/orchestrator/pipeline_state.py", + "layer": "service", + "summary": "PipelineStateRedis.fail_execution(execution_id, step_name, error) 异步方法", + "tags": [ + "PipelineStateRedis", + "fail_execution" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineStateRedis.get_execution", + "type": "function", + "name": "get_execution", + "filePath": "src/agentkit/orchestrator/pipeline_state.py", + "layer": "service", + "summary": "PipelineStateRedis.get_execution(execution_id) 异步方法", + "tags": [ + "PipelineStateRedis", + "get_execution" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineStateRedis.list_executions", + "type": "function", + "name": "list_executions", + "filePath": "src/agentkit/orchestrator/pipeline_state.py", + "layer": "service", + "summary": "PipelineStateRedis.list_executions(status, limit, offset) 异步方法", + "tags": [ + "PipelineStateRedis", + "list_executions" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineStateRedis.get_step_history", + "type": "function", + "name": "get_step_history", + "filePath": "src/agentkit/orchestrator/pipeline_state.py", + "layer": "service", + "summary": "PipelineStateRedis.get_step_history(execution_id) 异步方法", + "tags": [ + "PipelineStateRedis", + "get_step_history" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineStateRedis.health_check", + "type": "function", + "name": "health_check", + "filePath": "src/agentkit/orchestrator/pipeline_state.py", + "layer": "service", + "summary": "PipelineStateRedis.health_check() 异步方法", + "tags": [ + "PipelineStateRedis", + "health_check" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineStateRedis.using_fallback", + "type": "function", + "name": "using_fallback", + "filePath": "src/agentkit/orchestrator/pipeline_state.py", + "layer": "service", + "summary": "PipelineStateRedis.using_fallback() 方法", + "tags": [ + "PipelineStateRedis", + "using_fallback" + ], + "complexity": "simple" + }, + { + "id": "class:PipelineStatePG", + "type": "class", + "name": "PipelineStatePG", + "filePath": "src/agentkit/orchestrator/pipeline_state.py", + "layer": "service", + "summary": "PostgreSQL cold persistence for pipeline execution records.", + "tags": [ + "PipelineStatePG" + ], + "complexity": "moderate" + }, + { + "id": "func:PipelineStatePG.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/orchestrator/pipeline_state.py", + "layer": "service", + "summary": "PipelineStatePG.__init__(session_factory) 方法", + "tags": [ + "PipelineStatePG", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineStatePG.enabled", + "type": "function", + "name": "enabled", + "filePath": "src/agentkit/orchestrator/pipeline_state.py", + "layer": "service", + "summary": "PipelineStatePG.enabled() 方法", + "tags": [ + "PipelineStatePG", + "enabled" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineStatePG.persist_execution", + "type": "function", + "name": "persist_execution", + "filePath": "src/agentkit/orchestrator/pipeline_state.py", + "layer": "service", + "summary": "PipelineStatePG.persist_execution(state) 异步方法", + "tags": [ + "PipelineStatePG", + "persist_execution" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineStatePG.persist_step_history", + "type": "function", + "name": "persist_step_history", + "filePath": "src/agentkit/orchestrator/pipeline_state.py", + "layer": "service", + "summary": "PipelineStatePG.persist_step_history(execution_id, steps) 异步方法", + "tags": [ + "PipelineStatePG", + "persist_step_history" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineStatePG.query_executions", + "type": "function", + "name": "query_executions", + "filePath": "src/agentkit/orchestrator/pipeline_state.py", + "layer": "service", + "summary": "PipelineStatePG.query_executions(pipeline_name, status, limit, offset) 异步方法", + "tags": [ + "PipelineStatePG", + "query_executions" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineStatePG.get_execution", + "type": "function", + "name": "get_execution", + "filePath": "src/agentkit/orchestrator/pipeline_state.py", + "layer": "service", + "summary": "PipelineStatePG.get_execution(execution_id) 异步方法", + "tags": [ + "PipelineStatePG", + "get_execution" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineStatePG._model_to_dict", + "type": "function", + "name": "_model_to_dict", + "filePath": "src/agentkit/orchestrator/pipeline_state.py", + "layer": "service", + "summary": "PipelineStatePG._model_to_dict(model) 方法", + "tags": [ + "PipelineStatePG", + "_model_to_dict" + ], + "complexity": "simple" + }, + { + "id": "class:PipelineStateManager", + "type": "class", + "name": "PipelineStateManager", + "filePath": "src/agentkit/orchestrator/pipeline_state.py", + "layer": "service", + "summary": "Unified pipeline state manager — Redis hot + PG cold.", + "tags": [ + "PipelineStateManager" + ], + "complexity": "complex" + }, + { + "id": "func:PipelineStateManager.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/orchestrator/pipeline_state.py", + "layer": "service", + "summary": "PipelineStateManager.__init__(redis_url, session_factory) 方法", + "tags": [ + "PipelineStateManager", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineStateManager.hot_store", + "type": "function", + "name": "hot_store", + "filePath": "src/agentkit/orchestrator/pipeline_state.py", + "layer": "service", + "summary": "PipelineStateManager.hot_store() 方法", + "tags": [ + "PipelineStateManager", + "hot_store" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineStateManager.cold_store", + "type": "function", + "name": "cold_store", + "filePath": "src/agentkit/orchestrator/pipeline_state.py", + "layer": "service", + "summary": "PipelineStateManager.cold_store() 方法", + "tags": [ + "PipelineStateManager", + "cold_store" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineStateManager.create_execution", + "type": "function", + "name": "create_execution", + "filePath": "src/agentkit/orchestrator/pipeline_state.py", + "layer": "service", + "summary": "PipelineStateManager.create_execution(pipeline_name, steps, input_data, tenant_id) 异步方法", + "tags": [ + "PipelineStateManager", + "create_execution" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineStateManager.update_step", + "type": "function", + "name": "update_step", + "filePath": "src/agentkit/orchestrator/pipeline_state.py", + "layer": "service", + "summary": "PipelineStateManager.update_step(execution_id, step_name, status, output, error, duration_ms) 异步方法", + "tags": [ + "PipelineStateManager", + "update_step" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineStateManager.complete_execution", + "type": "function", + "name": "complete_execution", + "filePath": "src/agentkit/orchestrator/pipeline_state.py", + "layer": "service", + "summary": "PipelineStateManager.complete_execution(execution_id, final_output) 异步方法", + "tags": [ + "PipelineStateManager", + "complete_execution" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineStateManager.fail_execution", + "type": "function", + "name": "fail_execution", + "filePath": "src/agentkit/orchestrator/pipeline_state.py", + "layer": "service", + "summary": "PipelineStateManager.fail_execution(execution_id, step_name, error) 异步方法", + "tags": [ + "PipelineStateManager", + "fail_execution" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineStateManager.get_execution", + "type": "function", + "name": "get_execution", + "filePath": "src/agentkit/orchestrator/pipeline_state.py", + "layer": "service", + "summary": "PipelineStateManager.get_execution(execution_id) 异步方法", + "tags": [ + "PipelineStateManager", + "get_execution" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineStateManager.list_executions", + "type": "function", + "name": "list_executions", + "filePath": "src/agentkit/orchestrator/pipeline_state.py", + "layer": "service", + "summary": "PipelineStateManager.list_executions(status, limit, offset) 异步方法", + "tags": [ + "PipelineStateManager", + "list_executions" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineStateManager.get_step_history", + "type": "function", + "name": "get_step_history", + "filePath": "src/agentkit/orchestrator/pipeline_state.py", + "layer": "service", + "summary": "PipelineStateManager.get_step_history(execution_id) 异步方法", + "tags": [ + "PipelineStateManager", + "get_step_history" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineStateManager.health_check", + "type": "function", + "name": "health_check", + "filePath": "src/agentkit/orchestrator/pipeline_state.py", + "layer": "service", + "summary": "PipelineStateManager.health_check() 异步方法", + "tags": [ + "PipelineStateManager", + "health_check" + ], + "complexity": "simple" + }, + { + "id": "class:PipelineReflector", + "type": "class", + "name": "PipelineReflector", + "filePath": "src/agentkit/orchestrator/reflection.py", + "layer": "service", + "summary": "分析 Pipeline 执行失败原因,生成结构化反思报告。", + "tags": [ + "PipelineReflector" + ], + "complexity": "moderate" + }, + { + "id": "func:PipelineReflector.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/orchestrator/reflection.py", + "layer": "service", + "summary": "PipelineReflector.__init__(llm_gateway) 方法", + "tags": [ + "PipelineReflector", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineReflector.reflect", + "type": "function", + "name": "reflect", + "filePath": "src/agentkit/orchestrator/reflection.py", + "layer": "service", + "summary": "PipelineReflector.reflect(pipeline, result, reflection_number) 异步方法", + "tags": [ + "PipelineReflector", + "reflect" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineReflector._find_failure", + "type": "function", + "name": "_find_failure", + "filePath": "src/agentkit/orchestrator/reflection.py", + "layer": "service", + "summary": "PipelineReflector._find_failure(result) 方法", + "tags": [ + "PipelineReflector", + "_find_failure" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineReflector._collect_completed_outputs", + "type": "function", + "name": "_collect_completed_outputs", + "filePath": "src/agentkit/orchestrator/reflection.py", + "layer": "service", + "summary": "PipelineReflector._collect_completed_outputs(result) 方法", + "tags": [ + "PipelineReflector", + "_collect_completed_outputs" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineReflector._llm_reflect", + "type": "function", + "name": "_llm_reflect", + "filePath": "src/agentkit/orchestrator/reflection.py", + "layer": "service", + "summary": "PipelineReflector._llm_reflect(pipeline, failed_stage, error_message, completed_outputs, reflection_number) 异步方法", + "tags": [ + "PipelineReflector", + "_llm_reflect" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineReflector._build_reflection_prompt", + "type": "function", + "name": "_build_reflection_prompt", + "filePath": "src/agentkit/orchestrator/reflection.py", + "layer": "service", + "summary": "PipelineReflector._build_reflection_prompt(pipeline, failed_stage, error_message, completed_outputs, reflection_number) 方法", + "tags": [ + "PipelineReflector", + "_build_reflection_prompt" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineReflector._parse_reflection_response", + "type": "function", + "name": "_parse_reflection_response", + "filePath": "src/agentkit/orchestrator/reflection.py", + "layer": "service", + "summary": "PipelineReflector._parse_reflection_response(content, failed_stage, reflection_number) 方法", + "tags": [ + "PipelineReflector", + "_parse_reflection_response" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineReflector._rule_based_reflect", + "type": "function", + "name": "_rule_based_reflect", + "filePath": "src/agentkit/orchestrator/reflection.py", + "layer": "service", + "summary": "PipelineReflector._rule_based_reflect(failed_stage, error_message, reflection_number) 方法", + "tags": [ + "PipelineReflector", + "_rule_based_reflect" + ], + "complexity": "simple" + }, + { + "id": "class:PipelineReplanner", + "type": "class", + "name": "PipelineReplanner", + "filePath": "src/agentkit/orchestrator/reflection.py", + "layer": "service", + "summary": "基于反思报告生成修正后的 Pipeline。", + "tags": [ + "PipelineReplanner" + ], + "complexity": "moderate" + }, + { + "id": "func:PipelineReplanner.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/orchestrator/reflection.py", + "layer": "service", + "summary": "PipelineReplanner.__init__(llm_gateway) 方法", + "tags": [ + "PipelineReplanner", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineReplanner.replan", + "type": "function", + "name": "replan", + "filePath": "src/agentkit/orchestrator/reflection.py", + "layer": "service", + "summary": "PipelineReplanner.replan(pipeline, result, report) 异步方法", + "tags": [ + "PipelineReplanner", + "replan" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineReplanner._llm_replan", + "type": "function", + "name": "_llm_replan", + "filePath": "src/agentkit/orchestrator/reflection.py", + "layer": "service", + "summary": "PipelineReplanner._llm_replan(pipeline, result, report) 异步方法", + "tags": [ + "PipelineReplanner", + "_llm_replan" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineReplanner._parse_pipeline_response", + "type": "function", + "name": "_parse_pipeline_response", + "filePath": "src/agentkit/orchestrator/reflection.py", + "layer": "service", + "summary": "PipelineReplanner._parse_pipeline_response(content, original) 方法", + "tags": [ + "PipelineReplanner", + "_parse_pipeline_response" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineReplanner._rule_based_replan", + "type": "function", + "name": "_rule_based_replan", + "filePath": "src/agentkit/orchestrator/reflection.py", + "layer": "service", + "summary": "PipelineReplanner._rule_based_replan(pipeline, result, report) 方法", + "tags": [ + "PipelineReplanner", + "_rule_based_replan" + ], + "complexity": "simple" + }, + { + "id": "func:PipelineReplanner._adjust_failed_stage", + "type": "function", + "name": "_adjust_failed_stage", + "filePath": "src/agentkit/orchestrator/reflection.py", + "layer": "service", + "summary": "PipelineReplanner._adjust_failed_stage(stage, report) 方法", + "tags": [ + "PipelineReplanner", + "_adjust_failed_stage" + ], + "complexity": "simple" + }, + { + "id": "class:StepRetryPolicy", + "type": "class", + "name": "StepRetryPolicy", + "filePath": "src/agentkit/orchestrator/retry.py", + "layer": "service", + "summary": "Retry policy for pipeline steps", + "tags": [ + "StepRetryPolicy" + ], + "complexity": "simple" + }, + { + "id": "func:StepRetryPolicy.calculate_delay", + "type": "function", + "name": "calculate_delay", + "filePath": "src/agentkit/orchestrator/retry.py", + "layer": "service", + "summary": "StepRetryPolicy.calculate_delay(attempt) 方法", + "tags": [ + "StepRetryPolicy", + "calculate_delay" + ], + "complexity": "simple" + }, + { + "id": "class:WorkflowStage", + "type": "class", + "name": "WorkflowStage", + "filePath": "src/agentkit/orchestrator/workflow_schema.py", + "layer": "service", + "summary": "A workflow stage extending PipelineStage with type and config.", + "tags": [ + "WorkflowStage" + ], + "complexity": "simple" + }, + { + "id": "class:WorkflowDefinition", + "type": "class", + "name": "WorkflowDefinition", + "filePath": "src/agentkit/orchestrator/workflow_schema.py", + "layer": "service", + "summary": "Workflow definition extending Pipeline with workflow-specific fields.", + "tags": [ + "WorkflowDefinition" + ], + "complexity": "simple" + }, + { + "id": "class:WorkflowExecution", + "type": "class", + "name": "WorkflowExecution", + "filePath": "src/agentkit/orchestrator/workflow_schema.py", + "layer": "service", + "summary": "Runtime state of a workflow execution.", + "tags": [ + "WorkflowExecution" + ], + "complexity": "simple" + }, + { + "id": "class:WorkflowSummary", + "type": "class", + "name": "WorkflowSummary", + "filePath": "src/agentkit/orchestrator/workflow_schema.py", + "layer": "service", + "summary": "Summary for listing workflows.", + "tags": [ + "WorkflowSummary" + ], + "complexity": "simple" + }, + { + "id": "class:CreateWorkflowRequest", + "type": "class", + "name": "CreateWorkflowRequest", + "filePath": "src/agentkit/orchestrator/workflow_schema.py", + "layer": "service", + "summary": "Request body for creating/updating a workflow.", + "tags": [ + "CreateWorkflowRequest" + ], + "complexity": "simple" + }, + { + "id": "class:ExecuteWorkflowRequest", + "type": "class", + "name": "ExecuteWorkflowRequest", + "filePath": "src/agentkit/orchestrator/workflow_schema.py", + "layer": "service", + "summary": "Request body for executing a workflow.", + "tags": [ + "ExecuteWorkflowRequest" + ], + "complexity": "simple" + }, + { + "id": "class:ApproveRequest", + "type": "class", + "name": "ApproveRequest", + "filePath": "src/agentkit/orchestrator/workflow_schema.py", + "layer": "service", + "summary": "Request body for approving a paused approval node.", + "tags": [ + "ApproveRequest" + ], + "complexity": "simple" + }, + { + "id": "class:AgentProfile", + "type": "class", + "name": "AgentProfile", + "filePath": "src/agentkit/org/context.py", + "layer": "unknown", + "summary": "Agent 档案 - 描述组织中一个 Agent 的能力与状态", + "tags": [ + "AgentProfile" + ], + "complexity": "simple" + }, + { + "id": "class:OrganizationContext", + "type": "class", + "name": "OrganizationContext", + "filePath": "src/agentkit/org/context.py", + "layer": "unknown", + "summary": "组织上下文 - 管理 Agent 档案与能力矩阵,支持基于能力的 Agent 发现", + "tags": [ + "OrganizationContext" + ], + "complexity": "complex" + }, + { + "id": "func:OrganizationContext.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/org/context.py", + "layer": "unknown", + "summary": "OrganizationContext.__init__() 方法", + "tags": [ + "OrganizationContext", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:OrganizationContext.register_agent", + "type": "function", + "name": "register_agent", + "filePath": "src/agentkit/org/context.py", + "layer": "unknown", + "summary": "OrganizationContext.register_agent(profile) 方法", + "tags": [ + "OrganizationContext", + "register_agent" + ], + "complexity": "simple" + }, + { + "id": "func:OrganizationContext.unregister_agent", + "type": "function", + "name": "unregister_agent", + "filePath": "src/agentkit/org/context.py", + "layer": "unknown", + "summary": "OrganizationContext.unregister_agent(name) 方法", + "tags": [ + "OrganizationContext", + "unregister_agent" + ], + "complexity": "simple" + }, + { + "id": "func:OrganizationContext.get_agent_profile", + "type": "function", + "name": "get_agent_profile", + "filePath": "src/agentkit/org/context.py", + "layer": "unknown", + "summary": "OrganizationContext.get_agent_profile(name) 方法", + "tags": [ + "OrganizationContext", + "get_agent_profile" + ], + "complexity": "simple" + }, + { + "id": "func:OrganizationContext.list_agents", + "type": "function", + "name": "list_agents", + "filePath": "src/agentkit/org/context.py", + "layer": "unknown", + "summary": "OrganizationContext.list_agents() 方法", + "tags": [ + "OrganizationContext", + "list_agents" + ], + "complexity": "simple" + }, + { + "id": "func:OrganizationContext.find_best_agent", + "type": "function", + "name": "find_best_agent", + "filePath": "src/agentkit/org/context.py", + "layer": "unknown", + "summary": "OrganizationContext.find_best_agent(required_capabilities, exclude) 方法", + "tags": [ + "OrganizationContext", + "find_best_agent" + ], + "complexity": "simple" + }, + { + "id": "func:OrganizationContext.update_load", + "type": "function", + "name": "update_load", + "filePath": "src/agentkit/org/context.py", + "layer": "unknown", + "summary": "OrganizationContext.update_load(name, delta) 方法", + "tags": [ + "OrganizationContext", + "update_load" + ], + "complexity": "simple" + }, + { + "id": "func:OrganizationContext.set_availability", + "type": "function", + "name": "set_availability", + "filePath": "src/agentkit/org/context.py", + "layer": "unknown", + "summary": "OrganizationContext.set_availability(name, available) 方法", + "tags": [ + "OrganizationContext", + "set_availability" + ], + "complexity": "simple" + }, + { + "id": "func:OrganizationContext.from_agent_pool", + "type": "function", + "name": "from_agent_pool", + "filePath": "src/agentkit/org/context.py", + "layer": "unknown", + "summary": "OrganizationContext.from_agent_pool(cls, agent_pool, skill_registry) 方法", + "tags": [ + "OrganizationContext", + "from_agent_pool" + ], + "complexity": "simple" + }, + { + "id": "class:AgentDiscovery", + "type": "class", + "name": "AgentDiscovery", + "filePath": "src/agentkit/org/discovery.py", + "layer": "unknown", + "summary": "Agent 发现 - 提供多种维度的 Agent 查询与推荐", + "tags": [ + "AgentDiscovery" + ], + "complexity": "moderate" + }, + { + "id": "func:AgentDiscovery.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/org/discovery.py", + "layer": "unknown", + "summary": "AgentDiscovery.__init__(org_context) 方法", + "tags": [ + "AgentDiscovery", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:AgentDiscovery.discover_by_capability", + "type": "function", + "name": "discover_by_capability", + "filePath": "src/agentkit/org/discovery.py", + "layer": "unknown", + "summary": "AgentDiscovery.discover_by_capability(required_capabilities) 方法", + "tags": [ + "AgentDiscovery", + "discover_by_capability" + ], + "complexity": "simple" + }, + { + "id": "func:AgentDiscovery.discover_by_execution_mode", + "type": "function", + "name": "discover_by_execution_mode", + "filePath": "src/agentkit/org/discovery.py", + "layer": "unknown", + "summary": "AgentDiscovery.discover_by_execution_mode(mode) 方法", + "tags": [ + "AgentDiscovery", + "discover_by_execution_mode" + ], + "complexity": "simple" + }, + { + "id": "func:AgentDiscovery.discover_available", + "type": "function", + "name": "discover_available", + "filePath": "src/agentkit/org/discovery.py", + "layer": "unknown", + "summary": "AgentDiscovery.discover_available() 方法", + "tags": [ + "AgentDiscovery", + "discover_available" + ], + "complexity": "simple" + }, + { + "id": "func:AgentDiscovery.recommend_agent", + "type": "function", + "name": "recommend_agent", + "filePath": "src/agentkit/org/discovery.py", + "layer": "unknown", + "summary": "AgentDiscovery.recommend_agent(required_capabilities, preferred_mode) 方法", + "tags": [ + "AgentDiscovery", + "recommend_agent" + ], + "complexity": "simple" + }, + { + "id": "class:PromptSection", + "type": "class", + "name": "PromptSection", + "filePath": "src/agentkit/prompts/section.py", + "layer": "utility", + "summary": "Prompt 段落定义", + "tags": [ + "PromptSection" + ], + "complexity": "simple" + }, + { + "id": "func:PromptSection.render", + "type": "function", + "name": "render", + "filePath": "src/agentkit/prompts/section.py", + "layer": "utility", + "summary": "PromptSection.render(variables) 方法", + "tags": [ + "PromptSection", + "render" + ], + "complexity": "simple" + }, + { + "id": "class:PromptTemplate", + "type": "class", + "name": "PromptTemplate", + "filePath": "src/agentkit/prompts/template.py", + "layer": "utility", + "summary": "Prompt 模板", + "tags": [ + "PromptTemplate" + ], + "complexity": "moderate" + }, + { + "id": "func:PromptTemplate.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/prompts/template.py", + "layer": "utility", + "summary": "PromptTemplate.__init__(sections, name, version) 方法", + "tags": [ + "PromptTemplate", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:PromptTemplate.render", + "type": "function", + "name": "render", + "filePath": "src/agentkit/prompts/template.py", + "layer": "utility", + "summary": "PromptTemplate.render(variables, context_budget) 方法", + "tags": [ + "PromptTemplate", + "render" + ], + "complexity": "simple" + }, + { + "id": "func:PromptTemplate.sections", + "type": "function", + "name": "sections", + "filePath": "src/agentkit/prompts/template.py", + "layer": "utility", + "summary": "PromptTemplate.sections() 方法", + "tags": [ + "PromptTemplate", + "sections" + ], + "complexity": "simple" + }, + { + "id": "func:PromptTemplate.render_cached", + "type": "function", + "name": "render_cached", + "filePath": "src/agentkit/prompts/template.py", + "layer": "utility", + "summary": "PromptTemplate.render_cached(variables) 方法", + "tags": [ + "PromptTemplate", + "render_cached" + ], + "complexity": "simple" + }, + { + "id": "func:PromptTemplate.clear_cache", + "type": "function", + "name": "clear_cache", + "filePath": "src/agentkit/prompts/template.py", + "layer": "utility", + "summary": "PromptTemplate.clear_cache() 方法", + "tags": [ + "PromptTemplate", + "clear_cache" + ], + "complexity": "simple" + }, + { + "id": "class:AlignmentConfig", + "type": "class", + "name": "AlignmentConfig", + "filePath": "src/agentkit/quality/alignment.py", + "layer": "utility", + "summary": "对齐守卫配置", + "tags": [ + "AlignmentConfig" + ], + "complexity": "simple" + }, + { + "id": "func:AlignmentConfig.from_dict", + "type": "function", + "name": "from_dict", + "filePath": "src/agentkit/quality/alignment.py", + "layer": "utility", + "summary": "AlignmentConfig.from_dict(cls, data) 方法", + "tags": [ + "AlignmentConfig", + "from_dict" + ], + "complexity": "simple" + }, + { + "id": "class:AlignmentCheckResult", + "type": "class", + "name": "AlignmentCheckResult", + "filePath": "src/agentkit/quality/alignment.py", + "layer": "utility", + "summary": "对齐检查结果", + "tags": [ + "AlignmentCheckResult" + ], + "complexity": "simple" + }, + { + "id": "class:CascadeAlert", + "type": "class", + "name": "CascadeAlert", + "filePath": "src/agentkit/quality/alignment.py", + "layer": "utility", + "summary": "级联故障告警", + "tags": [ + "CascadeAlert" + ], + "complexity": "simple" + }, + { + "id": "class:ConstraintInjector", + "type": "class", + "name": "ConstraintInjector", + "filePath": "src/agentkit/quality/alignment.py", + "layer": "utility", + "summary": "将全局约束注入到任务 input_data 中", + "tags": [ + "ConstraintInjector" + ], + "complexity": "simple" + }, + { + "id": "func:ConstraintInjector.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/quality/alignment.py", + "layer": "utility", + "summary": "ConstraintInjector.__init__(config) 方法", + "tags": [ + "ConstraintInjector", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:ConstraintInjector.inject", + "type": "function", + "name": "inject", + "filePath": "src/agentkit/quality/alignment.py", + "layer": "utility", + "summary": "ConstraintInjector.inject(input_data) 方法", + "tags": [ + "ConstraintInjector", + "inject" + ], + "complexity": "simple" + }, + { + "id": "class:AlignmentGuard", + "type": "class", + "name": "AlignmentGuard", + "filePath": "src/agentkit/quality/alignment.py", + "layer": "utility", + "summary": "对齐守卫 — 扩展 QualityGate,增加约束注入和级联检测", + "tags": [ + "AlignmentGuard" + ], + "complexity": "complex" + }, + { + "id": "func:AlignmentGuard.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/quality/alignment.py", + "layer": "utility", + "summary": "AlignmentGuard.__init__(config, llm_gateway) 方法", + "tags": [ + "AlignmentGuard", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:AlignmentGuard.inject_constraints", + "type": "function", + "name": "inject_constraints", + "filePath": "src/agentkit/quality/alignment.py", + "layer": "utility", + "summary": "AlignmentGuard.inject_constraints(input_data) 方法", + "tags": [ + "AlignmentGuard", + "inject_constraints" + ], + "complexity": "simple" + }, + { + "id": "func:AlignmentGuard.check_output", + "type": "function", + "name": "check_output", + "filePath": "src/agentkit/quality/alignment.py", + "layer": "utility", + "summary": "AlignmentGuard.check_output(output, constraints) 异步方法", + "tags": [ + "AlignmentGuard", + "check_output" + ], + "complexity": "simple" + }, + { + "id": "func:AlignmentGuard._rule_check", + "type": "function", + "name": "_rule_check", + "filePath": "src/agentkit/quality/alignment.py", + "layer": "utility", + "summary": "AlignmentGuard._rule_check(output, constraints) 方法", + "tags": [ + "AlignmentGuard", + "_rule_check" + ], + "complexity": "simple" + }, + { + "id": "func:AlignmentGuard._is_positive_mention", + "type": "function", + "name": "_is_positive_mention", + "filePath": "src/agentkit/quality/alignment.py", + "layer": "utility", + "summary": "AlignmentGuard._is_positive_mention(content, keyword) 方法", + "tags": [ + "AlignmentGuard", + "_is_positive_mention" + ], + "complexity": "simple" + }, + { + "id": "func:AlignmentGuard._extract_text", + "type": "function", + "name": "_extract_text", + "filePath": "src/agentkit/quality/alignment.py", + "layer": "utility", + "summary": "AlignmentGuard._extract_text(output) 方法", + "tags": [ + "AlignmentGuard", + "_extract_text" + ], + "complexity": "simple" + }, + { + "id": "func:AlignmentGuard._llm_check", + "type": "function", + "name": "_llm_check", + "filePath": "src/agentkit/quality/alignment.py", + "layer": "utility", + "summary": "AlignmentGuard._llm_check(output, constraints) 异步方法", + "tags": [ + "AlignmentGuard", + "_llm_check" + ], + "complexity": "simple" + }, + { + "id": "func:AlignmentGuard.record_interaction", + "type": "function", + "name": "record_interaction", + "filePath": "src/agentkit/quality/alignment.py", + "layer": "utility", + "summary": "AlignmentGuard.record_interaction(session_id) 方法", + "tags": [ + "AlignmentGuard", + "record_interaction" + ], + "complexity": "simple" + }, + { + "id": "func:AlignmentGuard.record_loop_depth", + "type": "function", + "name": "record_loop_depth", + "filePath": "src/agentkit/quality/alignment.py", + "layer": "utility", + "summary": "AlignmentGuard.record_loop_depth(session_id, depth) 方法", + "tags": [ + "AlignmentGuard", + "record_loop_depth" + ], + "complexity": "simple" + }, + { + "id": "func:AlignmentGuard.reset_session", + "type": "function", + "name": "reset_session", + "filePath": "src/agentkit/quality/alignment.py", + "layer": "utility", + "summary": "AlignmentGuard.reset_session(session_id) 方法", + "tags": [ + "AlignmentGuard", + "reset_session" + ], + "complexity": "simple" + }, + { + "id": "func:AlignmentGuard.get_interaction_count", + "type": "function", + "name": "get_interaction_count", + "filePath": "src/agentkit/quality/alignment.py", + "layer": "utility", + "summary": "AlignmentGuard.get_interaction_count(session_id) 方法", + "tags": [ + "AlignmentGuard", + "get_interaction_count" + ], + "complexity": "simple" + }, + { + "id": "class:CascadeAlert", + "type": "class", + "name": "CascadeAlert", + "filePath": "src/agentkit/quality/cascade_detector.py", + "layer": "utility", + "summary": "级联故障告警", + "tags": [ + "CascadeAlert" + ], + "complexity": "simple" + }, + { + "id": "class:CascadeDetector", + "type": "class", + "name": "CascadeDetector", + "filePath": "src/agentkit/quality/cascade_detector.py", + "layer": "utility", + "summary": "检测多 agent 交互中的级联故障", + "tags": [ + "CascadeDetector" + ], + "complexity": "moderate" + }, + { + "id": "func:CascadeDetector.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/quality/cascade_detector.py", + "layer": "utility", + "summary": "CascadeDetector.__init__(max_interactions, max_depth) 方法", + "tags": [ + "CascadeDetector", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:CascadeDetector.check_interaction", + "type": "function", + "name": "check_interaction", + "filePath": "src/agentkit/quality/cascade_detector.py", + "layer": "utility", + "summary": "CascadeDetector.check_interaction(session_id) 方法", + "tags": [ + "CascadeDetector", + "check_interaction" + ], + "complexity": "simple" + }, + { + "id": "func:CascadeDetector.check_depth", + "type": "function", + "name": "check_depth", + "filePath": "src/agentkit/quality/cascade_detector.py", + "layer": "utility", + "summary": "CascadeDetector.check_depth(session_id, depth) 方法", + "tags": [ + "CascadeDetector", + "check_depth" + ], + "complexity": "simple" + }, + { + "id": "func:CascadeDetector.reset", + "type": "function", + "name": "reset", + "filePath": "src/agentkit/quality/cascade_detector.py", + "layer": "utility", + "summary": "CascadeDetector.reset(session_id) 方法", + "tags": [ + "CascadeDetector", + "reset" + ], + "complexity": "simple" + }, + { + "id": "func:CascadeDetector.get_stats", + "type": "function", + "name": "get_stats", + "filePath": "src/agentkit/quality/cascade_detector.py", + "layer": "utility", + "summary": "CascadeDetector.get_stats(session_id) 方法", + "tags": [ + "CascadeDetector", + "get_stats" + ], + "complexity": "simple" + }, + { + "id": "class:QualityCheck", + "type": "class", + "name": "QualityCheck", + "filePath": "src/agentkit/quality/gate.py", + "layer": "utility", + "summary": "单条质量检查结果", + "tags": [ + "QualityCheck" + ], + "complexity": "simple" + }, + { + "id": "class:QualityResult", + "type": "class", + "name": "QualityResult", + "filePath": "src/agentkit/quality/gate.py", + "layer": "utility", + "summary": "质量检查汇总结果", + "tags": [ + "QualityResult" + ], + "complexity": "simple" + }, + { + "id": "class:QualityGate", + "type": "class", + "name": "QualityGate", + "filePath": "src/agentkit/quality/gate.py", + "layer": "utility", + "summary": "产出质量管理 — 多维度质量检查", + "tags": [ + "QualityGate" + ], + "complexity": "simple" + }, + { + "id": "func:QualityGate.validate", + "type": "function", + "name": "validate", + "filePath": "src/agentkit/quality/gate.py", + "layer": "utility", + "summary": "QualityGate.validate(output, skill) 异步方法", + "tags": [ + "QualityGate", + "validate" + ], + "complexity": "simple" + }, + { + "id": "func:QualityGate._import_validator", + "type": "function", + "name": "_import_validator", + "filePath": "src/agentkit/quality/gate.py", + "layer": "utility", + "summary": "QualityGate._import_validator(dotted_path) 方法", + "tags": [ + "QualityGate", + "_import_validator" + ], + "complexity": "simple" + }, + { + "id": "class:OutputMetadata", + "type": "class", + "name": "OutputMetadata", + "filePath": "src/agentkit/quality/output.py", + "layer": "utility", + "summary": "输出元数据", + "tags": [ + "OutputMetadata" + ], + "complexity": "simple" + }, + { + "id": "class:StandardOutput", + "type": "class", + "name": "StandardOutput", + "filePath": "src/agentkit/quality/output.py", + "layer": "utility", + "summary": "标准化输出", + "tags": [ + "StandardOutput" + ], + "complexity": "simple" + }, + { + "id": "class:OutputStandardizer", + "type": "class", + "name": "OutputStandardizer", + "filePath": "src/agentkit/quality/output.py", + "layer": "utility", + "summary": "标准化输出 — Schema 验证 + 类型归一化 + 元数据", + "tags": [ + "OutputStandardizer" + ], + "complexity": "moderate" + }, + { + "id": "func:OutputStandardizer.standardize", + "type": "function", + "name": "standardize", + "filePath": "src/agentkit/quality/output.py", + "layer": "utility", + "summary": "OutputStandardizer.standardize(raw_output, skill, quality_result) 异步方法", + "tags": [ + "OutputStandardizer", + "standardize" + ], + "complexity": "simple" + }, + { + "id": "func:OutputStandardizer._validate_schema", + "type": "function", + "name": "_validate_schema", + "filePath": "src/agentkit/quality/output.py", + "layer": "utility", + "summary": "OutputStandardizer._validate_schema(output, schema) 方法", + "tags": [ + "OutputStandardizer", + "_validate_schema" + ], + "complexity": "simple" + }, + { + "id": "func:OutputStandardizer._normalize_types", + "type": "function", + "name": "_normalize_types", + "filePath": "src/agentkit/quality/output.py", + "layer": "utility", + "summary": "OutputStandardizer._normalize_types(output, schema) 方法", + "tags": [ + "OutputStandardizer", + "_normalize_types" + ], + "complexity": "simple" + }, + { + "id": "func:OutputStandardizer._calculate_quality_score", + "type": "function", + "name": "_calculate_quality_score", + "filePath": "src/agentkit/quality/output.py", + "layer": "utility", + "summary": "OutputStandardizer._calculate_quality_score(quality_result) 方法", + "tags": [ + "OutputStandardizer", + "_calculate_quality_score" + ], + "complexity": "simple" + }, + { + "id": "class:RoutingResult", + "type": "class", + "name": "RoutingResult", + "filePath": "src/agentkit/router/intent.py", + "layer": "service", + "summary": "路由结果", + "tags": [ + "RoutingResult" + ], + "complexity": "simple" + }, + { + "id": "class:IntentRouter", + "type": "class", + "name": "IntentRouter", + "filePath": "src/agentkit/router/intent.py", + "layer": "service", + "summary": "两级意图路由:关键词匹配 → LLM 分类", + "tags": [ + "IntentRouter" + ], + "complexity": "moderate" + }, + { + "id": "func:IntentRouter.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/router/intent.py", + "layer": "service", + "summary": "IntentRouter.__init__(llm_gateway, model) 方法", + "tags": [ + "IntentRouter", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:IntentRouter.route", + "type": "function", + "name": "route", + "filePath": "src/agentkit/router/intent.py", + "layer": "service", + "summary": "IntentRouter.route(input_data, skills) 异步方法", + "tags": [ + "IntentRouter", + "route" + ], + "complexity": "simple" + }, + { + "id": "func:IntentRouter._match_keywords", + "type": "function", + "name": "_match_keywords", + "filePath": "src/agentkit/router/intent.py", + "layer": "service", + "summary": "IntentRouter._match_keywords(input_data, skills) 方法", + "tags": [ + "IntentRouter", + "_match_keywords" + ], + "complexity": "simple" + }, + { + "id": "func:IntentRouter._classify_with_llm", + "type": "function", + "name": "_classify_with_llm", + "filePath": "src/agentkit/router/intent.py", + "layer": "service", + "summary": "IntentRouter._classify_with_llm(input_data, skills) 异步方法", + "tags": [ + "IntentRouter", + "_classify_with_llm" + ], + "complexity": "simple" + }, + { + "id": "func:IntentRouter._build_classification_prompt", + "type": "function", + "name": "_build_classification_prompt", + "filePath": "src/agentkit/router/intent.py", + "layer": "service", + "summary": "IntentRouter._build_classification_prompt(input_data, skills) 方法", + "tags": [ + "IntentRouter", + "_build_classification_prompt" + ], + "complexity": "simple" + }, + { + "id": "func:IntentRouter._parse_llm_response", + "type": "function", + "name": "_parse_llm_response", + "filePath": "src/agentkit/router/intent.py", + "layer": "service", + "summary": "IntentRouter._parse_llm_response(content, skills) 方法", + "tags": [ + "IntentRouter", + "_parse_llm_response" + ], + "complexity": "simple" + }, + { + "id": "func:IntentRouter._extract_skill_name_from_text", + "type": "function", + "name": "_extract_skill_name_from_text", + "filePath": "src/agentkit/router/intent.py", + "layer": "service", + "summary": "IntentRouter._extract_skill_name_from_text(text, valid_names) 方法", + "tags": [ + "IntentRouter", + "_extract_skill_name_from_text" + ], + "complexity": "simple" + }, + { + "id": "func:IntentRouter._extract_string_values", + "type": "function", + "name": "_extract_string_values", + "filePath": "src/agentkit/router/intent.py", + "layer": "service", + "summary": "IntentRouter._extract_string_values(data) 方法", + "tags": [ + "IntentRouter", + "_extract_string_values" + ], + "complexity": "simple" + }, + { + "id": "class:AgentKitClient", + "type": "class", + "name": "AgentKitClient", + "filePath": "src/agentkit/server/client.py", + "layer": "api", + "summary": "Python SDK for AgentKit Server", + "tags": [ + "AgentKitClient" + ], + "complexity": "complex" + }, + { + "id": "func:AgentKitClient.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/server/client.py", + "layer": "api", + "summary": "AgentKitClient.__init__(base_url) 方法", + "tags": [ + "AgentKitClient", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:AgentKitClient.create_agent", + "type": "function", + "name": "create_agent", + "filePath": "src/agentkit/server/client.py", + "layer": "api", + "summary": "AgentKitClient.create_agent(skill_name, config) 异步方法", + "tags": [ + "AgentKitClient", + "create_agent" + ], + "complexity": "simple" + }, + { + "id": "func:AgentKitClient.list_agents", + "type": "function", + "name": "list_agents", + "filePath": "src/agentkit/server/client.py", + "layer": "api", + "summary": "AgentKitClient.list_agents() 异步方法", + "tags": [ + "AgentKitClient", + "list_agents" + ], + "complexity": "simple" + }, + { + "id": "func:AgentKitClient.get_agent", + "type": "function", + "name": "get_agent", + "filePath": "src/agentkit/server/client.py", + "layer": "api", + "summary": "AgentKitClient.get_agent(name) 异步方法", + "tags": [ + "AgentKitClient", + "get_agent" + ], + "complexity": "simple" + }, + { + "id": "func:AgentKitClient.delete_agent", + "type": "function", + "name": "delete_agent", + "filePath": "src/agentkit/server/client.py", + "layer": "api", + "summary": "AgentKitClient.delete_agent(name) 异步方法", + "tags": [ + "AgentKitClient", + "delete_agent" + ], + "complexity": "simple" + }, + { + "id": "func:AgentKitClient.submit_task", + "type": "function", + "name": "submit_task", + "filePath": "src/agentkit/server/client.py", + "layer": "api", + "summary": "AgentKitClient.submit_task(input_data, skill_name, agent_name) 异步方法", + "tags": [ + "AgentKitClient", + "submit_task" + ], + "complexity": "simple" + }, + { + "id": "func:AgentKitClient.register_skill", + "type": "function", + "name": "register_skill", + "filePath": "src/agentkit/server/client.py", + "layer": "api", + "summary": "AgentKitClient.register_skill(config) 异步方法", + "tags": [ + "AgentKitClient", + "register_skill" + ], + "complexity": "simple" + }, + { + "id": "func:AgentKitClient.list_skills", + "type": "function", + "name": "list_skills", + "filePath": "src/agentkit/server/client.py", + "layer": "api", + "summary": "AgentKitClient.list_skills() 异步方法", + "tags": [ + "AgentKitClient", + "list_skills" + ], + "complexity": "simple" + }, + { + "id": "func:AgentKitClient.get_usage", + "type": "function", + "name": "get_usage", + "filePath": "src/agentkit/server/client.py", + "layer": "api", + "summary": "AgentKitClient.get_usage(agent_name) 异步方法", + "tags": [ + "AgentKitClient", + "get_usage" + ], + "complexity": "simple" + }, + { + "id": "func:AgentKitClient.health", + "type": "function", + "name": "health", + "filePath": "src/agentkit/server/client.py", + "layer": "api", + "summary": "AgentKitClient.health() 异步方法", + "tags": [ + "AgentKitClient", + "health" + ], + "complexity": "simple" + }, + { + "id": "func:AgentKitClient.submit_task_async", + "type": "function", + "name": "submit_task_async", + "filePath": "src/agentkit/server/client.py", + "layer": "api", + "summary": "AgentKitClient.submit_task_async(input_data, skill_name, agent_name) 异步方法", + "tags": [ + "AgentKitClient", + "submit_task_async" + ], + "complexity": "simple" + }, + { + "id": "func:AgentKitClient.get_task_status", + "type": "function", + "name": "get_task_status", + "filePath": "src/agentkit/server/client.py", + "layer": "api", + "summary": "AgentKitClient.get_task_status(task_id) 异步方法", + "tags": [ + "AgentKitClient", + "get_task_status" + ], + "complexity": "simple" + }, + { + "id": "func:AgentKitClient.cancel_task", + "type": "function", + "name": "cancel_task", + "filePath": "src/agentkit/server/client.py", + "layer": "api", + "summary": "AgentKitClient.cancel_task(task_id) 异步方法", + "tags": [ + "AgentKitClient", + "cancel_task" + ], + "complexity": "simple" + }, + { + "id": "func:AgentKitClient.list_tasks", + "type": "function", + "name": "list_tasks", + "filePath": "src/agentkit/server/client.py", + "layer": "api", + "summary": "AgentKitClient.list_tasks(status, limit) 异步方法", + "tags": [ + "AgentKitClient", + "list_tasks" + ], + "complexity": "simple" + }, + { + "id": "func:AgentKitClient.stream_task", + "type": "function", + "name": "stream_task", + "filePath": "src/agentkit/server/client.py", + "layer": "api", + "summary": "AgentKitClient.stream_task(input_data, skill_name, agent_name) 异步方法", + "tags": [ + "AgentKitClient", + "stream_task" + ], + "complexity": "simple" + }, + { + "id": "func:AgentKitClient.close", + "type": "function", + "name": "close", + "filePath": "src/agentkit/server/client.py", + "layer": "api", + "summary": "AgentKitClient.close() 异步方法", + "tags": [ + "AgentKitClient", + "close" + ], + "complexity": "simple" + }, + { + "id": "func:AgentKitClient.__aenter__", + "type": "function", + "name": "__aenter__", + "filePath": "src/agentkit/server/client.py", + "layer": "api", + "summary": "AgentKitClient.__aenter__() 异步方法", + "tags": [ + "AgentKitClient", + "__aenter__" + ], + "complexity": "simple" + }, + { + "id": "func:AgentKitClient.__aexit__", + "type": "function", + "name": "__aexit__", + "filePath": "src/agentkit/server/client.py", + "layer": "api", + "summary": "AgentKitClient.__aexit__() 异步方法", + "tags": [ + "AgentKitClient", + "__aexit__" + ], + "complexity": "simple" + }, + { + "id": "class:ClientConfig", + "type": "class", + "name": "ClientConfig", + "filePath": "src/agentkit/server/client_config.py", + "layer": "api", + "summary": "Manages client-specific configuration overrides", + "tags": [ + "ClientConfig" + ], + "complexity": "complex" + }, + { + "id": "func:ClientConfig.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/server/client_config.py", + "layer": "api", + "summary": "ClientConfig.__init__(config_dir) 方法", + "tags": [ + "ClientConfig", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:ClientConfig.clients", + "type": "function", + "name": "clients", + "filePath": "src/agentkit/server/client_config.py", + "layer": "api", + "summary": "ClientConfig.clients() 方法", + "tags": [ + "ClientConfig", + "clients" + ], + "complexity": "simple" + }, + { + "id": "func:ClientConfig._load_clients", + "type": "function", + "name": "_load_clients", + "filePath": "src/agentkit/server/client_config.py", + "layer": "api", + "summary": "ClientConfig._load_clients() 方法", + "tags": [ + "ClientConfig", + "_load_clients" + ], + "complexity": "simple" + }, + { + "id": "func:ClientConfig.reload", + "type": "function", + "name": "reload", + "filePath": "src/agentkit/server/client_config.py", + "layer": "api", + "summary": "ClientConfig.reload() 方法", + "tags": [ + "ClientConfig", + "reload" + ], + "complexity": "simple" + }, + { + "id": "func:ClientConfig.identify_client", + "type": "function", + "name": "identify_client", + "filePath": "src/agentkit/server/client_config.py", + "layer": "api", + "summary": "ClientConfig.identify_client(api_key) 方法", + "tags": [ + "ClientConfig", + "identify_client" + ], + "complexity": "simple" + }, + { + "id": "func:ClientConfig.get_client_config", + "type": "function", + "name": "get_client_config", + "filePath": "src/agentkit/server/client_config.py", + "layer": "api", + "summary": "ClientConfig.get_client_config(client_name) 方法", + "tags": [ + "ClientConfig", + "get_client_config" + ], + "complexity": "simple" + }, + { + "id": "func:ClientConfig.get_skills_dir", + "type": "function", + "name": "get_skills_dir", + "filePath": "src/agentkit/server/client_config.py", + "layer": "api", + "summary": "ClientConfig.get_skills_dir(client_name) 方法", + "tags": [ + "ClientConfig", + "get_skills_dir" + ], + "complexity": "simple" + }, + { + "id": "func:ClientConfig._load_default_config", + "type": "function", + "name": "_load_default_config", + "filePath": "src/agentkit/server/client_config.py", + "layer": "api", + "summary": "ClientConfig._load_default_config() 方法", + "tags": [ + "ClientConfig", + "_load_default_config" + ], + "complexity": "simple" + }, + { + "id": "func:ClientConfig.validate_api_key", + "type": "function", + "name": "validate_api_key", + "filePath": "src/agentkit/server/client_config.py", + "layer": "api", + "summary": "ClientConfig.validate_api_key(api_key) 方法", + "tags": [ + "ClientConfig", + "validate_api_key" + ], + "complexity": "simple" + }, + { + "id": "class:MCPServerConfig", + "type": "class", + "name": "MCPServerConfig", + "filePath": "src/agentkit/server/config.py", + "layer": "api", + "summary": "Configuration for a single MCP Server connection", + "tags": [ + "MCPServerConfig" + ], + "complexity": "simple" + }, + { + "id": "func:MCPServerConfig.validate", + "type": "function", + "name": "validate", + "filePath": "src/agentkit/server/config.py", + "layer": "api", + "summary": "MCPServerConfig.validate() 方法", + "tags": [ + "MCPServerConfig", + "validate" + ], + "complexity": "simple" + }, + { + "id": "func:MCPServerConfig.from_dict", + "type": "function", + "name": "from_dict", + "filePath": "src/agentkit/server/config.py", + "layer": "api", + "summary": "MCPServerConfig.from_dict(cls, data) 方法", + "tags": [ + "MCPServerConfig", + "from_dict" + ], + "complexity": "simple" + }, + { + "id": "class:ServerConfig", + "type": "class", + "name": "ServerConfig", + "filePath": "src/agentkit/server/config.py", + "layer": "api", + "summary": "Server configuration loaded from agentkit.yaml", + "tags": [ + "ServerConfig" + ], + "complexity": "complex" + }, + { + "id": "func:ServerConfig.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/server/config.py", + "layer": "api", + "summary": "ServerConfig.__init__(host, port, workers, api_key, rate_limit, llm_config, skill_paths, auto_discover_skills, log_level, log_format, task_store, cors_origins, memory, mcp_servers, telemetry, compression, session, bus, marketplace, alignment, router, on_change) 方法", + "tags": [ + "ServerConfig", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:ServerConfig.has_llm_provider", + "type": "function", + "name": "has_llm_provider", + "filePath": "src/agentkit/server/config.py", + "layer": "api", + "summary": "ServerConfig.has_llm_provider() 方法", + "tags": [ + "ServerConfig", + "has_llm_provider" + ], + "complexity": "simple" + }, + { + "id": "func:ServerConfig.from_yaml", + "type": "function", + "name": "from_yaml", + "filePath": "src/agentkit/server/config.py", + "layer": "api", + "summary": "ServerConfig.from_yaml(cls, path) 方法", + "tags": [ + "ServerConfig", + "from_yaml" + ], + "complexity": "simple" + }, + { + "id": "func:ServerConfig.from_dict", + "type": "function", + "name": "from_dict", + "filePath": "src/agentkit/server/config.py", + "layer": "api", + "summary": "ServerConfig.from_dict(cls, data) 方法", + "tags": [ + "ServerConfig", + "from_dict" + ], + "complexity": "simple" + }, + { + "id": "func:ServerConfig._build_llm_config", + "type": "function", + "name": "_build_llm_config", + "filePath": "src/agentkit/server/config.py", + "layer": "api", + "summary": "ServerConfig._build_llm_config(data) 方法", + "tags": [ + "ServerConfig", + "_build_llm_config" + ], + "complexity": "simple" + }, + { + "id": "func:ServerConfig._build_mcp_configs", + "type": "function", + "name": "_build_mcp_configs", + "filePath": "src/agentkit/server/config.py", + "layer": "api", + "summary": "ServerConfig._build_mcp_configs(data) 方法", + "tags": [ + "ServerConfig", + "_build_mcp_configs" + ], + "complexity": "simple" + }, + { + "id": "func:ServerConfig.load_skill_configs", + "type": "function", + "name": "load_skill_configs", + "filePath": "src/agentkit/server/config.py", + "layer": "api", + "summary": "ServerConfig.load_skill_configs() 方法", + "tags": [ + "ServerConfig", + "load_skill_configs" + ], + "complexity": "simple" + }, + { + "id": "func:ServerConfig.load_dotenv", + "type": "function", + "name": "load_dotenv", + "filePath": "src/agentkit/server/config.py", + "layer": "api", + "summary": "ServerConfig.load_dotenv(dotenv_path) 方法", + "tags": [ + "ServerConfig", + "load_dotenv" + ], + "complexity": "simple" + }, + { + "id": "func:ServerConfig.watch_config", + "type": "function", + "name": "watch_config", + "filePath": "src/agentkit/server/config.py", + "layer": "api", + "summary": "ServerConfig.watch_config(config_path) 方法", + "tags": [ + "ServerConfig", + "watch_config" + ], + "complexity": "simple" + }, + { + "id": "func:ServerConfig.stop_watching", + "type": "function", + "name": "stop_watching", + "filePath": "src/agentkit/server/config.py", + "layer": "api", + "summary": "ServerConfig.stop_watching() 方法", + "tags": [ + "ServerConfig", + "stop_watching" + ], + "complexity": "simple" + }, + { + "id": "func:ServerConfig._watch_with_watchfiles", + "type": "function", + "name": "_watch_with_watchfiles", + "filePath": "src/agentkit/server/config.py", + "layer": "api", + "summary": "ServerConfig._watch_with_watchfiles(path) 异步方法", + "tags": [ + "ServerConfig", + "_watch_with_watchfiles" + ], + "complexity": "simple" + }, + { + "id": "func:ServerConfig._poll_config_loop", + "type": "function", + "name": "_poll_config_loop", + "filePath": "src/agentkit/server/config.py", + "layer": "api", + "summary": "ServerConfig._poll_config_loop(path) 异步方法", + "tags": [ + "ServerConfig", + "_poll_config_loop" + ], + "complexity": "simple" + }, + { + "id": "func:ServerConfig._try_reload_config", + "type": "function", + "name": "_try_reload_config", + "filePath": "src/agentkit/server/config.py", + "layer": "api", + "summary": "ServerConfig._try_reload_config(path) 方法", + "tags": [ + "ServerConfig", + "_try_reload_config" + ], + "complexity": "simple" + }, + { + "id": "class:APIKeyAuthMiddleware", + "type": "class", + "name": "APIKeyAuthMiddleware", + "filePath": "src/agentkit/server/middleware.py", + "layer": "api", + "summary": "API Key authentication middleware.", + "tags": [ + "APIKeyAuthMiddleware" + ], + "complexity": "simple" + }, + { + "id": "func:APIKeyAuthMiddleware.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/server/middleware.py", + "layer": "api", + "summary": "APIKeyAuthMiddleware.__init__(app, api_key) 方法", + "tags": [ + "APIKeyAuthMiddleware", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:APIKeyAuthMiddleware.dispatch", + "type": "function", + "name": "dispatch", + "filePath": "src/agentkit/server/middleware.py", + "layer": "api", + "summary": "APIKeyAuthMiddleware.dispatch(request, call_next) 异步方法", + "tags": [ + "APIKeyAuthMiddleware", + "dispatch" + ], + "complexity": "simple" + }, + { + "id": "class:RateLimiter", + "type": "class", + "name": "RateLimiter", + "filePath": "src/agentkit/server/middleware.py", + "layer": "api", + "summary": "Fixed-window rate limiter.", + "tags": [ + "RateLimiter" + ], + "complexity": "simple" + }, + { + "id": "func:RateLimiter.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/server/middleware.py", + "layer": "api", + "summary": "RateLimiter.__init__(max_requests, window_seconds) 方法", + "tags": [ + "RateLimiter", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:RateLimiter.is_allowed", + "type": "function", + "name": "is_allowed", + "filePath": "src/agentkit/server/middleware.py", + "layer": "api", + "summary": "RateLimiter.is_allowed(key) 方法", + "tags": [ + "RateLimiter", + "is_allowed" + ], + "complexity": "simple" + }, + { + "id": "func:RateLimiter.max_requests", + "type": "function", + "name": "max_requests", + "filePath": "src/agentkit/server/middleware.py", + "layer": "api", + "summary": "RateLimiter.max_requests() 方法", + "tags": [ + "RateLimiter", + "max_requests" + ], + "complexity": "simple" + }, + { + "id": "class:RateLimitMiddleware", + "type": "class", + "name": "RateLimitMiddleware", + "filePath": "src/agentkit/server/middleware.py", + "layer": "api", + "summary": "Rate limiting middleware.", + "tags": [ + "RateLimitMiddleware" + ], + "complexity": "simple" + }, + { + "id": "func:RateLimitMiddleware.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/server/middleware.py", + "layer": "api", + "summary": "RateLimitMiddleware.__init__(app, max_requests, window_seconds) 方法", + "tags": [ + "RateLimitMiddleware", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:RateLimitMiddleware.dispatch", + "type": "function", + "name": "dispatch", + "filePath": "src/agentkit/server/middleware.py", + "layer": "api", + "summary": "RateLimitMiddleware.dispatch(request, call_next) 异步方法", + "tags": [ + "RateLimitMiddleware", + "dispatch" + ], + "complexity": "simple" + }, + { + "id": "class:CreateAgentRequest", + "type": "class", + "name": "CreateAgentRequest", + "filePath": "src/agentkit/server/routes/agents.py", + "layer": "api", + "summary": "CreateAgentRequest类,继承自BaseModel", + "tags": [ + "CreateAgentRequest" + ], + "complexity": "simple" + }, + { + "id": "class:CreateSessionRequest", + "type": "class", + "name": "CreateSessionRequest", + "filePath": "src/agentkit/server/routes/chat.py", + "layer": "api", + "summary": "CreateSessionRequest类,继承自BaseModel", + "tags": [ + "CreateSessionRequest" + ], + "complexity": "simple" + }, + { + "id": "class:SendMessageRequest", + "type": "class", + "name": "SendMessageRequest", + "filePath": "src/agentkit/server/routes/chat.py", + "layer": "api", + "summary": "SendMessageRequest类,继承自BaseModel", + "tags": [ + "SendMessageRequest" + ], + "complexity": "simple" + }, + { + "id": "class:SessionResponse", + "type": "class", + "name": "SessionResponse", + "filePath": "src/agentkit/server/routes/chat.py", + "layer": "api", + "summary": "SessionResponse类,继承自BaseModel", + "tags": [ + "SessionResponse" + ], + "complexity": "simple" + }, + { + "id": "class:MessageResponse", + "type": "class", + "name": "MessageResponse", + "filePath": "src/agentkit/server/routes/chat.py", + "layer": "api", + "summary": "MessageResponse类,继承自BaseModel", + "tags": [ + "MessageResponse" + ], + "complexity": "simple" + }, + { + "id": "class:ChatConnectionManager", + "type": "class", + "name": "ChatConnectionManager", + "filePath": "src/agentkit/server/routes/chat.py", + "layer": "api", + "summary": "Track active WebSocket connections per session_id.", + "tags": [ + "ChatConnectionManager" + ], + "complexity": "moderate" + }, + { + "id": "func:ChatConnectionManager.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/server/routes/chat.py", + "layer": "api", + "summary": "ChatConnectionManager.__init__() 方法", + "tags": [ + "ChatConnectionManager", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:ChatConnectionManager.add", + "type": "function", + "name": "add", + "filePath": "src/agentkit/server/routes/chat.py", + "layer": "api", + "summary": "ChatConnectionManager.add(session_id, ws, pending) 方法", + "tags": [ + "ChatConnectionManager", + "add" + ], + "complexity": "simple" + }, + { + "id": "func:ChatConnectionManager.remove", + "type": "function", + "name": "remove", + "filePath": "src/agentkit/server/routes/chat.py", + "layer": "api", + "summary": "ChatConnectionManager.remove(session_id, ws) 方法", + "tags": [ + "ChatConnectionManager", + "remove" + ], + "complexity": "simple" + }, + { + "id": "func:ChatConnectionManager.get_connections", + "type": "function", + "name": "get_connections", + "filePath": "src/agentkit/server/routes/chat.py", + "layer": "api", + "summary": "ChatConnectionManager.get_connections(session_id) 方法", + "tags": [ + "ChatConnectionManager", + "get_connections" + ], + "complexity": "simple" + }, + { + "id": "func:ChatConnectionManager.send_json", + "type": "function", + "name": "send_json", + "filePath": "src/agentkit/server/routes/chat.py", + "layer": "api", + "summary": "ChatConnectionManager.send_json(session_id, message) 异步方法", + "tags": [ + "ChatConnectionManager", + "send_json" + ], + "complexity": "simple" + }, + { + "id": "class:TriggerEvolutionRequest", + "type": "class", + "name": "TriggerEvolutionRequest", + "filePath": "src/agentkit/server/routes/evolution.py", + "layer": "api", + "summary": "TriggerEvolutionRequest类,继承自BaseModel", + "tags": [ + "TriggerEvolutionRequest" + ], + "complexity": "simple" + }, + { + "id": "class:DashboardExperience", + "type": "class", + "name": "DashboardExperience", + "filePath": "src/agentkit/server/routes/evolution_dashboard.py", + "layer": "api", + "summary": "仪表盘展示用的经验记录", + "tags": [ + "DashboardExperience" + ], + "complexity": "simple" + }, + { + "id": "class:DashboardOptimization", + "type": "class", + "name": "DashboardOptimization", + "filePath": "src/agentkit/server/routes/evolution_dashboard.py", + "layer": "api", + "summary": "仪表盘展示用的路径优化记录", + "tags": [ + "DashboardOptimization" + ], + "complexity": "simple" + }, + { + "id": "class:RecordExperienceRequest", + "type": "class", + "name": "RecordExperienceRequest", + "filePath": "src/agentkit/server/routes/evolution_dashboard.py", + "layer": "api", + "summary": "记录经验请求体", + "tags": [ + "RecordExperienceRequest" + ], + "complexity": "simple" + }, + { + "id": "class:RecordOptimizationRequest", + "type": "class", + "name": "RecordOptimizationRequest", + "filePath": "src/agentkit/server/routes/evolution_dashboard.py", + "layer": "api", + "summary": "记录路径优化请求体", + "tags": [ + "RecordOptimizationRequest" + ], + "complexity": "simple" + }, + { + "id": "class:UsageRecordResponse", + "type": "class", + "name": "UsageRecordResponse", + "filePath": "src/agentkit/server/routes/evolution_dashboard.py", + "layer": "api", + "summary": "单条用量记录", + "tags": [ + "UsageRecordResponse" + ], + "complexity": "simple" + }, + { + "id": "class:UsageSummaryResponse", + "type": "class", + "name": "UsageSummaryResponse", + "filePath": "src/agentkit/server/routes/evolution_dashboard.py", + "layer": "api", + "summary": "用量汇总", + "tags": [ + "UsageSummaryResponse" + ], + "complexity": "simple" + }, + { + "id": "class:KnowledgeSource", + "type": "class", + "name": "KnowledgeSource", + "filePath": "src/agentkit/server/routes/kb_management.py", + "layer": "api", + "summary": "KnowledgeSource类", + "tags": [ + "KnowledgeSource" + ], + "complexity": "simple" + }, + { + "id": "class:UploadedDocument", + "type": "class", + "name": "UploadedDocument", + "filePath": "src/agentkit/server/routes/kb_management.py", + "layer": "api", + "summary": "UploadedDocument类", + "tags": [ + "UploadedDocument" + ], + "complexity": "simple" + }, + { + "id": "class:KnowledgeSourceStore", + "type": "class", + "name": "KnowledgeSourceStore", + "filePath": "src/agentkit/server/routes/kb_management.py", + "layer": "api", + "summary": "KnowledgeSourceStore类,包含方法: __init__, add_source, get_source, remove_source, list_sources 等9个方法", + "tags": [ + "KnowledgeSourceStore" + ], + "complexity": "complex" + }, + { + "id": "func:KnowledgeSourceStore.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/server/routes/kb_management.py", + "layer": "api", + "summary": "KnowledgeSourceStore.__init__(max_sources) 方法", + "tags": [ + "KnowledgeSourceStore", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:KnowledgeSourceStore.add_source", + "type": "function", + "name": "add_source", + "filePath": "src/agentkit/server/routes/kb_management.py", + "layer": "api", + "summary": "KnowledgeSourceStore.add_source(name, source_type, config) 方法", + "tags": [ + "KnowledgeSourceStore", + "add_source" + ], + "complexity": "simple" + }, + { + "id": "func:KnowledgeSourceStore.get_source", + "type": "function", + "name": "get_source", + "filePath": "src/agentkit/server/routes/kb_management.py", + "layer": "api", + "summary": "KnowledgeSourceStore.get_source(source_id) 方法", + "tags": [ + "KnowledgeSourceStore", + "get_source" + ], + "complexity": "simple" + }, + { + "id": "func:KnowledgeSourceStore.remove_source", + "type": "function", + "name": "remove_source", + "filePath": "src/agentkit/server/routes/kb_management.py", + "layer": "api", + "summary": "KnowledgeSourceStore.remove_source(source_id) 方法", + "tags": [ + "KnowledgeSourceStore", + "remove_source" + ], + "complexity": "simple" + }, + { + "id": "func:KnowledgeSourceStore.list_sources", + "type": "function", + "name": "list_sources", + "filePath": "src/agentkit/server/routes/kb_management.py", + "layer": "api", + "summary": "KnowledgeSourceStore.list_sources() 方法", + "tags": [ + "KnowledgeSourceStore", + "list_sources" + ], + "complexity": "simple" + }, + { + "id": "func:KnowledgeSourceStore.add_document", + "type": "function", + "name": "add_document", + "filePath": "src/agentkit/server/routes/kb_management.py", + "layer": "api", + "summary": "KnowledgeSourceStore.add_document(doc) 方法", + "tags": [ + "KnowledgeSourceStore", + "add_document" + ], + "complexity": "simple" + }, + { + "id": "func:KnowledgeSourceStore.list_documents", + "type": "function", + "name": "list_documents", + "filePath": "src/agentkit/server/routes/kb_management.py", + "layer": "api", + "summary": "KnowledgeSourceStore.list_documents(source_id) 方法", + "tags": [ + "KnowledgeSourceStore", + "list_documents" + ], + "complexity": "simple" + }, + { + "id": "func:KnowledgeSourceStore.delete_document", + "type": "function", + "name": "delete_document", + "filePath": "src/agentkit/server/routes/kb_management.py", + "layer": "api", + "summary": "KnowledgeSourceStore.delete_document(document_id) 方法", + "tags": [ + "KnowledgeSourceStore", + "delete_document" + ], + "complexity": "simple" + }, + { + "id": "func:KnowledgeSourceStore.update_source", + "type": "function", + "name": "update_source", + "filePath": "src/agentkit/server/routes/kb_management.py", + "layer": "api", + "summary": "KnowledgeSourceStore.update_source(source_id, data) 方法", + "tags": [ + "KnowledgeSourceStore", + "update_source" + ], + "complexity": "simple" + }, + { + "id": "class:AddSourceRequest", + "type": "class", + "name": "AddSourceRequest", + "filePath": "src/agentkit/server/routes/kb_management.py", + "layer": "api", + "summary": "AddSourceRequest类,继承自BaseModel", + "tags": [ + "AddSourceRequest" + ], + "complexity": "simple" + }, + { + "id": "class:SearchRequest", + "type": "class", + "name": "SearchRequest", + "filePath": "src/agentkit/server/routes/kb_management.py", + "layer": "api", + "summary": "SearchRequest类,继承自BaseModel", + "tags": [ + "SearchRequest" + ], + "complexity": "simple" + }, + { + "id": "class:SearchResult", + "type": "class", + "name": "SearchResult", + "filePath": "src/agentkit/server/routes/kb_management.py", + "layer": "api", + "summary": "SearchResult类,继承自BaseModel", + "tags": [ + "SearchResult" + ], + "complexity": "simple" + }, + { + "id": "class:UpdateSourceRequest", + "type": "class", + "name": "UpdateSourceRequest", + "filePath": "src/agentkit/server/routes/kb_management.py", + "layer": "api", + "summary": "UpdateSourceRequest类,继承自BaseModel", + "tags": [ + "UpdateSourceRequest" + ], + "complexity": "simple" + }, + { + "id": "class:ChatMessage", + "type": "class", + "name": "ChatMessage", + "filePath": "src/agentkit/server/routes/portal.py", + "layer": "api", + "summary": "ChatMessage类", + "tags": [ + "ChatMessage" + ], + "complexity": "simple" + }, + { + "id": "class:Conversation", + "type": "class", + "name": "Conversation", + "filePath": "src/agentkit/server/routes/portal.py", + "layer": "api", + "summary": "Conversation类", + "tags": [ + "Conversation" + ], + "complexity": "simple" + }, + { + "id": "class:ConversationStore", + "type": "class", + "name": "ConversationStore", + "filePath": "src/agentkit/server/routes/portal.py", + "layer": "api", + "summary": "ConversationStore类,包含方法: __init__, get_or_create, add_message, get_history, list_conversations", + "tags": [ + "ConversationStore" + ], + "complexity": "moderate" + }, + { + "id": "func:ConversationStore.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/server/routes/portal.py", + "layer": "api", + "summary": "ConversationStore.__init__(max_conversations) 方法", + "tags": [ + "ConversationStore", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:ConversationStore.get_or_create", + "type": "function", + "name": "get_or_create", + "filePath": "src/agentkit/server/routes/portal.py", + "layer": "api", + "summary": "ConversationStore.get_or_create(conversation_id) 方法", + "tags": [ + "ConversationStore", + "get_or_create" + ], + "complexity": "simple" + }, + { + "id": "func:ConversationStore.add_message", + "type": "function", + "name": "add_message", + "filePath": "src/agentkit/server/routes/portal.py", + "layer": "api", + "summary": "ConversationStore.add_message(conversation_id, role, content, metadata) 方法", + "tags": [ + "ConversationStore", + "add_message" + ], + "complexity": "simple" + }, + { + "id": "func:ConversationStore.get_history", + "type": "function", + "name": "get_history", + "filePath": "src/agentkit/server/routes/portal.py", + "layer": "api", + "summary": "ConversationStore.get_history(conversation_id, limit) 方法", + "tags": [ + "ConversationStore", + "get_history" + ], + "complexity": "simple" + }, + { + "id": "func:ConversationStore.list_conversations", + "type": "function", + "name": "list_conversations", + "filePath": "src/agentkit/server/routes/portal.py", + "layer": "api", + "summary": "ConversationStore.list_conversations(limit) 方法", + "tags": [ + "ConversationStore", + "list_conversations" + ], + "complexity": "simple" + }, + { + "id": "class:ChatRequest", + "type": "class", + "name": "ChatRequest", + "filePath": "src/agentkit/server/routes/portal.py", + "layer": "api", + "summary": "ChatRequest类,继承自BaseModel", + "tags": [ + "ChatRequest" + ], + "complexity": "simple" + }, + { + "id": "class:ChatResponse", + "type": "class", + "name": "ChatResponse", + "filePath": "src/agentkit/server/routes/portal.py", + "layer": "api", + "summary": "ChatResponse类,继承自BaseModel", + "tags": [ + "ChatResponse" + ], + "complexity": "simple" + }, + { + "id": "class:CapabilityInfo", + "type": "class", + "name": "CapabilityInfo", + "filePath": "src/agentkit/server/routes/portal.py", + "layer": "api", + "summary": "CapabilityInfo类,继承自BaseModel", + "tags": [ + "CapabilityInfo" + ], + "complexity": "simple" + }, + { + "id": "class:CapabilitiesResponse", + "type": "class", + "name": "CapabilitiesResponse", + "filePath": "src/agentkit/server/routes/portal.py", + "layer": "api", + "summary": "CapabilitiesResponse类,继承自BaseModel", + "tags": [ + "CapabilitiesResponse" + ], + "complexity": "simple" + }, + { + "id": "class:LlmProviderResponse", + "type": "class", + "name": "LlmProviderResponse", + "filePath": "src/agentkit/server/routes/settings.py", + "layer": "api", + "summary": "LlmProviderResponse类,继承自BaseModel", + "tags": [ + "LlmProviderResponse" + ], + "complexity": "simple" + }, + { + "id": "class:LlmConfigResponse", + "type": "class", + "name": "LlmConfigResponse", + "filePath": "src/agentkit/server/routes/settings.py", + "layer": "api", + "summary": "LlmConfigResponse类,继承自BaseModel", + "tags": [ + "LlmConfigResponse" + ], + "complexity": "simple" + }, + { + "id": "class:LlmProviderUpdate", + "type": "class", + "name": "LlmProviderUpdate", + "filePath": "src/agentkit/server/routes/settings.py", + "layer": "api", + "summary": "LlmProviderUpdate类,继承自BaseModel", + "tags": [ + "LlmProviderUpdate" + ], + "complexity": "simple" + }, + { + "id": "class:LlmConfigUpdate", + "type": "class", + "name": "LlmConfigUpdate", + "filePath": "src/agentkit/server/routes/settings.py", + "layer": "api", + "summary": "LlmConfigUpdate类,继承自BaseModel", + "tags": [ + "LlmConfigUpdate" + ], + "complexity": "simple" + }, + { + "id": "class:SkillsConfigResponse", + "type": "class", + "name": "SkillsConfigResponse", + "filePath": "src/agentkit/server/routes/settings.py", + "layer": "api", + "summary": "SkillsConfigResponse类,继承自BaseModel", + "tags": [ + "SkillsConfigResponse" + ], + "complexity": "simple" + }, + { + "id": "class:SkillsConfigUpdate", + "type": "class", + "name": "SkillsConfigUpdate", + "filePath": "src/agentkit/server/routes/settings.py", + "layer": "api", + "summary": "SkillsConfigUpdate类,继承自BaseModel", + "tags": [ + "SkillsConfigUpdate" + ], + "complexity": "simple" + }, + { + "id": "class:KbConfigResponse", + "type": "class", + "name": "KbConfigResponse", + "filePath": "src/agentkit/server/routes/settings.py", + "layer": "api", + "summary": "KbConfigResponse类,继承自BaseModel", + "tags": [ + "KbConfigResponse" + ], + "complexity": "simple" + }, + { + "id": "class:KbConfigUpdate", + "type": "class", + "name": "KbConfigUpdate", + "filePath": "src/agentkit/server/routes/settings.py", + "layer": "api", + "summary": "KbConfigUpdate类,继承自BaseModel", + "tags": [ + "KbConfigUpdate" + ], + "complexity": "simple" + }, + { + "id": "class:GeneralConfigResponse", + "type": "class", + "name": "GeneralConfigResponse", + "filePath": "src/agentkit/server/routes/settings.py", + "layer": "api", + "summary": "GeneralConfigResponse类,继承自BaseModel", + "tags": [ + "GeneralConfigResponse" + ], + "complexity": "simple" + }, + { + "id": "class:GeneralConfigUpdate", + "type": "class", + "name": "GeneralConfigUpdate", + "filePath": "src/agentkit/server/routes/settings.py", + "layer": "api", + "summary": "GeneralConfigUpdate类,继承自BaseModel", + "tags": [ + "GeneralConfigUpdate" + ], + "complexity": "simple" + }, + { + "id": "class:SkillInfo", + "type": "class", + "name": "SkillInfo", + "filePath": "src/agentkit/server/routes/skill_management.py", + "layer": "api", + "summary": "SkillInfo类,继承自BaseModel", + "tags": [ + "SkillInfo" + ], + "complexity": "simple" + }, + { + "id": "class:SkillDetail", + "type": "class", + "name": "SkillDetail", + "filePath": "src/agentkit/server/routes/skill_management.py", + "layer": "api", + "summary": "SkillDetail类,继承自BaseModel", + "tags": [ + "SkillDetail" + ], + "complexity": "simple" + }, + { + "id": "class:CapabilityInfo", + "type": "class", + "name": "CapabilityInfo", + "filePath": "src/agentkit/server/routes/skill_management.py", + "layer": "api", + "summary": "CapabilityInfo类,继承自BaseModel", + "tags": [ + "CapabilityInfo" + ], + "complexity": "simple" + }, + { + "id": "class:RegisterSkillRequest", + "type": "class", + "name": "RegisterSkillRequest", + "filePath": "src/agentkit/server/routes/skills.py", + "layer": "api", + "summary": "RegisterSkillRequest类,继承自BaseModel", + "tags": [ + "RegisterSkillRequest" + ], + "complexity": "simple" + }, + { + "id": "class:CreatePipelineRequest", + "type": "class", + "name": "CreatePipelineRequest", + "filePath": "src/agentkit/server/routes/skills.py", + "layer": "api", + "summary": "CreatePipelineRequest类,继承自BaseModel", + "tags": [ + "CreatePipelineRequest" + ], + "complexity": "simple" + }, + { + "id": "class:ExecutePipelineRequest", + "type": "class", + "name": "ExecutePipelineRequest", + "filePath": "src/agentkit/server/routes/skills.py", + "layer": "api", + "summary": "ExecutePipelineRequest类,继承自BaseModel", + "tags": [ + "ExecutePipelineRequest" + ], + "complexity": "simple" + }, + { + "id": "class:InstallSkillRequest", + "type": "class", + "name": "InstallSkillRequest", + "filePath": "src/agentkit/server/routes/skills.py", + "layer": "api", + "summary": "InstallSkillRequest类,继承自BaseModel", + "tags": [ + "InstallSkillRequest" + ], + "complexity": "simple" + }, + { + "id": "class:SubmitTaskRequest", + "type": "class", + "name": "SubmitTaskRequest", + "filePath": "src/agentkit/server/routes/tasks.py", + "layer": "api", + "summary": "SubmitTaskRequest类,继承自BaseModel", + "tags": [ + "SubmitTaskRequest" + ], + "complexity": "simple" + }, + { + "id": "class:TerminalSessionState", + "type": "class", + "name": "TerminalSessionState", + "filePath": "src/agentkit/server/routes/terminal.py", + "layer": "api", + "summary": "Per-session state for a terminal connection.", + "tags": [ + "TerminalSessionState" + ], + "complexity": "simple" + }, + { + "id": "class:ExecuteRequest", + "type": "class", + "name": "ExecuteRequest", + "filePath": "src/agentkit/server/routes/terminal.py", + "layer": "api", + "summary": "ExecuteRequest类,继承自BaseModel", + "tags": [ + "ExecuteRequest" + ], + "complexity": "simple" + }, + { + "id": "class:ExecuteResponse", + "type": "class", + "name": "ExecuteResponse", + "filePath": "src/agentkit/server/routes/terminal.py", + "layer": "api", + "summary": "ExecuteResponse类,继承自BaseModel", + "tags": [ + "ExecuteResponse" + ], + "complexity": "simple" + }, + { + "id": "class:SessionInfo", + "type": "class", + "name": "SessionInfo", + "filePath": "src/agentkit/server/routes/terminal.py", + "layer": "api", + "summary": "SessionInfo类,继承自BaseModel", + "tags": [ + "SessionInfo" + ], + "complexity": "simple" + }, + { + "id": "class:HistoryResponse", + "type": "class", + "name": "HistoryResponse", + "filePath": "src/agentkit/server/routes/terminal.py", + "layer": "api", + "summary": "HistoryResponse类,继承自BaseModel", + "tags": [ + "HistoryResponse" + ], + "complexity": "simple" + }, + { + "id": "class:WorkflowStore", + "type": "class", + "name": "WorkflowStore", + "filePath": "src/agentkit/server/routes/workflows.py", + "layer": "api", + "summary": "In-memory workflow store with async-safe mutation methods.", + "tags": [ + "WorkflowStore" + ], + "complexity": "complex" + }, + { + "id": "func:WorkflowStore.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/server/routes/workflows.py", + "layer": "api", + "summary": "WorkflowStore.__init__(max_workflows, max_executions) 方法", + "tags": [ + "WorkflowStore", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:WorkflowStore._evict_execution", + "type": "function", + "name": "_evict_execution", + "filePath": "src/agentkit/server/routes/workflows.py", + "layer": "api", + "summary": "WorkflowStore._evict_execution(execution_id) 方法", + "tags": [ + "WorkflowStore", + "_evict_execution" + ], + "complexity": "simple" + }, + { + "id": "func:WorkflowStore.save", + "type": "function", + "name": "save", + "filePath": "src/agentkit/server/routes/workflows.py", + "layer": "api", + "summary": "WorkflowStore.save(workflow) 异步方法", + "tags": [ + "WorkflowStore", + "save" + ], + "complexity": "simple" + }, + { + "id": "func:WorkflowStore.get", + "type": "function", + "name": "get", + "filePath": "src/agentkit/server/routes/workflows.py", + "layer": "api", + "summary": "WorkflowStore.get(workflow_id) 方法", + "tags": [ + "WorkflowStore", + "get" + ], + "complexity": "simple" + }, + { + "id": "func:WorkflowStore.list", + "type": "function", + "name": "list", + "filePath": "src/agentkit/server/routes/workflows.py", + "layer": "api", + "summary": "WorkflowStore.list(limit) 方法", + "tags": [ + "WorkflowStore", + "list" + ], + "complexity": "simple" + }, + { + "id": "func:WorkflowStore.delete", + "type": "function", + "name": "delete", + "filePath": "src/agentkit/server/routes/workflows.py", + "layer": "api", + "summary": "WorkflowStore.delete(workflow_id) 异步方法", + "tags": [ + "WorkflowStore", + "delete" + ], + "complexity": "simple" + }, + { + "id": "func:WorkflowStore.create_execution", + "type": "function", + "name": "create_execution", + "filePath": "src/agentkit/server/routes/workflows.py", + "layer": "api", + "summary": "WorkflowStore.create_execution(workflow_id) 异步方法", + "tags": [ + "WorkflowStore", + "create_execution" + ], + "complexity": "simple" + }, + { + "id": "func:WorkflowStore.get_execution", + "type": "function", + "name": "get_execution", + "filePath": "src/agentkit/server/routes/workflows.py", + "layer": "api", + "summary": "WorkflowStore.get_execution(execution_id) 方法", + "tags": [ + "WorkflowStore", + "get_execution" + ], + "complexity": "simple" + }, + { + "id": "func:WorkflowStore.update_execution", + "type": "function", + "name": "update_execution", + "filePath": "src/agentkit/server/routes/workflows.py", + "layer": "api", + "summary": "WorkflowStore.update_execution(execution_id) 异步方法", + "tags": [ + "WorkflowStore", + "update_execution" + ], + "complexity": "simple" + }, + { + "id": "func:WorkflowStore.get_execution_lock", + "type": "function", + "name": "get_execution_lock", + "filePath": "src/agentkit/server/routes/workflows.py", + "layer": "api", + "summary": "WorkflowStore.get_execution_lock(execution_id) 方法", + "tags": [ + "WorkflowStore", + "get_execution_lock" + ], + "complexity": "simple" + }, + { + "id": "func:WorkflowStore.list_executions", + "type": "function", + "name": "list_executions", + "filePath": "src/agentkit/server/routes/workflows.py", + "layer": "api", + "summary": "WorkflowStore.list_executions(workflow_id, limit, offset) 方法", + "tags": [ + "WorkflowStore", + "list_executions" + ], + "complexity": "simple" + }, + { + "id": "class:ConnectionManager", + "type": "class", + "name": "ConnectionManager", + "filePath": "src/agentkit/server/routes/ws.py", + "layer": "api", + "summary": "Track active WebSocket connections per task_id for fan-out.", + "tags": [ + "ConnectionManager" + ], + "complexity": "moderate" + }, + { + "id": "func:ConnectionManager.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/server/routes/ws.py", + "layer": "api", + "summary": "ConnectionManager.__init__() 方法", + "tags": [ + "ConnectionManager", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:ConnectionManager.add", + "type": "function", + "name": "add", + "filePath": "src/agentkit/server/routes/ws.py", + "layer": "api", + "summary": "ConnectionManager.add(task_id, ws, token) 方法", + "tags": [ + "ConnectionManager", + "add" + ], + "complexity": "simple" + }, + { + "id": "func:ConnectionManager.remove", + "type": "function", + "name": "remove", + "filePath": "src/agentkit/server/routes/ws.py", + "layer": "api", + "summary": "ConnectionManager.remove(task_id, ws) 方法", + "tags": [ + "ConnectionManager", + "remove" + ], + "complexity": "simple" + }, + { + "id": "func:ConnectionManager.get_tokens", + "type": "function", + "name": "get_tokens", + "filePath": "src/agentkit/server/routes/ws.py", + "layer": "api", + "summary": "ConnectionManager.get_tokens(task_id) 方法", + "tags": [ + "ConnectionManager", + "get_tokens" + ], + "complexity": "simple" + }, + { + "id": "func:ConnectionManager.broadcast", + "type": "function", + "name": "broadcast", + "filePath": "src/agentkit/server/routes/ws.py", + "layer": "api", + "summary": "ConnectionManager.broadcast(task_id, message) 异步方法", + "tags": [ + "ConnectionManager", + "broadcast" + ], + "complexity": "simple" + }, + { + "id": "func:ConnectionManager.has_connections", + "type": "function", + "name": "has_connections", + "filePath": "src/agentkit/server/routes/ws.py", + "layer": "api", + "summary": "ConnectionManager.has_connections(task_id) 方法", + "tags": [ + "ConnectionManager", + "has_connections" + ], + "complexity": "simple" + }, + { + "id": "class:BackgroundRunner", + "type": "class", + "name": "BackgroundRunner", + "filePath": "src/agentkit/server/runner.py", + "layer": "api", + "summary": "Runs tasks in background asyncio tasks with lifecycle management.", + "tags": [ + "BackgroundRunner" + ], + "complexity": "moderate" + }, + { + "id": "func:BackgroundRunner.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/server/runner.py", + "layer": "api", + "summary": "BackgroundRunner.__init__(task_store, max_concurrent) 方法", + "tags": [ + "BackgroundRunner", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:BackgroundRunner.active_count", + "type": "function", + "name": "active_count", + "filePath": "src/agentkit/server/runner.py", + "layer": "api", + "summary": "BackgroundRunner.active_count() 方法", + "tags": [ + "BackgroundRunner", + "active_count" + ], + "complexity": "simple" + }, + { + "id": "func:BackgroundRunner.submit", + "type": "function", + "name": "submit", + "filePath": "src/agentkit/server/runner.py", + "layer": "api", + "summary": "BackgroundRunner.submit(agent, input_data, skill_name, quality_gate, output_standardizer, skill) 异步方法", + "tags": [ + "BackgroundRunner", + "submit" + ], + "complexity": "simple" + }, + { + "id": "func:BackgroundRunner._run_task", + "type": "function", + "name": "_run_task", + "filePath": "src/agentkit/server/runner.py", + "layer": "api", + "summary": "BackgroundRunner._run_task(task_id, agent, input_data, quality_gate, output_standardizer, skill) 异步方法", + "tags": [ + "BackgroundRunner", + "_run_task" + ], + "complexity": "simple" + }, + { + "id": "func:BackgroundRunner.cancel", + "type": "function", + "name": "cancel", + "filePath": "src/agentkit/server/runner.py", + "layer": "api", + "summary": "BackgroundRunner.cancel(task_id) 异步方法", + "tags": [ + "BackgroundRunner", + "cancel" + ], + "complexity": "simple" + }, + { + "id": "class:TaskRecord", + "type": "class", + "name": "TaskRecord", + "filePath": "src/agentkit/server/task_store.py", + "layer": "api", + "summary": "Stored task record with full lifecycle data", + "tags": [ + "TaskRecord" + ], + "complexity": "simple" + }, + { + "id": "func:TaskRecord.to_dict", + "type": "function", + "name": "to_dict", + "filePath": "src/agentkit/server/task_store.py", + "layer": "api", + "summary": "TaskRecord.to_dict() 方法", + "tags": [ + "TaskRecord", + "to_dict" + ], + "complexity": "simple" + }, + { + "id": "func:TaskRecord.from_dict", + "type": "function", + "name": "from_dict", + "filePath": "src/agentkit/server/task_store.py", + "layer": "api", + "summary": "TaskRecord.from_dict(cls, data) 方法", + "tags": [ + "TaskRecord", + "from_dict" + ], + "complexity": "simple" + }, + { + "id": "class:InMemoryTaskStore", + "type": "class", + "name": "InMemoryTaskStore", + "filePath": "src/agentkit/server/task_store.py", + "layer": "api", + "summary": "In-memory task state storage with automatic TTL cleanup.", + "tags": [ + "InMemoryTaskStore" + ], + "complexity": "complex" + }, + { + "id": "func:InMemoryTaskStore.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/server/task_store.py", + "layer": "api", + "summary": "InMemoryTaskStore.__init__(ttl_seconds, max_records) 方法", + "tags": [ + "InMemoryTaskStore", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:InMemoryTaskStore.backend_type", + "type": "function", + "name": "backend_type", + "filePath": "src/agentkit/server/task_store.py", + "layer": "api", + "summary": "InMemoryTaskStore.backend_type() 方法", + "tags": [ + "InMemoryTaskStore", + "backend_type" + ], + "complexity": "simple" + }, + { + "id": "func:InMemoryTaskStore.start_cleanup", + "type": "function", + "name": "start_cleanup", + "filePath": "src/agentkit/server/task_store.py", + "layer": "api", + "summary": "InMemoryTaskStore.start_cleanup() 异步方法", + "tags": [ + "InMemoryTaskStore", + "start_cleanup" + ], + "complexity": "simple" + }, + { + "id": "func:InMemoryTaskStore.stop_cleanup", + "type": "function", + "name": "stop_cleanup", + "filePath": "src/agentkit/server/task_store.py", + "layer": "api", + "summary": "InMemoryTaskStore.stop_cleanup() 异步方法", + "tags": [ + "InMemoryTaskStore", + "stop_cleanup" + ], + "complexity": "simple" + }, + { + "id": "func:InMemoryTaskStore._cleanup_loop", + "type": "function", + "name": "_cleanup_loop", + "filePath": "src/agentkit/server/task_store.py", + "layer": "api", + "summary": "InMemoryTaskStore._cleanup_loop() 异步方法", + "tags": [ + "InMemoryTaskStore", + "_cleanup_loop" + ], + "complexity": "simple" + }, + { + "id": "func:InMemoryTaskStore._cleanup_expired", + "type": "function", + "name": "_cleanup_expired", + "filePath": "src/agentkit/server/task_store.py", + "layer": "api", + "summary": "InMemoryTaskStore._cleanup_expired() 方法", + "tags": [ + "InMemoryTaskStore", + "_cleanup_expired" + ], + "complexity": "simple" + }, + { + "id": "func:InMemoryTaskStore.create", + "type": "function", + "name": "create", + "filePath": "src/agentkit/server/task_store.py", + "layer": "api", + "summary": "InMemoryTaskStore.create(task_id, agent_name, input_data, skill_name) 方法", + "tags": [ + "InMemoryTaskStore", + "create" + ], + "complexity": "simple" + }, + { + "id": "func:InMemoryTaskStore.get", + "type": "function", + "name": "get", + "filePath": "src/agentkit/server/task_store.py", + "layer": "api", + "summary": "InMemoryTaskStore.get(task_id) 方法", + "tags": [ + "InMemoryTaskStore", + "get" + ], + "complexity": "simple" + }, + { + "id": "func:InMemoryTaskStore.update_status", + "type": "function", + "name": "update_status", + "filePath": "src/agentkit/server/task_store.py", + "layer": "api", + "summary": "InMemoryTaskStore.update_status(task_id, status) 方法", + "tags": [ + "InMemoryTaskStore", + "update_status" + ], + "complexity": "simple" + }, + { + "id": "func:InMemoryTaskStore.list_tasks", + "type": "function", + "name": "list_tasks", + "filePath": "src/agentkit/server/task_store.py", + "layer": "api", + "summary": "InMemoryTaskStore.list_tasks(status, limit) 方法", + "tags": [ + "InMemoryTaskStore", + "list_tasks" + ], + "complexity": "simple" + }, + { + "id": "func:InMemoryTaskStore.count_by_status", + "type": "function", + "name": "count_by_status", + "filePath": "src/agentkit/server/task_store.py", + "layer": "api", + "summary": "InMemoryTaskStore.count_by_status() 方法", + "tags": [ + "InMemoryTaskStore", + "count_by_status" + ], + "complexity": "simple" + }, + { + "id": "func:InMemoryTaskStore.size", + "type": "function", + "name": "size", + "filePath": "src/agentkit/server/task_store.py", + "layer": "api", + "summary": "InMemoryTaskStore.size() 方法", + "tags": [ + "InMemoryTaskStore", + "size" + ], + "complexity": "simple" + }, + { + "id": "func:InMemoryTaskStore.health_check", + "type": "function", + "name": "health_check", + "filePath": "src/agentkit/server/task_store.py", + "layer": "api", + "summary": "InMemoryTaskStore.health_check() 异步方法", + "tags": [ + "InMemoryTaskStore", + "health_check" + ], + "complexity": "simple" + }, + { + "id": "class:RedisTaskStore", + "type": "class", + "name": "RedisTaskStore", + "filePath": "src/agentkit/server/task_store.py", + "layer": "api", + "summary": "Redis-backed task state storage with TTL.", + "tags": [ + "RedisTaskStore" + ], + "complexity": "complex" + }, + { + "id": "func:RedisTaskStore.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/server/task_store.py", + "layer": "api", + "summary": "RedisTaskStore.__init__(redis_url, ttl_seconds, max_records) 方法", + "tags": [ + "RedisTaskStore", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:RedisTaskStore.backend_type", + "type": "function", + "name": "backend_type", + "filePath": "src/agentkit/server/task_store.py", + "layer": "api", + "summary": "RedisTaskStore.backend_type() 方法", + "tags": [ + "RedisTaskStore", + "backend_type" + ], + "complexity": "simple" + }, + { + "id": "func:RedisTaskStore._get_redis", + "type": "function", + "name": "_get_redis", + "filePath": "src/agentkit/server/task_store.py", + "layer": "api", + "summary": "RedisTaskStore._get_redis() 异步方法", + "tags": [ + "RedisTaskStore", + "_get_redis" + ], + "complexity": "simple" + }, + { + "id": "func:RedisTaskStore._key", + "type": "function", + "name": "_key", + "filePath": "src/agentkit/server/task_store.py", + "layer": "api", + "summary": "RedisTaskStore._key(task_id) 方法", + "tags": [ + "RedisTaskStore", + "_key" + ], + "complexity": "simple" + }, + { + "id": "func:RedisTaskStore.start_cleanup", + "type": "function", + "name": "start_cleanup", + "filePath": "src/agentkit/server/task_store.py", + "layer": "api", + "summary": "RedisTaskStore.start_cleanup() 异步方法", + "tags": [ + "RedisTaskStore", + "start_cleanup" + ], + "complexity": "simple" + }, + { + "id": "func:RedisTaskStore.stop_cleanup", + "type": "function", + "name": "stop_cleanup", + "filePath": "src/agentkit/server/task_store.py", + "layer": "api", + "summary": "RedisTaskStore.stop_cleanup() 异步方法", + "tags": [ + "RedisTaskStore", + "stop_cleanup" + ], + "complexity": "simple" + }, + { + "id": "func:RedisTaskStore.create", + "type": "function", + "name": "create", + "filePath": "src/agentkit/server/task_store.py", + "layer": "api", + "summary": "RedisTaskStore.create(task_id, agent_name, input_data, skill_name) 异步方法", + "tags": [ + "RedisTaskStore", + "create" + ], + "complexity": "simple" + }, + { + "id": "func:RedisTaskStore.get", + "type": "function", + "name": "get", + "filePath": "src/agentkit/server/task_store.py", + "layer": "api", + "summary": "RedisTaskStore.get(task_id) 异步方法", + "tags": [ + "RedisTaskStore", + "get" + ], + "complexity": "simple" + }, + { + "id": "func:RedisTaskStore.update_status", + "type": "function", + "name": "update_status", + "filePath": "src/agentkit/server/task_store.py", + "layer": "api", + "summary": "RedisTaskStore.update_status(task_id, status, reset_ttl) 异步方法", + "tags": [ + "RedisTaskStore", + "update_status" + ], + "complexity": "simple" + }, + { + "id": "func:RedisTaskStore.list_tasks", + "type": "function", + "name": "list_tasks", + "filePath": "src/agentkit/server/task_store.py", + "layer": "api", + "summary": "RedisTaskStore.list_tasks(status, limit) 异步方法", + "tags": [ + "RedisTaskStore", + "list_tasks" + ], + "complexity": "simple" + }, + { + "id": "func:RedisTaskStore.count_by_status", + "type": "function", + "name": "count_by_status", + "filePath": "src/agentkit/server/task_store.py", + "layer": "api", + "summary": "RedisTaskStore.count_by_status() 异步方法", + "tags": [ + "RedisTaskStore", + "count_by_status" + ], + "complexity": "simple" + }, + { + "id": "func:RedisTaskStore.size", + "type": "function", + "name": "size", + "filePath": "src/agentkit/server/task_store.py", + "layer": "api", + "summary": "RedisTaskStore.size() 异步方法", + "tags": [ + "RedisTaskStore", + "size" + ], + "complexity": "simple" + }, + { + "id": "func:RedisTaskStore.health_check", + "type": "function", + "name": "health_check", + "filePath": "src/agentkit/server/task_store.py", + "layer": "api", + "summary": "RedisTaskStore.health_check() 异步方法", + "tags": [ + "RedisTaskStore", + "health_check" + ], + "complexity": "simple" + }, + { + "id": "func:RedisTaskStore._count_keys", + "type": "function", + "name": "_count_keys", + "filePath": "src/agentkit/server/task_store.py", + "layer": "api", + "summary": "RedisTaskStore._count_keys(redis) 异步方法", + "tags": [ + "RedisTaskStore", + "_count_keys" + ], + "complexity": "simple" + }, + { + "id": "func:RedisTaskStore._evict_oldest_completed", + "type": "function", + "name": "_evict_oldest_completed", + "filePath": "src/agentkit/server/task_store.py", + "layer": "api", + "summary": "RedisTaskStore._evict_oldest_completed(redis) 异步方法", + "tags": [ + "RedisTaskStore", + "_evict_oldest_completed" + ], + "complexity": "simple" + }, + { + "id": "class:AsyncWriteQueue", + "type": "class", + "name": "AsyncWriteQueue", + "filePath": "src/agentkit/session/manager.py", + "layer": "data", + "summary": "Background pending-buffer queue for non-blocking session persistence.", + "tags": [ + "AsyncWriteQueue" + ], + "complexity": "moderate" + }, + { + "id": "func:AsyncWriteQueue.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/session/manager.py", + "layer": "data", + "summary": "AsyncWriteQueue.__init__(store, max_buffer_size) 方法", + "tags": [ + "AsyncWriteQueue", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:AsyncWriteQueue._ensure_started", + "type": "function", + "name": "_ensure_started", + "filePath": "src/agentkit/session/manager.py", + "layer": "data", + "summary": "AsyncWriteQueue._ensure_started() 方法", + "tags": [ + "AsyncWriteQueue", + "_ensure_started" + ], + "complexity": "simple" + }, + { + "id": "func:AsyncWriteQueue._writer_loop", + "type": "function", + "name": "_writer_loop", + "filePath": "src/agentkit/session/manager.py", + "layer": "data", + "summary": "AsyncWriteQueue._writer_loop() 异步方法", + "tags": [ + "AsyncWriteQueue", + "_writer_loop" + ], + "complexity": "simple" + }, + { + "id": "func:AsyncWriteQueue.enqueue", + "type": "function", + "name": "enqueue", + "filePath": "src/agentkit/session/manager.py", + "layer": "data", + "summary": "AsyncWriteQueue.enqueue(message, session) 方法", + "tags": [ + "AsyncWriteQueue", + "enqueue" + ], + "complexity": "simple" + }, + { + "id": "func:AsyncWriteQueue.buffered_messages", + "type": "function", + "name": "buffered_messages", + "filePath": "src/agentkit/session/manager.py", + "layer": "data", + "summary": "AsyncWriteQueue.buffered_messages(session_id) 方法", + "tags": [ + "AsyncWriteQueue", + "buffered_messages" + ], + "complexity": "simple" + }, + { + "id": "func:AsyncWriteQueue.pending_count", + "type": "function", + "name": "pending_count", + "filePath": "src/agentkit/session/manager.py", + "layer": "data", + "summary": "AsyncWriteQueue.pending_count() 方法", + "tags": [ + "AsyncWriteQueue", + "pending_count" + ], + "complexity": "simple" + }, + { + "id": "func:AsyncWriteQueue.flush", + "type": "function", + "name": "flush", + "filePath": "src/agentkit/session/manager.py", + "layer": "data", + "summary": "AsyncWriteQueue.flush() 异步方法", + "tags": [ + "AsyncWriteQueue", + "flush" + ], + "complexity": "simple" + }, + { + "id": "func:AsyncWriteQueue.stop", + "type": "function", + "name": "stop", + "filePath": "src/agentkit/session/manager.py", + "layer": "data", + "summary": "AsyncWriteQueue.stop() 异步方法", + "tags": [ + "AsyncWriteQueue", + "stop" + ], + "complexity": "simple" + }, + { + "id": "class:SessionManager", + "type": "class", + "name": "SessionManager", + "filePath": "src/agentkit/session/manager.py", + "layer": "data", + "summary": "Manages conversation sessions and their messages.", + "tags": [ + "SessionManager" + ], + "complexity": "complex" + }, + { + "id": "func:SessionManager.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/session/manager.py", + "layer": "data", + "summary": "SessionManager.__init__(store) 方法", + "tags": [ + "SessionManager", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:SessionManager.store", + "type": "function", + "name": "store", + "filePath": "src/agentkit/session/manager.py", + "layer": "data", + "summary": "SessionManager.store() 方法", + "tags": [ + "SessionManager", + "store" + ], + "complexity": "simple" + }, + { + "id": "func:SessionManager.create_session", + "type": "function", + "name": "create_session", + "filePath": "src/agentkit/session/manager.py", + "layer": "data", + "summary": "SessionManager.create_session(agent_name, metadata) 异步方法", + "tags": [ + "SessionManager", + "create_session" + ], + "complexity": "simple" + }, + { + "id": "func:SessionManager.get_session", + "type": "function", + "name": "get_session", + "filePath": "src/agentkit/session/manager.py", + "layer": "data", + "summary": "SessionManager.get_session(session_id) 异步方法", + "tags": [ + "SessionManager", + "get_session" + ], + "complexity": "simple" + }, + { + "id": "func:SessionManager.pause_session", + "type": "function", + "name": "pause_session", + "filePath": "src/agentkit/session/manager.py", + "layer": "data", + "summary": "SessionManager.pause_session(session_id) 异步方法", + "tags": [ + "SessionManager", + "pause_session" + ], + "complexity": "simple" + }, + { + "id": "func:SessionManager.resume_session", + "type": "function", + "name": "resume_session", + "filePath": "src/agentkit/session/manager.py", + "layer": "data", + "summary": "SessionManager.resume_session(session_id) 异步方法", + "tags": [ + "SessionManager", + "resume_session" + ], + "complexity": "simple" + }, + { + "id": "func:SessionManager.close_session", + "type": "function", + "name": "close_session", + "filePath": "src/agentkit/session/manager.py", + "layer": "data", + "summary": "SessionManager.close_session(session_id) 异步方法", + "tags": [ + "SessionManager", + "close_session" + ], + "complexity": "simple" + }, + { + "id": "func:SessionManager.delete_session", + "type": "function", + "name": "delete_session", + "filePath": "src/agentkit/session/manager.py", + "layer": "data", + "summary": "SessionManager.delete_session(session_id) 异步方法", + "tags": [ + "SessionManager", + "delete_session" + ], + "complexity": "simple" + }, + { + "id": "func:SessionManager.list_sessions", + "type": "function", + "name": "list_sessions", + "filePath": "src/agentkit/session/manager.py", + "layer": "data", + "summary": "SessionManager.list_sessions(agent_name, limit) 异步方法", + "tags": [ + "SessionManager", + "list_sessions" + ], + "complexity": "simple" + }, + { + "id": "func:SessionManager.append_message", + "type": "function", + "name": "append_message", + "filePath": "src/agentkit/session/manager.py", + "layer": "data", + "summary": "SessionManager.append_message(session_id, role, content, tool_call_id, agent_name, metadata) 异步方法", + "tags": [ + "SessionManager", + "append_message" + ], + "complexity": "simple" + }, + { + "id": "func:SessionManager.get_messages", + "type": "function", + "name": "get_messages", + "filePath": "src/agentkit/session/manager.py", + "layer": "data", + "summary": "SessionManager.get_messages(session_id, limit, offset) 异步方法", + "tags": [ + "SessionManager", + "get_messages" + ], + "complexity": "simple" + }, + { + "id": "func:SessionManager.get_chat_messages", + "type": "function", + "name": "get_chat_messages", + "filePath": "src/agentkit/session/manager.py", + "layer": "data", + "summary": "SessionManager.get_chat_messages(session_id) 异步方法", + "tags": [ + "SessionManager", + "get_chat_messages" + ], + "complexity": "simple" + }, + { + "id": "func:SessionManager.count_messages", + "type": "function", + "name": "count_messages", + "filePath": "src/agentkit/session/manager.py", + "layer": "data", + "summary": "SessionManager.count_messages(session_id) 异步方法", + "tags": [ + "SessionManager", + "count_messages" + ], + "complexity": "simple" + }, + { + "id": "func:SessionManager.health_check", + "type": "function", + "name": "health_check", + "filePath": "src/agentkit/session/manager.py", + "layer": "data", + "summary": "SessionManager.health_check() 异步方法", + "tags": [ + "SessionManager", + "health_check" + ], + "complexity": "simple" + }, + { + "id": "func:SessionManager.flush", + "type": "function", + "name": "flush", + "filePath": "src/agentkit/session/manager.py", + "layer": "data", + "summary": "SessionManager.flush() 异步方法", + "tags": [ + "SessionManager", + "flush" + ], + "complexity": "simple" + }, + { + "id": "func:SessionManager.close", + "type": "function", + "name": "close", + "filePath": "src/agentkit/session/manager.py", + "layer": "data", + "summary": "SessionManager.close() 异步方法", + "tags": [ + "SessionManager", + "close" + ], + "complexity": "simple" + }, + { + "id": "class:SessionStatus", + "type": "class", + "name": "SessionStatus", + "filePath": "src/agentkit/session/models.py", + "layer": "data", + "summary": "Session lifecycle states.", + "tags": [ + "SessionStatus" + ], + "complexity": "simple" + }, + { + "id": "class:MessageRole", + "type": "class", + "name": "MessageRole", + "filePath": "src/agentkit/session/models.py", + "layer": "data", + "summary": "Message role — mirrors OpenAI chat message roles.", + "tags": [ + "MessageRole" + ], + "complexity": "simple" + }, + { + "id": "class:Message", + "type": "class", + "name": "Message", + "filePath": "src/agentkit/session/models.py", + "layer": "data", + "summary": "A single message within a conversation session.", + "tags": [ + "Message" + ], + "complexity": "simple" + }, + { + "id": "func:Message.to_dict", + "type": "function", + "name": "to_dict", + "filePath": "src/agentkit/session/models.py", + "layer": "data", + "summary": "Message.to_dict() 方法", + "tags": [ + "Message", + "to_dict" + ], + "complexity": "simple" + }, + { + "id": "func:Message.from_dict", + "type": "function", + "name": "from_dict", + "filePath": "src/agentkit/session/models.py", + "layer": "data", + "summary": "Message.from_dict(cls, data) 方法", + "tags": [ + "Message", + "from_dict" + ], + "complexity": "simple" + }, + { + "id": "func:Message.to_chat_message", + "type": "function", + "name": "to_chat_message", + "filePath": "src/agentkit/session/models.py", + "layer": "data", + "summary": "Message.to_chat_message() 方法", + "tags": [ + "Message", + "to_chat_message" + ], + "complexity": "simple" + }, + { + "id": "class:Session", + "type": "class", + "name": "Session", + "filePath": "src/agentkit/session/models.py", + "layer": "data", + "summary": "A conversation session binding a user to an Agent.", + "tags": [ + "Session" + ], + "complexity": "moderate" + }, + { + "id": "func:Session.to_dict", + "type": "function", + "name": "to_dict", + "filePath": "src/agentkit/session/models.py", + "layer": "data", + "summary": "Session.to_dict() 方法", + "tags": [ + "Session", + "to_dict" + ], + "complexity": "simple" + }, + { + "id": "func:Session.from_dict", + "type": "function", + "name": "from_dict", + "filePath": "src/agentkit/session/models.py", + "layer": "data", + "summary": "Session.from_dict(cls, data) 方法", + "tags": [ + "Session", + "from_dict" + ], + "complexity": "simple" + }, + { + "id": "func:Session.new_session_id", + "type": "function", + "name": "new_session_id", + "filePath": "src/agentkit/session/models.py", + "layer": "data", + "summary": "Session.new_session_id() 方法", + "tags": [ + "Session", + "new_session_id" + ], + "complexity": "simple" + }, + { + "id": "func:Session.new_message_id", + "type": "function", + "name": "new_message_id", + "filePath": "src/agentkit/session/models.py", + "layer": "data", + "summary": "Session.new_message_id() 方法", + "tags": [ + "Session", + "new_message_id" + ], + "complexity": "simple" + }, + { + "id": "class:SessionStore", + "type": "class", + "name": "SessionStore", + "filePath": "src/agentkit/session/store.py", + "layer": "data", + "summary": "Protocol for session persistence backends.", + "tags": [ + "SessionStore" + ], + "complexity": "complex" + }, + { + "id": "func:SessionStore.save_session", + "type": "function", + "name": "save_session", + "filePath": "src/agentkit/session/store.py", + "layer": "data", + "summary": "SessionStore.save_session(session) 异步方法", + "tags": [ + "SessionStore", + "save_session" + ], + "complexity": "simple" + }, + { + "id": "func:SessionStore.get_session", + "type": "function", + "name": "get_session", + "filePath": "src/agentkit/session/store.py", + "layer": "data", + "summary": "SessionStore.get_session(session_id) 异步方法", + "tags": [ + "SessionStore", + "get_session" + ], + "complexity": "simple" + }, + { + "id": "func:SessionStore.update_session_status", + "type": "function", + "name": "update_session_status", + "filePath": "src/agentkit/session/store.py", + "layer": "data", + "summary": "SessionStore.update_session_status(session_id, status) 异步方法", + "tags": [ + "SessionStore", + "update_session_status" + ], + "complexity": "simple" + }, + { + "id": "func:SessionStore.delete_session", + "type": "function", + "name": "delete_session", + "filePath": "src/agentkit/session/store.py", + "layer": "data", + "summary": "SessionStore.delete_session(session_id) 异步方法", + "tags": [ + "SessionStore", + "delete_session" + ], + "complexity": "simple" + }, + { + "id": "func:SessionStore.list_sessions", + "type": "function", + "name": "list_sessions", + "filePath": "src/agentkit/session/store.py", + "layer": "data", + "summary": "SessionStore.list_sessions(agent_name, limit) 异步方法", + "tags": [ + "SessionStore", + "list_sessions" + ], + "complexity": "simple" + }, + { + "id": "func:SessionStore.append_message", + "type": "function", + "name": "append_message", + "filePath": "src/agentkit/session/store.py", + "layer": "data", + "summary": "SessionStore.append_message(message) 异步方法", + "tags": [ + "SessionStore", + "append_message" + ], + "complexity": "simple" + }, + { + "id": "func:SessionStore.get_messages", + "type": "function", + "name": "get_messages", + "filePath": "src/agentkit/session/store.py", + "layer": "data", + "summary": "SessionStore.get_messages(session_id, limit, offset) 异步方法", + "tags": [ + "SessionStore", + "get_messages" + ], + "complexity": "simple" + }, + { + "id": "func:SessionStore.count_messages", + "type": "function", + "name": "count_messages", + "filePath": "src/agentkit/session/store.py", + "layer": "data", + "summary": "SessionStore.count_messages(session_id) 异步方法", + "tags": [ + "SessionStore", + "count_messages" + ], + "complexity": "simple" + }, + { + "id": "func:SessionStore.health_check", + "type": "function", + "name": "health_check", + "filePath": "src/agentkit/session/store.py", + "layer": "data", + "summary": "SessionStore.health_check() 异步方法", + "tags": [ + "SessionStore", + "health_check" + ], + "complexity": "simple" + }, + { + "id": "class:InMemorySessionStore", + "type": "class", + "name": "InMemorySessionStore", + "filePath": "src/agentkit/session/store.py", + "layer": "data", + "summary": "In-memory session store for development and testing.", + "tags": [ + "InMemorySessionStore" + ], + "complexity": "complex" + }, + { + "id": "func:InMemorySessionStore.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/session/store.py", + "layer": "data", + "summary": "InMemorySessionStore.__init__(max_sessions, max_messages_per_session) 方法", + "tags": [ + "InMemorySessionStore", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:InMemorySessionStore.save_session", + "type": "function", + "name": "save_session", + "filePath": "src/agentkit/session/store.py", + "layer": "data", + "summary": "InMemorySessionStore.save_session(session) 异步方法", + "tags": [ + "InMemorySessionStore", + "save_session" + ], + "complexity": "simple" + }, + { + "id": "func:InMemorySessionStore.get_session", + "type": "function", + "name": "get_session", + "filePath": "src/agentkit/session/store.py", + "layer": "data", + "summary": "InMemorySessionStore.get_session(session_id) 异步方法", + "tags": [ + "InMemorySessionStore", + "get_session" + ], + "complexity": "simple" + }, + { + "id": "func:InMemorySessionStore.update_session_status", + "type": "function", + "name": "update_session_status", + "filePath": "src/agentkit/session/store.py", + "layer": "data", + "summary": "InMemorySessionStore.update_session_status(session_id, status) 异步方法", + "tags": [ + "InMemorySessionStore", + "update_session_status" + ], + "complexity": "simple" + }, + { + "id": "func:InMemorySessionStore.delete_session", + "type": "function", + "name": "delete_session", + "filePath": "src/agentkit/session/store.py", + "layer": "data", + "summary": "InMemorySessionStore.delete_session(session_id) 异步方法", + "tags": [ + "InMemorySessionStore", + "delete_session" + ], + "complexity": "simple" + }, + { + "id": "func:InMemorySessionStore.list_sessions", + "type": "function", + "name": "list_sessions", + "filePath": "src/agentkit/session/store.py", + "layer": "data", + "summary": "InMemorySessionStore.list_sessions(agent_name, limit) 异步方法", + "tags": [ + "InMemorySessionStore", + "list_sessions" + ], + "complexity": "simple" + }, + { + "id": "func:InMemorySessionStore.append_message", + "type": "function", + "name": "append_message", + "filePath": "src/agentkit/session/store.py", + "layer": "data", + "summary": "InMemorySessionStore.append_message(message) 异步方法", + "tags": [ + "InMemorySessionStore", + "append_message" + ], + "complexity": "simple" + }, + { + "id": "func:InMemorySessionStore.get_messages", + "type": "function", + "name": "get_messages", + "filePath": "src/agentkit/session/store.py", + "layer": "data", + "summary": "InMemorySessionStore.get_messages(session_id, limit, offset) 异步方法", + "tags": [ + "InMemorySessionStore", + "get_messages" + ], + "complexity": "simple" + }, + { + "id": "func:InMemorySessionStore.count_messages", + "type": "function", + "name": "count_messages", + "filePath": "src/agentkit/session/store.py", + "layer": "data", + "summary": "InMemorySessionStore.count_messages(session_id) 异步方法", + "tags": [ + "InMemorySessionStore", + "count_messages" + ], + "complexity": "simple" + }, + { + "id": "func:InMemorySessionStore.health_check", + "type": "function", + "name": "health_check", + "filePath": "src/agentkit/session/store.py", + "layer": "data", + "summary": "InMemorySessionStore.health_check() 异步方法", + "tags": [ + "InMemorySessionStore", + "health_check" + ], + "complexity": "simple" + }, + { + "id": "class:RedisSessionStore", + "type": "class", + "name": "RedisSessionStore", + "filePath": "src/agentkit/session/store.py", + "layer": "data", + "summary": "Redis-backed session store for production use.", + "tags": [ + "RedisSessionStore" + ], + "complexity": "complex" + }, + { + "id": "func:RedisSessionStore.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/session/store.py", + "layer": "data", + "summary": "RedisSessionStore.__init__(redis_url, ttl_seconds) 方法", + "tags": [ + "RedisSessionStore", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:RedisSessionStore._get_redis", + "type": "function", + "name": "_get_redis", + "filePath": "src/agentkit/session/store.py", + "layer": "data", + "summary": "RedisSessionStore._get_redis() 异步方法", + "tags": [ + "RedisSessionStore", + "_get_redis" + ], + "complexity": "simple" + }, + { + "id": "func:RedisSessionStore._session_key", + "type": "function", + "name": "_session_key", + "filePath": "src/agentkit/session/store.py", + "layer": "data", + "summary": "RedisSessionStore._session_key(session_id) 方法", + "tags": [ + "RedisSessionStore", + "_session_key" + ], + "complexity": "simple" + }, + { + "id": "func:RedisSessionStore._messages_key", + "type": "function", + "name": "_messages_key", + "filePath": "src/agentkit/session/store.py", + "layer": "data", + "summary": "RedisSessionStore._messages_key(session_id) 方法", + "tags": [ + "RedisSessionStore", + "_messages_key" + ], + "complexity": "simple" + }, + { + "id": "func:RedisSessionStore.save_session", + "type": "function", + "name": "save_session", + "filePath": "src/agentkit/session/store.py", + "layer": "data", + "summary": "RedisSessionStore.save_session(session) 异步方法", + "tags": [ + "RedisSessionStore", + "save_session" + ], + "complexity": "simple" + }, + { + "id": "func:RedisSessionStore.get_session", + "type": "function", + "name": "get_session", + "filePath": "src/agentkit/session/store.py", + "layer": "data", + "summary": "RedisSessionStore.get_session(session_id) 异步方法", + "tags": [ + "RedisSessionStore", + "get_session" + ], + "complexity": "simple" + }, + { + "id": "func:RedisSessionStore.update_session_status", + "type": "function", + "name": "update_session_status", + "filePath": "src/agentkit/session/store.py", + "layer": "data", + "summary": "RedisSessionStore.update_session_status(session_id, status) 异步方法", + "tags": [ + "RedisSessionStore", + "update_session_status" + ], + "complexity": "simple" + }, + { + "id": "func:RedisSessionStore.delete_session", + "type": "function", + "name": "delete_session", + "filePath": "src/agentkit/session/store.py", + "layer": "data", + "summary": "RedisSessionStore.delete_session(session_id) 异步方法", + "tags": [ + "RedisSessionStore", + "delete_session" + ], + "complexity": "simple" + }, + { + "id": "func:RedisSessionStore.list_sessions", + "type": "function", + "name": "list_sessions", + "filePath": "src/agentkit/session/store.py", + "layer": "data", + "summary": "RedisSessionStore.list_sessions(agent_name, limit) 异步方法", + "tags": [ + "RedisSessionStore", + "list_sessions" + ], + "complexity": "simple" + }, + { + "id": "func:RedisSessionStore.append_message", + "type": "function", + "name": "append_message", + "filePath": "src/agentkit/session/store.py", + "layer": "data", + "summary": "RedisSessionStore.append_message(message) 异步方法", + "tags": [ + "RedisSessionStore", + "append_message" + ], + "complexity": "simple" + }, + { + "id": "func:RedisSessionStore.get_messages", + "type": "function", + "name": "get_messages", + "filePath": "src/agentkit/session/store.py", + "layer": "data", + "summary": "RedisSessionStore.get_messages(session_id, limit, offset) 异步方法", + "tags": [ + "RedisSessionStore", + "get_messages" + ], + "complexity": "simple" + }, + { + "id": "func:RedisSessionStore.count_messages", + "type": "function", + "name": "count_messages", + "filePath": "src/agentkit/session/store.py", + "layer": "data", + "summary": "RedisSessionStore.count_messages(session_id) 异步方法", + "tags": [ + "RedisSessionStore", + "count_messages" + ], + "complexity": "simple" + }, + { + "id": "func:RedisSessionStore.health_check", + "type": "function", + "name": "health_check", + "filePath": "src/agentkit/session/store.py", + "layer": "data", + "summary": "RedisSessionStore.health_check() 异步方法", + "tags": [ + "RedisSessionStore", + "health_check" + ], + "complexity": "simple" + }, + { + "id": "class:FileSessionStore", + "type": "class", + "name": "FileSessionStore", + "filePath": "src/agentkit/session/store.py", + "layer": "data", + "summary": "File-based session store — persists sessions to ~/.agentkit/sessions/.", + "tags": [ + "FileSessionStore" + ], + "complexity": "complex" + }, + { + "id": "func:FileSessionStore.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/session/store.py", + "layer": "data", + "summary": "FileSessionStore.__init__(data_dir) 方法", + "tags": [ + "FileSessionStore", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:FileSessionStore._session_path", + "type": "function", + "name": "_session_path", + "filePath": "src/agentkit/session/store.py", + "layer": "data", + "summary": "FileSessionStore._session_path(session_id) 方法", + "tags": [ + "FileSessionStore", + "_session_path" + ], + "complexity": "simple" + }, + { + "id": "func:FileSessionStore._read_session_file", + "type": "function", + "name": "_read_session_file", + "filePath": "src/agentkit/session/store.py", + "layer": "data", + "summary": "FileSessionStore._read_session_file(session_id) 方法", + "tags": [ + "FileSessionStore", + "_read_session_file" + ], + "complexity": "simple" + }, + { + "id": "func:FileSessionStore._write_session_file", + "type": "function", + "name": "_write_session_file", + "filePath": "src/agentkit/session/store.py", + "layer": "data", + "summary": "FileSessionStore._write_session_file(session_id, data) 方法", + "tags": [ + "FileSessionStore", + "_write_session_file" + ], + "complexity": "simple" + }, + { + "id": "func:FileSessionStore.save_session", + "type": "function", + "name": "save_session", + "filePath": "src/agentkit/session/store.py", + "layer": "data", + "summary": "FileSessionStore.save_session(session) 异步方法", + "tags": [ + "FileSessionStore", + "save_session" + ], + "complexity": "simple" + }, + { + "id": "func:FileSessionStore.get_session", + "type": "function", + "name": "get_session", + "filePath": "src/agentkit/session/store.py", + "layer": "data", + "summary": "FileSessionStore.get_session(session_id) 异步方法", + "tags": [ + "FileSessionStore", + "get_session" + ], + "complexity": "simple" + }, + { + "id": "func:FileSessionStore.update_session_status", + "type": "function", + "name": "update_session_status", + "filePath": "src/agentkit/session/store.py", + "layer": "data", + "summary": "FileSessionStore.update_session_status(session_id, status) 异步方法", + "tags": [ + "FileSessionStore", + "update_session_status" + ], + "complexity": "simple" + }, + { + "id": "func:FileSessionStore.delete_session", + "type": "function", + "name": "delete_session", + "filePath": "src/agentkit/session/store.py", + "layer": "data", + "summary": "FileSessionStore.delete_session(session_id) 异步方法", + "tags": [ + "FileSessionStore", + "delete_session" + ], + "complexity": "simple" + }, + { + "id": "func:FileSessionStore.list_sessions", + "type": "function", + "name": "list_sessions", + "filePath": "src/agentkit/session/store.py", + "layer": "data", + "summary": "FileSessionStore.list_sessions(agent_name, limit) 异步方法", + "tags": [ + "FileSessionStore", + "list_sessions" + ], + "complexity": "simple" + }, + { + "id": "func:FileSessionStore.append_message", + "type": "function", + "name": "append_message", + "filePath": "src/agentkit/session/store.py", + "layer": "data", + "summary": "FileSessionStore.append_message(message) 异步方法", + "tags": [ + "FileSessionStore", + "append_message" + ], + "complexity": "simple" + }, + { + "id": "func:FileSessionStore.get_messages", + "type": "function", + "name": "get_messages", + "filePath": "src/agentkit/session/store.py", + "layer": "data", + "summary": "FileSessionStore.get_messages(session_id, limit, offset) 异步方法", + "tags": [ + "FileSessionStore", + "get_messages" + ], + "complexity": "simple" + }, + { + "id": "func:FileSessionStore.count_messages", + "type": "function", + "name": "count_messages", + "filePath": "src/agentkit/session/store.py", + "layer": "data", + "summary": "FileSessionStore.count_messages(session_id) 异步方法", + "tags": [ + "FileSessionStore", + "count_messages" + ], + "complexity": "simple" + }, + { + "id": "func:FileSessionStore.health_check", + "type": "function", + "name": "health_check", + "filePath": "src/agentkit/session/store.py", + "layer": "data", + "summary": "FileSessionStore.health_check() 异步方法", + "tags": [ + "FileSessionStore", + "health_check" + ], + "complexity": "simple" + }, + { + "id": "class:EvolutionConfig", + "type": "class", + "name": "EvolutionConfig", + "filePath": "src/agentkit/skills/base.py", + "layer": "service", + "summary": "Evolution configuration", + "tags": [ + "EvolutionConfig" + ], + "complexity": "simple" + }, + { + "id": "class:IntentConfig", + "type": "class", + "name": "IntentConfig", + "filePath": "src/agentkit/skills/base.py", + "layer": "service", + "summary": "意图配置", + "tags": [ + "IntentConfig" + ], + "complexity": "simple" + }, + { + "id": "class:QualityGateConfig", + "type": "class", + "name": "QualityGateConfig", + "filePath": "src/agentkit/skills/base.py", + "layer": "service", + "summary": "质量门控配置", + "tags": [ + "QualityGateConfig" + ], + "complexity": "simple" + }, + { + "id": "class:SkillConfig", + "type": "class", + "name": "SkillConfig", + "filePath": "src/agentkit/skills/base.py", + "layer": "service", + "summary": "扩展 AgentConfig,新增 intent、quality_gate、execution_mode 等 v2 字段", + "tags": [ + "SkillConfig" + ], + "complexity": "moderate" + }, + { + "id": "func:SkillConfig.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/skills/base.py", + "layer": "service", + "summary": "SkillConfig.__init__(name, agent_type, version, description, task_mode, supported_tasks, max_concurrency, input_schema, output_schema, prompt, llm, tools, memory, custom_handler, intent, quality_gate, execution_mode, max_steps, evolution, skill_md_path, disclosure_level, dependencies, capabilities, alignment) 方法", + "tags": [ + "SkillConfig", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:SkillConfig._validate_v2", + "type": "function", + "name": "_validate_v2", + "filePath": "src/agentkit/skills/base.py", + "layer": "service", + "summary": "SkillConfig._validate_v2() 方法", + "tags": [ + "SkillConfig", + "_validate_v2" + ], + "complexity": "simple" + }, + { + "id": "func:SkillConfig._parse_dependencies", + "type": "function", + "name": "_parse_dependencies", + "filePath": "src/agentkit/skills/base.py", + "layer": "service", + "summary": "SkillConfig._parse_dependencies(raw) 方法", + "tags": [ + "SkillConfig", + "_parse_dependencies" + ], + "complexity": "simple" + }, + { + "id": "func:SkillConfig._parse_capabilities", + "type": "function", + "name": "_parse_capabilities", + "filePath": "src/agentkit/skills/base.py", + "layer": "service", + "summary": "SkillConfig._parse_capabilities(raw) 方法", + "tags": [ + "SkillConfig", + "_parse_capabilities" + ], + "complexity": "simple" + }, + { + "id": "func:SkillConfig.from_dict", + "type": "function", + "name": "from_dict", + "filePath": "src/agentkit/skills/base.py", + "layer": "service", + "summary": "SkillConfig.from_dict(cls, data) 方法", + "tags": [ + "SkillConfig", + "from_dict" + ], + "complexity": "simple" + }, + { + "id": "func:SkillConfig.from_yaml", + "type": "function", + "name": "from_yaml", + "filePath": "src/agentkit/skills/base.py", + "layer": "service", + "summary": "SkillConfig.from_yaml(cls, path) 方法", + "tags": [ + "SkillConfig", + "from_yaml" + ], + "complexity": "simple" + }, + { + "id": "func:SkillConfig.to_dict", + "type": "function", + "name": "to_dict", + "filePath": "src/agentkit/skills/base.py", + "layer": "service", + "summary": "SkillConfig.to_dict() 方法", + "tags": [ + "SkillConfig", + "to_dict" + ], + "complexity": "simple" + }, + { + "id": "class:Skill", + "type": "class", + "name": "Skill", + "filePath": "src/agentkit/skills/base.py", + "layer": "service", + "summary": "Skill 封装 SkillConfig + 绑定 Tools", + "tags": [ + "Skill" + ], + "complexity": "complex" + }, + { + "id": "func:Skill.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/skills/base.py", + "layer": "service", + "summary": "Skill.__init__(config, tools) 方法", + "tags": [ + "Skill", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:Skill.name", + "type": "function", + "name": "name", + "filePath": "src/agentkit/skills/base.py", + "layer": "service", + "summary": "Skill.name() 方法", + "tags": [ + "Skill", + "name" + ], + "complexity": "simple" + }, + { + "id": "func:Skill.version", + "type": "function", + "name": "version", + "filePath": "src/agentkit/skills/base.py", + "layer": "service", + "summary": "Skill.version() 方法", + "tags": [ + "Skill", + "version" + ], + "complexity": "simple" + }, + { + "id": "func:Skill.config", + "type": "function", + "name": "config", + "filePath": "src/agentkit/skills/base.py", + "layer": "service", + "summary": "Skill.config() 方法", + "tags": [ + "Skill", + "config" + ], + "complexity": "simple" + }, + { + "id": "func:Skill.tools", + "type": "function", + "name": "tools", + "filePath": "src/agentkit/skills/base.py", + "layer": "service", + "summary": "Skill.tools() 方法", + "tags": [ + "Skill", + "tools" + ], + "complexity": "simple" + }, + { + "id": "func:Skill.capabilities", + "type": "function", + "name": "capabilities", + "filePath": "src/agentkit/skills/base.py", + "layer": "service", + "summary": "Skill.capabilities() 方法", + "tags": [ + "Skill", + "capabilities" + ], + "complexity": "simple" + }, + { + "id": "func:Skill.dependencies", + "type": "function", + "name": "dependencies", + "filePath": "src/agentkit/skills/base.py", + "layer": "service", + "summary": "Skill.dependencies() 方法", + "tags": [ + "Skill", + "dependencies" + ], + "complexity": "simple" + }, + { + "id": "func:Skill.bind_tool", + "type": "function", + "name": "bind_tool", + "filePath": "src/agentkit/skills/base.py", + "layer": "service", + "summary": "Skill.bind_tool(tool) 方法", + "tags": [ + "Skill", + "bind_tool" + ], + "complexity": "simple" + }, + { + "id": "func:Skill.unbind_tool", + "type": "function", + "name": "unbind_tool", + "filePath": "src/agentkit/skills/base.py", + "layer": "service", + "summary": "Skill.unbind_tool(tool_name) 方法", + "tags": [ + "Skill", + "unbind_tool" + ], + "complexity": "simple" + }, + { + "id": "func:Skill.to_dict", + "type": "function", + "name": "to_dict", + "filePath": "src/agentkit/skills/base.py", + "layer": "service", + "summary": "Skill.to_dict() 方法", + "tags": [ + "Skill", + "to_dict" + ], + "complexity": "simple" + }, + { + "id": "class:PipelineStep", + "type": "class", + "name": "PipelineStep", + "filePath": "src/agentkit/skills/geo_pipeline.py", + "layer": "service", + "summary": "Pipeline 步骤定义", + "tags": [ + "PipelineStep" + ], + "complexity": "simple" + }, + { + "id": "class:PipelineStepResult", + "type": "class", + "name": "PipelineStepResult", + "filePath": "src/agentkit/skills/geo_pipeline.py", + "layer": "service", + "summary": "步骤执行结果", + "tags": [ + "PipelineStepResult" + ], + "complexity": "simple" + }, + { + "id": "class:PipelineResult", + "type": "class", + "name": "PipelineResult", + "filePath": "src/agentkit/skills/geo_pipeline.py", + "layer": "service", + "summary": "Pipeline 执行结果", + "tags": [ + "PipelineResult" + ], + "complexity": "simple" + }, + { + "id": "class:GEOPipeline", + "type": "class", + "name": "GEOPipeline", + "filePath": "src/agentkit/skills/geo_pipeline.py", + "layer": "service", + "summary": "GEO 端到端工作流编排", + "tags": [ + "GEOPipeline" + ], + "complexity": "complex" + }, + { + "id": "func:GEOPipeline.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/skills/geo_pipeline.py", + "layer": "service", + "summary": "GEOPipeline.__init__(name, steps, skill_registry, agent_pool, workspace) 方法", + "tags": [ + "GEOPipeline", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:GEOPipeline.from_config", + "type": "function", + "name": "from_config", + "filePath": "src/agentkit/skills/geo_pipeline.py", + "layer": "service", + "summary": "GEOPipeline.from_config(cls, config, skill_registry, agent_pool, workspace) 方法", + "tags": [ + "GEOPipeline", + "from_config" + ], + "complexity": "simple" + }, + { + "id": "func:GEOPipeline.execute", + "type": "function", + "name": "execute", + "filePath": "src/agentkit/skills/geo_pipeline.py", + "layer": "service", + "summary": "GEOPipeline.execute(input_data) 异步方法", + "tags": [ + "GEOPipeline", + "execute" + ], + "complexity": "simple" + }, + { + "id": "func:GEOPipeline._execute_step", + "type": "function", + "name": "_execute_step", + "filePath": "src/agentkit/skills/geo_pipeline.py", + "layer": "service", + "summary": "GEOPipeline._execute_step(step, input_data, step_outputs, execution_id, saga) 异步方法", + "tags": [ + "GEOPipeline", + "_execute_step" + ], + "complexity": "simple" + }, + { + "id": "func:GEOPipeline._execute_skill", + "type": "function", + "name": "_execute_skill", + "filePath": "src/agentkit/skills/geo_pipeline.py", + "layer": "service", + "summary": "GEOPipeline._execute_skill(skill_name, input_data) 异步方法", + "tags": [ + "GEOPipeline", + "_execute_skill" + ], + "complexity": "simple" + }, + { + "id": "func:GEOPipeline._build_execution_groups", + "type": "function", + "name": "_build_execution_groups", + "filePath": "src/agentkit/skills/geo_pipeline.py", + "layer": "service", + "summary": "GEOPipeline._build_execution_groups() 方法", + "tags": [ + "GEOPipeline", + "_build_execution_groups" + ], + "complexity": "simple" + }, + { + "id": "func:GEOPipeline._map_input", + "type": "function", + "name": "_map_input", + "filePath": "src/agentkit/skills/geo_pipeline.py", + "layer": "service", + "summary": "GEOPipeline._map_input(step, input_data, step_outputs) 方法", + "tags": [ + "GEOPipeline", + "_map_input" + ], + "complexity": "simple" + }, + { + "id": "func:GEOPipeline._resolve_mapping_path", + "type": "function", + "name": "_resolve_mapping_path", + "filePath": "src/agentkit/skills/geo_pipeline.py", + "layer": "service", + "summary": "GEOPipeline._resolve_mapping_path(path, input_data, step_outputs) 方法", + "tags": [ + "GEOPipeline", + "_resolve_mapping_path" + ], + "complexity": "simple" + }, + { + "id": "func:GEOPipeline._evaluate_condition", + "type": "function", + "name": "_evaluate_condition", + "filePath": "src/agentkit/skills/geo_pipeline.py", + "layer": "service", + "summary": "GEOPipeline._evaluate_condition(condition, input_data, step_outputs) 方法", + "tags": [ + "GEOPipeline", + "_evaluate_condition" + ], + "complexity": "simple" + }, + { + "id": "func:GEOPipeline._build_final_output", + "type": "function", + "name": "_build_final_output", + "filePath": "src/agentkit/skills/geo_pipeline.py", + "layer": "service", + "summary": "GEOPipeline._build_final_output(step_outputs, input_data) 方法", + "tags": [ + "GEOPipeline", + "_build_final_output" + ], + "complexity": "simple" + }, + { + "id": "class:SkillLoader", + "type": "class", + "name": "SkillLoader", + "filePath": "src/agentkit/skills/loader.py", + "layer": "service", + "summary": "从 YAML/SKILL.md 目录/Python 包批量加载 Skill 并注册到 SkillRegistry", + "tags": [ + "SkillLoader" + ], + "complexity": "moderate" + }, + { + "id": "func:SkillLoader.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/skills/loader.py", + "layer": "service", + "summary": "SkillLoader.__init__(skill_registry, tool_registry) 方法", + "tags": [ + "SkillLoader", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:SkillLoader.load_from_directory", + "type": "function", + "name": "load_from_directory", + "filePath": "src/agentkit/skills/loader.py", + "layer": "service", + "summary": "SkillLoader.load_from_directory(directory) 方法", + "tags": [ + "SkillLoader", + "load_from_directory" + ], + "complexity": "simple" + }, + { + "id": "func:SkillLoader.load_from_file", + "type": "function", + "name": "load_from_file", + "filePath": "src/agentkit/skills/loader.py", + "layer": "service", + "summary": "SkillLoader.load_from_file(path) 方法", + "tags": [ + "SkillLoader", + "load_from_file" + ], + "complexity": "simple" + }, + { + "id": "func:SkillLoader._load_skill_from_file", + "type": "function", + "name": "_load_skill_from_file", + "filePath": "src/agentkit/skills/loader.py", + "layer": "service", + "summary": "SkillLoader._load_skill_from_file(path) 方法", + "tags": [ + "SkillLoader", + "_load_skill_from_file" + ], + "complexity": "simple" + }, + { + "id": "func:SkillLoader.load_from_skill_md", + "type": "function", + "name": "load_from_skill_md", + "filePath": "src/agentkit/skills/loader.py", + "layer": "service", + "summary": "SkillLoader.load_from_skill_md(path, disclosure_level) 方法", + "tags": [ + "SkillLoader", + "load_from_skill_md" + ], + "complexity": "simple" + }, + { + "id": "func:SkillLoader.load_from_entry_points", + "type": "function", + "name": "load_from_entry_points", + "filePath": "src/agentkit/skills/loader.py", + "layer": "service", + "summary": "SkillLoader.load_from_entry_points(group) 方法", + "tags": [ + "SkillLoader", + "load_from_entry_points" + ], + "complexity": "simple" + }, + { + "id": "func:SkillLoader._bind_tools", + "type": "function", + "name": "_bind_tools", + "filePath": "src/agentkit/skills/loader.py", + "layer": "service", + "summary": "SkillLoader._bind_tools(config) 方法", + "tags": [ + "SkillLoader", + "_bind_tools" + ], + "complexity": "simple" + }, + { + "id": "class:SkillPipeline", + "type": "class", + "name": "SkillPipeline", + "filePath": "src/agentkit/skills/pipeline.py", + "layer": "service", + "summary": "将多个 Skill 串联为 Pipeline 执行", + "tags": [ + "SkillPipeline" + ], + "complexity": "moderate" + }, + { + "id": "func:SkillPipeline.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/skills/pipeline.py", + "layer": "service", + "summary": "SkillPipeline.__init__(name, steps, skill_registry) 方法", + "tags": [ + "SkillPipeline", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:SkillPipeline.execute", + "type": "function", + "name": "execute", + "filePath": "src/agentkit/skills/pipeline.py", + "layer": "service", + "summary": "SkillPipeline.execute(input_data, agent_factory) 异步方法", + "tags": [ + "SkillPipeline", + "execute" + ], + "complexity": "simple" + }, + { + "id": "func:SkillPipeline._execute_skill", + "type": "function", + "name": "_execute_skill", + "filePath": "src/agentkit/skills/pipeline.py", + "layer": "service", + "summary": "SkillPipeline._execute_skill(skill_name, input_data, agent_factory) 异步方法", + "tags": [ + "SkillPipeline", + "_execute_skill" + ], + "complexity": "simple" + }, + { + "id": "func:SkillPipeline._evaluate_condition", + "type": "function", + "name": "_evaluate_condition", + "filePath": "src/agentkit/skills/pipeline.py", + "layer": "service", + "summary": "SkillPipeline._evaluate_condition(condition, current_input, results) 方法", + "tags": [ + "SkillPipeline", + "_evaluate_condition" + ], + "complexity": "simple" + }, + { + "id": "func:SkillPipeline._resolve_path", + "type": "function", + "name": "_resolve_path", + "filePath": "src/agentkit/skills/pipeline.py", + "layer": "service", + "summary": "SkillPipeline._resolve_path(path, data) 方法", + "tags": [ + "SkillPipeline", + "_resolve_path" + ], + "complexity": "simple" + }, + { + "id": "func:SkillPipeline._map_input", + "type": "function", + "name": "_map_input", + "filePath": "src/agentkit/skills/pipeline.py", + "layer": "service", + "summary": "SkillPipeline._map_input(current_input, mapping, results) 方法", + "tags": [ + "SkillPipeline", + "_map_input" + ], + "complexity": "simple" + }, + { + "id": "class:SkillRegistry", + "type": "class", + "name": "SkillRegistry", + "filePath": "src/agentkit/skills/registry.py", + "layer": "service", + "summary": "Skill 注册中心,管理 Skill 的注册、发现、更新", + "tags": [ + "SkillRegistry" + ], + "complexity": "complex" + }, + { + "id": "func:SkillRegistry.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/skills/registry.py", + "layer": "service", + "summary": "SkillRegistry.__init__() 方法", + "tags": [ + "SkillRegistry", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:SkillRegistry.register", + "type": "function", + "name": "register", + "filePath": "src/agentkit/skills/registry.py", + "layer": "service", + "summary": "SkillRegistry.register(skill) 方法", + "tags": [ + "SkillRegistry", + "register" + ], + "complexity": "simple" + }, + { + "id": "func:SkillRegistry.unregister", + "type": "function", + "name": "unregister", + "filePath": "src/agentkit/skills/registry.py", + "layer": "service", + "summary": "SkillRegistry.unregister(name, version) 方法", + "tags": [ + "SkillRegistry", + "unregister" + ], + "complexity": "simple" + }, + { + "id": "func:SkillRegistry.get", + "type": "function", + "name": "get", + "filePath": "src/agentkit/skills/registry.py", + "layer": "service", + "summary": "SkillRegistry.get(name, version) 方法", + "tags": [ + "SkillRegistry", + "get" + ], + "complexity": "simple" + }, + { + "id": "func:SkillRegistry.list_skills", + "type": "function", + "name": "list_skills", + "filePath": "src/agentkit/skills/registry.py", + "layer": "service", + "summary": "SkillRegistry.list_skills() 方法", + "tags": [ + "SkillRegistry", + "list_skills" + ], + "complexity": "simple" + }, + { + "id": "func:SkillRegistry.update_skill", + "type": "function", + "name": "update_skill", + "filePath": "src/agentkit/skills/registry.py", + "layer": "service", + "summary": "SkillRegistry.update_skill(name, config) 方法", + "tags": [ + "SkillRegistry", + "update_skill" + ], + "complexity": "simple" + }, + { + "id": "func:SkillRegistry.has_skill", + "type": "function", + "name": "has_skill", + "filePath": "src/agentkit/skills/registry.py", + "layer": "service", + "summary": "SkillRegistry.has_skill(name, version) 方法", + "tags": [ + "SkillRegistry", + "has_skill" + ], + "complexity": "simple" + }, + { + "id": "func:SkillRegistry.get_versions", + "type": "function", + "name": "get_versions", + "filePath": "src/agentkit/skills/registry.py", + "layer": "service", + "summary": "SkillRegistry.get_versions(name) 方法", + "tags": [ + "SkillRegistry", + "get_versions" + ], + "complexity": "simple" + }, + { + "id": "func:SkillRegistry.query_by_capability", + "type": "function", + "name": "query_by_capability", + "filePath": "src/agentkit/skills/registry.py", + "layer": "service", + "summary": "SkillRegistry.query_by_capability(tag) 方法", + "tags": [ + "SkillRegistry", + "query_by_capability" + ], + "complexity": "simple" + }, + { + "id": "func:SkillRegistry.health_check", + "type": "function", + "name": "health_check", + "filePath": "src/agentkit/skills/registry.py", + "layer": "service", + "summary": "SkillRegistry.health_check(name) 方法", + "tags": [ + "SkillRegistry", + "health_check" + ], + "complexity": "simple" + }, + { + "id": "func:SkillRegistry._check_skill_dependencies", + "type": "function", + "name": "_check_skill_dependencies", + "filePath": "src/agentkit/skills/registry.py", + "layer": "service", + "summary": "SkillRegistry._check_skill_dependencies(skill) 方法", + "tags": [ + "SkillRegistry", + "_check_skill_dependencies" + ], + "complexity": "simple" + }, + { + "id": "func:SkillRegistry._check_version_constraint", + "type": "function", + "name": "_check_version_constraint", + "filePath": "src/agentkit/skills/registry.py", + "layer": "service", + "summary": "SkillRegistry._check_version_constraint(actual_version, constraint) 方法", + "tags": [ + "SkillRegistry", + "_check_version_constraint" + ], + "complexity": "simple" + }, + { + "id": "func:SkillRegistry.register_pipeline", + "type": "function", + "name": "register_pipeline", + "filePath": "src/agentkit/skills/registry.py", + "layer": "service", + "summary": "SkillRegistry.register_pipeline(pipeline) 方法", + "tags": [ + "SkillRegistry", + "register_pipeline" + ], + "complexity": "simple" + }, + { + "id": "func:SkillRegistry.get_pipeline", + "type": "function", + "name": "get_pipeline", + "filePath": "src/agentkit/skills/registry.py", + "layer": "service", + "summary": "SkillRegistry.get_pipeline(name) 方法", + "tags": [ + "SkillRegistry", + "get_pipeline" + ], + "complexity": "simple" + }, + { + "id": "func:SkillRegistry.list_pipelines", + "type": "function", + "name": "list_pipelines", + "filePath": "src/agentkit/skills/registry.py", + "layer": "service", + "summary": "SkillRegistry.list_pipelines() 方法", + "tags": [ + "SkillRegistry", + "list_pipelines" + ], + "complexity": "simple" + }, + { + "id": "func:SkillRegistry.unregister_pipeline", + "type": "function", + "name": "unregister_pipeline", + "filePath": "src/agentkit/skills/registry.py", + "layer": "service", + "summary": "SkillRegistry.unregister_pipeline(name) 方法", + "tags": [ + "SkillRegistry", + "unregister_pipeline" + ], + "complexity": "simple" + }, + { + "id": "class:DependencyDecl", + "type": "class", + "name": "DependencyDecl", + "filePath": "src/agentkit/skills/schema.py", + "layer": "service", + "summary": "依赖声明 - 声明 Skill/Tool 依赖", + "tags": [ + "DependencyDecl" + ], + "complexity": "simple" + }, + { + "id": "class:CapabilityTag", + "type": "class", + "name": "CapabilityTag", + "filePath": "src/agentkit/skills/schema.py", + "layer": "service", + "summary": "能力标签 - 用于 Skill 能力查询", + "tags": [ + "CapabilityTag" + ], + "complexity": "simple" + }, + { + "id": "class:SkillSpec", + "type": "class", + "name": "SkillSpec", + "filePath": "src/agentkit/skills/schema.py", + "layer": "service", + "summary": "Skill 标准接口规范", + "tags": [ + "SkillSpec" + ], + "complexity": "moderate" + }, + { + "id": "func:SkillSpec.from_dict", + "type": "function", + "name": "from_dict", + "filePath": "src/agentkit/skills/schema.py", + "layer": "service", + "summary": "SkillSpec.from_dict(cls, data) 方法", + "tags": [ + "SkillSpec", + "from_dict" + ], + "complexity": "simple" + }, + { + "id": "func:SkillSpec.to_dict", + "type": "function", + "name": "to_dict", + "filePath": "src/agentkit/skills/schema.py", + "layer": "service", + "summary": "SkillSpec.to_dict() 方法", + "tags": [ + "SkillSpec", + "to_dict" + ], + "complexity": "simple" + }, + { + "id": "func:SkillSpec.capability_tags", + "type": "function", + "name": "capability_tags", + "filePath": "src/agentkit/skills/schema.py", + "layer": "service", + "summary": "SkillSpec.capability_tags() 方法", + "tags": [ + "SkillSpec", + "capability_tags" + ], + "complexity": "simple" + }, + { + "id": "func:SkillSpec.required_dependencies", + "type": "function", + "name": "required_dependencies", + "filePath": "src/agentkit/skills/schema.py", + "layer": "service", + "summary": "SkillSpec.required_dependencies() 方法", + "tags": [ + "SkillSpec", + "required_dependencies" + ], + "complexity": "simple" + }, + { + "id": "func:SkillSpec.skill_dependencies", + "type": "function", + "name": "skill_dependencies", + "filePath": "src/agentkit/skills/schema.py", + "layer": "service", + "summary": "SkillSpec.skill_dependencies() 方法", + "tags": [ + "SkillSpec", + "skill_dependencies" + ], + "complexity": "simple" + }, + { + "id": "func:SkillSpec.tool_dependencies", + "type": "function", + "name": "tool_dependencies", + "filePath": "src/agentkit/skills/schema.py", + "layer": "service", + "summary": "SkillSpec.tool_dependencies() 方法", + "tags": [ + "SkillSpec", + "tool_dependencies" + ], + "complexity": "simple" + }, + { + "id": "class:HealthCheckResult", + "type": "class", + "name": "HealthCheckResult", + "filePath": "src/agentkit/skills/schema.py", + "layer": "service", + "summary": "依赖健康检查结果", + "tags": [ + "HealthCheckResult" + ], + "complexity": "simple" + }, + { + "id": "func:HealthCheckResult.to_dict", + "type": "function", + "name": "to_dict", + "filePath": "src/agentkit/skills/schema.py", + "layer": "service", + "summary": "HealthCheckResult.to_dict() 方法", + "tags": [ + "HealthCheckResult", + "to_dict" + ], + "complexity": "simple" + }, + { + "id": "class:SkillMdParser", + "type": "class", + "name": "SkillMdParser", + "filePath": "src/agentkit/skills/skill_md.py", + "layer": "service", + "summary": "解析 SKILL.md 文件为 SkillConfig", + "tags": [ + "SkillMdParser" + ], + "complexity": "simple" + }, + { + "id": "func:SkillMdParser.parse", + "type": "function", + "name": "parse", + "filePath": "src/agentkit/skills/skill_md.py", + "layer": "service", + "summary": "SkillMdParser.parse(file_path) 方法", + "tags": [ + "SkillMdParser", + "parse" + ], + "complexity": "simple" + }, + { + "id": "func:SkillMdParser.to_skill_config", + "type": "function", + "name": "to_skill_config", + "filePath": "src/agentkit/skills/skill_md.py", + "layer": "service", + "summary": "SkillMdParser.to_skill_config(frontmatter, sections, file_path, disclosure_level) 方法", + "tags": [ + "SkillMdParser", + "to_skill_config" + ], + "complexity": "simple" + }, + { + "id": "class:_NoOpCounter", + "type": "class", + "name": "_NoOpCounter", + "filePath": "src/agentkit/telemetry/metrics.py", + "layer": "utility", + "summary": "No-op counter used when OTel is not installed.", + "tags": [ + "_NoOpCounter" + ], + "complexity": "simple" + }, + { + "id": "func:_NoOpCounter.add", + "type": "function", + "name": "add", + "filePath": "src/agentkit/telemetry/metrics.py", + "layer": "utility", + "summary": "_NoOpCounter.add() 方法", + "tags": [ + "_NoOpCounter", + "add" + ], + "complexity": "simple" + }, + { + "id": "class:_NoOpHistogram", + "type": "class", + "name": "_NoOpHistogram", + "filePath": "src/agentkit/telemetry/metrics.py", + "layer": "utility", + "summary": "No-op histogram used when OTel is not installed.", + "tags": [ + "_NoOpHistogram" + ], + "complexity": "simple" + }, + { + "id": "func:_NoOpHistogram.record", + "type": "function", + "name": "record", + "filePath": "src/agentkit/telemetry/metrics.py", + "layer": "utility", + "summary": "_NoOpHistogram.record() 方法", + "tags": [ + "_NoOpHistogram", + "record" + ], + "complexity": "simple" + }, + { + "id": "class:_NoOpUpDownCounter", + "type": "class", + "name": "_NoOpUpDownCounter", + "filePath": "src/agentkit/telemetry/metrics.py", + "layer": "utility", + "summary": "No-op up-down counter used when OTel is not installed.", + "tags": [ + "_NoOpUpDownCounter" + ], + "complexity": "simple" + }, + { + "id": "func:_NoOpUpDownCounter.add", + "type": "function", + "name": "add", + "filePath": "src/agentkit/telemetry/metrics.py", + "layer": "utility", + "summary": "_NoOpUpDownCounter.add() 方法", + "tags": [ + "_NoOpUpDownCounter", + "add" + ], + "complexity": "simple" + }, + { + "id": "class:TelemetryConfig", + "type": "class", + "name": "TelemetryConfig", + "filePath": "src/agentkit/telemetry/tracer.py", + "layer": "utility", + "summary": "Telemetry configuration.", + "tags": [ + "TelemetryConfig" + ], + "complexity": "simple" + }, + { + "id": "class:NoOpSpan", + "type": "class", + "name": "NoOpSpan", + "filePath": "src/agentkit/telemetry/tracer.py", + "layer": "utility", + "summary": "No-op span when telemetry is disabled.", + "tags": [ + "NoOpSpan" + ], + "complexity": "moderate" + }, + { + "id": "func:NoOpSpan.__enter__", + "type": "function", + "name": "__enter__", + "filePath": "src/agentkit/telemetry/tracer.py", + "layer": "utility", + "summary": "NoOpSpan.__enter__() 方法", + "tags": [ + "NoOpSpan", + "__enter__" + ], + "complexity": "simple" + }, + { + "id": "func:NoOpSpan.__exit__", + "type": "function", + "name": "__exit__", + "filePath": "src/agentkit/telemetry/tracer.py", + "layer": "utility", + "summary": "NoOpSpan.__exit__() 方法", + "tags": [ + "NoOpSpan", + "__exit__" + ], + "complexity": "simple" + }, + { + "id": "func:NoOpSpan.set_attribute", + "type": "function", + "name": "set_attribute", + "filePath": "src/agentkit/telemetry/tracer.py", + "layer": "utility", + "summary": "NoOpSpan.set_attribute(key, value) 方法", + "tags": [ + "NoOpSpan", + "set_attribute" + ], + "complexity": "simple" + }, + { + "id": "func:NoOpSpan.add_event", + "type": "function", + "name": "add_event", + "filePath": "src/agentkit/telemetry/tracer.py", + "layer": "utility", + "summary": "NoOpSpan.add_event(name, attributes) 方法", + "tags": [ + "NoOpSpan", + "add_event" + ], + "complexity": "simple" + }, + { + "id": "func:NoOpSpan.record_exception", + "type": "function", + "name": "record_exception", + "filePath": "src/agentkit/telemetry/tracer.py", + "layer": "utility", + "summary": "NoOpSpan.record_exception(exception) 方法", + "tags": [ + "NoOpSpan", + "record_exception" + ], + "complexity": "simple" + }, + { + "id": "func:NoOpSpan.is_recording", + "type": "function", + "name": "is_recording", + "filePath": "src/agentkit/telemetry/tracer.py", + "layer": "utility", + "summary": "NoOpSpan.is_recording() 方法", + "tags": [ + "NoOpSpan", + "is_recording" + ], + "complexity": "simple" + }, + { + "id": "class:NoOpTracer", + "type": "class", + "name": "NoOpTracer", + "filePath": "src/agentkit/telemetry/tracer.py", + "layer": "utility", + "summary": "No-op tracer when telemetry is disabled.", + "tags": [ + "NoOpTracer" + ], + "complexity": "simple" + }, + { + "id": "func:NoOpTracer.start_span", + "type": "function", + "name": "start_span", + "filePath": "src/agentkit/telemetry/tracer.py", + "layer": "utility", + "summary": "NoOpTracer.start_span(name, attributes) 方法", + "tags": [ + "NoOpTracer", + "start_span" + ], + "complexity": "simple" + }, + { + "id": "func:NoOpTracer.start_as_current_span", + "type": "function", + "name": "start_as_current_span", + "filePath": "src/agentkit/telemetry/tracer.py", + "layer": "utility", + "summary": "NoOpTracer.start_as_current_span(name, attributes) 方法", + "tags": [ + "NoOpTracer", + "start_as_current_span" + ], + "complexity": "simple" + }, + { + "id": "class:OTelSpan", + "type": "class", + "name": "OTelSpan", + "filePath": "src/agentkit/telemetry/tracer.py", + "layer": "utility", + "summary": "Wrapper around OpenTelemetry Span.", + "tags": [ + "OTelSpan" + ], + "complexity": "moderate" + }, + { + "id": "func:OTelSpan.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/telemetry/tracer.py", + "layer": "utility", + "summary": "OTelSpan.__init__(span) 方法", + "tags": [ + "OTelSpan", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:OTelSpan.__enter__", + "type": "function", + "name": "__enter__", + "filePath": "src/agentkit/telemetry/tracer.py", + "layer": "utility", + "summary": "OTelSpan.__enter__() 方法", + "tags": [ + "OTelSpan", + "__enter__" + ], + "complexity": "simple" + }, + { + "id": "func:OTelSpan.__exit__", + "type": "function", + "name": "__exit__", + "filePath": "src/agentkit/telemetry/tracer.py", + "layer": "utility", + "summary": "OTelSpan.__exit__() 方法", + "tags": [ + "OTelSpan", + "__exit__" + ], + "complexity": "simple" + }, + { + "id": "func:OTelSpan.set_attribute", + "type": "function", + "name": "set_attribute", + "filePath": "src/agentkit/telemetry/tracer.py", + "layer": "utility", + "summary": "OTelSpan.set_attribute(key, value) 方法", + "tags": [ + "OTelSpan", + "set_attribute" + ], + "complexity": "simple" + }, + { + "id": "func:OTelSpan.add_event", + "type": "function", + "name": "add_event", + "filePath": "src/agentkit/telemetry/tracer.py", + "layer": "utility", + "summary": "OTelSpan.add_event(name, attributes) 方法", + "tags": [ + "OTelSpan", + "add_event" + ], + "complexity": "simple" + }, + { + "id": "func:OTelSpan.record_exception", + "type": "function", + "name": "record_exception", + "filePath": "src/agentkit/telemetry/tracer.py", + "layer": "utility", + "summary": "OTelSpan.record_exception(exception) 方法", + "tags": [ + "OTelSpan", + "record_exception" + ], + "complexity": "simple" + }, + { + "id": "func:OTelSpan.is_recording", + "type": "function", + "name": "is_recording", + "filePath": "src/agentkit/telemetry/tracer.py", + "layer": "utility", + "summary": "OTelSpan.is_recording() 方法", + "tags": [ + "OTelSpan", + "is_recording" + ], + "complexity": "simple" + }, + { + "id": "class:OTelTracer", + "type": "class", + "name": "OTelTracer", + "filePath": "src/agentkit/telemetry/tracer.py", + "layer": "utility", + "summary": "Wrapper around OpenTelemetry Tracer.", + "tags": [ + "OTelTracer" + ], + "complexity": "simple" + }, + { + "id": "func:OTelTracer.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/telemetry/tracer.py", + "layer": "utility", + "summary": "OTelTracer.__init__(tracer) 方法", + "tags": [ + "OTelTracer", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:OTelTracer.start_span", + "type": "function", + "name": "start_span", + "filePath": "src/agentkit/telemetry/tracer.py", + "layer": "utility", + "summary": "OTelTracer.start_span(name, attributes) 方法", + "tags": [ + "OTelTracer", + "start_span" + ], + "complexity": "simple" + }, + { + "id": "func:OTelTracer.start_as_current_span", + "type": "function", + "name": "start_as_current_span", + "filePath": "src/agentkit/telemetry/tracer.py", + "layer": "utility", + "summary": "OTelTracer.start_as_current_span(name, attributes) 方法", + "tags": [ + "OTelTracer", + "start_as_current_span" + ], + "complexity": "simple" + }, + { + "id": "class:_NoOpSpan", + "type": "class", + "name": "_NoOpSpan", + "filePath": "src/agentkit/telemetry/tracing.py", + "layer": "utility", + "summary": "No-op span context manager used when OTel is not installed.", + "tags": [ + "_NoOpSpan" + ], + "complexity": "moderate" + }, + { + "id": "func:_NoOpSpan.__enter__", + "type": "function", + "name": "__enter__", + "filePath": "src/agentkit/telemetry/tracing.py", + "layer": "utility", + "summary": "_NoOpSpan.__enter__() 方法", + "tags": [ + "_NoOpSpan", + "__enter__" + ], + "complexity": "simple" + }, + { + "id": "func:_NoOpSpan.__exit__", + "type": "function", + "name": "__exit__", + "filePath": "src/agentkit/telemetry/tracing.py", + "layer": "utility", + "summary": "_NoOpSpan.__exit__() 方法", + "tags": [ + "_NoOpSpan", + "__exit__" + ], + "complexity": "simple" + }, + { + "id": "func:_NoOpSpan.set_attribute", + "type": "function", + "name": "set_attribute", + "filePath": "src/agentkit/telemetry/tracing.py", + "layer": "utility", + "summary": "_NoOpSpan.set_attribute() 方法", + "tags": [ + "_NoOpSpan", + "set_attribute" + ], + "complexity": "simple" + }, + { + "id": "func:_NoOpSpan.add_event", + "type": "function", + "name": "add_event", + "filePath": "src/agentkit/telemetry/tracing.py", + "layer": "utility", + "summary": "_NoOpSpan.add_event() 方法", + "tags": [ + "_NoOpSpan", + "add_event" + ], + "complexity": "simple" + }, + { + "id": "func:_NoOpSpan.set_status", + "type": "function", + "name": "set_status", + "filePath": "src/agentkit/telemetry/tracing.py", + "layer": "utility", + "summary": "_NoOpSpan.set_status() 方法", + "tags": [ + "_NoOpSpan", + "set_status" + ], + "complexity": "simple" + }, + { + "id": "func:_NoOpSpan.record_exception", + "type": "function", + "name": "record_exception", + "filePath": "src/agentkit/telemetry/tracing.py", + "layer": "utility", + "summary": "_NoOpSpan.record_exception() 方法", + "tags": [ + "_NoOpSpan", + "record_exception" + ], + "complexity": "simple" + }, + { + "id": "class:AgentTool", + "type": "class", + "name": "AgentTool", + "filePath": "src/agentkit/tools/agent_tool.py", + "layer": "utility", + "summary": "将另一个 Agent 包装为 Tool", + "tags": [ + "AgentTool" + ], + "complexity": "simple" + }, + { + "id": "func:AgentTool.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/tools/agent_tool.py", + "layer": "utility", + "summary": "AgentTool.__init__(name, description, agent_name, task_type, input_mapping, output_mapping, timeout_seconds, version, tags) 方法", + "tags": [ + "AgentTool", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:AgentTool.set_dispatcher", + "type": "function", + "name": "set_dispatcher", + "filePath": "src/agentkit/tools/agent_tool.py", + "layer": "utility", + "summary": "AgentTool.set_dispatcher(dispatcher) 方法", + "tags": [ + "AgentTool", + "set_dispatcher" + ], + "complexity": "simple" + }, + { + "id": "func:AgentTool.execute", + "type": "function", + "name": "execute", + "filePath": "src/agentkit/tools/agent_tool.py", + "layer": "utility", + "summary": "AgentTool.execute() 异步方法", + "tags": [ + "AgentTool", + "execute" + ], + "complexity": "simple" + }, + { + "id": "class:AskHumanTool", + "type": "class", + "name": "AskHumanTool", + "filePath": "src/agentkit/tools/ask_human.py", + "layer": "utility", + "summary": "Tool that asks the human user a question and waits for a reply.", + "tags": [ + "AskHumanTool" + ], + "complexity": "moderate" + }, + { + "id": "func:AskHumanTool.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/tools/ask_human.py", + "layer": "utility", + "summary": "AskHumanTool.__init__(timeout) 方法", + "tags": [ + "AskHumanTool", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:AskHumanTool.configure", + "type": "function", + "name": "configure", + "filePath": "src/agentkit/tools/ask_human.py", + "layer": "utility", + "summary": "AskHumanTool.configure(pending_replies, ask_callback) 方法", + "tags": [ + "AskHumanTool", + "configure" + ], + "complexity": "simple" + }, + { + "id": "func:AskHumanTool.parameters", + "type": "function", + "name": "parameters", + "filePath": "src/agentkit/tools/ask_human.py", + "layer": "utility", + "summary": "AskHumanTool.parameters() 方法", + "tags": [ + "AskHumanTool", + "parameters" + ], + "complexity": "simple" + }, + { + "id": "func:AskHumanTool.execute", + "type": "function", + "name": "execute", + "filePath": "src/agentkit/tools/ask_human.py", + "layer": "utility", + "summary": "AskHumanTool.execute() 异步方法", + "tags": [ + "AskHumanTool", + "execute" + ], + "complexity": "simple" + }, + { + "id": "class:BaiduSearchTool", + "type": "class", + "name": "BaiduSearchTool", + "filePath": "src/agentkit/tools/baidu_search.py", + "layer": "utility", + "summary": "百度搜索工具 - 执行关键词搜索,返回搜索结果", + "tags": [ + "BaiduSearchTool" + ], + "complexity": "moderate" + }, + { + "id": "func:BaiduSearchTool.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/tools/baidu_search.py", + "layer": "utility", + "summary": "BaiduSearchTool.__init__(name, description, input_schema, output_schema, version, tags, api_key, api_url) 方法", + "tags": [ + "BaiduSearchTool", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:BaiduSearchTool._default_input_schema", + "type": "function", + "name": "_default_input_schema", + "filePath": "src/agentkit/tools/baidu_search.py", + "layer": "utility", + "summary": "BaiduSearchTool._default_input_schema() 方法", + "tags": [ + "BaiduSearchTool", + "_default_input_schema" + ], + "complexity": "simple" + }, + { + "id": "func:BaiduSearchTool._default_output_schema", + "type": "function", + "name": "_default_output_schema", + "filePath": "src/agentkit/tools/baidu_search.py", + "layer": "utility", + "summary": "BaiduSearchTool._default_output_schema() 方法", + "tags": [ + "BaiduSearchTool", + "_default_output_schema" + ], + "complexity": "simple" + }, + { + "id": "func:BaiduSearchTool.execute", + "type": "function", + "name": "execute", + "filePath": "src/agentkit/tools/baidu_search.py", + "layer": "utility", + "summary": "BaiduSearchTool.execute() 异步方法", + "tags": [ + "BaiduSearchTool", + "execute" + ], + "complexity": "simple" + }, + { + "id": "func:BaiduSearchTool._search_via_api", + "type": "function", + "name": "_search_via_api", + "filePath": "src/agentkit/tools/baidu_search.py", + "layer": "utility", + "summary": "BaiduSearchTool._search_via_api(query, max_results) 异步方法", + "tags": [ + "BaiduSearchTool", + "_search_via_api" + ], + "complexity": "simple" + }, + { + "id": "func:BaiduSearchTool._search_via_scrape", + "type": "function", + "name": "_search_via_scrape", + "filePath": "src/agentkit/tools/baidu_search.py", + "layer": "utility", + "summary": "BaiduSearchTool._search_via_scrape(query, max_results) 异步方法", + "tags": [ + "BaiduSearchTool", + "_search_via_scrape" + ], + "complexity": "simple" + }, + { + "id": "func:BaiduSearchTool._parse_baidu_html", + "type": "function", + "name": "_parse_baidu_html", + "filePath": "src/agentkit/tools/baidu_search.py", + "layer": "utility", + "summary": "BaiduSearchTool._parse_baidu_html(html, max_results) 方法", + "tags": [ + "BaiduSearchTool", + "_parse_baidu_html" + ], + "complexity": "simple" + }, + { + "id": "func:BaiduSearchTool._parse_baidu_html_alt", + "type": "function", + "name": "_parse_baidu_html_alt", + "filePath": "src/agentkit/tools/baidu_search.py", + "layer": "utility", + "summary": "BaiduSearchTool._parse_baidu_html_alt(html, max_results) 方法", + "tags": [ + "BaiduSearchTool", + "_parse_baidu_html_alt" + ], + "complexity": "simple" + }, + { + "id": "class:Tool", + "type": "class", + "name": "Tool", + "filePath": "src/agentkit/tools/base.py", + "layer": "utility", + "summary": "工具抽象基类", + "tags": [ + "Tool" + ], + "complexity": "moderate" + }, + { + "id": "func:Tool.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/tools/base.py", + "layer": "utility", + "summary": "Tool.__init__(name, description, input_schema, output_schema, version, tags) 方法", + "tags": [ + "Tool", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:Tool.execute", + "type": "function", + "name": "execute", + "filePath": "src/agentkit/tools/base.py", + "layer": "utility", + "summary": "Tool.execute() 异步方法", + "tags": [ + "Tool", + "execute" + ], + "complexity": "simple" + }, + { + "id": "func:Tool.before_execute", + "type": "function", + "name": "before_execute", + "filePath": "src/agentkit/tools/base.py", + "layer": "utility", + "summary": "Tool.before_execute() 异步方法", + "tags": [ + "Tool", + "before_execute" + ], + "complexity": "simple" + }, + { + "id": "func:Tool.after_execute", + "type": "function", + "name": "after_execute", + "filePath": "src/agentkit/tools/base.py", + "layer": "utility", + "summary": "Tool.after_execute(result) 异步方法", + "tags": [ + "Tool", + "after_execute" + ], + "complexity": "simple" + }, + { + "id": "func:Tool.on_error", + "type": "function", + "name": "on_error", + "filePath": "src/agentkit/tools/base.py", + "layer": "utility", + "summary": "Tool.on_error(error) 异步方法", + "tags": [ + "Tool", + "on_error" + ], + "complexity": "simple" + }, + { + "id": "func:Tool.safe_execute", + "type": "function", + "name": "safe_execute", + "filePath": "src/agentkit/tools/base.py", + "layer": "utility", + "summary": "Tool.safe_execute() 异步方法", + "tags": [ + "Tool", + "safe_execute" + ], + "complexity": "simple" + }, + { + "id": "func:Tool.to_dict", + "type": "function", + "name": "to_dict", + "filePath": "src/agentkit/tools/base.py", + "layer": "utility", + "summary": "Tool.to_dict() 方法", + "tags": [ + "Tool", + "to_dict" + ], + "complexity": "simple" + }, + { + "id": "func:Tool.__repr__", + "type": "function", + "name": "__repr__", + "filePath": "src/agentkit/tools/base.py", + "layer": "utility", + "summary": "Tool.__repr__() 方法", + "tags": [ + "Tool", + "__repr__" + ], + "complexity": "simple" + }, + { + "id": "class:SequentialChain", + "type": "class", + "name": "SequentialChain", + "filePath": "src/agentkit/tools/composition.py", + "layer": "utility", + "summary": "顺序链 - 依次执行多个工具,前一个输出作为后一个输入", + "tags": [ + "SequentialChain" + ], + "complexity": "simple" + }, + { + "id": "func:SequentialChain.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/tools/composition.py", + "layer": "utility", + "summary": "SequentialChain.__init__(name, description, tools, version, tags) 方法", + "tags": [ + "SequentialChain", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:SequentialChain.execute", + "type": "function", + "name": "execute", + "filePath": "src/agentkit/tools/composition.py", + "layer": "utility", + "summary": "SequentialChain.execute() 异步方法", + "tags": [ + "SequentialChain", + "execute" + ], + "complexity": "simple" + }, + { + "id": "class:ParallelFanOut", + "type": "class", + "name": "ParallelFanOut", + "filePath": "src/agentkit/tools/composition.py", + "layer": "utility", + "summary": "并行扇出 - 同时执行多个工具,结果合并", + "tags": [ + "ParallelFanOut" + ], + "complexity": "simple" + }, + { + "id": "func:ParallelFanOut.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/tools/composition.py", + "layer": "utility", + "summary": "ParallelFanOut.__init__(name, description, tools, merge_strategy, version, tags) 方法", + "tags": [ + "ParallelFanOut", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:ParallelFanOut.execute", + "type": "function", + "name": "execute", + "filePath": "src/agentkit/tools/composition.py", + "layer": "utility", + "summary": "ParallelFanOut.execute() 异步方法", + "tags": [ + "ParallelFanOut", + "execute" + ], + "complexity": "simple" + }, + { + "id": "class:DynamicSelector", + "type": "class", + "name": "DynamicSelector", + "filePath": "src/agentkit/tools/composition.py", + "layer": "utility", + "summary": "动态选择器 - 根据输入动态选择合适的工具执行", + "tags": [ + "DynamicSelector" + ], + "complexity": "moderate" + }, + { + "id": "func:DynamicSelector.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/tools/composition.py", + "layer": "utility", + "summary": "DynamicSelector.__init__(name, description, tools, mode, llm_client, version, tags) 方法", + "tags": [ + "DynamicSelector", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:DynamicSelector.execute", + "type": "function", + "name": "execute", + "filePath": "src/agentkit/tools/composition.py", + "layer": "utility", + "summary": "DynamicSelector.execute() 异步方法", + "tags": [ + "DynamicSelector", + "execute" + ], + "complexity": "simple" + }, + { + "id": "func:DynamicSelector._select_by_keyword", + "type": "function", + "name": "_select_by_keyword", + "filePath": "src/agentkit/tools/composition.py", + "layer": "utility", + "summary": "DynamicSelector._select_by_keyword(kwargs, intent) 方法", + "tags": [ + "DynamicSelector", + "_select_by_keyword" + ], + "complexity": "simple" + }, + { + "id": "func:DynamicSelector._select_by_llm", + "type": "function", + "name": "_select_by_llm", + "filePath": "src/agentkit/tools/composition.py", + "layer": "utility", + "summary": "DynamicSelector._select_by_llm(kwargs) 异步方法", + "tags": [ + "DynamicSelector", + "_select_by_llm" + ], + "complexity": "simple" + }, + { + "id": "class:ComputerUseTool", + "type": "class", + "name": "ComputerUseTool", + "filePath": "src/agentkit/tools/computer_use.py", + "layer": "utility", + "summary": "Computer Use 工具", + "tags": [ + "ComputerUseTool" + ], + "complexity": "complex" + }, + { + "id": "func:ComputerUseTool.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/tools/computer_use.py", + "layer": "utility", + "summary": "ComputerUseTool.__init__(name, description, input_schema, output_schema, version, tags, api_key, model, api_base_url, session_factory, recorder, fallback_callback, max_retries, request_timeout) 方法", + "tags": [ + "ComputerUseTool", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:ComputerUseTool._get_http_client", + "type": "function", + "name": "_get_http_client", + "filePath": "src/agentkit/tools/computer_use.py", + "layer": "utility", + "summary": "ComputerUseTool._get_http_client() 异步方法", + "tags": [ + "ComputerUseTool", + "_get_http_client" + ], + "complexity": "simple" + }, + { + "id": "func:ComputerUseTool.close", + "type": "function", + "name": "close", + "filePath": "src/agentkit/tools/computer_use.py", + "layer": "utility", + "summary": "ComputerUseTool.close() 异步方法", + "tags": [ + "ComputerUseTool", + "close" + ], + "complexity": "simple" + }, + { + "id": "func:ComputerUseTool._default_input_schema", + "type": "function", + "name": "_default_input_schema", + "filePath": "src/agentkit/tools/computer_use.py", + "layer": "utility", + "summary": "ComputerUseTool._default_input_schema() 方法", + "tags": [ + "ComputerUseTool", + "_default_input_schema" + ], + "complexity": "simple" + }, + { + "id": "func:ComputerUseTool._default_output_schema", + "type": "function", + "name": "_default_output_schema", + "filePath": "src/agentkit/tools/computer_use.py", + "layer": "utility", + "summary": "ComputerUseTool._default_output_schema() 方法", + "tags": [ + "ComputerUseTool", + "_default_output_schema" + ], + "complexity": "simple" + }, + { + "id": "func:ComputerUseTool.execute", + "type": "function", + "name": "execute", + "filePath": "src/agentkit/tools/computer_use.py", + "layer": "utility", + "summary": "ComputerUseTool.execute() 异步方法", + "tags": [ + "ComputerUseTool", + "execute" + ], + "complexity": "simple" + }, + { + "id": "func:ComputerUseTool._execute_with_fallback", + "type": "function", + "name": "_execute_with_fallback", + "filePath": "src/agentkit/tools/computer_use.py", + "layer": "utility", + "summary": "ComputerUseTool._execute_with_fallback(session, action, params) 异步方法", + "tags": [ + "ComputerUseTool", + "_execute_with_fallback" + ], + "complexity": "simple" + }, + { + "id": "func:ComputerUseTool._call_anthropic_api", + "type": "function", + "name": "_call_anthropic_api", + "filePath": "src/agentkit/tools/computer_use.py", + "layer": "utility", + "summary": "ComputerUseTool._call_anthropic_api(session, action, params) 异步方法", + "tags": [ + "ComputerUseTool", + "_call_anthropic_api" + ], + "complexity": "simple" + }, + { + "id": "func:ComputerUseTool._validate_params", + "type": "function", + "name": "_validate_params", + "filePath": "src/agentkit/tools/computer_use.py", + "layer": "utility", + "summary": "ComputerUseTool._validate_params(action, kwargs) 方法", + "tags": [ + "ComputerUseTool", + "_validate_params" + ], + "complexity": "simple" + }, + { + "id": "func:ComputerUseTool._format_result", + "type": "function", + "name": "_format_result", + "filePath": "src/agentkit/tools/computer_use.py", + "layer": "utility", + "summary": "ComputerUseTool._format_result(result, session_id) 方法", + "tags": [ + "ComputerUseTool", + "_format_result" + ], + "complexity": "simple" + }, + { + "id": "func:ComputerUseTool._error_result", + "type": "function", + "name": "_error_result", + "filePath": "src/agentkit/tools/computer_use.py", + "layer": "utility", + "summary": "ComputerUseTool._error_result(action, error, fallback) 方法", + "tags": [ + "ComputerUseTool", + "_error_result" + ], + "complexity": "simple" + }, + { + "id": "func:ComputerUseTool.session_manager", + "type": "function", + "name": "session_manager", + "filePath": "src/agentkit/tools/computer_use.py", + "layer": "utility", + "summary": "ComputerUseTool.session_manager() 方法", + "tags": [ + "ComputerUseTool", + "session_manager" + ], + "complexity": "simple" + }, + { + "id": "func:ComputerUseTool.recorder", + "type": "function", + "name": "recorder", + "filePath": "src/agentkit/tools/computer_use.py", + "layer": "utility", + "summary": "ComputerUseTool.recorder() 方法", + "tags": [ + "ComputerUseTool", + "recorder" + ], + "complexity": "simple" + }, + { + "id": "class:ActionRecord", + "type": "class", + "name": "ActionRecord", + "filePath": "src/agentkit/tools/computer_use_recorder.py", + "layer": "utility", + "summary": "操作记录", + "tags": [ + "ActionRecord" + ], + "complexity": "simple" + }, + { + "id": "func:ActionRecord.to_dict", + "type": "function", + "name": "to_dict", + "filePath": "src/agentkit/tools/computer_use_recorder.py", + "layer": "utility", + "summary": "ActionRecord.to_dict() 方法", + "tags": [ + "ActionRecord", + "to_dict" + ], + "complexity": "simple" + }, + { + "id": "func:ActionRecord.from_dict", + "type": "function", + "name": "from_dict", + "filePath": "src/agentkit/tools/computer_use_recorder.py", + "layer": "utility", + "summary": "ActionRecord.from_dict(cls, data) 方法", + "tags": [ + "ActionRecord", + "from_dict" + ], + "complexity": "simple" + }, + { + "id": "class:ComputerUseRecorder", + "type": "class", + "name": "ComputerUseRecorder", + "filePath": "src/agentkit/tools/computer_use_recorder.py", + "layer": "utility", + "summary": "Computer Use 操作录制器", + "tags": [ + "ComputerUseRecorder" + ], + "complexity": "complex" + }, + { + "id": "func:ComputerUseRecorder.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/tools/computer_use_recorder.py", + "layer": "utility", + "summary": "ComputerUseRecorder.__init__(screenshot_dir) 方法", + "tags": [ + "ComputerUseRecorder", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:ComputerUseRecorder.record", + "type": "function", + "name": "record", + "filePath": "src/agentkit/tools/computer_use_recorder.py", + "layer": "utility", + "summary": "ComputerUseRecorder.record(action, params, result, screenshot_path) 方法", + "tags": [ + "ComputerUseRecorder", + "record" + ], + "complexity": "simple" + }, + { + "id": "func:ComputerUseRecorder.get_records", + "type": "function", + "name": "get_records", + "filePath": "src/agentkit/tools/computer_use_recorder.py", + "layer": "utility", + "summary": "ComputerUseRecorder.get_records() 方法", + "tags": [ + "ComputerUseRecorder", + "get_records" + ], + "complexity": "simple" + }, + { + "id": "func:ComputerUseRecorder.get_records_by_action", + "type": "function", + "name": "get_records_by_action", + "filePath": "src/agentkit/tools/computer_use_recorder.py", + "layer": "utility", + "summary": "ComputerUseRecorder.get_records_by_action(action) 方法", + "tags": [ + "ComputerUseRecorder", + "get_records_by_action" + ], + "complexity": "simple" + }, + { + "id": "func:ComputerUseRecorder.get_failed_records", + "type": "function", + "name": "get_failed_records", + "filePath": "src/agentkit/tools/computer_use_recorder.py", + "layer": "utility", + "summary": "ComputerUseRecorder.get_failed_records() 方法", + "tags": [ + "ComputerUseRecorder", + "get_failed_records" + ], + "complexity": "simple" + }, + { + "id": "func:ComputerUseRecorder.replay", + "type": "function", + "name": "replay", + "filePath": "src/agentkit/tools/computer_use_recorder.py", + "layer": "utility", + "summary": "ComputerUseRecorder.replay(session) 异步方法", + "tags": [ + "ComputerUseRecorder", + "replay" + ], + "complexity": "simple" + }, + { + "id": "func:ComputerUseRecorder.save_recording", + "type": "function", + "name": "save_recording", + "filePath": "src/agentkit/tools/computer_use_recorder.py", + "layer": "utility", + "summary": "ComputerUseRecorder.save_recording(path) 方法", + "tags": [ + "ComputerUseRecorder", + "save_recording" + ], + "complexity": "simple" + }, + { + "id": "func:ComputerUseRecorder.load_recording", + "type": "function", + "name": "load_recording", + "filePath": "src/agentkit/tools/computer_use_recorder.py", + "layer": "utility", + "summary": "ComputerUseRecorder.load_recording(path) 方法", + "tags": [ + "ComputerUseRecorder", + "load_recording" + ], + "complexity": "simple" + }, + { + "id": "func:ComputerUseRecorder.clear", + "type": "function", + "name": "clear", + "filePath": "src/agentkit/tools/computer_use_recorder.py", + "layer": "utility", + "summary": "ComputerUseRecorder.clear() 方法", + "tags": [ + "ComputerUseRecorder", + "clear" + ], + "complexity": "simple" + }, + { + "id": "func:ComputerUseRecorder.total_actions", + "type": "function", + "name": "total_actions", + "filePath": "src/agentkit/tools/computer_use_recorder.py", + "layer": "utility", + "summary": "ComputerUseRecorder.total_actions() 方法", + "tags": [ + "ComputerUseRecorder", + "total_actions" + ], + "complexity": "simple" + }, + { + "id": "func:ComputerUseRecorder.success_count", + "type": "function", + "name": "success_count", + "filePath": "src/agentkit/tools/computer_use_recorder.py", + "layer": "utility", + "summary": "ComputerUseRecorder.success_count() 方法", + "tags": [ + "ComputerUseRecorder", + "success_count" + ], + "complexity": "simple" + }, + { + "id": "func:ComputerUseRecorder.failure_count", + "type": "function", + "name": "failure_count", + "filePath": "src/agentkit/tools/computer_use_recorder.py", + "layer": "utility", + "summary": "ComputerUseRecorder.failure_count() 方法", + "tags": [ + "ComputerUseRecorder", + "failure_count" + ], + "complexity": "simple" + }, + { + "id": "func:ComputerUseRecorder.summary", + "type": "function", + "name": "summary", + "filePath": "src/agentkit/tools/computer_use_recorder.py", + "layer": "utility", + "summary": "ComputerUseRecorder.summary() 方法", + "tags": [ + "ComputerUseRecorder", + "summary" + ], + "complexity": "simple" + }, + { + "id": "class:ScreenInfo", + "type": "class", + "name": "ScreenInfo", + "filePath": "src/agentkit/tools/computer_use_session.py", + "layer": "utility", + "summary": "屏幕信息", + "tags": [ + "ScreenInfo" + ], + "complexity": "simple" + }, + { + "id": "class:ActionResult", + "type": "class", + "name": "ActionResult", + "filePath": "src/agentkit/tools/computer_use_session.py", + "layer": "utility", + "summary": "操作执行结果", + "tags": [ + "ActionResult" + ], + "complexity": "simple" + }, + { + "id": "class:ComputerUseSession", + "type": "class", + "name": "ComputerUseSession", + "filePath": "src/agentkit/tools/computer_use_session.py", + "layer": "utility", + "summary": "虚拟桌面会话抽象基类", + "tags": [ + "ComputerUseSession" + ], + "complexity": "complex" + }, + { + "id": "func:ComputerUseSession.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/tools/computer_use_session.py", + "layer": "utility", + "summary": "ComputerUseSession.__init__(session_id, screen_width, screen_height) 方法", + "tags": [ + "ComputerUseSession", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:ComputerUseSession.is_started", + "type": "function", + "name": "is_started", + "filePath": "src/agentkit/tools/computer_use_session.py", + "layer": "utility", + "summary": "ComputerUseSession.is_started() 方法", + "tags": [ + "ComputerUseSession", + "is_started" + ], + "complexity": "simple" + }, + { + "id": "func:ComputerUseSession.start", + "type": "function", + "name": "start", + "filePath": "src/agentkit/tools/computer_use_session.py", + "layer": "utility", + "summary": "ComputerUseSession.start() 异步方法", + "tags": [ + "ComputerUseSession", + "start" + ], + "complexity": "simple" + }, + { + "id": "func:ComputerUseSession.stop", + "type": "function", + "name": "stop", + "filePath": "src/agentkit/tools/computer_use_session.py", + "layer": "utility", + "summary": "ComputerUseSession.stop() 异步方法", + "tags": [ + "ComputerUseSession", + "stop" + ], + "complexity": "simple" + }, + { + "id": "func:ComputerUseSession.screenshot", + "type": "function", + "name": "screenshot", + "filePath": "src/agentkit/tools/computer_use_session.py", + "layer": "utility", + "summary": "ComputerUseSession.screenshot() 异步方法", + "tags": [ + "ComputerUseSession", + "screenshot" + ], + "complexity": "simple" + }, + { + "id": "func:ComputerUseSession.execute_action", + "type": "function", + "name": "execute_action", + "filePath": "src/agentkit/tools/computer_use_session.py", + "layer": "utility", + "summary": "ComputerUseSession.execute_action(action) 异步方法", + "tags": [ + "ComputerUseSession", + "execute_action" + ], + "complexity": "simple" + }, + { + "id": "func:ComputerUseSession.record_action", + "type": "function", + "name": "record_action", + "filePath": "src/agentkit/tools/computer_use_session.py", + "layer": "utility", + "summary": "ComputerUseSession.record_action(action, params, result) 方法", + "tags": [ + "ComputerUseSession", + "record_action" + ], + "complexity": "simple" + }, + { + "id": "func:ComputerUseSession.action_history", + "type": "function", + "name": "action_history", + "filePath": "src/agentkit/tools/computer_use_session.py", + "layer": "utility", + "summary": "ComputerUseSession.action_history() 方法", + "tags": [ + "ComputerUseSession", + "action_history" + ], + "complexity": "simple" + }, + { + "id": "func:ComputerUseSession.__repr__", + "type": "function", + "name": "__repr__", + "filePath": "src/agentkit/tools/computer_use_session.py", + "layer": "utility", + "summary": "ComputerUseSession.__repr__() 方法", + "tags": [ + "ComputerUseSession", + "__repr__" + ], + "complexity": "simple" + }, + { + "id": "class:InMemoryComputerUseSession", + "type": "class", + "name": "InMemoryComputerUseSession", + "filePath": "src/agentkit/tools/computer_use_session.py", + "layer": "utility", + "summary": "内存模拟会话,用于测试", + "tags": [ + "InMemoryComputerUseSession" + ], + "complexity": "moderate" + }, + { + "id": "func:InMemoryComputerUseSession.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/tools/computer_use_session.py", + "layer": "utility", + "summary": "InMemoryComputerUseSession.__init__(session_id, screen_width, screen_height) 方法", + "tags": [ + "InMemoryComputerUseSession", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:InMemoryComputerUseSession.start", + "type": "function", + "name": "start", + "filePath": "src/agentkit/tools/computer_use_session.py", + "layer": "utility", + "summary": "InMemoryComputerUseSession.start() 异步方法", + "tags": [ + "InMemoryComputerUseSession", + "start" + ], + "complexity": "simple" + }, + { + "id": "func:InMemoryComputerUseSession.stop", + "type": "function", + "name": "stop", + "filePath": "src/agentkit/tools/computer_use_session.py", + "layer": "utility", + "summary": "InMemoryComputerUseSession.stop() 异步方法", + "tags": [ + "InMemoryComputerUseSession", + "stop" + ], + "complexity": "simple" + }, + { + "id": "func:InMemoryComputerUseSession.screenshot", + "type": "function", + "name": "screenshot", + "filePath": "src/agentkit/tools/computer_use_session.py", + "layer": "utility", + "summary": "InMemoryComputerUseSession.screenshot() 异步方法", + "tags": [ + "InMemoryComputerUseSession", + "screenshot" + ], + "complexity": "simple" + }, + { + "id": "func:InMemoryComputerUseSession.execute_action", + "type": "function", + "name": "execute_action", + "filePath": "src/agentkit/tools/computer_use_session.py", + "layer": "utility", + "summary": "InMemoryComputerUseSession.execute_action(action) 异步方法", + "tags": [ + "InMemoryComputerUseSession", + "execute_action" + ], + "complexity": "simple" + }, + { + "id": "func:InMemoryComputerUseSession._simulate_action", + "type": "function", + "name": "_simulate_action", + "filePath": "src/agentkit/tools/computer_use_session.py", + "layer": "utility", + "summary": "InMemoryComputerUseSession._simulate_action(action) 方法", + "tags": [ + "InMemoryComputerUseSession", + "_simulate_action" + ], + "complexity": "simple" + }, + { + "id": "class:DockerComputerUseSession", + "type": "class", + "name": "DockerComputerUseSession", + "filePath": "src/agentkit/tools/computer_use_session.py", + "layer": "utility", + "summary": "Docker 沙箱虚拟桌面会话", + "tags": [ + "DockerComputerUseSession" + ], + "complexity": "moderate" + }, + { + "id": "func:DockerComputerUseSession.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/tools/computer_use_session.py", + "layer": "utility", + "summary": "DockerComputerUseSession.__init__(session_id, screen_width, screen_height, container_image, docker_url) 方法", + "tags": [ + "DockerComputerUseSession", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:DockerComputerUseSession.container_id", + "type": "function", + "name": "container_id", + "filePath": "src/agentkit/tools/computer_use_session.py", + "layer": "utility", + "summary": "DockerComputerUseSession.container_id() 方法", + "tags": [ + "DockerComputerUseSession", + "container_id" + ], + "complexity": "simple" + }, + { + "id": "func:DockerComputerUseSession.start", + "type": "function", + "name": "start", + "filePath": "src/agentkit/tools/computer_use_session.py", + "layer": "utility", + "summary": "DockerComputerUseSession.start() 异步方法", + "tags": [ + "DockerComputerUseSession", + "start" + ], + "complexity": "simple" + }, + { + "id": "func:DockerComputerUseSession.stop", + "type": "function", + "name": "stop", + "filePath": "src/agentkit/tools/computer_use_session.py", + "layer": "utility", + "summary": "DockerComputerUseSession.stop() 异步方法", + "tags": [ + "DockerComputerUseSession", + "stop" + ], + "complexity": "simple" + }, + { + "id": "func:DockerComputerUseSession.screenshot", + "type": "function", + "name": "screenshot", + "filePath": "src/agentkit/tools/computer_use_session.py", + "layer": "utility", + "summary": "DockerComputerUseSession.screenshot() 异步方法", + "tags": [ + "DockerComputerUseSession", + "screenshot" + ], + "complexity": "simple" + }, + { + "id": "func:DockerComputerUseSession.execute_action", + "type": "function", + "name": "execute_action", + "filePath": "src/agentkit/tools/computer_use_session.py", + "layer": "utility", + "summary": "DockerComputerUseSession.execute_action(action) 异步方法", + "tags": [ + "DockerComputerUseSession", + "execute_action" + ], + "complexity": "simple" + }, + { + "id": "class:ComputerUseSessionManager", + "type": "class", + "name": "ComputerUseSessionManager", + "filePath": "src/agentkit/tools/computer_use_session.py", + "layer": "utility", + "summary": "Computer Use 会话管理器", + "tags": [ + "ComputerUseSessionManager" + ], + "complexity": "moderate" + }, + { + "id": "func:ComputerUseSessionManager.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/tools/computer_use_session.py", + "layer": "utility", + "summary": "ComputerUseSessionManager.__init__(max_sessions, session_factory) 方法", + "tags": [ + "ComputerUseSessionManager", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:ComputerUseSessionManager.get_or_create", + "type": "function", + "name": "get_or_create", + "filePath": "src/agentkit/tools/computer_use_session.py", + "layer": "utility", + "summary": "ComputerUseSessionManager.get_or_create(session_id) 方法", + "tags": [ + "ComputerUseSessionManager", + "get_or_create" + ], + "complexity": "simple" + }, + { + "id": "func:ComputerUseSessionManager.get", + "type": "function", + "name": "get", + "filePath": "src/agentkit/tools/computer_use_session.py", + "layer": "utility", + "summary": "ComputerUseSessionManager.get(session_id) 方法", + "tags": [ + "ComputerUseSessionManager", + "get" + ], + "complexity": "simple" + }, + { + "id": "func:ComputerUseSessionManager.remove", + "type": "function", + "name": "remove", + "filePath": "src/agentkit/tools/computer_use_session.py", + "layer": "utility", + "summary": "ComputerUseSessionManager.remove(session_id) 方法", + "tags": [ + "ComputerUseSessionManager", + "remove" + ], + "complexity": "simple" + }, + { + "id": "func:ComputerUseSessionManager.list_sessions", + "type": "function", + "name": "list_sessions", + "filePath": "src/agentkit/tools/computer_use_session.py", + "layer": "utility", + "summary": "ComputerUseSessionManager.list_sessions() 方法", + "tags": [ + "ComputerUseSessionManager", + "list_sessions" + ], + "complexity": "simple" + }, + { + "id": "func:ComputerUseSessionManager.has_session", + "type": "function", + "name": "has_session", + "filePath": "src/agentkit/tools/computer_use_session.py", + "layer": "utility", + "summary": "ComputerUseSessionManager.has_session(session_id) 方法", + "tags": [ + "ComputerUseSessionManager", + "has_session" + ], + "complexity": "simple" + }, + { + "id": "func:ComputerUseSessionManager.close_all", + "type": "function", + "name": "close_all", + "filePath": "src/agentkit/tools/computer_use_session.py", + "layer": "utility", + "summary": "ComputerUseSessionManager.close_all() 异步方法", + "tags": [ + "ComputerUseSessionManager", + "close_all" + ], + "complexity": "simple" + }, + { + "id": "class:FunctionTool", + "type": "class", + "name": "FunctionTool", + "filePath": "src/agentkit/tools/function_tool.py", + "layer": "utility", + "summary": "将普通 Python 函数包装为 Tool", + "tags": [ + "FunctionTool" + ], + "complexity": "simple" + }, + { + "id": "func:FunctionTool.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/tools/function_tool.py", + "layer": "utility", + "summary": "FunctionTool.__init__(name, description, func, input_schema, output_schema, version, tags) 方法", + "tags": [ + "FunctionTool", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:FunctionTool.execute", + "type": "function", + "name": "execute", + "filePath": "src/agentkit/tools/function_tool.py", + "layer": "utility", + "summary": "FunctionTool.execute() 异步方法", + "tags": [ + "FunctionTool", + "execute" + ], + "complexity": "simple" + }, + { + "id": "func:FunctionTool._infer_schema", + "type": "function", + "name": "_infer_schema", + "filePath": "src/agentkit/tools/function_tool.py", + "layer": "utility", + "summary": "FunctionTool._infer_schema(func) 方法", + "tags": [ + "FunctionTool", + "_infer_schema" + ], + "complexity": "simple" + }, + { + "id": "class:HeadroomRetrieveTool", + "type": "class", + "name": "HeadroomRetrieveTool", + "filePath": "src/agentkit/tools/headroom_retrieve.py", + "layer": "utility", + "summary": "从 CCR 缓存检索原始未压缩数据", + "tags": [ + "HeadroomRetrieveTool" + ], + "complexity": "simple" + }, + { + "id": "func:HeadroomRetrieveTool.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/tools/headroom_retrieve.py", + "layer": "utility", + "summary": "HeadroomRetrieveTool.__init__(compressor) 方法", + "tags": [ + "HeadroomRetrieveTool", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:HeadroomRetrieveTool.execute", + "type": "function", + "name": "execute", + "filePath": "src/agentkit/tools/headroom_retrieve.py", + "layer": "utility", + "summary": "HeadroomRetrieveTool.execute() 异步方法", + "tags": [ + "HeadroomRetrieveTool", + "execute" + ], + "complexity": "simple" + }, + { + "id": "class:MCPTool", + "type": "class", + "name": "MCPTool", + "filePath": "src/agentkit/tools/mcp_tool.py", + "layer": "utility", + "summary": "MCP 工具 - 通过 MCP Client 调用远程工具", + "tags": [ + "MCPTool" + ], + "complexity": "simple" + }, + { + "id": "func:MCPTool.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/tools/mcp_tool.py", + "layer": "utility", + "summary": "MCPTool.__init__(name, description, client, input_schema, output_schema, version, tags) 方法", + "tags": [ + "MCPTool", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:MCPTool.execute", + "type": "function", + "name": "execute", + "filePath": "src/agentkit/tools/mcp_tool.py", + "layer": "utility", + "summary": "MCPTool.execute() 异步方法", + "tags": [ + "MCPTool", + "execute" + ], + "complexity": "simple" + }, + { + "id": "class:MemoryTool", + "type": "class", + "name": "MemoryTool", + "filePath": "src/agentkit/tools/memory_tool.py", + "layer": "utility", + "summary": "Agent 可调用的记忆操作工具.", + "tags": [ + "MemoryTool" + ], + "complexity": "simple" + }, + { + "id": "func:MemoryTool.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/tools/memory_tool.py", + "layer": "utility", + "summary": "MemoryTool.__init__(memory_store) 方法", + "tags": [ + "MemoryTool", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:MemoryTool.execute", + "type": "function", + "name": "execute", + "filePath": "src/agentkit/tools/memory_tool.py", + "layer": "utility", + "summary": "MemoryTool.execute() 异步方法", + "tags": [ + "MemoryTool", + "execute" + ], + "complexity": "simple" + }, + { + "id": "func:MemoryTool._update_soul", + "type": "function", + "name": "_update_soul", + "filePath": "src/agentkit/tools/memory_tool.py", + "layer": "utility", + "summary": "MemoryTool._update_soul(mf, section, content, reason) 异步方法", + "tags": [ + "MemoryTool", + "_update_soul" + ], + "complexity": "simple" + }, + { + "id": "class:ErrorType", + "type": "class", + "name": "ErrorType", + "filePath": "src/agentkit/tools/output_parser.py", + "layer": "utility", + "summary": "命令输出错误类型", + "tags": [ + "ErrorType" + ], + "complexity": "simple" + }, + { + "id": "class:ParsedOutput", + "type": "class", + "name": "ParsedOutput", + "filePath": "src/agentkit/tools/output_parser.py", + "layer": "utility", + "summary": "结构化命令输出", + "tags": [ + "ParsedOutput" + ], + "complexity": "simple" + }, + { + "id": "func:ParsedOutput.to_dict", + "type": "function", + "name": "to_dict", + "filePath": "src/agentkit/tools/output_parser.py", + "layer": "utility", + "summary": "ParsedOutput.to_dict() 方法", + "tags": [ + "ParsedOutput", + "to_dict" + ], + "complexity": "simple" + }, + { + "id": "class:OutputParser", + "type": "class", + "name": "OutputParser", + "filePath": "src/agentkit/tools/output_parser.py", + "layer": "utility", + "summary": "命令输出结构化解析器", + "tags": [ + "OutputParser" + ], + "complexity": "simple" + }, + { + "id": "func:OutputParser.parse", + "type": "function", + "name": "parse", + "filePath": "src/agentkit/tools/output_parser.py", + "layer": "utility", + "summary": "OutputParser.parse(output, exit_code) 方法", + "tags": [ + "OutputParser", + "parse" + ], + "complexity": "simple" + }, + { + "id": "func:OutputParser._extract_message", + "type": "function", + "name": "_extract_message", + "filePath": "src/agentkit/tools/output_parser.py", + "layer": "utility", + "summary": "OutputParser._extract_message(output) 方法", + "tags": [ + "OutputParser", + "_extract_message" + ], + "complexity": "simple" + }, + { + "id": "func:OutputParser._classify_error", + "type": "function", + "name": "_classify_error", + "filePath": "src/agentkit/tools/output_parser.py", + "layer": "utility", + "summary": "OutputParser._classify_error(output, exit_code) 方法", + "tags": [ + "OutputParser", + "_classify_error" + ], + "complexity": "simple" + }, + { + "id": "class:PTYOutput", + "type": "class", + "name": "PTYOutput", + "filePath": "src/agentkit/tools/pty_session.py", + "layer": "utility", + "summary": "PTY 输出结果", + "tags": [ + "PTYOutput" + ], + "complexity": "simple" + }, + { + "id": "class:PTYSession", + "type": "class", + "name": "PTYSession", + "filePath": "src/agentkit/tools/pty_session.py", + "layer": "utility", + "summary": "伪终端会话 - 支持交互式命令", + "tags": [ + "PTYSession" + ], + "complexity": "complex" + }, + { + "id": "func:PTYSession.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/tools/pty_session.py", + "layer": "utility", + "summary": "PTYSession.__init__(auto_respond, custom_rules, default_timeout, buffer_size) 方法", + "tags": [ + "PTYSession", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:PTYSession.is_running", + "type": "function", + "name": "is_running", + "filePath": "src/agentkit/tools/pty_session.py", + "layer": "utility", + "summary": "PTYSession.is_running() 方法", + "tags": [ + "PTYSession", + "is_running" + ], + "complexity": "simple" + }, + { + "id": "func:PTYSession.start", + "type": "function", + "name": "start", + "filePath": "src/agentkit/tools/pty_session.py", + "layer": "utility", + "summary": "PTYSession.start() 异步方法", + "tags": [ + "PTYSession", + "start" + ], + "complexity": "simple" + }, + { + "id": "func:PTYSession.run_command", + "type": "function", + "name": "run_command", + "filePath": "src/agentkit/tools/pty_session.py", + "layer": "utility", + "summary": "PTYSession.run_command(command, timeout, cwd, env) 异步方法", + "tags": [ + "PTYSession", + "run_command" + ], + "complexity": "simple" + }, + { + "id": "func:PTYSession.send", + "type": "function", + "name": "send", + "filePath": "src/agentkit/tools/pty_session.py", + "layer": "utility", + "summary": "PTYSession.send(line) 异步方法", + "tags": [ + "PTYSession", + "send" + ], + "complexity": "simple" + }, + { + "id": "func:PTYSession.read_output", + "type": "function", + "name": "read_output", + "filePath": "src/agentkit/tools/pty_session.py", + "layer": "utility", + "summary": "PTYSession.read_output(timeout) 异步方法", + "tags": [ + "PTYSession", + "read_output" + ], + "complexity": "simple" + }, + { + "id": "func:PTYSession.close", + "type": "function", + "name": "close", + "filePath": "src/agentkit/tools/pty_session.py", + "layer": "utility", + "summary": "PTYSession.close() 异步方法", + "tags": [ + "PTYSession", + "close" + ], + "complexity": "simple" + }, + { + "id": "func:PTYSession._read_until_exit", + "type": "function", + "name": "_read_until_exit", + "filePath": "src/agentkit/tools/pty_session.py", + "layer": "utility", + "summary": "PTYSession._read_until_exit(timeout) 异步方法", + "tags": [ + "PTYSession", + "_read_until_exit" + ], + "complexity": "simple" + }, + { + "id": "func:PTYSession._drain_remaining_output", + "type": "function", + "name": "_drain_remaining_output", + "filePath": "src/agentkit/tools/pty_session.py", + "layer": "utility", + "summary": "PTYSession._drain_remaining_output() 异步方法", + "tags": [ + "PTYSession", + "_drain_remaining_output" + ], + "complexity": "simple" + }, + { + "id": "func:PTYSession._try_auto_respond", + "type": "function", + "name": "_try_auto_respond", + "filePath": "src/agentkit/tools/pty_session.py", + "layer": "utility", + "summary": "PTYSession._try_auto_respond(recent_output) 异步方法", + "tags": [ + "PTYSession", + "_try_auto_respond" + ], + "complexity": "simple" + }, + { + "id": "class:ToolRegistry", + "type": "class", + "name": "ToolRegistry", + "filePath": "src/agentkit/tools/registry.py", + "layer": "utility", + "summary": "工具注册中心,管理工具的注册、发现、版本", + "tags": [ + "ToolRegistry" + ], + "complexity": "moderate" + }, + { + "id": "func:ToolRegistry.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/tools/registry.py", + "layer": "utility", + "summary": "ToolRegistry.__init__() 方法", + "tags": [ + "ToolRegistry", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:ToolRegistry.register", + "type": "function", + "name": "register", + "filePath": "src/agentkit/tools/registry.py", + "layer": "utility", + "summary": "ToolRegistry.register(tool) 方法", + "tags": [ + "ToolRegistry", + "register" + ], + "complexity": "simple" + }, + { + "id": "func:ToolRegistry.unregister", + "type": "function", + "name": "unregister", + "filePath": "src/agentkit/tools/registry.py", + "layer": "utility", + "summary": "ToolRegistry.unregister(name, version) 方法", + "tags": [ + "ToolRegistry", + "unregister" + ], + "complexity": "simple" + }, + { + "id": "func:ToolRegistry.get", + "type": "function", + "name": "get", + "filePath": "src/agentkit/tools/registry.py", + "layer": "utility", + "summary": "ToolRegistry.get(name, version) 方法", + "tags": [ + "ToolRegistry", + "get" + ], + "complexity": "simple" + }, + { + "id": "func:ToolRegistry.list_tools", + "type": "function", + "name": "list_tools", + "filePath": "src/agentkit/tools/registry.py", + "layer": "utility", + "summary": "ToolRegistry.list_tools(tag) 方法", + "tags": [ + "ToolRegistry", + "list_tools" + ], + "complexity": "simple" + }, + { + "id": "func:ToolRegistry.list_all_versions", + "type": "function", + "name": "list_all_versions", + "filePath": "src/agentkit/tools/registry.py", + "layer": "utility", + "summary": "ToolRegistry.list_all_versions(name) 方法", + "tags": [ + "ToolRegistry", + "list_all_versions" + ], + "complexity": "simple" + }, + { + "id": "func:ToolRegistry.has_tool", + "type": "function", + "name": "has_tool", + "filePath": "src/agentkit/tools/registry.py", + "layer": "utility", + "summary": "ToolRegistry.has_tool(name) 方法", + "tags": [ + "ToolRegistry", + "has_tool" + ], + "complexity": "simple" + }, + { + "id": "func:ToolRegistry.clear", + "type": "function", + "name": "clear", + "filePath": "src/agentkit/tools/registry.py", + "layer": "utility", + "summary": "ToolRegistry.clear() 方法", + "tags": [ + "ToolRegistry", + "clear" + ], + "complexity": "simple" + }, + { + "id": "class:SchemaExtractTool", + "type": "class", + "name": "SchemaExtractTool", + "filePath": "src/agentkit/tools/schema_tools.py", + "layer": "utility", + "summary": "结构化数据提取工具 - 从 HTML 中提取 JSON-LD、Microdata、RDFa 等", + "tags": [ + "SchemaExtractTool" + ], + "complexity": "moderate" + }, + { + "id": "func:SchemaExtractTool.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/tools/schema_tools.py", + "layer": "utility", + "summary": "SchemaExtractTool.__init__(name, description, input_schema, output_schema, version, tags) 方法", + "tags": [ + "SchemaExtractTool", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:SchemaExtractTool._default_input_schema", + "type": "function", + "name": "_default_input_schema", + "filePath": "src/agentkit/tools/schema_tools.py", + "layer": "utility", + "summary": "SchemaExtractTool._default_input_schema() 方法", + "tags": [ + "SchemaExtractTool", + "_default_input_schema" + ], + "complexity": "simple" + }, + { + "id": "func:SchemaExtractTool._default_output_schema", + "type": "function", + "name": "_default_output_schema", + "filePath": "src/agentkit/tools/schema_tools.py", + "layer": "utility", + "summary": "SchemaExtractTool._default_output_schema() 方法", + "tags": [ + "SchemaExtractTool", + "_default_output_schema" + ], + "complexity": "simple" + }, + { + "id": "func:SchemaExtractTool._is_url", + "type": "function", + "name": "_is_url", + "filePath": "src/agentkit/tools/schema_tools.py", + "layer": "utility", + "summary": "SchemaExtractTool._is_url(text) 方法", + "tags": [ + "SchemaExtractTool", + "_is_url" + ], + "complexity": "simple" + }, + { + "id": "func:SchemaExtractTool.execute", + "type": "function", + "name": "execute", + "filePath": "src/agentkit/tools/schema_tools.py", + "layer": "utility", + "summary": "SchemaExtractTool.execute() 异步方法", + "tags": [ + "SchemaExtractTool", + "execute" + ], + "complexity": "simple" + }, + { + "id": "class:SchemaGenerateTool", + "type": "class", + "name": "SchemaGenerateTool", + "filePath": "src/agentkit/tools/schema_tools.py", + "layer": "utility", + "summary": "JSON-LD 结构化数据生成工具 - 为常见 Schema.org 类型生成标记", + "tags": [ + "SchemaGenerateTool" + ], + "complexity": "moderate" + }, + { + "id": "func:SchemaGenerateTool.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/tools/schema_tools.py", + "layer": "utility", + "summary": "SchemaGenerateTool.__init__(name, description, input_schema, output_schema, version, tags) 方法", + "tags": [ + "SchemaGenerateTool", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:SchemaGenerateTool._default_input_schema", + "type": "function", + "name": "_default_input_schema", + "filePath": "src/agentkit/tools/schema_tools.py", + "layer": "utility", + "summary": "SchemaGenerateTool._default_input_schema() 方法", + "tags": [ + "SchemaGenerateTool", + "_default_input_schema" + ], + "complexity": "simple" + }, + { + "id": "func:SchemaGenerateTool._default_output_schema", + "type": "function", + "name": "_default_output_schema", + "filePath": "src/agentkit/tools/schema_tools.py", + "layer": "utility", + "summary": "SchemaGenerateTool._default_output_schema() 方法", + "tags": [ + "SchemaGenerateTool", + "_default_output_schema" + ], + "complexity": "simple" + }, + { + "id": "func:SchemaGenerateTool._generate_manual", + "type": "function", + "name": "_generate_manual", + "filePath": "src/agentkit/tools/schema_tools.py", + "layer": "utility", + "summary": "SchemaGenerateTool._generate_manual(schema_type, properties) 方法", + "tags": [ + "SchemaGenerateTool", + "_generate_manual" + ], + "complexity": "simple" + }, + { + "id": "func:SchemaGenerateTool._generate_with_schemaorg", + "type": "function", + "name": "_generate_with_schemaorg", + "filePath": "src/agentkit/tools/schema_tools.py", + "layer": "utility", + "summary": "SchemaGenerateTool._generate_with_schemaorg(schema_type, properties) 方法", + "tags": [ + "SchemaGenerateTool", + "_generate_with_schemaorg" + ], + "complexity": "simple" + }, + { + "id": "func:SchemaGenerateTool.execute", + "type": "function", + "name": "execute", + "filePath": "src/agentkit/tools/schema_tools.py", + "layer": "utility", + "summary": "SchemaGenerateTool.execute() 异步方法", + "tags": [ + "SchemaGenerateTool", + "execute" + ], + "complexity": "simple" + }, + { + "id": "class:ShellTool", + "type": "class", + "name": "ShellTool", + "filePath": "src/agentkit/tools/shell.py", + "layer": "utility", + "summary": "Shell 命令执行工具", + "tags": [ + "ShellTool" + ], + "complexity": "complex" + }, + { + "id": "func:ShellTool.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/tools/shell.py", + "layer": "utility", + "summary": "ShellTool.__init__(name, description, input_schema, output_schema, version, tags, confirm_callback, default_timeout, max_output_length) 方法", + "tags": [ + "ShellTool", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:ShellTool._default_input_schema", + "type": "function", + "name": "_default_input_schema", + "filePath": "src/agentkit/tools/shell.py", + "layer": "utility", + "summary": "ShellTool._default_input_schema() 方法", + "tags": [ + "ShellTool", + "_default_input_schema" + ], + "complexity": "simple" + }, + { + "id": "func:ShellTool._default_output_schema", + "type": "function", + "name": "_default_output_schema", + "filePath": "src/agentkit/tools/shell.py", + "layer": "utility", + "summary": "ShellTool._default_output_schema() 方法", + "tags": [ + "ShellTool", + "_default_output_schema" + ], + "complexity": "simple" + }, + { + "id": "func:ShellTool.execute", + "type": "function", + "name": "execute", + "filePath": "src/agentkit/tools/shell.py", + "layer": "utility", + "summary": "ShellTool.execute() 异步方法", + "tags": [ + "ShellTool", + "execute" + ], + "complexity": "simple" + }, + { + "id": "func:ShellTool._execute_standalone", + "type": "function", + "name": "_execute_standalone", + "filePath": "src/agentkit/tools/shell.py", + "layer": "utility", + "summary": "ShellTool._execute_standalone(command, timeout, working_dir, interactive) 异步方法", + "tags": [ + "ShellTool", + "_execute_standalone" + ], + "complexity": "simple" + }, + { + "id": "func:ShellTool._execute_in_session", + "type": "function", + "name": "_execute_in_session", + "filePath": "src/agentkit/tools/shell.py", + "layer": "utility", + "summary": "ShellTool._execute_in_session(command, session_id, timeout, working_dir, interactive) 异步方法", + "tags": [ + "ShellTool", + "_execute_in_session" + ], + "complexity": "simple" + }, + { + "id": "func:ShellTool._execute_with_pty", + "type": "function", + "name": "_execute_with_pty", + "filePath": "src/agentkit/tools/shell.py", + "layer": "utility", + "summary": "ShellTool._execute_with_pty(command, timeout, cwd, env) 异步方法", + "tags": [ + "ShellTool", + "_execute_with_pty" + ], + "complexity": "simple" + }, + { + "id": "func:ShellTool._is_dangerous", + "type": "function", + "name": "_is_dangerous", + "filePath": "src/agentkit/tools/shell.py", + "layer": "utility", + "summary": "ShellTool._is_dangerous(command) 方法", + "tags": [ + "ShellTool", + "_is_dangerous" + ], + "complexity": "simple" + }, + { + "id": "func:ShellTool._is_single_command_dangerous", + "type": "function", + "name": "_is_single_command_dangerous", + "filePath": "src/agentkit/tools/shell.py", + "layer": "utility", + "summary": "ShellTool._is_single_command_dangerous(command) 方法", + "tags": [ + "ShellTool", + "_is_single_command_dangerous" + ], + "complexity": "simple" + }, + { + "id": "func:ShellTool._request_confirmation", + "type": "function", + "name": "_request_confirmation", + "filePath": "src/agentkit/tools/shell.py", + "layer": "utility", + "summary": "ShellTool._request_confirmation(command) 异步方法", + "tags": [ + "ShellTool", + "_request_confirmation" + ], + "complexity": "simple" + }, + { + "id": "func:ShellTool._log_audit", + "type": "function", + "name": "_log_audit", + "filePath": "src/agentkit/tools/shell.py", + "layer": "utility", + "summary": "ShellTool._log_audit(command, session_id, exit_code, blocked) 方法", + "tags": [ + "ShellTool", + "_log_audit" + ], + "complexity": "simple" + }, + { + "id": "func:ShellTool.session_manager", + "type": "function", + "name": "session_manager", + "filePath": "src/agentkit/tools/shell.py", + "layer": "utility", + "summary": "ShellTool.session_manager() 方法", + "tags": [ + "ShellTool", + "session_manager" + ], + "complexity": "simple" + }, + { + "id": "func:ShellTool.audit_log", + "type": "function", + "name": "audit_log", + "filePath": "src/agentkit/tools/shell.py", + "layer": "utility", + "summary": "ShellTool.audit_log() 方法", + "tags": [ + "ShellTool", + "audit_log" + ], + "complexity": "simple" + }, + { + "id": "class:SkillInstallTool", + "type": "class", + "name": "SkillInstallTool", + "filePath": "src/agentkit/tools/skill_install.py", + "layer": "utility", + "summary": "技能安装工具", + "tags": [ + "SkillInstallTool" + ], + "complexity": "simple" + }, + { + "id": "func:SkillInstallTool.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/tools/skill_install.py", + "layer": "utility", + "summary": "SkillInstallTool.__init__(name, description, input_schema, output_schema, version, tags, confirm_callback, skill_registry, tool_registry) 方法", + "tags": [ + "SkillInstallTool", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:SkillInstallTool.execute", + "type": "function", + "name": "execute", + "filePath": "src/agentkit/tools/skill_install.py", + "layer": "utility", + "summary": "SkillInstallTool.execute() 异步方法", + "tags": [ + "SkillInstallTool", + "execute" + ], + "complexity": "simple" + }, + { + "id": "func:SkillInstallTool._try_register_skill", + "type": "function", + "name": "_try_register_skill", + "filePath": "src/agentkit/tools/skill_install.py", + "layer": "utility", + "summary": "SkillInstallTool._try_register_skill(name) 方法", + "tags": [ + "SkillInstallTool", + "_try_register_skill" + ], + "complexity": "simple" + }, + { + "id": "class:CommandRecord", + "type": "class", + "name": "CommandRecord", + "filePath": "src/agentkit/tools/terminal_session.py", + "layer": "utility", + "summary": "命令执行记录", + "tags": [ + "CommandRecord" + ], + "complexity": "simple" + }, + { + "id": "class:TerminalSession", + "type": "class", + "name": "TerminalSession", + "filePath": "src/agentkit/tools/terminal_session.py", + "layer": "utility", + "summary": "终端会话 - 跨命令保持 cwd/env/history 状态", + "tags": [ + "TerminalSession" + ], + "complexity": "complex" + }, + { + "id": "func:TerminalSession.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/tools/terminal_session.py", + "layer": "utility", + "summary": "TerminalSession.__init__(session_id, cwd, env, max_history) 方法", + "tags": [ + "TerminalSession", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:TerminalSession.cwd", + "type": "function", + "name": "cwd", + "filePath": "src/agentkit/tools/terminal_session.py", + "layer": "utility", + "summary": "TerminalSession.cwd() 方法", + "tags": [ + "TerminalSession", + "cwd" + ], + "complexity": "simple" + }, + { + "id": "func:TerminalSession.env", + "type": "function", + "name": "env", + "filePath": "src/agentkit/tools/terminal_session.py", + "layer": "utility", + "summary": "TerminalSession.env() 方法", + "tags": [ + "TerminalSession", + "env" + ], + "complexity": "simple" + }, + { + "id": "func:TerminalSession.history", + "type": "function", + "name": "history", + "filePath": "src/agentkit/tools/terminal_session.py", + "layer": "utility", + "summary": "TerminalSession.history() 方法", + "tags": [ + "TerminalSession", + "history" + ], + "complexity": "simple" + }, + { + "id": "func:TerminalSession.created_at", + "type": "function", + "name": "created_at", + "filePath": "src/agentkit/tools/terminal_session.py", + "layer": "utility", + "summary": "TerminalSession.created_at() 方法", + "tags": [ + "TerminalSession", + "created_at" + ], + "complexity": "simple" + }, + { + "id": "func:TerminalSession.get_cwd", + "type": "function", + "name": "get_cwd", + "filePath": "src/agentkit/tools/terminal_session.py", + "layer": "utility", + "summary": "TerminalSession.get_cwd() 方法", + "tags": [ + "TerminalSession", + "get_cwd" + ], + "complexity": "simple" + }, + { + "id": "func:TerminalSession.set_cwd", + "type": "function", + "name": "set_cwd", + "filePath": "src/agentkit/tools/terminal_session.py", + "layer": "utility", + "summary": "TerminalSession.set_cwd(cwd) 方法", + "tags": [ + "TerminalSession", + "set_cwd" + ], + "complexity": "simple" + }, + { + "id": "func:TerminalSession.get_env", + "type": "function", + "name": "get_env", + "filePath": "src/agentkit/tools/terminal_session.py", + "layer": "utility", + "summary": "TerminalSession.get_env() 方法", + "tags": [ + "TerminalSession", + "get_env" + ], + "complexity": "simple" + }, + { + "id": "func:TerminalSession.set_env", + "type": "function", + "name": "set_env", + "filePath": "src/agentkit/tools/terminal_session.py", + "layer": "utility", + "summary": "TerminalSession.set_env(key, value) 方法", + "tags": [ + "TerminalSession", + "set_env" + ], + "complexity": "simple" + }, + { + "id": "func:TerminalSession.update_env", + "type": "function", + "name": "update_env", + "filePath": "src/agentkit/tools/terminal_session.py", + "layer": "utility", + "summary": "TerminalSession.update_env(env) 方法", + "tags": [ + "TerminalSession", + "update_env" + ], + "complexity": "simple" + }, + { + "id": "func:TerminalSession.get_history", + "type": "function", + "name": "get_history", + "filePath": "src/agentkit/tools/terminal_session.py", + "layer": "utility", + "summary": "TerminalSession.get_history() 方法", + "tags": [ + "TerminalSession", + "get_history" + ], + "complexity": "simple" + }, + { + "id": "func:TerminalSession.execute", + "type": "function", + "name": "execute", + "filePath": "src/agentkit/tools/terminal_session.py", + "layer": "utility", + "summary": "TerminalSession.execute(command, timeout) 异步方法", + "tags": [ + "TerminalSession", + "execute" + ], + "complexity": "simple" + }, + { + "id": "func:TerminalSession._build_command", + "type": "function", + "name": "_build_command", + "filePath": "src/agentkit/tools/terminal_session.py", + "layer": "utility", + "summary": "TerminalSession._build_command(command) 方法", + "tags": [ + "TerminalSession", + "_build_command" + ], + "complexity": "simple" + }, + { + "id": "func:TerminalSession._update_state_after_execution", + "type": "function", + "name": "_update_state_after_execution", + "filePath": "src/agentkit/tools/terminal_session.py", + "layer": "utility", + "summary": "TerminalSession._update_state_after_execution(command, output, exit_code) 方法", + "tags": [ + "TerminalSession", + "_update_state_after_execution" + ], + "complexity": "simple" + }, + { + "id": "func:TerminalSession._parse_cd_commands", + "type": "function", + "name": "_parse_cd_commands", + "filePath": "src/agentkit/tools/terminal_session.py", + "layer": "utility", + "summary": "TerminalSession._parse_cd_commands(command, output) 方法", + "tags": [ + "TerminalSession", + "_parse_cd_commands" + ], + "complexity": "simple" + }, + { + "id": "func:TerminalSession._parse_export_commands", + "type": "function", + "name": "_parse_export_commands", + "filePath": "src/agentkit/tools/terminal_session.py", + "layer": "utility", + "summary": "TerminalSession._parse_export_commands(command) 方法", + "tags": [ + "TerminalSession", + "_parse_export_commands" + ], + "complexity": "simple" + }, + { + "id": "func:TerminalSession._add_history", + "type": "function", + "name": "_add_history", + "filePath": "src/agentkit/tools/terminal_session.py", + "layer": "utility", + "summary": "TerminalSession._add_history(record) 方法", + "tags": [ + "TerminalSession", + "_add_history" + ], + "complexity": "simple" + }, + { + "id": "func:TerminalSession.close", + "type": "function", + "name": "close", + "filePath": "src/agentkit/tools/terminal_session.py", + "layer": "utility", + "summary": "TerminalSession.close() 方法", + "tags": [ + "TerminalSession", + "close" + ], + "complexity": "simple" + }, + { + "id": "class:TerminalSessionManager", + "type": "class", + "name": "TerminalSessionManager", + "filePath": "src/agentkit/tools/terminal_session.py", + "layer": "utility", + "summary": "终端会话管理器 - 按 ID 管理多个 TerminalSession", + "tags": [ + "TerminalSessionManager" + ], + "complexity": "moderate" + }, + { + "id": "func:TerminalSessionManager.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/tools/terminal_session.py", + "layer": "utility", + "summary": "TerminalSessionManager.__init__(max_sessions) 方法", + "tags": [ + "TerminalSessionManager", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:TerminalSessionManager.get_or_create", + "type": "function", + "name": "get_or_create", + "filePath": "src/agentkit/tools/terminal_session.py", + "layer": "utility", + "summary": "TerminalSessionManager.get_or_create(session_id, cwd, env) 方法", + "tags": [ + "TerminalSessionManager", + "get_or_create" + ], + "complexity": "simple" + }, + { + "id": "func:TerminalSessionManager.get", + "type": "function", + "name": "get", + "filePath": "src/agentkit/tools/terminal_session.py", + "layer": "utility", + "summary": "TerminalSessionManager.get(session_id) 方法", + "tags": [ + "TerminalSessionManager", + "get" + ], + "complexity": "simple" + }, + { + "id": "func:TerminalSessionManager.remove", + "type": "function", + "name": "remove", + "filePath": "src/agentkit/tools/terminal_session.py", + "layer": "utility", + "summary": "TerminalSessionManager.remove(session_id) 方法", + "tags": [ + "TerminalSessionManager", + "remove" + ], + "complexity": "simple" + }, + { + "id": "func:TerminalSessionManager.list_sessions", + "type": "function", + "name": "list_sessions", + "filePath": "src/agentkit/tools/terminal_session.py", + "layer": "utility", + "summary": "TerminalSessionManager.list_sessions() 方法", + "tags": [ + "TerminalSessionManager", + "list_sessions" + ], + "complexity": "simple" + }, + { + "id": "func:TerminalSessionManager.has_session", + "type": "function", + "name": "has_session", + "filePath": "src/agentkit/tools/terminal_session.py", + "layer": "utility", + "summary": "TerminalSessionManager.has_session(session_id) 方法", + "tags": [ + "TerminalSessionManager", + "has_session" + ], + "complexity": "simple" + }, + { + "id": "func:TerminalSessionManager.close_all", + "type": "function", + "name": "close_all", + "filePath": "src/agentkit/tools/terminal_session.py", + "layer": "utility", + "summary": "TerminalSessionManager.close_all() 方法", + "tags": [ + "TerminalSessionManager", + "close_all" + ], + "complexity": "simple" + }, + { + "id": "class:WebCrawlTool", + "type": "class", + "name": "WebCrawlTool", + "filePath": "src/agentkit/tools/web_crawl.py", + "layer": "utility", + "summary": "网页抓取工具 - 使用 Crawl4AI,可选依赖未安装时优雅降级", + "tags": [ + "WebCrawlTool" + ], + "complexity": "moderate" + }, + { + "id": "func:WebCrawlTool.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/tools/web_crawl.py", + "layer": "utility", + "summary": "WebCrawlTool.__init__(name, description, input_schema, output_schema, version, tags) 方法", + "tags": [ + "WebCrawlTool", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:WebCrawlTool._default_input_schema", + "type": "function", + "name": "_default_input_schema", + "filePath": "src/agentkit/tools/web_crawl.py", + "layer": "utility", + "summary": "WebCrawlTool._default_input_schema() 方法", + "tags": [ + "WebCrawlTool", + "_default_input_schema" + ], + "complexity": "simple" + }, + { + "id": "func:WebCrawlTool._default_output_schema", + "type": "function", + "name": "_default_output_schema", + "filePath": "src/agentkit/tools/web_crawl.py", + "layer": "utility", + "summary": "WebCrawlTool._default_output_schema() 方法", + "tags": [ + "WebCrawlTool", + "_default_output_schema" + ], + "complexity": "simple" + }, + { + "id": "func:WebCrawlTool.execute", + "type": "function", + "name": "execute", + "filePath": "src/agentkit/tools/web_crawl.py", + "layer": "utility", + "summary": "WebCrawlTool.execute() 异步方法", + "tags": [ + "WebCrawlTool", + "execute" + ], + "complexity": "simple" + }, + { + "id": "class:WebSearchTool", + "type": "class", + "name": "WebSearchTool", + "filePath": "src/agentkit/tools/web_search.py", + "layer": "utility", + "summary": "通用网页搜索工具。", + "tags": [ + "WebSearchTool" + ], + "complexity": "complex" + }, + { + "id": "func:WebSearchTool.__init__", + "type": "function", + "name": "__init__", + "filePath": "src/agentkit/tools/web_search.py", + "layer": "utility", + "summary": "WebSearchTool.__init__(name, description, input_schema, output_schema, version, tags, tavily_api_key, serper_api_key, default_max_results) 方法", + "tags": [ + "WebSearchTool", + "__init__" + ], + "complexity": "simple" + }, + { + "id": "func:WebSearchTool._default_input_schema", + "type": "function", + "name": "_default_input_schema", + "filePath": "src/agentkit/tools/web_search.py", + "layer": "utility", + "summary": "WebSearchTool._default_input_schema() 方法", + "tags": [ + "WebSearchTool", + "_default_input_schema" + ], + "complexity": "simple" + }, + { + "id": "func:WebSearchTool._default_output_schema", + "type": "function", + "name": "_default_output_schema", + "filePath": "src/agentkit/tools/web_search.py", + "layer": "utility", + "summary": "WebSearchTool._default_output_schema() 方法", + "tags": [ + "WebSearchTool", + "_default_output_schema" + ], + "complexity": "simple" + }, + { + "id": "func:WebSearchTool.execute", + "type": "function", + "name": "execute", + "filePath": "src/agentkit/tools/web_search.py", + "layer": "utility", + "summary": "WebSearchTool.execute() 异步方法", + "tags": [ + "WebSearchTool", + "execute" + ], + "complexity": "simple" + }, + { + "id": "func:WebSearchTool._search_tavily", + "type": "function", + "name": "_search_tavily", + "filePath": "src/agentkit/tools/web_search.py", + "layer": "utility", + "summary": "WebSearchTool._search_tavily(query, max_results) 异步方法", + "tags": [ + "WebSearchTool", + "_search_tavily" + ], + "complexity": "simple" + }, + { + "id": "func:WebSearchTool._search_serper", + "type": "function", + "name": "_search_serper", + "filePath": "src/agentkit/tools/web_search.py", + "layer": "utility", + "summary": "WebSearchTool._search_serper(query, max_results) 异步方法", + "tags": [ + "WebSearchTool", + "_search_serper" + ], + "complexity": "simple" + }, + { + "id": "func:WebSearchTool._search_duckduckgo", + "type": "function", + "name": "_search_duckduckgo", + "filePath": "src/agentkit/tools/web_search.py", + "layer": "utility", + "summary": "WebSearchTool._search_duckduckgo(query, max_results) 异步方法", + "tags": [ + "WebSearchTool", + "_search_duckduckgo" + ], + "complexity": "simple" + }, + { + "id": "func:WebSearchTool._contains_cjk", + "type": "function", + "name": "_contains_cjk", + "filePath": "src/agentkit/tools/web_search.py", + "layer": "utility", + "summary": "WebSearchTool._contains_cjk(text) 方法", + "tags": [ + "WebSearchTool", + "_contains_cjk" + ], + "complexity": "simple" + }, + { + "id": "func:WebSearchTool._cjk_to_english_hint", + "type": "function", + "name": "_cjk_to_english_hint", + "filePath": "src/agentkit/tools/web_search.py", + "layer": "utility", + "summary": "WebSearchTool._cjk_to_english_hint(query) 方法", + "tags": [ + "WebSearchTool", + "_cjk_to_english_hint" + ], + "complexity": "simple" + }, + { + "id": "func:WebSearchTool._search_duckduckgo_html", + "type": "function", + "name": "_search_duckduckgo_html", + "filePath": "src/agentkit/tools/web_search.py", + "layer": "utility", + "summary": "WebSearchTool._search_duckduckgo_html(query, max_results) 异步方法", + "tags": [ + "WebSearchTool", + "_search_duckduckgo_html" + ], + "complexity": "simple" + }, + { + "id": "func:WebSearchTool._search_duckduckgo_instant", + "type": "function", + "name": "_search_duckduckgo_instant", + "filePath": "src/agentkit/tools/web_search.py", + "layer": "utility", + "summary": "WebSearchTool._search_duckduckgo_instant(query, max_results) 异步方法", + "tags": [ + "WebSearchTool", + "_search_duckduckgo_instant" + ], + "complexity": "simple" + }, + { + "id": "func:WebSearchTool._search_bing", + "type": "function", + "name": "_search_bing", + "filePath": "src/agentkit/tools/web_search.py", + "layer": "utility", + "summary": "WebSearchTool._search_bing(query, max_results) 异步方法", + "tags": [ + "WebSearchTool", + "_search_bing" + ], + "complexity": "simple" + }, + { + "id": "func:WebSearchTool._parse_bing_html", + "type": "function", + "name": "_parse_bing_html", + "filePath": "src/agentkit/tools/web_search.py", + "layer": "utility", + "summary": "WebSearchTool._parse_bing_html(html, max_results) 方法", + "tags": [ + "WebSearchTool", + "_parse_bing_html" + ], + "complexity": "simple" + }, + { + "id": "func:WebSearchTool._parse_duckduckgo_html", + "type": "function", + "name": "_parse_duckduckgo_html", + "filePath": "src/agentkit/tools/web_search.py", + "layer": "utility", + "summary": "WebSearchTool._parse_duckduckgo_html(html, max_results) 方法", + "tags": [ + "WebSearchTool", + "_parse_duckduckgo_html" + ], + "complexity": "simple" + }, + { + "id": "func:WebSearchTool._parse_duckduckgo_html_alt", + "type": "function", + "name": "_parse_duckduckgo_html_alt", + "filePath": "src/agentkit/tools/web_search.py", + "layer": "utility", + "summary": "WebSearchTool._parse_duckduckgo_html_alt(html, max_results) 方法", + "tags": [ + "WebSearchTool", + "_parse_duckduckgo_html_alt" + ], + "complexity": "simple" + }, + { + "id": "func:_internal_headers", + "type": "function", + "name": "_internal_headers", + "filePath": "configs/geo_handlers.py", + "layer": "utility", + "summary": "_internal_headers() 函数 → dict", + "tags": [ + "_internal_headers" + ], + "complexity": "simple" + }, + { + "id": "func:handle_citation_task", + "type": "function", + "name": "handle_citation_task", + "filePath": "configs/geo_handlers.py", + "layer": "utility", + "summary": "handle_citation_task(task) 异步函数 → dict", + "tags": [ + "handle_citation_task" + ], + "complexity": "simple" + }, + { + "id": "func:handle_monitor_task", + "type": "function", + "name": "handle_monitor_task", + "filePath": "configs/geo_handlers.py", + "layer": "utility", + "summary": "handle_monitor_task(task) 异步函数 → dict", + "tags": [ + "handle_monitor_task" + ], + "complexity": "simple" + }, + { + "id": "func:handle_schema_task", + "type": "function", + "name": "handle_schema_task", + "filePath": "configs/geo_handlers.py", + "layer": "utility", + "summary": "handle_schema_task(task) 异步函数 → dict", + "tags": [ + "handle_schema_task" + ], + "complexity": "simple" + }, + { + "id": "func:_call_internal", + "type": "function", + "name": "_call_internal", + "filePath": "configs/geo_handlers.py", + "layer": "utility", + "summary": "_call_internal(path, input_data) 异步函数 → dict", + "tags": [ + "_call_internal" + ], + "complexity": "simple" + }, + { + "id": "func:_substitute_env_vars", + "type": "function", + "name": "_substitute_env_vars", + "filePath": "configs/geo_server.py", + "layer": "utility", + "summary": "_substitute_env_vars(config_path) 函数 → dict", + "tags": [ + "_substitute_env_vars" + ], + "complexity": "simple" + }, + { + "id": "func:_init_llm_gateway", + "type": "function", + "name": "_init_llm_gateway", + "filePath": "configs/geo_server.py", + "layer": "utility", + "summary": "_init_llm_gateway() 函数 → LLMGateway", + "tags": [ + "_init_llm_gateway" + ], + "complexity": "simple" + }, + { + "id": "func:_init_tool_registry", + "type": "function", + "name": "_init_tool_registry", + "filePath": "configs/geo_server.py", + "layer": "utility", + "summary": "_init_tool_registry() 函数 → ToolRegistry", + "tags": [ + "_init_tool_registry" + ], + "complexity": "simple" + }, + { + "id": "func:_init_skill_registry", + "type": "function", + "name": "_init_skill_registry", + "filePath": "configs/geo_server.py", + "layer": "utility", + "summary": "_init_skill_registry(tool_registry) 函数 → SkillRegistry", + "tags": [ + "_init_skill_registry" + ], + "complexity": "simple" + }, + { + "id": "func:create_geo_app", + "type": "function", + "name": "create_geo_app", + "filePath": "configs/geo_server.py", + "layer": "utility", + "summary": "create_geo_app() 函数 → FastAPI", + "tags": [ + "create_geo_app" + ], + "complexity": "simple" + }, + { + "id": "func:_internal_headers", + "type": "function", + "name": "_internal_headers", + "filePath": "configs/geo_tools.py", + "layer": "utility", + "summary": "_internal_headers() 函数 → dict", + "tags": [ + "_internal_headers" + ], + "complexity": "simple" + }, + { + "id": "func:execute_single_platform", + "type": "function", + "name": "execute_single_platform", + "filePath": "configs/geo_tools.py", + "layer": "utility", + "summary": "execute_single_platform(keyword, platform, target_brand, brand_aliases) 异步函数 → dict", + "tags": [ + "execute_single_platform" + ], + "complexity": "simple" + }, + { + "id": "func:get_or_create_task", + "type": "function", + "name": "get_or_create_task", + "filePath": "configs/geo_tools.py", + "layer": "utility", + "summary": "get_or_create_task(query_id, platform) 异步函数 → dict", + "tags": [ + "get_or_create_task" + ], + "complexity": "simple" + }, + { + "id": "func:retrieve_knowledge", + "type": "function", + "name": "retrieve_knowledge", + "filePath": "configs/geo_tools.py", + "layer": "utility", + "summary": "retrieve_knowledge(knowledge_base_ids, query, top_k) 异步函数 → dict", + "tags": [ + "retrieve_knowledge" + ], + "complexity": "moderate" + }, + { + "id": "func:monitor_check_and_compare", + "type": "function", + "name": "monitor_check_and_compare", + "filePath": "configs/geo_tools.py", + "layer": "utility", + "summary": "monitor_check_and_compare(record_id) 异步函数 → dict", + "tags": [ + "monitor_check_and_compare" + ], + "complexity": "simple" + }, + { + "id": "func:monitor_generate_report", + "type": "function", + "name": "monitor_generate_report", + "filePath": "configs/geo_tools.py", + "layer": "utility", + "summary": "monitor_generate_report(record_id) 异步函数 → dict", + "tags": [ + "monitor_generate_report" + ], + "complexity": "simple" + }, + { + "id": "func:monitor_create_record", + "type": "function", + "name": "monitor_create_record", + "filePath": "configs/geo_tools.py", + "layer": "utility", + "summary": "monitor_create_record(brand_id, query_keywords, platform, check_interval_hours) 异步函数 → dict", + "tags": [ + "monitor_create_record" + ], + "complexity": "simple" + }, + { + "id": "func:fill_schema_with_llm", + "type": "function", + "name": "fill_schema_with_llm", + "filePath": "configs/geo_tools.py", + "layer": "utility", + "summary": "fill_schema_with_llm(schema_type, brand_info, diagnosis_dimensions) 异步函数 → dict", + "tags": [ + "fill_schema_with_llm" + ], + "complexity": "moderate" + }, + { + "id": "func:identify_missing_dimensions", + "type": "function", + "name": "identify_missing_dimensions", + "filePath": "configs/geo_tools.py", + "layer": "utility", + "summary": "identify_missing_dimensions(diagnosis_data, focus_dimensions) 异步函数 → dict", + "tags": [ + "identify_missing_dimensions" + ], + "complexity": "moderate" + }, + { + "id": "func:competitor_analyze", + "type": "function", + "name": "competitor_analyze", + "filePath": "configs/geo_tools.py", + "layer": "utility", + "summary": "competitor_analyze(brand_id, analysis_types, period_days) 异步函数 → dict", + "tags": [ + "competitor_analyze" + ], + "complexity": "simple" + }, + { + "id": "func:competitor_gap_analysis", + "type": "function", + "name": "competitor_gap_analysis", + "filePath": "configs/geo_tools.py", + "layer": "utility", + "summary": "competitor_gap_analysis(brand_id, period_days) 异步函数 → dict", + "tags": [ + "competitor_gap_analysis" + ], + "complexity": "simple" + }, + { + "id": "func:trend_insight", + "type": "function", + "name": "trend_insight", + "filePath": "configs/geo_tools.py", + "layer": "utility", + "summary": "trend_insight(brand_id, days, platforms, keywords) 异步函数 → dict", + "tags": [ + "trend_insight" + ], + "complexity": "simple" + }, + { + "id": "func:trend_hotspot", + "type": "function", + "name": "trend_hotspot", + "filePath": "configs/geo_tools.py", + "layer": "utility", + "summary": "trend_hotspot(brand_id, days) 异步函数 → dict", + "tags": [ + "trend_hotspot" + ], + "complexity": "simple" + }, + { + "id": "func:search_knowledge", + "type": "function", + "name": "search_knowledge", + "filePath": "configs/geo_tools.py", + "layer": "utility", + "summary": "search_knowledge(query, knowledge_base_ids, top_k) 异步函数 → dict", + "tags": [ + "search_knowledge" + ], + "complexity": "simple" + }, + { + "id": "func:detect_ai_patterns", + "type": "function", + "name": "detect_ai_patterns", + "filePath": "configs/geo_tools.py", + "layer": "utility", + "summary": "detect_ai_patterns(content, platform_id) 异步函数 → dict", + "tags": [ + "detect_ai_patterns" + ], + "complexity": "simple" + }, + { + "id": "func:register_geo_tools", + "type": "function", + "name": "register_geo_tools", + "filePath": "configs/geo_tools.py", + "layer": "utility", + "summary": "register_geo_tools(registry) 函数 → None", + "tags": [ + "register_geo_tools" + ], + "complexity": "simple" + }, + { + "id": "func:create_message_bus", + "type": "function", + "name": "create_message_bus", + "filePath": "src/agentkit/bus/redis_bus.py", + "layer": "data", + "summary": "create_message_bus(backend, redis_url, consumer_group, max_retries) 函数 → BinOp(left=Name(id='InMemoryMessageBus', ctx=Load()), op=BitOr(), right=Name(id='RedisMessageBus', ctx=Load()))", + "tags": [ + "create_message_bus" + ], + "complexity": "simple" + }, + { + "id": "func:validate_skill_name", + "type": "function", + "name": "validate_skill_name", + "filePath": "src/agentkit/chat/skill_routing.py", + "layer": "unknown", + "summary": "validate_skill_name(name) 函数 → str", + "tags": [ + "validate_skill_name" + ], + "complexity": "simple" + }, + { + "id": "func:parse_skill_prefix", + "type": "function", + "name": "parse_skill_prefix", + "filePath": "src/agentkit/chat/skill_routing.py", + "layer": "unknown", + "summary": "parse_skill_prefix(content) 函数 → Subscript(value=Name(id='tuple', ctx=Load()), slice=Tuple(elts=[BinOp(left=Name(id='str', ctx=Load()), op=BitOr(), right=Constant(value=None)), Name(id='str', ctx=Load())], ctx=Load()), ctx=Load())", + "tags": [ + "parse_skill_prefix" + ], + "complexity": "simple" + }, + { + "id": "func:build_skill_system_prompt", + "type": "function", + "name": "build_skill_system_prompt", + "filePath": "src/agentkit/chat/skill_routing.py", + "layer": "unknown", + "summary": "build_skill_system_prompt(skill_config) 函数 → BinOp(left=Name(id='str', ctx=Load()), op=BitOr(), right=Constant(value=None))", + "tags": [ + "build_skill_system_prompt" + ], + "complexity": "moderate" + }, + { + "id": "func:resolve_skill_routing", + "type": "function", + "name": "resolve_skill_routing", + "filePath": "src/agentkit/chat/skill_routing.py", + "layer": "unknown", + "summary": "resolve_skill_routing(content, skill_registry, intent_router, default_tools, default_system_prompt, default_model, default_agent_name, agent_tool_registry, session_id) 异步函数 → SkillRoutingResult", + "tags": [ + "resolve_skill_routing" + ], + "complexity": "complex" + }, + { + "id": "func:_build_tools_description", + "type": "function", + "name": "_build_tools_description", + "filePath": "src/agentkit/chat/skill_routing.py", + "layer": "unknown", + "summary": "_build_tools_description(tools) 函数 → str", + "tags": [ + "_build_tools_description" + ], + "complexity": "moderate" + }, + { + "id": "func:_tokenize_content", + "type": "function", + "name": "_tokenize_content", + "filePath": "src/agentkit/chat/skill_routing.py", + "layer": "unknown", + "summary": "_tokenize_content(content) 函数 → Subscript(value=Name(id='list', ctx=Load()), slice=Name(id='str', ctx=Load()), ctx=Load())", + "tags": [ + "_tokenize_content" + ], + "complexity": "moderate" + }, + { + "id": "func:chat", + "type": "function", + "name": "chat", + "filePath": "src/agentkit/cli/chat.py", + "layer": "api", + "summary": "chat(model, agent_name, config, system_prompt, no_stream) 函数", + "tags": [ + "chat" + ], + "complexity": "simple" + }, + { + "id": "func:_chat_async", + "type": "function", + "name": "_chat_async", + "filePath": "src/agentkit/cli/chat.py", + "layer": "api", + "summary": "_chat_async(model, agent_name, config_arg, system_prompt, no_stream) 异步函数 → None", + "tags": [ + "_chat_async" + ], + "complexity": "complex" + }, + { + "id": "func:_extract_search_keys", + "type": "function", + "name": "_extract_search_keys", + "filePath": "src/agentkit/cli/chat.py", + "layer": "api", + "summary": "_extract_search_keys(server_config) 函数 → Subscript(value=Name(id='dict', ctx=Load()), slice=Tuple(elts=[Name(id='str', ctx=Load()), Name(id='str', ctx=Load())], ctx=Load()), ctx=Load())", + "tags": [ + "_extract_search_keys" + ], + "complexity": "simple" + }, + { + "id": "func:_build_gateway", + "type": "function", + "name": "_build_gateway", + "filePath": "src/agentkit/cli/chat.py", + "layer": "api", + "summary": "_build_gateway(server_config) 函数 → LLMGateway", + "tags": [ + "_build_gateway" + ], + "complexity": "moderate" + }, + { + "id": "func:_resolve_default_model", + "type": "function", + "name": "_resolve_default_model", + "filePath": "src/agentkit/cli/chat.py", + "layer": "api", + "summary": "_resolve_default_model(server_config) 函数 → str", + "tags": [ + "_resolve_default_model" + ], + "complexity": "moderate" + }, + { + "id": "func:_load_dotenv", + "type": "function", + "name": "_load_dotenv", + "filePath": "src/agentkit/cli/chat.py", + "layer": "api", + "summary": "_load_dotenv(dotenv_path) 函数 → None", + "tags": [ + "_load_dotenv" + ], + "complexity": "moderate" + }, + { + "id": "func:_print_help", + "type": "function", + "name": "_print_help", + "filePath": "src/agentkit/cli/chat.py", + "layer": "api", + "summary": "_print_help() 函数 → None", + "tags": [ + "_print_help" + ], + "complexity": "simple" + }, + { + "id": "func:_write_file", + "type": "function", + "name": "_write_file", + "filePath": "src/agentkit/cli/init.py", + "layer": "api", + "summary": "_write_file(path, content, force) 函数 → bool", + "tags": [ + "_write_file" + ], + "complexity": "simple" + }, + { + "id": "func:init", + "type": "function", + "name": "init", + "filePath": "src/agentkit/cli/init.py", + "layer": "api", + "summary": "init(output_dir, non_interactive, force) 函数", + "tags": [ + "init" + ], + "complexity": "simple" + }, + { + "id": "func:gui", + "type": "function", + "name": "gui", + "filePath": "src/agentkit/cli/main.py", + "layer": "api", + "summary": "gui(host, port, config, no_open) 函数", + "tags": [ + "gui" + ], + "complexity": "complex" + }, + { + "id": "func:serve", + "type": "function", + "name": "serve", + "filePath": "src/agentkit/cli/main.py", + "layer": "api", + "summary": "serve(host, port, workers, reload, config, task_store_backend, task_store_redis_url) 函数", + "tags": [ + "serve" + ], + "complexity": "complex" + }, + { + "id": "func:version", + "type": "function", + "name": "version", + "filePath": "src/agentkit/cli/main.py", + "layer": "api", + "summary": "version() 函数", + "tags": [ + "version" + ], + "complexity": "simple" + }, + { + "id": "func:doctor", + "type": "function", + "name": "doctor", + "filePath": "src/agentkit/cli/main.py", + "layer": "api", + "summary": "doctor(host, port) 函数", + "tags": [ + "doctor" + ], + "complexity": "moderate" + }, + { + "id": "func:needs_onboarding", + "type": "function", + "name": "needs_onboarding", + "filePath": "src/agentkit/cli/onboarding.py", + "layer": "api", + "summary": "needs_onboarding(config_arg) 函数 → bool", + "tags": [ + "needs_onboarding" + ], + "complexity": "simple" + }, + { + "id": "func:run_onboarding", + "type": "function", + "name": "run_onboarding", + "filePath": "src/agentkit/cli/onboarding.py", + "layer": "api", + "summary": "run_onboarding(output_dir, config_arg) 函数 → BinOp(left=Name(id='str', ctx=Load()), op=BitOr(), right=Constant(value=None))", + "tags": [ + "run_onboarding" + ], + "complexity": "complex" + }, + { + "id": "func:_generate_api_key", + "type": "function", + "name": "_generate_api_key", + "filePath": "src/agentkit/cli/pair.py", + "layer": "api", + "summary": "_generate_api_key() 函数 → str", + "tags": [ + "_generate_api_key" + ], + "complexity": "simple" + }, + { + "id": "func:_load_clients", + "type": "function", + "name": "_load_clients", + "filePath": "src/agentkit/cli/pair.py", + "layer": "api", + "summary": "_load_clients(config_dir) 函数 → dict", + "tags": [ + "_load_clients" + ], + "complexity": "simple" + }, + { + "id": "func:_save_clients", + "type": "function", + "name": "_save_clients", + "filePath": "src/agentkit/cli/pair.py", + "layer": "api", + "summary": "_save_clients(config_dir, clients) 函数 → None", + "tags": [ + "_save_clients" + ], + "complexity": "simple" + }, + { + "id": "func:pair", + "type": "function", + "name": "pair", + "filePath": "src/agentkit/cli/pair.py", + "layer": "api", + "summary": "pair(name, skills_dir, config_dir, list_clients, revoke, server_url) 函数", + "tags": [ + "pair" + ], + "complexity": "complex" + }, + { + "id": "func:list_skills", + "type": "function", + "name": "list_skills", + "filePath": "src/agentkit/cli/skill.py", + "layer": "api", + "summary": "list_skills(server_url) 函数", + "tags": [ + "list_skills" + ], + "complexity": "moderate" + }, + { + "id": "func:load_skill", + "type": "function", + "name": "load_skill", + "filePath": "src/agentkit/cli/skill.py", + "layer": "api", + "summary": "load_skill(path) 函数", + "tags": [ + "load_skill" + ], + "complexity": "simple" + }, + { + "id": "func:skill_create", + "type": "function", + "name": "skill_create", + "filePath": "src/agentkit/cli/skill.py", + "layer": "api", + "summary": "skill_create(name, output_dir) 函数", + "tags": [ + "skill_create" + ], + "complexity": "simple" + }, + { + "id": "func:skill_info", + "type": "function", + "name": "skill_info", + "filePath": "src/agentkit/cli/skill.py", + "layer": "api", + "summary": "skill_info(name, server_url) 函数", + "tags": [ + "skill_info" + ], + "complexity": "moderate" + }, + { + "id": "func:submit", + "type": "function", + "name": "submit", + "filePath": "src/agentkit/cli/task.py", + "layer": "api", + "summary": "submit(input, input_file, skill, agent, mode, server_url, config) 函数", + "tags": [ + "submit" + ], + "complexity": "moderate" + }, + { + "id": "func:_submit_remote", + "type": "function", + "name": "_submit_remote", + "filePath": "src/agentkit/cli/task.py", + "layer": "api", + "summary": "_submit_remote(input_data, skill, agent, mode, server_url) 函数", + "tags": [ + "_submit_remote" + ], + "complexity": "simple" + }, + { + "id": "func:_submit_local", + "type": "function", + "name": "_submit_local", + "filePath": "src/agentkit/cli/task.py", + "layer": "api", + "summary": "_submit_local(input_data, skill, agent, mode, config_path) 函数", + "tags": [ + "_submit_local" + ], + "complexity": "moderate" + }, + { + "id": "func:status", + "type": "function", + "name": "status", + "filePath": "src/agentkit/cli/task.py", + "layer": "api", + "summary": "status(task_id, server_url) 函数", + "tags": [ + "status" + ], + "complexity": "simple" + }, + { + "id": "func:list_tasks", + "type": "function", + "name": "list_tasks", + "filePath": "src/agentkit/cli/task.py", + "layer": "api", + "summary": "list_tasks(status_filter, limit, server_url) 函数", + "tags": [ + "list_tasks" + ], + "complexity": "moderate" + }, + { + "id": "func:cancel", + "type": "function", + "name": "cancel", + "filePath": "src/agentkit/cli/task.py", + "layer": "api", + "summary": "cancel(task_id, server_url) 函数", + "tags": [ + "cancel" + ], + "complexity": "simple" + }, + { + "id": "func:usage", + "type": "function", + "name": "usage", + "filePath": "src/agentkit/cli/usage.py", + "layer": "api", + "summary": "usage(agent, format, server_url) 函数", + "tags": [ + "usage" + ], + "complexity": "moderate" + }, + { + "id": "func:create_compressor", + "type": "function", + "name": "create_compressor", + "filePath": "src/agentkit/core/compressor.py", + "layer": "service", + "summary": "create_compressor(config) 函数 → BinOp(left=Name(id='CompressionStrategy', ctx=Load()), op=BitOr(), right=Constant(value=None))", + "tags": [ + "create_compressor" + ], + "complexity": "moderate" + }, + { + "id": "func:render_cached", + "type": "function", + "name": "render_cached", + "filePath": "src/agentkit/core/compressor.py", + "layer": "service", + "summary": "render_cached(template, variables) 函数 → Subscript(value=Name(id='list', ctx=Load()), slice=Subscript(value=Name(id='dict', ctx=Load()), slice=Tuple(elts=[Name(id='str', ctx=Load()), Name(id='str', ctx=Load())], ctx=Load()), ctx=Load()), ctx=Load())", + "tags": [ + "render_cached" + ], + "complexity": "moderate" + }, + { + "id": "func:clear_cache", + "type": "function", + "name": "clear_cache", + "filePath": "src/agentkit/core/compressor.py", + "layer": "service", + "summary": "clear_cache(template) 函数 → None", + "tags": [ + "clear_cache" + ], + "complexity": "simple" + }, + { + "id": "func:_validate_callback_url", + "type": "function", + "name": "_validate_callback_url", + "filePath": "src/agentkit/core/dispatcher.py", + "layer": "service", + "summary": "_validate_callback_url(url) 函数 → bool", + "tags": [ + "_validate_callback_url" + ], + "complexity": "moderate" + }, + { + "id": "func:_is_json_content", + "type": "function", + "name": "_is_json_content", + "filePath": "src/agentkit/core/headroom_compressor.py", + "layer": "service", + "summary": "_is_json_content(text) 函数 → bool", + "tags": [ + "_is_json_content" + ], + "complexity": "simple" + }, + { + "id": "func:_is_code_content", + "type": "function", + "name": "_is_code_content", + "filePath": "src/agentkit/core/headroom_compressor.py", + "layer": "service", + "summary": "_is_code_content(text) 函数 → bool", + "tags": [ + "_is_code_content" + ], + "complexity": "moderate" + }, + { + "id": "func:setup_structured_logging", + "type": "function", + "name": "setup_structured_logging", + "filePath": "src/agentkit/core/logging.py", + "layer": "service", + "summary": "setup_structured_logging(level) 函数 → None", + "tags": [ + "setup_structured_logging" + ], + "complexity": "simple" + }, + { + "id": "func:get_logger", + "type": "function", + "name": "get_logger", + "filePath": "src/agentkit/core/logging.py", + "layer": "service", + "summary": "get_logger(name) 函数 → Attribute(value=Name(id='logging', ctx=Load()), attr='LoggerAdapter', ctx=Load())", + "tags": [ + "get_logger" + ], + "complexity": "simple" + }, + { + "id": "func:main", + "type": "function", + "name": "main", + "filePath": "src/agentkit/core/standalone.py", + "layer": "service", + "summary": "main() 异步函数", + "tags": [ + "main" + ], + "complexity": "moderate" + }, + { + "id": "func:create_evolution_store", + "type": "function", + "name": "create_evolution_store", + "filePath": "src/agentkit/evolution/evolution_store.py", + "layer": "utility", + "summary": "create_evolution_store(backend, db_path, session_factory, evolution_model) 函数 → BinOp(left=BinOp(left=Name(id='EvolutionStore', ctx=Load()), op=BitOr(), right=Name(id='PersistentEvolutionStore', ctx=Load())), op=BitOr(), right=Name(id='InMemoryEvolutionStore', ctx=Load()))", + "tags": [ + "create_evolution_store" + ], + "complexity": "moderate" + }, + { + "id": "func:_parse_time_window", + "type": "function", + "name": "_parse_time_window", + "filePath": "src/agentkit/evolution/experience_store.py", + "layer": "utility", + "summary": "_parse_time_window(window) 函数 → timedelta", + "tags": [ + "_parse_time_window" + ], + "complexity": "moderate" + }, + { + "id": "func:_compute_name_similarity", + "type": "function", + "name": "_compute_name_similarity", + "filePath": "src/agentkit/evolution/pitfall_detector.py", + "layer": "utility", + "summary": "_compute_name_similarity(step_name, step_description, historical_step_name) 函数 → float", + "tags": [ + "_compute_name_similarity" + ], + "complexity": "moderate" + }, + { + "id": "func:_extract_keywords", + "type": "function", + "name": "_extract_keywords", + "filePath": "src/agentkit/evolution/pitfall_detector.py", + "layer": "utility", + "summary": "_extract_keywords(text) 函数 → Subscript(value=Name(id='frozenset', ctx=Load()), slice=Name(id='str', ctx=Load()), ctx=Load())", + "tags": [ + "_extract_keywords" + ], + "complexity": "simple" + }, + { + "id": "func:_determine_warning_level", + "type": "function", + "name": "_determine_warning_level", + "filePath": "src/agentkit/evolution/pitfall_detector.py", + "layer": "utility", + "summary": "_determine_warning_level(failure_rate) 函数 → WarningLevel", + "tags": [ + "_determine_warning_level" + ], + "complexity": "simple" + }, + { + "id": "func:_warning_level_order", + "type": "function", + "name": "_warning_level_order", + "filePath": "src/agentkit/evolution/pitfall_detector.py", + "layer": "utility", + "summary": "_warning_level_order(level) 函数 → int", + "tags": [ + "_warning_level_order" + ], + "complexity": "simple" + }, + { + "id": "func:_build_suggestion", + "type": "function", + "name": "_build_suggestion", + "filePath": "src/agentkit/evolution/pitfall_detector.py", + "layer": "utility", + "summary": "_build_suggestion(stats, failure_rate) 函数 → str", + "tags": [ + "_build_suggestion" + ], + "complexity": "moderate" + }, + { + "id": "func:create_prompt_optimizer", + "type": "function", + "name": "create_prompt_optimizer", + "filePath": "src/agentkit/evolution/prompt_optimizer.py", + "layer": "utility", + "summary": "create_prompt_optimizer(optimizer_type, llm_gateway) 函数 → BinOp(left=Name(id='BootstrapPromptOptimizer', ctx=Load()), op=BitOr(), right=Name(id='LLMPromptOptimizer', ctx=Load()))", + "tags": [ + "create_prompt_optimizer" + ], + "complexity": "moderate" + }, + { + "id": "func:_is_retryable_error", + "type": "function", + "name": "_is_retryable_error", + "filePath": "src/agentkit/llm/retry.py", + "layer": "utility", + "summary": "_is_retryable_error(error, retryable_status_codes) 函数 → bool", + "tags": [ + "_is_retryable_error" + ], + "complexity": "moderate" + }, + { + "id": "func:_escape_cql", + "type": "function", + "name": "_escape_cql", + "filePath": "src/agentkit/memory/adapters/confluence.py", + "layer": "data", + "summary": "_escape_cql(value) 函数 → str", + "tags": [ + "_escape_cql" + ], + "complexity": "simple" + }, + { + "id": "func:_detect_format", + "type": "function", + "name": "_detect_format", + "filePath": "src/agentkit/memory/document_loader.py", + "layer": "data", + "summary": "_detect_format(filename) 函数 → str", + "tags": [ + "_detect_format" + ], + "complexity": "simple" + }, + { + "id": "func:_loader_doc_to_kb_doc", + "type": "function", + "name": "_loader_doc_to_kb_doc", + "filePath": "src/agentkit/memory/local_rag.py", + "layer": "data", + "summary": "_loader_doc_to_kb_doc(loader_doc) 函数 → Document", + "tags": [ + "_loader_doc_to_kb_doc" + ], + "complexity": "simple" + }, + { + "id": "func:create_episodic_session_factory", + "type": "function", + "name": "create_episodic_session_factory", + "filePath": "src/agentkit/memory/models.py", + "layer": "data", + "summary": "create_episodic_session_factory(database_url) 函数", + "tags": [ + "create_episodic_session_factory" + ], + "complexity": "simple" + }, + { + "id": "func:ensure_episodic_table", + "type": "function", + "name": "ensure_episodic_table", + "filePath": "src/agentkit/memory/models.py", + "layer": "data", + "summary": "ensure_episodic_table(database_url) 异步函数 → None", + "tags": [ + "ensure_episodic_table" + ], + "complexity": "simple" + }, + { + "id": "func:_content_hash", + "type": "function", + "name": "_content_hash", + "filePath": "src/agentkit/memory/multi_source_retriever.py", + "layer": "data", + "summary": "_content_hash(content) 函数 → str", + "tags": [ + "_content_hash" + ], + "complexity": "simple" + }, + { + "id": "func:create_query_transformer", + "type": "function", + "name": "create_query_transformer", + "filePath": "src/agentkit/memory/query_transformer.py", + "layer": "data", + "summary": "create_query_transformer(strategy, llm_gateway, synonyms, max_sub_queries) 函数 → QueryTransformerBase", + "tags": [ + "create_query_transformer" + ], + "complexity": "moderate" + }, + { + "id": "func:_estimate_tokens", + "type": "function", + "name": "_estimate_tokens", + "filePath": "src/agentkit/memory/retriever.py", + "layer": "data", + "summary": "_estimate_tokens(text) 函数 → int", + "tags": [ + "_estimate_tokens" + ], + "complexity": "simple" + }, + { + "id": "func:execute_with_retry", + "type": "function", + "name": "execute_with_retry", + "filePath": "src/agentkit/orchestrator/retry.py", + "layer": "service", + "summary": "execute_with_retry(func, retry_policy, step_name) 异步函数 → Any", + "tags": [ + "execute_with_retry" + ], + "complexity": "moderate" + }, + { + "id": "func:_build_llm_gateway", + "type": "function", + "name": "_build_llm_gateway", + "filePath": "src/agentkit/server/app.py", + "layer": "api", + "summary": "_build_llm_gateway(config) 函数 → LLMGateway", + "tags": [ + "_build_llm_gateway" + ], + "complexity": "moderate" + }, + { + "id": "func:_build_skill_registry", + "type": "function", + "name": "_build_skill_registry", + "filePath": "src/agentkit/server/app.py", + "layer": "api", + "summary": "_build_skill_registry(config) 函数 → SkillRegistry", + "tags": [ + "_build_skill_registry" + ], + "complexity": "simple" + }, + { + "id": "func:lifespan", + "type": "function", + "name": "lifespan", + "filePath": "src/agentkit/server/app.py", + "layer": "api", + "summary": "lifespan(app) 异步函数", + "tags": [ + "lifespan" + ], + "complexity": "complex" + }, + { + "id": "func:_on_config_change", + "type": "function", + "name": "_on_config_change", + "filePath": "src/agentkit/server/app.py", + "layer": "api", + "summary": "_on_config_change(app, config) 函数 → None", + "tags": [ + "_on_config_change" + ], + "complexity": "complex" + }, + { + "id": "func:create_app", + "type": "function", + "name": "create_app", + "filePath": "src/agentkit/server/app.py", + "layer": "api", + "summary": "create_app(llm_gateway, skill_registry, tool_registry, api_key, rate_limit, server_config) 函数 → FastAPI", + "tags": [ + "create_app" + ], + "complexity": "complex" + }, + { + "id": "func:_resolve_env_vars", + "type": "function", + "name": "_resolve_env_vars", + "filePath": "src/agentkit/server/config.py", + "layer": "api", + "summary": "_resolve_env_vars(value) 函数 → Any", + "tags": [ + "_resolve_env_vars" + ], + "complexity": "simple" + }, + { + "id": "func:_deep_resolve", + "type": "function", + "name": "_deep_resolve", + "filePath": "src/agentkit/server/config.py", + "layer": "api", + "summary": "_deep_resolve(data) 函数 → Any", + "tags": [ + "_deep_resolve" + ], + "complexity": "moderate" + }, + { + "id": "func:find_config_path", + "type": "function", + "name": "find_config_path", + "filePath": "src/agentkit/server/config.py", + "layer": "api", + "summary": "find_config_path(config_arg) 函数 → BinOp(left=Name(id='str', ctx=Load()), op=BitOr(), right=Constant(value=None))", + "tags": [ + "find_config_path" + ], + "complexity": "moderate" + }, + { + "id": "func:_load_client_keys", + "type": "function", + "name": "_load_client_keys", + "filePath": "src/agentkit/server/middleware.py", + "layer": "api", + "summary": "_load_client_keys(config_dir) 函数 → Subscript(value=Name(id='dict', ctx=Load()), slice=Tuple(elts=[Name(id='str', ctx=Load()), Name(id='str', ctx=Load())], ctx=Load()), ctx=Load())", + "tags": [ + "_load_client_keys" + ], + "complexity": "moderate" + }, + { + "id": "func:_get_pool", + "type": "function", + "name": "_get_pool", + "filePath": "src/agentkit/server/routes/agents.py", + "layer": "api", + "summary": "_get_pool(request) 函数", + "tags": [ + "_get_pool" + ], + "complexity": "simple" + }, + { + "id": "func:_get_skill_registry", + "type": "function", + "name": "_get_skill_registry", + "filePath": "src/agentkit/server/routes/agents.py", + "layer": "api", + "summary": "_get_skill_registry(request) 函数", + "tags": [ + "_get_skill_registry" + ], + "complexity": "simple" + }, + { + "id": "func:create_agent", + "type": "function", + "name": "create_agent", + "filePath": "src/agentkit/server/routes/agents.py", + "layer": "api", + "summary": "create_agent(request, req) 异步函数", + "tags": [ + "create_agent" + ], + "complexity": "moderate" + }, + { + "id": "func:list_agents", + "type": "function", + "name": "list_agents", + "filePath": "src/agentkit/server/routes/agents.py", + "layer": "api", + "summary": "list_agents(req) 异步函数", + "tags": [ + "list_agents" + ], + "complexity": "simple" + }, + { + "id": "func:get_agent", + "type": "function", + "name": "get_agent", + "filePath": "src/agentkit/server/routes/agents.py", + "layer": "api", + "summary": "get_agent(name, req) 异步函数", + "tags": [ + "get_agent" + ], + "complexity": "simple" + }, + { + "id": "func:delete_agent", + "type": "function", + "name": "delete_agent", + "filePath": "src/agentkit/server/routes/agents.py", + "layer": "api", + "summary": "delete_agent(name, req) 异步函数", + "tags": [ + "delete_agent" + ], + "complexity": "simple" + }, + { + "id": "func:_get_session_manager", + "type": "function", + "name": "_get_session_manager", + "filePath": "src/agentkit/server/routes/chat.py", + "layer": "api", + "summary": "_get_session_manager(request) 函数 → SessionManager", + "tags": [ + "_get_session_manager" + ], + "complexity": "simple" + }, + { + "id": "func:_session_to_response", + "type": "function", + "name": "_session_to_response", + "filePath": "src/agentkit/server/routes/chat.py", + "layer": "api", + "summary": "_session_to_response(session) 函数 → SessionResponse", + "tags": [ + "_session_to_response" + ], + "complexity": "simple" + }, + { + "id": "func:_message_to_response", + "type": "function", + "name": "_message_to_response", + "filePath": "src/agentkit/server/routes/chat.py", + "layer": "api", + "summary": "_message_to_response(msg) 函数 → MessageResponse", + "tags": [ + "_message_to_response" + ], + "complexity": "simple" + }, + { + "id": "func:list_sessions", + "type": "function", + "name": "list_sessions", + "filePath": "src/agentkit/server/routes/chat.py", + "layer": "api", + "summary": "list_sessions(req) 异步函数", + "tags": [ + "list_sessions" + ], + "complexity": "simple" + }, + { + "id": "func:create_session", + "type": "function", + "name": "create_session", + "filePath": "src/agentkit/server/routes/chat.py", + "layer": "api", + "summary": "create_session(request, req) 异步函数", + "tags": [ + "create_session" + ], + "complexity": "simple" + }, + { + "id": "func:get_session", + "type": "function", + "name": "get_session", + "filePath": "src/agentkit/server/routes/chat.py", + "layer": "api", + "summary": "get_session(session_id, req) 异步函数", + "tags": [ + "get_session" + ], + "complexity": "simple" + }, + { + "id": "func:get_messages", + "type": "function", + "name": "get_messages", + "filePath": "src/agentkit/server/routes/chat.py", + "layer": "api", + "summary": "get_messages(session_id, req, limit, offset) 异步函数", + "tags": [ + "get_messages" + ], + "complexity": "simple" + }, + { + "id": "func:send_message", + "type": "function", + "name": "send_message", + "filePath": "src/agentkit/server/routes/chat.py", + "layer": "api", + "summary": "send_message(session_id, request, req) 异步函数", + "tags": [ + "send_message" + ], + "complexity": "moderate" + }, + { + "id": "func:close_session", + "type": "function", + "name": "close_session", + "filePath": "src/agentkit/server/routes/chat.py", + "layer": "api", + "summary": "close_session(session_id, req) 异步函数", + "tags": [ + "close_session" + ], + "complexity": "simple" + }, + { + "id": "func:chat_websocket", + "type": "function", + "name": "chat_websocket", + "filePath": "src/agentkit/server/routes/chat.py", + "layer": "api", + "summary": "chat_websocket(websocket, session_id) 异步函数 → None", + "tags": [ + "chat_websocket" + ], + "complexity": "complex" + }, + { + "id": "func:_handle_chat_message", + "type": "function", + "name": "_handle_chat_message", + "filePath": "src/agentkit/server/routes/chat.py", + "layer": "api", + "summary": "_handle_chat_message(websocket, session_id, content, sm, cancellation_token, pending_replies, pending_confirmations) 异步函数 → None", + "tags": [ + "_handle_chat_message" + ], + "complexity": "complex" + }, + { + "id": "func:_get_evolution_store", + "type": "function", + "name": "_get_evolution_store", + "filePath": "src/agentkit/server/routes/evolution.py", + "layer": "api", + "summary": "_get_evolution_store(request) 函数", + "tags": [ + "_get_evolution_store" + ], + "complexity": "simple" + }, + { + "id": "func:list_evolution_events", + "type": "function", + "name": "list_evolution_events", + "filePath": "src/agentkit/server/routes/evolution.py", + "layer": "api", + "summary": "list_evolution_events(agent_name, event_type, limit, offset, req) 异步函数", + "tags": [ + "list_evolution_events" + ], + "complexity": "simple" + }, + { + "id": "func:get_skill_versions", + "type": "function", + "name": "get_skill_versions", + "filePath": "src/agentkit/server/routes/evolution.py", + "layer": "api", + "summary": "get_skill_versions(skill_name, req) 异步函数", + "tags": [ + "get_skill_versions" + ], + "complexity": "simple" + }, + { + "id": "func:trigger_evolution", + "type": "function", + "name": "trigger_evolution", + "filePath": "src/agentkit/server/routes/evolution.py", + "layer": "api", + "summary": "trigger_evolution(request, req) 异步函数", + "tags": [ + "trigger_evolution" + ], + "complexity": "moderate" + }, + { + "id": "func:list_ab_tests", + "type": "function", + "name": "list_ab_tests", + "filePath": "src/agentkit/server/routes/evolution.py", + "layer": "api", + "summary": "list_ab_tests(status, limit, req) 异步函数", + "tags": [ + "list_ab_tests" + ], + "complexity": "complex" + }, + { + "id": "func:_verify_api_key", + "type": "function", + "name": "_verify_api_key", + "filePath": "src/agentkit/server/routes/evolution_dashboard.py", + "layer": "api", + "summary": "_verify_api_key(request, api_key_header, api_key_query) 异步函数 → None", + "tags": [ + "_verify_api_key" + ], + "complexity": "complex" + }, + { + "id": "func:_get_experience_store", + "type": "function", + "name": "_get_experience_store", + "filePath": "src/agentkit/server/routes/evolution_dashboard.py", + "layer": "api", + "summary": "_get_experience_store(request) 函数", + "tags": [ + "_get_experience_store" + ], + "complexity": "simple" + }, + { + "id": "func:_get_pitfall_detector", + "type": "function", + "name": "_get_pitfall_detector", + "filePath": "src/agentkit/server/routes/evolution_dashboard.py", + "layer": "api", + "summary": "_get_pitfall_detector(request) 函数", + "tags": [ + "_get_pitfall_detector" + ], + "complexity": "simple" + }, + { + "id": "func:_get_path_optimizer", + "type": "function", + "name": "_get_path_optimizer", + "filePath": "src/agentkit/server/routes/evolution_dashboard.py", + "layer": "api", + "summary": "_get_path_optimizer(request) 函数", + "tags": [ + "_get_path_optimizer" + ], + "complexity": "simple" + }, + { + "id": "func:list_experiences", + "type": "function", + "name": "list_experiences", + "filePath": "src/agentkit/server/routes/evolution_dashboard.py", + "layer": "api", + "summary": "list_experiences(task_type, outcome, limit, req, _auth) 异步函数", + "tags": [ + "list_experiences" + ], + "complexity": "complex" + }, + { + "id": "func:record_experience", + "type": "function", + "name": "record_experience", + "filePath": "src/agentkit/server/routes/evolution_dashboard.py", + "layer": "api", + "summary": "record_experience(body, req, _auth) 异步函数", + "tags": [ + "record_experience" + ], + "complexity": "simple" + }, + { + "id": "func:get_metrics", + "type": "function", + "name": "get_metrics", + "filePath": "src/agentkit/server/routes/evolution_dashboard.py", + "layer": "api", + "summary": "get_metrics(period, req, _auth) 异步函数", + "tags": [ + "get_metrics" + ], + "complexity": "moderate" + }, + { + "id": "func:_generate_trends", + "type": "function", + "name": "_generate_trends", + "filePath": "src/agentkit/server/routes/evolution_dashboard.py", + "layer": "api", + "summary": "_generate_trends(metrics_list, period) 函数 → Subscript(value=Name(id='list', ctx=Load()), slice=Name(id='dict', ctx=Load()), ctx=Load())", + "tags": [ + "_generate_trends" + ], + "complexity": "moderate" + }, + { + "id": "func:_compute_metrics_from_memory", + "type": "function", + "name": "_compute_metrics_from_memory", + "filePath": "src/agentkit/server/routes/evolution_dashboard.py", + "layer": "api", + "summary": "_compute_metrics_from_memory(period) 函数 → Subscript(value=Name(id='tuple', ctx=Load()), slice=Tuple(elts=[Name(id='dict', ctx=Load()), Subscript(value=Name(id='list', ctx=Load()), slice=Name(id='dict', ctx=Load()), ctx=Load())], ctx=Load()), ctx=Load())", + "tags": [ + "_compute_metrics_from_memory" + ], + "complexity": "moderate" + }, + { + "id": "func:get_usage", + "type": "function", + "name": "get_usage", + "filePath": "src/agentkit/server/routes/evolution_dashboard.py", + "layer": "api", + "summary": "get_usage(period, req, _auth) 异步函数", + "tags": [ + "get_usage" + ], + "complexity": "complex" + }, + { + "id": "func:check_pitfalls", + "type": "function", + "name": "check_pitfalls", + "filePath": "src/agentkit/server/routes/evolution_dashboard.py", + "layer": "api", + "summary": "check_pitfalls(task_type, steps, req, _auth) 异步函数", + "tags": [ + "check_pitfalls" + ], + "complexity": "moderate" + }, + { + "id": "func:list_path_optimizations", + "type": "function", + "name": "list_path_optimizations", + "filePath": "src/agentkit/server/routes/evolution_dashboard.py", + "layer": "api", + "summary": "list_path_optimizations(task_type, limit, req, _auth) 异步函数", + "tags": [ + "list_path_optimizations" + ], + "complexity": "complex" + }, + { + "id": "func:record_path_optimization", + "type": "function", + "name": "record_path_optimization", + "filePath": "src/agentkit/server/routes/evolution_dashboard.py", + "layer": "api", + "summary": "record_path_optimization(body, req, _auth) 异步函数", + "tags": [ + "record_path_optimization" + ], + "complexity": "simple" + }, + { + "id": "func:evolution_dashboard_ws", + "type": "function", + "name": "evolution_dashboard_ws", + "filePath": "src/agentkit/server/routes/evolution_dashboard.py", + "layer": "api", + "summary": "evolution_dashboard_ws(websocket) 异步函数", + "tags": [ + "evolution_dashboard_ws" + ], + "complexity": "complex" + }, + { + "id": "func:_broadcast_event", + "type": "function", + "name": "_broadcast_event", + "filePath": "src/agentkit/server/routes/evolution_dashboard.py", + "layer": "api", + "summary": "_broadcast_event(event_type, data) 异步函数", + "tags": [ + "_broadcast_event" + ], + "complexity": "moderate" + }, + { + "id": "func:health_check", + "type": "function", + "name": "health_check", + "filePath": "src/agentkit/server/routes/health.py", + "layer": "api", + "summary": "health_check(request) 异步函数", + "tags": [ + "health_check" + ], + "complexity": "complex" + }, + { + "id": "func:_verify_api_key", + "type": "function", + "name": "_verify_api_key", + "filePath": "src/agentkit/server/routes/kb_management.py", + "layer": "api", + "summary": "_verify_api_key(request, api_key_header, api_key_query) 异步函数 → None", + "tags": [ + "_verify_api_key" + ], + "complexity": "complex" + }, + { + "id": "func:list_sources", + "type": "function", + "name": "list_sources", + "filePath": "src/agentkit/server/routes/kb_management.py", + "layer": "api", + "summary": "list_sources(req, _auth) 异步函数", + "tags": [ + "list_sources" + ], + "complexity": "simple" + }, + { + "id": "func:add_source", + "type": "function", + "name": "add_source", + "filePath": "src/agentkit/server/routes/kb_management.py", + "layer": "api", + "summary": "add_source(request, req, _auth) 异步函数", + "tags": [ + "add_source" + ], + "complexity": "simple" + }, + { + "id": "func:remove_source", + "type": "function", + "name": "remove_source", + "filePath": "src/agentkit/server/routes/kb_management.py", + "layer": "api", + "summary": "remove_source(source_id, req, _auth) 异步函数", + "tags": [ + "remove_source" + ], + "complexity": "simple" + }, + { + "id": "func:sync_source", + "type": "function", + "name": "sync_source", + "filePath": "src/agentkit/server/routes/kb_management.py", + "layer": "api", + "summary": "sync_source(source_id, _auth) 异步函数", + "tags": [ + "sync_source" + ], + "complexity": "simple" + }, + { + "id": "func:update_source", + "type": "function", + "name": "update_source", + "filePath": "src/agentkit/server/routes/kb_management.py", + "layer": "api", + "summary": "update_source(source_id, data, _auth) 异步函数", + "tags": [ + "update_source" + ], + "complexity": "simple" + }, + { + "id": "func:list_documents", + "type": "function", + "name": "list_documents", + "filePath": "src/agentkit/server/routes/kb_management.py", + "layer": "api", + "summary": "list_documents(source_id, _auth) 异步函数", + "tags": [ + "list_documents" + ], + "complexity": "simple" + }, + { + "id": "func:delete_document", + "type": "function", + "name": "delete_document", + "filePath": "src/agentkit/server/routes/kb_management.py", + "layer": "api", + "summary": "delete_document(document_id, _auth) 异步函数", + "tags": [ + "delete_document" + ], + "complexity": "simple" + }, + { + "id": "func:upload_document", + "type": "function", + "name": "upload_document", + "filePath": "src/agentkit/server/routes/kb_management.py", + "layer": "api", + "summary": "upload_document(req, file, source_id, _auth) 异步函数", + "tags": [ + "upload_document" + ], + "complexity": "complex" + }, + { + "id": "func:search_knowledge", + "type": "function", + "name": "search_knowledge", + "filePath": "src/agentkit/server/routes/kb_management.py", + "layer": "api", + "summary": "search_knowledge(request, req, _auth) 异步函数", + "tags": [ + "search_knowledge" + ], + "complexity": "moderate" + }, + { + "id": "func:check_source_health", + "type": "function", + "name": "check_source_health", + "filePath": "src/agentkit/server/routes/kb_management.py", + "layer": "api", + "summary": "check_source_health(source_id, req, _auth) 异步函数", + "tags": [ + "check_source_health" + ], + "complexity": "simple" + }, + { + "id": "func:get_usage", + "type": "function", + "name": "get_usage", + "filePath": "src/agentkit/server/routes/llm.py", + "layer": "api", + "summary": "get_usage(agent_name, req) 异步函数", + "tags": [ + "get_usage" + ], + "complexity": "simple" + }, + { + "id": "func:_get_memory_retriever", + "type": "function", + "name": "_get_memory_retriever", + "filePath": "src/agentkit/server/routes/memory.py", + "layer": "api", + "summary": "_get_memory_retriever(request) 函数", + "tags": [ + "_get_memory_retriever" + ], + "complexity": "simple" + }, + { + "id": "func:search_episodic_memory", + "type": "function", + "name": "search_episodic_memory", + "filePath": "src/agentkit/server/routes/memory.py", + "layer": "api", + "summary": "search_episodic_memory(query, top_k, agent_name, req) 异步函数", + "tags": [ + "search_episodic_memory" + ], + "complexity": "moderate" + }, + { + "id": "func:search_semantic_memory", + "type": "function", + "name": "search_semantic_memory", + "filePath": "src/agentkit/server/routes/memory.py", + "layer": "api", + "summary": "search_semantic_memory(query, knowledge_base_ids, top_k, req) 异步函数", + "tags": [ + "search_semantic_memory" + ], + "complexity": "moderate" + }, + { + "id": "func:delete_episodic_memory", + "type": "function", + "name": "delete_episodic_memory", + "filePath": "src/agentkit/server/routes/memory.py", + "layer": "api", + "summary": "delete_episodic_memory(key, req) 异步函数", + "tags": [ + "delete_episodic_memory" + ], + "complexity": "moderate" + }, + { + "id": "func:get_metrics", + "type": "function", + "name": "get_metrics", + "filePath": "src/agentkit/server/routes/metrics.py", + "layer": "api", + "summary": "get_metrics(request) 异步函数", + "tags": [ + "get_metrics" + ], + "complexity": "moderate" + }, + { + "id": "func:_verify_api_key", + "type": "function", + "name": "_verify_api_key", + "filePath": "src/agentkit/server/routes/portal.py", + "layer": "api", + "summary": "_verify_api_key(request, api_key_header, api_key_query) 异步函数 → None", + "tags": [ + "_verify_api_key" + ], + "complexity": "complex" + }, + { + "id": "func:_resolve_for_chat", + "type": "function", + "name": "_resolve_for_chat", + "filePath": "src/agentkit/server/routes/portal.py", + "layer": "api", + "summary": "_resolve_for_chat(request, req) 异步函数 → Subscript(value=Name(id='tuple', ctx=Load()), slice=Tuple(elts=[Name(id='Any', ctx=Load()), Name(id='Any', ctx=Load()), BinOp(left=Name(id='str', ctx=Load()), op=BitOr(), right=Constant(value=None)), BinOp(left=Name(id='str', ctx=Load()), op=BitOr(), right=Constant(value=None)), BinOp(left=Name(id='float', ctx=Load()), op=BitOr(), right=Constant(value=None))], ctx=Load()), ctx=Load())", + "tags": [ + "_resolve_for_chat" + ], + "complexity": "moderate" + }, + { + "id": "func:chat", + "type": "function", + "name": "chat", + "filePath": "src/agentkit/server/routes/portal.py", + "layer": "api", + "summary": "chat(request, req, _auth) 异步函数", + "tags": [ + "chat" + ], + "complexity": "moderate" + }, + { + "id": "func:chat_stream", + "type": "function", + "name": "chat_stream", + "filePath": "src/agentkit/server/routes/portal.py", + "layer": "api", + "summary": "chat_stream(request, req, _auth) 异步函数", + "tags": [ + "chat_stream" + ], + "complexity": "moderate" + }, + { + "id": "func:get_capabilities", + "type": "function", + "name": "get_capabilities", + "filePath": "src/agentkit/server/routes/portal.py", + "layer": "api", + "summary": "get_capabilities(req, _auth) 异步函数", + "tags": [ + "get_capabilities" + ], + "complexity": "moderate" + }, + { + "id": "func:list_conversations", + "type": "function", + "name": "list_conversations", + "filePath": "src/agentkit/server/routes/portal.py", + "layer": "api", + "summary": "list_conversations(limit, _auth) 异步函数", + "tags": [ + "list_conversations" + ], + "complexity": "simple" + }, + { + "id": "func:_derive_conversation_title", + "type": "function", + "name": "_derive_conversation_title", + "filePath": "src/agentkit/server/routes/portal.py", + "layer": "api", + "summary": "_derive_conversation_title(conv) 函数 → str", + "tags": [ + "_derive_conversation_title" + ], + "complexity": "moderate" + }, + { + "id": "func:get_conversation", + "type": "function", + "name": "get_conversation", + "filePath": "src/agentkit/server/routes/portal.py", + "layer": "api", + "summary": "get_conversation(conversation_id, limit, _auth) 异步函数", + "tags": [ + "get_conversation" + ], + "complexity": "simple" + }, + { + "id": "func:portal_websocket", + "type": "function", + "name": "portal_websocket", + "filePath": "src/agentkit/server/routes/portal.py", + "layer": "api", + "summary": "portal_websocket(websocket) 异步函数", + "tags": [ + "portal_websocket" + ], + "complexity": "complex" + }, + { + "id": "func:_mask_api_key", + "type": "function", + "name": "_mask_api_key", + "filePath": "src/agentkit/server/routes/settings.py", + "layer": "api", + "summary": "_mask_api_key(key) 函数 → str", + "tags": [ + "_mask_api_key" + ], + "complexity": "simple" + }, + { + "id": "func:_read_yaml_config", + "type": "function", + "name": "_read_yaml_config", + "filePath": "src/agentkit/server/routes/settings.py", + "layer": "api", + "summary": "_read_yaml_config(config_path) 函数 → dict", + "tags": [ + "_read_yaml_config" + ], + "complexity": "simple" + }, + { + "id": "func:_write_yaml_config", + "type": "function", + "name": "_write_yaml_config", + "filePath": "src/agentkit/server/routes/settings.py", + "layer": "api", + "summary": "_write_yaml_config(config_path, data) 函数 → None", + "tags": [ + "_write_yaml_config" + ], + "complexity": "simple" + }, + { + "id": "func:_get_config_path", + "type": "function", + "name": "_get_config_path", + "filePath": "src/agentkit/server/routes/settings.py", + "layer": "api", + "summary": "_get_config_path(request) 函数 → str", + "tags": [ + "_get_config_path" + ], + "complexity": "simple" + }, + { + "id": "func:get_llm_settings", + "type": "function", + "name": "get_llm_settings", + "filePath": "src/agentkit/server/routes/settings.py", + "layer": "api", + "summary": "get_llm_settings(request) 异步函数", + "tags": [ + "get_llm_settings" + ], + "complexity": "moderate" + }, + { + "id": "func:update_llm_settings", + "type": "function", + "name": "update_llm_settings", + "filePath": "src/agentkit/server/routes/settings.py", + "layer": "api", + "summary": "update_llm_settings(request, update) 异步函数", + "tags": [ + "update_llm_settings" + ], + "complexity": "complex" + }, + { + "id": "func:get_skills_settings", + "type": "function", + "name": "get_skills_settings", + "filePath": "src/agentkit/server/routes/settings.py", + "layer": "api", + "summary": "get_skills_settings(request) 异步函数", + "tags": [ + "get_skills_settings" + ], + "complexity": "simple" + }, + { + "id": "func:update_skills_settings", + "type": "function", + "name": "update_skills_settings", + "filePath": "src/agentkit/server/routes/settings.py", + "layer": "api", + "summary": "update_skills_settings(request, update) 异步函数", + "tags": [ + "update_skills_settings" + ], + "complexity": "moderate" + }, + { + "id": "func:get_kb_settings", + "type": "function", + "name": "get_kb_settings", + "filePath": "src/agentkit/server/routes/settings.py", + "layer": "api", + "summary": "get_kb_settings(request) 异步函数", + "tags": [ + "get_kb_settings" + ], + "complexity": "simple" + }, + { + "id": "func:update_kb_settings", + "type": "function", + "name": "update_kb_settings", + "filePath": "src/agentkit/server/routes/settings.py", + "layer": "api", + "summary": "update_kb_settings(request, update) 异步函数", + "tags": [ + "update_kb_settings" + ], + "complexity": "simple" + }, + { + "id": "func:get_general_settings", + "type": "function", + "name": "get_general_settings", + "filePath": "src/agentkit/server/routes/settings.py", + "layer": "api", + "summary": "get_general_settings(request) 异步函数", + "tags": [ + "get_general_settings" + ], + "complexity": "simple" + }, + { + "id": "func:update_general_settings", + "type": "function", + "name": "update_general_settings", + "filePath": "src/agentkit/server/routes/settings.py", + "layer": "api", + "summary": "update_general_settings(request, update) 异步函数", + "tags": [ + "update_general_settings" + ], + "complexity": "complex" + }, + { + "id": "func:_skill_to_info", + "type": "function", + "name": "_skill_to_info", + "filePath": "src/agentkit/server/routes/skill_management.py", + "layer": "api", + "summary": "_skill_to_info(skill) 函数 → Subscript(value=Name(id='dict', ctx=Load()), slice=Tuple(elts=[Name(id='str', ctx=Load()), Name(id='Any', ctx=Load())], ctx=Load()), ctx=Load())", + "tags": [ + "_skill_to_info" + ], + "complexity": "complex" + }, + { + "id": "func:_skill_to_detail", + "type": "function", + "name": "_skill_to_detail", + "filePath": "src/agentkit/server/routes/skill_management.py", + "layer": "api", + "summary": "_skill_to_detail(skill) 函数 → Subscript(value=Name(id='dict', ctx=Load()), slice=Tuple(elts=[Name(id='str', ctx=Load()), Name(id='Any', ctx=Load())], ctx=Load()), ctx=Load())", + "tags": [ + "_skill_to_detail" + ], + "complexity": "simple" + }, + { + "id": "func:list_skills", + "type": "function", + "name": "list_skills", + "filePath": "src/agentkit/server/routes/skill_management.py", + "layer": "api", + "summary": "list_skills(req, capability, page, size) 异步函数", + "tags": [ + "list_skills" + ], + "complexity": "moderate" + }, + { + "id": "func:get_skill_detail", + "type": "function", + "name": "get_skill_detail", + "filePath": "src/agentkit/server/routes/skill_management.py", + "layer": "api", + "summary": "get_skill_detail(skill_name, req) 异步函数", + "tags": [ + "get_skill_detail" + ], + "complexity": "simple" + }, + { + "id": "func:check_skill_health", + "type": "function", + "name": "check_skill_health", + "filePath": "src/agentkit/server/routes/skill_management.py", + "layer": "api", + "summary": "check_skill_health(skill_name, req) 异步函数", + "tags": [ + "check_skill_health" + ], + "complexity": "simple" + }, + { + "id": "func:list_capabilities", + "type": "function", + "name": "list_capabilities", + "filePath": "src/agentkit/server/routes/skill_management.py", + "layer": "api", + "summary": "list_capabilities(req) 异步函数", + "tags": [ + "list_capabilities" + ], + "complexity": "simple" + }, + { + "id": "func:reload_skill", + "type": "function", + "name": "reload_skill", + "filePath": "src/agentkit/server/routes/skill_management.py", + "layer": "api", + "summary": "reload_skill(skill_name, req) 异步函数", + "tags": [ + "reload_skill" + ], + "complexity": "simple" + }, + { + "id": "func:_validate_skill_name", + "type": "function", + "name": "_validate_skill_name", + "filePath": "src/agentkit/server/routes/skills.py", + "layer": "api", + "summary": "_validate_skill_name(name) 函数 → str", + "tags": [ + "_validate_skill_name" + ], + "complexity": "simple" + }, + { + "id": "func:_get_skills_dir", + "type": "function", + "name": "_get_skills_dir", + "filePath": "src/agentkit/server/routes/skills.py", + "layer": "api", + "summary": "_get_skills_dir(req) 函数 → str", + "tags": [ + "_get_skills_dir" + ], + "complexity": "moderate" + }, + { + "id": "func:_validate_source_url", + "type": "function", + "name": "_validate_source_url", + "filePath": "src/agentkit/server/routes/skills.py", + "layer": "api", + "summary": "_validate_source_url(source) 函数 → None", + "tags": [ + "_validate_source_url" + ], + "complexity": "complex" + }, + { + "id": "func:_validate_yaml_content", + "type": "function", + "name": "_validate_yaml_content", + "filePath": "src/agentkit/server/routes/skills.py", + "layer": "api", + "summary": "_validate_yaml_content(content) 函数 → dict", + "tags": [ + "_validate_yaml_content" + ], + "complexity": "moderate" + }, + { + "id": "func:register_skill", + "type": "function", + "name": "register_skill", + "filePath": "src/agentkit/server/routes/skills.py", + "layer": "api", + "summary": "register_skill(request, req) 异步函数", + "tags": [ + "register_skill" + ], + "complexity": "simple" + }, + { + "id": "func:list_skills", + "type": "function", + "name": "list_skills", + "filePath": "src/agentkit/server/routes/skills.py", + "layer": "api", + "summary": "list_skills(req) 异步函数", + "tags": [ + "list_skills" + ], + "complexity": "moderate" + }, + { + "id": "func:install_skill", + "type": "function", + "name": "install_skill", + "filePath": "src/agentkit/server/routes/skills.py", + "layer": "api", + "summary": "install_skill(request, req) 异步函数", + "tags": [ + "install_skill" + ], + "complexity": "complex" + }, + { + "id": "func:uninstall_skill", + "type": "function", + "name": "uninstall_skill", + "filePath": "src/agentkit/server/routes/skills.py", + "layer": "api", + "summary": "uninstall_skill(name, req) 异步函数", + "tags": [ + "uninstall_skill" + ], + "complexity": "moderate" + }, + { + "id": "func:create_pipeline", + "type": "function", + "name": "create_pipeline", + "filePath": "src/agentkit/server/routes/skills.py", + "layer": "api", + "summary": "create_pipeline(request, req) 异步函数", + "tags": [ + "create_pipeline" + ], + "complexity": "simple" + }, + { + "id": "func:list_pipelines", + "type": "function", + "name": "list_pipelines", + "filePath": "src/agentkit/server/routes/skills.py", + "layer": "api", + "summary": "list_pipelines(req) 异步函数", + "tags": [ + "list_pipelines" + ], + "complexity": "simple" + }, + { + "id": "func:execute_pipeline", + "type": "function", + "name": "execute_pipeline", + "filePath": "src/agentkit/server/routes/skills.py", + "layer": "api", + "summary": "execute_pipeline(name, request, req) 异步函数", + "tags": [ + "execute_pipeline" + ], + "complexity": "simple" + }, + { + "id": "func:_validate_input_size", + "type": "function", + "name": "_validate_input_size", + "filePath": "src/agentkit/server/routes/tasks.py", + "layer": "api", + "summary": "_validate_input_size(input_data) 函数 → None", + "tags": [ + "_validate_input_size" + ], + "complexity": "simple" + }, + { + "id": "func:list_tasks", + "type": "function", + "name": "list_tasks", + "filePath": "src/agentkit/server/routes/tasks.py", + "layer": "api", + "summary": "list_tasks(status, limit, req) 异步函数", + "tags": [ + "list_tasks" + ], + "complexity": "simple" + }, + { + "id": "func:submit_task", + "type": "function", + "name": "submit_task", + "filePath": "src/agentkit/server/routes/tasks.py", + "layer": "api", + "summary": "submit_task(request, req) 异步函数", + "tags": [ + "submit_task" + ], + "complexity": "complex" + }, + { + "id": "func:get_task_status", + "type": "function", + "name": "get_task_status", + "filePath": "src/agentkit/server/routes/tasks.py", + "layer": "api", + "summary": "get_task_status(task_id, req) 异步函数", + "tags": [ + "get_task_status" + ], + "complexity": "simple" + }, + { + "id": "func:cancel_task", + "type": "function", + "name": "cancel_task", + "filePath": "src/agentkit/server/routes/tasks.py", + "layer": "api", + "summary": "cancel_task(task_id, req) 异步函数", + "tags": [ + "cancel_task" + ], + "complexity": "moderate" + }, + { + "id": "func:stream_task", + "type": "function", + "name": "stream_task", + "filePath": "src/agentkit/server/routes/tasks.py", + "layer": "api", + "summary": "stream_task(request, req) 异步函数", + "tags": [ + "stream_task" + ], + "complexity": "complex" + }, + { + "id": "func:_get_or_create_session", + "type": "function", + "name": "_get_or_create_session", + "filePath": "src/agentkit/server/routes/terminal.py", + "layer": "api", + "summary": "_get_or_create_session(session_id) 函数 → TerminalSessionState", + "tags": [ + "_get_or_create_session" + ], + "complexity": "moderate" + }, + { + "id": "func:_cleanup_session", + "type": "function", + "name": "_cleanup_session", + "filePath": "src/agentkit/server/routes/terminal.py", + "layer": "api", + "summary": "_cleanup_session(session_id) 函数 → None", + "tags": [ + "_cleanup_session" + ], + "complexity": "moderate" + }, + { + "id": "func:_is_single_command_dangerous", + "type": "function", + "name": "_is_single_command_dangerous", + "filePath": "src/agentkit/server/routes/terminal.py", + "layer": "api", + "summary": "_is_single_command_dangerous(command) 函数 → bool", + "tags": [ + "_is_single_command_dangerous" + ], + "complexity": "complex" + }, + { + "id": "func:_is_dangerous", + "type": "function", + "name": "_is_dangerous", + "filePath": "src/agentkit/server/routes/terminal.py", + "layer": "api", + "summary": "_is_dangerous(command) 函数 → bool", + "tags": [ + "_is_dangerous" + ], + "complexity": "moderate" + }, + { + "id": "func:_check_command_safety", + "type": "function", + "name": "_check_command_safety", + "filePath": "src/agentkit/server/routes/terminal.py", + "layer": "api", + "summary": "_check_command_safety(command, session_id) 函数 → Subscript(value=Name(id='dict', ctx=Load()), slice=Tuple(elts=[Name(id='str', ctx=Load()), Name(id='Any', ctx=Load())], ctx=Load()), ctx=Load())", + "tags": [ + "_check_command_safety" + ], + "complexity": "moderate" + }, + { + "id": "func:execute_command", + "type": "function", + "name": "execute_command", + "filePath": "src/agentkit/server/routes/terminal.py", + "layer": "api", + "summary": "execute_command(request) 异步函数", + "tags": [ + "execute_command" + ], + "complexity": "complex" + }, + { + "id": "func:list_sessions", + "type": "function", + "name": "list_sessions", + "filePath": "src/agentkit/server/routes/terminal.py", + "layer": "api", + "summary": "list_sessions() 异步函数", + "tags": [ + "list_sessions" + ], + "complexity": "simple" + }, + { + "id": "func:get_session_history", + "type": "function", + "name": "get_session_history", + "filePath": "src/agentkit/server/routes/terminal.py", + "layer": "api", + "summary": "get_session_history(session_id, limit, offset) 异步函数", + "tags": [ + "get_session_history" + ], + "complexity": "simple" + }, + { + "id": "func:close_session", + "type": "function", + "name": "close_session", + "filePath": "src/agentkit/server/routes/terminal.py", + "layer": "api", + "summary": "close_session(session_id) 异步函数", + "tags": [ + "close_session" + ], + "complexity": "simple" + }, + { + "id": "func:terminal_websocket", + "type": "function", + "name": "terminal_websocket", + "filePath": "src/agentkit/server/routes/terminal.py", + "layer": "api", + "summary": "terminal_websocket(websocket) 异步函数 → None", + "tags": [ + "terminal_websocket" + ], + "complexity": "complex" + }, + { + "id": "func:_verify_api_key", + "type": "function", + "name": "_verify_api_key", + "filePath": "src/agentkit/server/routes/workflows.py", + "layer": "api", + "summary": "_verify_api_key(request, api_key_header, api_key_query) 异步函数 → None", + "tags": [ + "_verify_api_key" + ], + "complexity": "complex" + }, + { + "id": "func:_ws_subscribe", + "type": "function", + "name": "_ws_subscribe", + "filePath": "src/agentkit/server/routes/workflows.py", + "layer": "api", + "summary": "_ws_subscribe(execution_id, ws) 异步函数 → None", + "tags": [ + "_ws_subscribe" + ], + "complexity": "simple" + }, + { + "id": "func:_ws_unsubscribe", + "type": "function", + "name": "_ws_unsubscribe", + "filePath": "src/agentkit/server/routes/workflows.py", + "layer": "api", + "summary": "_ws_unsubscribe(execution_id, ws) 异步函数 → None", + "tags": [ + "_ws_unsubscribe" + ], + "complexity": "simple" + }, + { + "id": "func:_get_store", + "type": "function", + "name": "_get_store", + "filePath": "src/agentkit/server/routes/workflows.py", + "layer": "api", + "summary": "_get_store(request) 函数 → WorkflowStore", + "tags": [ + "_get_store" + ], + "complexity": "simple" + }, + { + "id": "func:_validate_workflow_stages", + "type": "function", + "name": "_validate_workflow_stages", + "filePath": "src/agentkit/server/routes/workflows.py", + "layer": "api", + "summary": "_validate_workflow_stages(stages) 函数 → None", + "tags": [ + "_validate_workflow_stages" + ], + "complexity": "complex" + }, + { + "id": "func:_execute_workflow", + "type": "function", + "name": "_execute_workflow", + "filePath": "src/agentkit/server/routes/workflows.py", + "layer": "api", + "summary": "_execute_workflow(workflow, execution, variables, store, skill_registry) 异步函数 → None", + "tags": [ + "_execute_workflow" + ], + "complexity": "complex" + }, + { + "id": "func:_evaluate_condition", + "type": "function", + "name": "_evaluate_condition", + "filePath": "src/agentkit/server/routes/workflows.py", + "layer": "api", + "summary": "_evaluate_condition(expression, variables) 函数 → bool", + "tags": [ + "_evaluate_condition" + ], + "complexity": "complex" + }, + { + "id": "func:_broadcast_ws", + "type": "function", + "name": "_broadcast_ws", + "filePath": "src/agentkit/server/routes/workflows.py", + "layer": "api", + "summary": "_broadcast_ws(message, execution_id) 异步函数 → None", + "tags": [ + "_broadcast_ws" + ], + "complexity": "complex" + }, + { + "id": "func:list_workflows", + "type": "function", + "name": "list_workflows", + "filePath": "src/agentkit/server/routes/workflows.py", + "layer": "api", + "summary": "list_workflows(request, limit, _auth) 异步函数", + "tags": [ + "list_workflows" + ], + "complexity": "simple" + }, + { + "id": "func:create_workflow", + "type": "function", + "name": "create_workflow", + "filePath": "src/agentkit/server/routes/workflows.py", + "layer": "api", + "summary": "create_workflow(request, body, _auth) 异步函数", + "tags": [ + "create_workflow" + ], + "complexity": "simple" + }, + { + "id": "func:get_workflow", + "type": "function", + "name": "get_workflow", + "filePath": "src/agentkit/server/routes/workflows.py", + "layer": "api", + "summary": "get_workflow(request, workflow_id, _auth) 异步函数", + "tags": [ + "get_workflow" + ], + "complexity": "simple" + }, + { + "id": "func:list_workflow_executions", + "type": "function", + "name": "list_workflow_executions", + "filePath": "src/agentkit/server/routes/workflows.py", + "layer": "api", + "summary": "list_workflow_executions(request, workflow_id, limit, offset, _auth) 异步函数", + "tags": [ + "list_workflow_executions" + ], + "complexity": "simple" + }, + { + "id": "func:update_workflow", + "type": "function", + "name": "update_workflow", + "filePath": "src/agentkit/server/routes/workflows.py", + "layer": "api", + "summary": "update_workflow(request, workflow_id, body, _auth) 异步函数", + "tags": [ + "update_workflow" + ], + "complexity": "simple" + }, + { + "id": "func:delete_workflow", + "type": "function", + "name": "delete_workflow", + "filePath": "src/agentkit/server/routes/workflows.py", + "layer": "api", + "summary": "delete_workflow(request, workflow_id, _auth) 异步函数", + "tags": [ + "delete_workflow" + ], + "complexity": "simple" + }, + { + "id": "func:execute_workflow", + "type": "function", + "name": "execute_workflow", + "filePath": "src/agentkit/server/routes/workflows.py", + "layer": "api", + "summary": "execute_workflow(request, workflow_id, body, _auth) 异步函数", + "tags": [ + "execute_workflow" + ], + "complexity": "simple" + }, + { + "id": "func:get_execution", + "type": "function", + "name": "get_execution", + "filePath": "src/agentkit/server/routes/workflows.py", + "layer": "api", + "summary": "get_execution(request, execution_id, _auth) 异步函数", + "tags": [ + "get_execution" + ], + "complexity": "simple" + }, + { + "id": "func:approve_execution", + "type": "function", + "name": "approve_execution", + "filePath": "src/agentkit/server/routes/workflows.py", + "layer": "api", + "summary": "approve_execution(request, execution_id, body, _auth) 异步函数", + "tags": [ + "approve_execution" + ], + "complexity": "complex" + }, + { + "id": "func:cancel_execution", + "type": "function", + "name": "cancel_execution", + "filePath": "src/agentkit/server/routes/workflows.py", + "layer": "api", + "summary": "cancel_execution(request, execution_id, _auth) 异步函数", + "tags": [ + "cancel_execution" + ], + "complexity": "moderate" + }, + { + "id": "func:workflow_websocket", + "type": "function", + "name": "workflow_websocket", + "filePath": "src/agentkit/server/routes/workflows.py", + "layer": "api", + "summary": "workflow_websocket(websocket) 异步函数", + "tags": [ + "workflow_websocket" + ], + "complexity": "complex" + }, + { + "id": "func:_authenticate", + "type": "function", + "name": "_authenticate", + "filePath": "src/agentkit/server/routes/ws.py", + "layer": "api", + "summary": "_authenticate(websocket, api_key) 函数 → bool", + "tags": [ + "_authenticate" + ], + "complexity": "simple" + }, + { + "id": "func:task_websocket", + "type": "function", + "name": "task_websocket", + "filePath": "src/agentkit/server/routes/ws.py", + "layer": "api", + "summary": "task_websocket(websocket, task_id) 异步函数 → None", + "tags": [ + "task_websocket" + ], + "complexity": "complex" + }, + { + "id": "func:_resolve_agent", + "type": "function", + "name": "_resolve_agent", + "filePath": "src/agentkit/server/routes/ws.py", + "layer": "api", + "summary": "_resolve_agent(websocket, _task_id) 函数", + "tags": [ + "_resolve_agent" + ], + "complexity": "simple" + }, + { + "id": "func:_run_react_and_stream", + "type": "function", + "name": "_run_react_and_stream", + "filePath": "src/agentkit/server/routes/ws.py", + "layer": "api", + "summary": "_run_react_and_stream(websocket, task_id, agent, cancellation_token) 异步函数 → None", + "tags": [ + "_run_react_and_stream" + ], + "complexity": "simple" + }, + { + "id": "func:_listen_client_messages", + "type": "function", + "name": "_listen_client_messages", + "filePath": "src/agentkit/server/routes/ws.py", + "layer": "api", + "summary": "_listen_client_messages(websocket, task_id, cancellation_token, _exec_task) 异步函数 → None", + "tags": [ + "_listen_client_messages" + ], + "complexity": "complex" + }, + { + "id": "func:create_task_store", + "type": "function", + "name": "create_task_store", + "filePath": "src/agentkit/server/task_store.py", + "layer": "api", + "summary": "create_task_store(backend, redis_url, ttl_seconds, max_records) 函数 → BinOp(left=Name(id='InMemoryTaskStore', ctx=Load()), op=BitOr(), right=Name(id='RedisTaskStore', ctx=Load()))", + "tags": [ + "create_task_store" + ], + "complexity": "simple" + }, + { + "id": "func:_sanitize_redis_url", + "type": "function", + "name": "_sanitize_redis_url", + "filePath": "src/agentkit/server/task_store.py", + "layer": "api", + "summary": "_sanitize_redis_url(url) 函数 → str", + "tags": [ + "_sanitize_redis_url" + ], + "complexity": "simple" + }, + { + "id": "func:create_session_store", + "type": "function", + "name": "create_session_store", + "filePath": "src/agentkit/session/store.py", + "layer": "data", + "summary": "create_session_store(backend, redis_url, ttl_seconds, data_dir) 函数 → BinOp(left=BinOp(left=Name(id='InMemorySessionStore', ctx=Load()), op=BitOr(), right=Name(id='RedisSessionStore', ctx=Load())), op=BitOr(), right=Name(id='FileSessionStore', ctx=Load()))", + "tags": [ + "create_session_store" + ], + "complexity": "moderate" + }, + { + "id": "func:create_geo_pipeline_steps", + "type": "function", + "name": "create_geo_pipeline_steps", + "filePath": "src/agentkit/skills/geo_pipeline.py", + "layer": "service", + "summary": "create_geo_pipeline_steps() 函数 → Subscript(value=Name(id='list', ctx=Load()), slice=Name(id='PipelineStep', ctx=Load()), ctx=Load())", + "tags": [ + "create_geo_pipeline_steps" + ], + "complexity": "simple" + }, + { + "id": "func:get_meter", + "type": "function", + "name": "get_meter", + "filePath": "src/agentkit/telemetry/metrics.py", + "layer": "utility", + "summary": "get_meter(name) 函数", + "tags": [ + "get_meter" + ], + "complexity": "simple" + }, + { + "id": "func:_get_counter", + "type": "function", + "name": "_get_counter", + "filePath": "src/agentkit/telemetry/metrics.py", + "layer": "utility", + "summary": "_get_counter(name, description, unit) 函数", + "tags": [ + "_get_counter" + ], + "complexity": "simple" + }, + { + "id": "func:_get_histogram", + "type": "function", + "name": "_get_histogram", + "filePath": "src/agentkit/telemetry/metrics.py", + "layer": "utility", + "summary": "_get_histogram(name, description, unit) 函数", + "tags": [ + "_get_histogram" + ], + "complexity": "simple" + }, + { + "id": "func:agent_request_counter", + "type": "function", + "name": "agent_request_counter", + "filePath": "src/agentkit/telemetry/metrics.py", + "layer": "utility", + "summary": "agent_request_counter() 函数", + "tags": [ + "agent_request_counter" + ], + "complexity": "simple" + }, + { + "id": "func:agent_duration_histogram", + "type": "function", + "name": "agent_duration_histogram", + "filePath": "src/agentkit/telemetry/metrics.py", + "layer": "utility", + "summary": "agent_duration_histogram() 函数", + "tags": [ + "agent_duration_histogram" + ], + "complexity": "simple" + }, + { + "id": "func:llm_token_histogram", + "type": "function", + "name": "llm_token_histogram", + "filePath": "src/agentkit/telemetry/metrics.py", + "layer": "utility", + "summary": "llm_token_histogram() 函数", + "tags": [ + "llm_token_histogram" + ], + "complexity": "simple" + }, + { + "id": "func:tool_duration_histogram", + "type": "function", + "name": "tool_duration_histogram", + "filePath": "src/agentkit/telemetry/metrics.py", + "layer": "utility", + "summary": "tool_duration_histogram() 函数", + "tags": [ + "tool_duration_histogram" + ], + "complexity": "simple" + }, + { + "id": "func:pipeline_step_histogram", + "type": "function", + "name": "pipeline_step_histogram", + "filePath": "src/agentkit/telemetry/metrics.py", + "layer": "utility", + "summary": "pipeline_step_histogram() 函数", + "tags": [ + "pipeline_step_histogram" + ], + "complexity": "simple" + }, + { + "id": "func:setup_telemetry", + "type": "function", + "name": "setup_telemetry", + "filePath": "src/agentkit/telemetry/setup.py", + "layer": "utility", + "summary": "setup_telemetry(app, config) 函数", + "tags": [ + "setup_telemetry" + ], + "complexity": "complex" + }, + { + "id": "func:get_tracer", + "type": "function", + "name": "get_tracer", + "filePath": "src/agentkit/telemetry/tracer.py", + "layer": "utility", + "summary": "get_tracer() 函数 → BinOp(left=Name(id='NoOpTracer', ctx=Load()), op=BitOr(), right=Name(id='OTelTracer', ctx=Load()))", + "tags": [ + "get_tracer" + ], + "complexity": "simple" + }, + { + "id": "func:init_telemetry", + "type": "function", + "name": "init_telemetry", + "filePath": "src/agentkit/telemetry/tracer.py", + "layer": "utility", + "summary": "init_telemetry(config) 函数 → None", + "tags": [ + "init_telemetry" + ], + "complexity": "moderate" + }, + { + "id": "func:get_tracer", + "type": "function", + "name": "get_tracer", + "filePath": "src/agentkit/telemetry/tracing.py", + "layer": "utility", + "summary": "get_tracer(name) 函数", + "tags": [ + "get_tracer" + ], + "complexity": "simple" + }, + { + "id": "func:start_span", + "type": "function", + "name": "start_span", + "filePath": "src/agentkit/telemetry/tracing.py", + "layer": "utility", + "summary": "start_span(name, kind, attributes) 函数", + "tags": [ + "start_span" + ], + "complexity": "moderate" + }, + { + "id": "func:trace_agent", + "type": "function", + "name": "trace_agent", + "filePath": "src/agentkit/telemetry/tracing.py", + "layer": "utility", + "summary": "trace_agent(agent_name, agent_type) 函数", + "tags": [ + "trace_agent" + ], + "complexity": "simple" + }, + { + "id": "func:trace_tool", + "type": "function", + "name": "trace_tool", + "filePath": "src/agentkit/telemetry/tracing.py", + "layer": "utility", + "summary": "trace_tool(tool_name) 函数", + "tags": [ + "trace_tool" + ], + "complexity": "simple" + }, + { + "id": "func:trace_llm", + "type": "function", + "name": "trace_llm", + "filePath": "src/agentkit/telemetry/tracing.py", + "layer": "utility", + "summary": "trace_llm(provider, model) 函数", + "tags": [ + "trace_llm" + ], + "complexity": "moderate" + }, + { + "id": "func:trace_pipeline_step", + "type": "function", + "name": "trace_pipeline_step", + "filePath": "src/agentkit/telemetry/tracing.py", + "layer": "utility", + "summary": "trace_pipeline_step(pipeline_name, step_name) 函数", + "tags": [ + "trace_pipeline_step" + ], + "complexity": "simple" + }, + { + "id": "func:is_safe_url", + "type": "function", + "name": "is_safe_url", + "filePath": "src/agentkit/utils/security.py", + "layer": "unknown", + "summary": "is_safe_url(url) 函数 → bool", + "tags": [ + "is_safe_url" + ], + "complexity": "complex" + }, + { + "id": "func:_is_unsafe_ip", + "type": "function", + "name": "_is_unsafe_ip", + "filePath": "src/agentkit/utils/security.py", + "layer": "unknown", + "summary": "_is_unsafe_ip(ip) 函数 → bool", + "tags": [ + "_is_unsafe_ip" + ], + "complexity": "moderate" + }, + { + "id": "func:is_safe_url_async", + "type": "function", + "name": "is_safe_url_async", + "filePath": "src/agentkit/utils/security.py", + "layer": "unknown", + "summary": "is_safe_url_async(url) 异步函数 → bool", + "tags": [ + "is_safe_url_async" + ], + "complexity": "complex" + }, + { + "id": "func:compute_cosine_similarity", + "type": "function", + "name": "compute_cosine_similarity", + "filePath": "src/agentkit/utils/vector_math.py", + "layer": "unknown", + "summary": "compute_cosine_similarity(vec_a, vec_b) 函数 → float", + "tags": [ + "compute_cosine_similarity" + ], + "complexity": "moderate" + } + ], + "edges": [ + { + "id": "edge:717a9967", + "source": "file:src/agentkit/bus/interface.py", + "target": "class:MessageBus", + "type": "contains", + "label": "定义类 MessageBus" + }, + { + "id": "edge:19af7bc4", + "source": "class:MessageBus", + "target": "func:MessageBus.publish", + "type": "contains", + "label": "方法 publish" + }, + { + "id": "edge:02fe14c0", + "source": "class:MessageBus", + "target": "func:MessageBus.subscribe", + "type": "contains", + "label": "方法 subscribe" + }, + { + "id": "edge:63c58fa4", + "source": "class:MessageBus", + "target": "func:MessageBus.unsubscribe", + "type": "contains", + "label": "方法 unsubscribe" + }, + { + "id": "edge:1c008fc6", + "source": "class:MessageBus", + "target": "func:MessageBus.request", + "type": "contains", + "label": "方法 request" + }, + { + "id": "edge:d4b99660", + "source": "file:src/agentkit/bus/memory_bus.py", + "target": "class:InMemoryMessageBus", + "type": "contains", + "label": "定义类 InMemoryMessageBus" + }, + { + "id": "edge:d23bcf14", + "source": "class:InMemoryMessageBus", + "target": "func:InMemoryMessageBus.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:1677c696", + "source": "class:InMemoryMessageBus", + "target": "func:InMemoryMessageBus.publish", + "type": "contains", + "label": "方法 publish" + }, + { + "id": "edge:f77af9dc", + "source": "class:InMemoryMessageBus", + "target": "func:InMemoryMessageBus.subscribe", + "type": "contains", + "label": "方法 subscribe" + }, + { + "id": "edge:7e81d148", + "source": "class:InMemoryMessageBus", + "target": "func:InMemoryMessageBus._consume_queue", + "type": "contains", + "label": "方法 _consume_queue" + }, + { + "id": "edge:e98e5e70", + "source": "class:InMemoryMessageBus", + "target": "func:InMemoryMessageBus._try_resolve_pending", + "type": "contains", + "label": "方法 _try_resolve_pending" + }, + { + "id": "edge:1f0f1fc1", + "source": "class:InMemoryMessageBus", + "target": "func:InMemoryMessageBus.unsubscribe", + "type": "contains", + "label": "方法 unsubscribe" + }, + { + "id": "edge:b159a8db", + "source": "class:InMemoryMessageBus", + "target": "func:InMemoryMessageBus.request", + "type": "contains", + "label": "方法 request" + }, + { + "id": "edge:d64e8898", + "source": "class:InMemoryMessageBus", + "target": "func:InMemoryMessageBus.broadcast", + "type": "contains", + "label": "方法 broadcast" + }, + { + "id": "edge:7666bb10", + "source": "class:InMemoryMessageBus", + "target": "func:InMemoryMessageBus.health_check", + "type": "contains", + "label": "方法 health_check" + }, + { + "id": "edge:9c736677", + "source": "class:InMemoryMessageBus", + "target": "func:InMemoryMessageBus.backend_type", + "type": "contains", + "label": "方法 backend_type" + }, + { + "id": "edge:a2b8fbf5", + "source": "file:src/agentkit/bus/message.py", + "target": "class:AgentMessage", + "type": "contains", + "label": "定义类 AgentMessage" + }, + { + "id": "edge:069895ee", + "source": "class:AgentMessage", + "target": "func:AgentMessage.is_expired", + "type": "contains", + "label": "方法 is_expired" + }, + { + "id": "edge:6e6c3b83", + "source": "class:AgentMessage", + "target": "func:AgentMessage.is_broadcast", + "type": "contains", + "label": "方法 is_broadcast" + }, + { + "id": "edge:1e0f779b", + "source": "class:AgentMessage", + "target": "func:AgentMessage.to_dict", + "type": "contains", + "label": "方法 to_dict" + }, + { + "id": "edge:5c7d1d92", + "source": "class:AgentMessage", + "target": "func:AgentMessage.from_dict", + "type": "contains", + "label": "方法 from_dict" + }, + { + "id": "edge:bd5469ec", + "source": "file:src/agentkit/bus/protocol.py", + "target": "class:MessageBus", + "type": "contains", + "label": "定义类 MessageBus" + }, + { + "id": "edge:220ba1a9", + "source": "class:MessageBus", + "target": "func:MessageBus.publish", + "type": "contains", + "label": "方法 publish" + }, + { + "id": "edge:2a58836b", + "source": "class:MessageBus", + "target": "func:MessageBus.subscribe", + "type": "contains", + "label": "方法 subscribe" + }, + { + "id": "edge:10d4ca9f", + "source": "class:MessageBus", + "target": "func:MessageBus.unsubscribe", + "type": "contains", + "label": "方法 unsubscribe" + }, + { + "id": "edge:b97acfb1", + "source": "class:MessageBus", + "target": "func:MessageBus.request", + "type": "contains", + "label": "方法 request" + }, + { + "id": "edge:eedaffe0", + "source": "class:MessageBus", + "target": "func:MessageBus.broadcast", + "type": "contains", + "label": "方法 broadcast" + }, + { + "id": "edge:67f603c5", + "source": "class:MessageBus", + "target": "func:MessageBus.health_check", + "type": "contains", + "label": "方法 health_check" + }, + { + "id": "edge:4d14c6ea", + "source": "file:src/agentkit/bus/redis_bus.py", + "target": "class:RedisMessageBus", + "type": "contains", + "label": "定义类 RedisMessageBus" + }, + { + "id": "edge:1e0f868b", + "source": "class:RedisMessageBus", + "target": "func:RedisMessageBus.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:737229fe", + "source": "class:RedisMessageBus", + "target": "func:RedisMessageBus._get_redis", + "type": "contains", + "label": "方法 _get_redis" + }, + { + "id": "edge:df9d2472", + "source": "class:RedisMessageBus", + "target": "func:RedisMessageBus._stream_key", + "type": "contains", + "label": "方法 _stream_key" + }, + { + "id": "edge:a5d01203", + "source": "class:RedisMessageBus", + "target": "func:RedisMessageBus._dead_letter_key", + "type": "contains", + "label": "方法 _dead_letter_key" + }, + { + "id": "edge:3583e0c5", + "source": "class:RedisMessageBus", + "target": "func:RedisMessageBus.publish", + "type": "contains", + "label": "方法 publish" + }, + { + "id": "edge:fd01ee0a", + "source": "class:RedisMessageBus", + "target": "func:RedisMessageBus.subscribe", + "type": "contains", + "label": "方法 subscribe" + }, + { + "id": "edge:b41ac432", + "source": "class:RedisMessageBus", + "target": "func:RedisMessageBus._consume_stream", + "type": "contains", + "label": "方法 _consume_stream" + }, + { + "id": "edge:30a50791", + "source": "class:RedisMessageBus", + "target": "func:RedisMessageBus._handle_failed_message", + "type": "contains", + "label": "方法 _handle_failed_message" + }, + { + "id": "edge:840cf12e", + "source": "class:RedisMessageBus", + "target": "func:RedisMessageBus.unsubscribe", + "type": "contains", + "label": "方法 unsubscribe" + }, + { + "id": "edge:6f9ea6af", + "source": "class:RedisMessageBus", + "target": "func:RedisMessageBus.request", + "type": "contains", + "label": "方法 request" + }, + { + "id": "edge:f86136fa", + "source": "class:RedisMessageBus", + "target": "func:RedisMessageBus.broadcast", + "type": "contains", + "label": "方法 broadcast" + }, + { + "id": "edge:8ccb888e", + "source": "class:RedisMessageBus", + "target": "func:RedisMessageBus.health_check", + "type": "contains", + "label": "方法 health_check" + }, + { + "id": "edge:127614f2", + "source": "class:RedisMessageBus", + "target": "func:RedisMessageBus.backend_type", + "type": "contains", + "label": "方法 backend_type" + }, + { + "id": "edge:8390f5e9", + "source": "file:src/agentkit/chat/skill_routing.py", + "target": "class:ExecutionMode", + "type": "contains", + "label": "定义类 ExecutionMode" + }, + { + "id": "edge:86faf6ab", + "source": "file:src/agentkit/chat/skill_routing.py", + "target": "class:SkillRoutingResult", + "type": "contains", + "label": "定义类 SkillRoutingResult" + }, + { + "id": "edge:3192daef", + "source": "file:src/agentkit/chat/skill_routing.py", + "target": "class:HeuristicClassifier", + "type": "contains", + "label": "定义类 HeuristicClassifier" + }, + { + "id": "edge:e052dbdd", + "source": "class:HeuristicClassifier", + "target": "func:HeuristicClassifier.classify", + "type": "contains", + "label": "方法 classify" + }, + { + "id": "edge:0284fbdf", + "source": "file:src/agentkit/chat/skill_routing.py", + "target": "class:CostAwareRouter", + "type": "contains", + "label": "定义类 CostAwareRouter" + }, + { + "id": "edge:f66b7c62", + "source": "class:CostAwareRouter", + "target": "func:CostAwareRouter.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:d03386e3", + "source": "class:CostAwareRouter", + "target": "func:CostAwareRouter._match_layer0", + "type": "contains", + "label": "方法 _match_layer0" + }, + { + "id": "edge:e8217584", + "source": "class:CostAwareRouter", + "target": "func:CostAwareRouter.quick_classify", + "type": "contains", + "label": "方法 quick_classify" + }, + { + "id": "edge:52fafce5", + "source": "class:CostAwareRouter", + "target": "func:CostAwareRouter._classify_merged", + "type": "contains", + "label": "方法 _classify_merged" + }, + { + "id": "edge:a4c1a077", + "source": "class:CostAwareRouter", + "target": "func:CostAwareRouter._route_layer2", + "type": "contains", + "label": "方法 _route_layer2" + }, + { + "id": "edge:6a2e99e5", + "source": "class:CostAwareRouter", + "target": "func:CostAwareRouter.route", + "type": "contains", + "label": "方法 route" + }, + { + "id": "edge:6fc0e0c8", + "source": "file:src/agentkit/core/agent_pool.py", + "target": "class:AgentPool", + "type": "contains", + "label": "定义类 AgentPool" + }, + { + "id": "edge:f41bd1b1", + "source": "class:AgentPool", + "target": "func:AgentPool.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:58128fdc", + "source": "class:AgentPool", + "target": "func:AgentPool.create_agent", + "type": "contains", + "label": "方法 create_agent" + }, + { + "id": "edge:ac347f10", + "source": "class:AgentPool", + "target": "func:AgentPool.remove_agent", + "type": "contains", + "label": "方法 remove_agent" + }, + { + "id": "edge:d4aa17be", + "source": "class:AgentPool", + "target": "func:AgentPool.get_agent", + "type": "contains", + "label": "方法 get_agent" + }, + { + "id": "edge:0f0b8b53", + "source": "class:AgentPool", + "target": "func:AgentPool.list_agents", + "type": "contains", + "label": "方法 list_agents" + }, + { + "id": "edge:fabbfd04", + "source": "class:AgentPool", + "target": "func:AgentPool.create_agent_from_skill", + "type": "contains", + "label": "方法 create_agent_from_skill" + }, + { + "id": "edge:4e4825fc", + "source": "file:src/agentkit/core/base.py", + "target": "class:BaseAgent", + "type": "contains", + "label": "定义类 BaseAgent" + }, + { + "id": "edge:77e1df27", + "source": "class:BaseAgent", + "target": "func:BaseAgent.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:41281374", + "source": "class:BaseAgent", + "target": "func:BaseAgent.status", + "type": "contains", + "label": "方法 status" + }, + { + "id": "edge:8b8ee391", + "source": "class:BaseAgent", + "target": "func:BaseAgent.config_version", + "type": "contains", + "label": "方法 config_version" + }, + { + "id": "edge:3b28af12", + "source": "class:BaseAgent", + "target": "func:BaseAgent.is_distributed", + "type": "contains", + "label": "方法 is_distributed" + }, + { + "id": "edge:3002e08e", + "source": "class:BaseAgent", + "target": "func:BaseAgent._acquire_status_lock", + "type": "contains", + "label": "方法 _acquire_status_lock" + }, + { + "id": "edge:474f21e5", + "source": "class:BaseAgent", + "target": "func:BaseAgent._release_status_lock", + "type": "contains", + "label": "方法 _release_status_lock" + }, + { + "id": "edge:6039df9e", + "source": "class:BaseAgent", + "target": "func:BaseAgent.tools", + "type": "contains", + "label": "方法 tools" + }, + { + "id": "edge:28833e47", + "source": "class:BaseAgent", + "target": "func:BaseAgent.memory", + "type": "contains", + "label": "方法 memory" + }, + { + "id": "edge:23ddc328", + "source": "class:BaseAgent", + "target": "func:BaseAgent.llm_gateway", + "type": "contains", + "label": "方法 llm_gateway" + }, + { + "id": "edge:73c0685d", + "source": "class:BaseAgent", + "target": "func:BaseAgent.llm_gateway", + "type": "contains", + "label": "方法 llm_gateway" + }, + { + "id": "edge:2a8d82ef", + "source": "class:BaseAgent", + "target": "func:BaseAgent.skill", + "type": "contains", + "label": "方法 skill" + }, + { + "id": "edge:2e79a683", + "source": "class:BaseAgent", + "target": "func:BaseAgent.skill", + "type": "contains", + "label": "方法 skill" + }, + { + "id": "edge:07b726a7", + "source": "class:BaseAgent", + "target": "func:BaseAgent.quality_gate", + "type": "contains", + "label": "方法 quality_gate" + }, + { + "id": "edge:ca479889", + "source": "class:BaseAgent", + "target": "func:BaseAgent.handle_task", + "type": "contains", + "label": "方法 handle_task" + }, + { + "id": "edge:ddc335d7", + "source": "class:BaseAgent", + "target": "func:BaseAgent.get_capabilities", + "type": "contains", + "label": "方法 get_capabilities" + }, + { + "id": "edge:4756ea8f", + "source": "class:BaseAgent", + "target": "func:BaseAgent.on_task_start", + "type": "contains", + "label": "方法 on_task_start" + }, + { + "id": "edge:842e49cb", + "source": "class:BaseAgent", + "target": "func:BaseAgent.on_task_complete", + "type": "contains", + "label": "方法 on_task_complete" + }, + { + "id": "edge:6b92ca2f", + "source": "class:BaseAgent", + "target": "func:BaseAgent.on_task_failed", + "type": "contains", + "label": "方法 on_task_failed" + }, + { + "id": "edge:3aa31e80", + "source": "class:BaseAgent", + "target": "func:BaseAgent.handle_task_with_feedback", + "type": "contains", + "label": "方法 handle_task_with_feedback" + }, + { + "id": "edge:917dad5a", + "source": "class:BaseAgent", + "target": "func:BaseAgent._build_quality_feedback", + "type": "contains", + "label": "方法 _build_quality_feedback" + }, + { + "id": "edge:a8bc42cb", + "source": "class:BaseAgent", + "target": "func:BaseAgent.use_tool", + "type": "contains", + "label": "方法 use_tool" + }, + { + "id": "edge:abf1dbda", + "source": "class:BaseAgent", + "target": "func:BaseAgent.use_memory", + "type": "contains", + "label": "方法 use_memory" + }, + { + "id": "edge:81f07fee", + "source": "class:BaseAgent", + "target": "func:BaseAgent.use_memory_retriever", + "type": "contains", + "label": "方法 use_memory_retriever" + }, + { + "id": "edge:5e4f6cc1", + "source": "class:BaseAgent", + "target": "func:BaseAgent.set_registry", + "type": "contains", + "label": "方法 set_registry" + }, + { + "id": "edge:0dbcaf8c", + "source": "class:BaseAgent", + "target": "func:BaseAgent.set_dispatcher", + "type": "contains", + "label": "方法 set_dispatcher" + }, + { + "id": "edge:dc949b76", + "source": "class:BaseAgent", + "target": "func:BaseAgent.start", + "type": "contains", + "label": "方法 start" + }, + { + "id": "edge:600918b0", + "source": "class:BaseAgent", + "target": "func:BaseAgent.stop", + "type": "contains", + "label": "方法 stop" + }, + { + "id": "edge:56749b18", + "source": "class:BaseAgent", + "target": "func:BaseAgent.execute", + "type": "contains", + "label": "方法 execute" + }, + { + "id": "edge:6e116ecc", + "source": "class:BaseAgent", + "target": "func:BaseAgent.cancel_task", + "type": "contains", + "label": "方法 cancel_task" + }, + { + "id": "edge:70119a3a", + "source": "class:BaseAgent", + "target": "func:BaseAgent.handoff", + "type": "contains", + "label": "方法 handoff" + }, + { + "id": "edge:7841f452", + "source": "class:BaseAgent", + "target": "func:BaseAgent.report_progress", + "type": "contains", + "label": "方法 report_progress" + }, + { + "id": "edge:50ae7246", + "source": "class:BaseAgent", + "target": "func:BaseAgent.heartbeat", + "type": "contains", + "label": "方法 heartbeat" + }, + { + "id": "edge:ed4fd9f6", + "source": "class:BaseAgent", + "target": "func:BaseAgent._heartbeat_loop", + "type": "contains", + "label": "方法 _heartbeat_loop" + }, + { + "id": "edge:ead0b5d4", + "source": "class:BaseAgent", + "target": "func:BaseAgent._listen_for_tasks", + "type": "contains", + "label": "方法 _listen_for_tasks" + }, + { + "id": "edge:2b523773", + "source": "class:BaseAgent", + "target": "func:BaseAgent._execute_task_with_semaphore", + "type": "contains", + "label": "方法 _execute_task_with_semaphore" + }, + { + "id": "edge:00c92168", + "source": "class:BaseAgent", + "target": "func:BaseAgent._execute_task", + "type": "contains", + "label": "方法 _execute_task" + }, + { + "id": "edge:6a4b840b", + "source": "class:BaseAgent", + "target": "func:BaseAgent._validate_input", + "type": "contains", + "label": "方法 _validate_input" + }, + { + "id": "edge:2085bfd4", + "source": "file:src/agentkit/core/compressor.py", + "target": "class:CompressionStrategy", + "type": "contains", + "label": "定义类 CompressionStrategy" + }, + { + "id": "edge:f12acb2e", + "source": "class:CompressionStrategy", + "target": "func:CompressionStrategy.compress", + "type": "contains", + "label": "方法 compress" + }, + { + "id": "edge:989f1f26", + "source": "class:CompressionStrategy", + "target": "func:CompressionStrategy.compress_tool_result", + "type": "contains", + "label": "方法 compress_tool_result" + }, + { + "id": "edge:7fe52bd3", + "source": "class:CompressionStrategy", + "target": "func:CompressionStrategy.is_available", + "type": "contains", + "label": "方法 is_available" + }, + { + "id": "edge:0a5d068a", + "source": "file:src/agentkit/core/compressor.py", + "target": "class:ContextCompressor", + "type": "contains", + "label": "定义类 ContextCompressor" + }, + { + "id": "edge:052f8b9e", + "source": "class:ContextCompressor", + "target": "func:ContextCompressor.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:cf78e6dc", + "source": "class:ContextCompressor", + "target": "func:ContextCompressor.estimate_tokens", + "type": "contains", + "label": "方法 estimate_tokens" + }, + { + "id": "edge:e80bebea", + "source": "class:ContextCompressor", + "target": "func:ContextCompressor.compress", + "type": "contains", + "label": "方法 compress" + }, + { + "id": "edge:46d3b077", + "source": "class:ContextCompressor", + "target": "func:ContextCompressor._summarize", + "type": "contains", + "label": "方法 _summarize" + }, + { + "id": "edge:9ae2807b", + "source": "class:ContextCompressor", + "target": "func:ContextCompressor._simple_summary", + "type": "contains", + "label": "方法 _simple_summary" + }, + { + "id": "edge:d03184ed", + "source": "class:ContextCompressor", + "target": "func:ContextCompressor._compress_aggressive", + "type": "contains", + "label": "方法 _compress_aggressive" + }, + { + "id": "edge:6dbf8ab3", + "source": "class:ContextCompressor", + "target": "func:ContextCompressor._truncate", + "type": "contains", + "label": "方法 _truncate" + }, + { + "id": "edge:17f9b75f", + "source": "class:ContextCompressor", + "target": "func:ContextCompressor.compress_tool_result", + "type": "contains", + "label": "方法 compress_tool_result" + }, + { + "id": "edge:acbb83d4", + "source": "class:ContextCompressor", + "target": "func:ContextCompressor.is_available", + "type": "contains", + "label": "方法 is_available" + }, + { + "id": "edge:6d6221ca", + "source": "file:src/agentkit/core/config_driven.py", + "target": "class:AgentConfig", + "type": "contains", + "label": "定义类 AgentConfig" + }, + { + "id": "edge:0a3b5365", + "source": "class:AgentConfig", + "target": "func:AgentConfig.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:4e317996", + "source": "class:AgentConfig", + "target": "func:AgentConfig._validate", + "type": "contains", + "label": "方法 _validate" + }, + { + "id": "edge:3ef94b77", + "source": "class:AgentConfig", + "target": "func:AgentConfig.from_dict", + "type": "contains", + "label": "方法 from_dict" + }, + { + "id": "edge:633d2182", + "source": "class:AgentConfig", + "target": "func:AgentConfig.from_yaml", + "type": "contains", + "label": "方法 from_yaml" + }, + { + "id": "edge:b55d0c99", + "source": "class:AgentConfig", + "target": "func:AgentConfig.to_dict", + "type": "contains", + "label": "方法 to_dict" + }, + { + "id": "edge:86b08cfb", + "source": "file:src/agentkit/core/config_driven.py", + "target": "class:ConfigDrivenAgent", + "type": "contains", + "label": "定义类 ConfigDrivenAgent" + }, + { + "id": "edge:944ad973", + "source": "class:ConfigDrivenAgent", + "target": "class:BaseAgent", + "type": "extends", + "label": "继承 BaseAgent" + }, + { + "id": "edge:fb448e7e", + "source": "class:ConfigDrivenAgent", + "target": "func:ConfigDrivenAgent.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:548d38b4", + "source": "class:ConfigDrivenAgent", + "target": "func:ConfigDrivenAgent.get_tools", + "type": "contains", + "label": "方法 get_tools" + }, + { + "id": "edge:69091b57", + "source": "class:ConfigDrivenAgent", + "target": "func:ConfigDrivenAgent.get_model", + "type": "contains", + "label": "方法 get_model" + }, + { + "id": "edge:5ae32376", + "source": "class:ConfigDrivenAgent", + "target": "func:ConfigDrivenAgent.get_system_prompt", + "type": "contains", + "label": "方法 get_system_prompt" + }, + { + "id": "edge:48542d0f", + "source": "class:ConfigDrivenAgent", + "target": "func:ConfigDrivenAgent._build_tools_description", + "type": "contains", + "label": "方法 _build_tools_description" + }, + { + "id": "edge:21306c2a", + "source": "class:ConfigDrivenAgent", + "target": "func:ConfigDrivenAgent.get_react_config", + "type": "contains", + "label": "方法 get_react_config" + }, + { + "id": "edge:4199677c", + "source": "class:ConfigDrivenAgent", + "target": "func:ConfigDrivenAgent.config", + "type": "contains", + "label": "方法 config" + }, + { + "id": "edge:5e3be3ac", + "source": "class:ConfigDrivenAgent", + "target": "func:ConfigDrivenAgent.prompt_template", + "type": "contains", + "label": "方法 prompt_template" + }, + { + "id": "edge:f6f0a9b8", + "source": "class:ConfigDrivenAgent", + "target": "func:ConfigDrivenAgent.on_task_complete", + "type": "contains", + "label": "方法 on_task_complete" + }, + { + "id": "edge:9367d87f", + "source": "class:ConfigDrivenAgent", + "target": "func:ConfigDrivenAgent.on_task_failed", + "type": "contains", + "label": "方法 on_task_failed" + }, + { + "id": "edge:f65f566d", + "source": "class:ConfigDrivenAgent", + "target": "func:ConfigDrivenAgent._bind_tools", + "type": "contains", + "label": "方法 _bind_tools" + }, + { + "id": "edge:e5630f04", + "source": "class:ConfigDrivenAgent", + "target": "func:ConfigDrivenAgent._auto_set_current_module", + "type": "contains", + "label": "方法 _auto_set_current_module" + }, + { + "id": "edge:f956e978", + "source": "class:ConfigDrivenAgent", + "target": "func:ConfigDrivenAgent._register_mcp_tools", + "type": "contains", + "label": "方法 _register_mcp_tools" + }, + { + "id": "edge:e6eedd84", + "source": "class:ConfigDrivenAgent", + "target": "func:ConfigDrivenAgent.get_capabilities", + "type": "contains", + "label": "方法 get_capabilities" + }, + { + "id": "edge:53ba430d", + "source": "class:ConfigDrivenAgent", + "target": "func:ConfigDrivenAgent.handle_task", + "type": "contains", + "label": "方法 handle_task" + }, + { + "id": "edge:5b60e6ac", + "source": "class:ConfigDrivenAgent", + "target": "func:ConfigDrivenAgent._handle_react", + "type": "contains", + "label": "方法 _handle_react" + }, + { + "id": "edge:916ed28e", + "source": "class:ConfigDrivenAgent", + "target": "func:ConfigDrivenAgent._handle_rewoo", + "type": "contains", + "label": "方法 _handle_rewoo" + }, + { + "id": "edge:5f1f21cf", + "source": "class:ConfigDrivenAgent", + "target": "func:ConfigDrivenAgent._handle_plan_exec", + "type": "contains", + "label": "方法 _handle_plan_exec" + }, + { + "id": "edge:46233b24", + "source": "class:ConfigDrivenAgent", + "target": "func:ConfigDrivenAgent._handle_reflexion", + "type": "contains", + "label": "方法 _handle_reflexion" + }, + { + "id": "edge:9d592c89", + "source": "class:ConfigDrivenAgent", + "target": "func:ConfigDrivenAgent._handle_direct", + "type": "contains", + "label": "方法 _handle_direct" + }, + { + "id": "edge:b440c60a", + "source": "class:ConfigDrivenAgent", + "target": "func:ConfigDrivenAgent.handle_task_with_feedback", + "type": "contains", + "label": "方法 handle_task_with_feedback" + }, + { + "id": "edge:e660f5ff", + "source": "class:ConfigDrivenAgent", + "target": "func:ConfigDrivenAgent._wrap_llm_client", + "type": "contains", + "label": "方法 _wrap_llm_client" + }, + { + "id": "edge:06afeeee", + "source": "class:ConfigDrivenAgent", + "target": "func:ConfigDrivenAgent._handle_llm_generate", + "type": "contains", + "label": "方法 _handle_llm_generate" + }, + { + "id": "edge:6d96e336", + "source": "class:ConfigDrivenAgent", + "target": "func:ConfigDrivenAgent._handle_tool_call", + "type": "contains", + "label": "方法 _handle_tool_call" + }, + { + "id": "edge:924edb6b", + "source": "class:ConfigDrivenAgent", + "target": "func:ConfigDrivenAgent._handle_custom", + "type": "contains", + "label": "方法 _handle_custom" + }, + { + "id": "edge:72b7ffb2", + "source": "class:ConfigDrivenAgent", + "target": "func:ConfigDrivenAgent._resolve_tool", + "type": "contains", + "label": "方法 _resolve_tool" + }, + { + "id": "edge:3a6e9e56", + "source": "class:ConfigDrivenAgent", + "target": "func:ConfigDrivenAgent._call_llm", + "type": "contains", + "label": "方法 _call_llm" + }, + { + "id": "edge:486aa0ca", + "source": "class:ConfigDrivenAgent", + "target": "func:ConfigDrivenAgent._parse_llm_response", + "type": "contains", + "label": "方法 _parse_llm_response" + }, + { + "id": "edge:934a4761", + "source": "class:ConfigDrivenAgent", + "target": "func:ConfigDrivenAgent._import_handler", + "type": "contains", + "label": "方法 _import_handler" + }, + { + "id": "edge:85517173", + "source": "file:src/agentkit/core/dispatcher.py", + "target": "class:TaskDispatcher", + "type": "contains", + "label": "定义类 TaskDispatcher" + }, + { + "id": "edge:9a526d11", + "source": "class:TaskDispatcher", + "target": "func:TaskDispatcher.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:839edc35", + "source": "class:TaskDispatcher", + "target": "func:TaskDispatcher._get_redis", + "type": "contains", + "label": "方法 _get_redis" + }, + { + "id": "edge:a53bd22c", + "source": "class:TaskDispatcher", + "target": "func:TaskDispatcher.dispatch", + "type": "contains", + "label": "方法 dispatch" + }, + { + "id": "edge:b09f78a5", + "source": "class:TaskDispatcher", + "target": "func:TaskDispatcher.cancel_task", + "type": "contains", + "label": "方法 cancel_task" + }, + { + "id": "edge:8b0b42bc", + "source": "class:TaskDispatcher", + "target": "func:TaskDispatcher.get_task_status", + "type": "contains", + "label": "方法 get_task_status" + }, + { + "id": "edge:fb5cd1ec", + "source": "class:TaskDispatcher", + "target": "func:TaskDispatcher.handle_result", + "type": "contains", + "label": "方法 handle_result" + }, + { + "id": "edge:56665e07", + "source": "class:TaskDispatcher", + "target": "func:TaskDispatcher.handle_progress", + "type": "contains", + "label": "方法 handle_progress" + }, + { + "id": "edge:a170ea6d", + "source": "class:TaskDispatcher", + "target": "func:TaskDispatcher.retry_failed_tasks", + "type": "contains", + "label": "方法 retry_failed_tasks" + }, + { + "id": "edge:554fd5a0", + "source": "class:TaskDispatcher", + "target": "func:TaskDispatcher._write_log", + "type": "contains", + "label": "方法 _write_log" + }, + { + "id": "edge:bfc7a946", + "source": "class:TaskDispatcher", + "target": "func:TaskDispatcher._trigger_callback", + "type": "contains", + "label": "方法 _trigger_callback" + }, + { + "id": "edge:586bc7d2", + "source": "class:TaskDispatcher", + "target": "func:TaskDispatcher._task_to_dict", + "type": "contains", + "label": "方法 _task_to_dict" + }, + { + "id": "edge:384c7ce9", + "source": "file:src/agentkit/core/exceptions.py", + "target": "class:AgentFrameworkError", + "type": "contains", + "label": "定义类 AgentFrameworkError" + }, + { + "id": "edge:f74fe0c4", + "source": "class:AgentFrameworkError", + "target": "func:AgentFrameworkError.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:a86e7211", + "source": "file:src/agentkit/core/exceptions.py", + "target": "class:AgentNotFoundError", + "type": "contains", + "label": "定义类 AgentNotFoundError" + }, + { + "id": "edge:10897225", + "source": "class:AgentNotFoundError", + "target": "class:AgentFrameworkError", + "type": "extends", + "label": "继承 AgentFrameworkError" + }, + { + "id": "edge:7950a477", + "source": "class:AgentNotFoundError", + "target": "func:AgentNotFoundError.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:6ad97edc", + "source": "file:src/agentkit/core/exceptions.py", + "target": "class:AgentAlreadyRegisteredError", + "type": "contains", + "label": "定义类 AgentAlreadyRegisteredError" + }, + { + "id": "edge:e8424fc3", + "source": "class:AgentAlreadyRegisteredError", + "target": "class:AgentFrameworkError", + "type": "extends", + "label": "继承 AgentFrameworkError" + }, + { + "id": "edge:aeef56f5", + "source": "class:AgentAlreadyRegisteredError", + "target": "func:AgentAlreadyRegisteredError.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:17d802e1", + "source": "file:src/agentkit/core/exceptions.py", + "target": "class:AgentUnavailableError", + "type": "contains", + "label": "定义类 AgentUnavailableError" + }, + { + "id": "edge:218ba661", + "source": "class:AgentUnavailableError", + "target": "class:AgentFrameworkError", + "type": "extends", + "label": "继承 AgentFrameworkError" + }, + { + "id": "edge:75546060", + "source": "class:AgentUnavailableError", + "target": "func:AgentUnavailableError.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:09276c9a", + "source": "file:src/agentkit/core/exceptions.py", + "target": "class:TaskNotFoundError", + "type": "contains", + "label": "定义类 TaskNotFoundError" + }, + { + "id": "edge:ffe50bf6", + "source": "class:TaskNotFoundError", + "target": "class:AgentFrameworkError", + "type": "extends", + "label": "继承 AgentFrameworkError" + }, + { + "id": "edge:c1dbd936", + "source": "class:TaskNotFoundError", + "target": "func:TaskNotFoundError.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:979d0f35", + "source": "file:src/agentkit/core/exceptions.py", + "target": "class:TaskDispatchError", + "type": "contains", + "label": "定义类 TaskDispatchError" + }, + { + "id": "edge:14aba424", + "source": "class:TaskDispatchError", + "target": "class:AgentFrameworkError", + "type": "extends", + "label": "继承 AgentFrameworkError" + }, + { + "id": "edge:c53e10a2", + "source": "class:TaskDispatchError", + "target": "func:TaskDispatchError.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:6529eb71", + "source": "file:src/agentkit/core/exceptions.py", + "target": "class:TaskExecutionError", + "type": "contains", + "label": "定义类 TaskExecutionError" + }, + { + "id": "edge:8f7b5109", + "source": "class:TaskExecutionError", + "target": "class:AgentFrameworkError", + "type": "extends", + "label": "继承 AgentFrameworkError" + }, + { + "id": "edge:bce96133", + "source": "class:TaskExecutionError", + "target": "func:TaskExecutionError.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:731c5a42", + "source": "file:src/agentkit/core/exceptions.py", + "target": "class:TaskTimeoutError", + "type": "contains", + "label": "定义类 TaskTimeoutError" + }, + { + "id": "edge:8b20c625", + "source": "class:TaskTimeoutError", + "target": "class:AgentFrameworkError", + "type": "extends", + "label": "继承 AgentFrameworkError" + }, + { + "id": "edge:4687edc3", + "source": "class:TaskTimeoutError", + "target": "func:TaskTimeoutError.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:573283b3", + "source": "file:src/agentkit/core/exceptions.py", + "target": "class:TaskCancelledError", + "type": "contains", + "label": "定义类 TaskCancelledError" + }, + { + "id": "edge:84644d54", + "source": "class:TaskCancelledError", + "target": "class:AgentFrameworkError", + "type": "extends", + "label": "继承 AgentFrameworkError" + }, + { + "id": "edge:b101f6e6", + "source": "class:TaskCancelledError", + "target": "func:TaskCancelledError.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:1e3a41b5", + "source": "file:src/agentkit/core/exceptions.py", + "target": "class:NoAvailableAgentError", + "type": "contains", + "label": "定义类 NoAvailableAgentError" + }, + { + "id": "edge:69dffc47", + "source": "class:NoAvailableAgentError", + "target": "class:AgentFrameworkError", + "type": "extends", + "label": "继承 AgentFrameworkError" + }, + { + "id": "edge:af66a534", + "source": "class:NoAvailableAgentError", + "target": "func:NoAvailableAgentError.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:8c3528b8", + "source": "file:src/agentkit/core/exceptions.py", + "target": "class:ConfigValidationError", + "type": "contains", + "label": "定义类 ConfigValidationError" + }, + { + "id": "edge:970c05a7", + "source": "class:ConfigValidationError", + "target": "class:AgentFrameworkError", + "type": "extends", + "label": "继承 AgentFrameworkError" + }, + { + "id": "edge:5f0095d1", + "source": "class:ConfigValidationError", + "target": "func:ConfigValidationError.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:fcf0b39a", + "source": "file:src/agentkit/core/exceptions.py", + "target": "class:AgentNotReadyError", + "type": "contains", + "label": "定义类 AgentNotReadyError" + }, + { + "id": "edge:8467244e", + "source": "class:AgentNotReadyError", + "target": "class:AgentFrameworkError", + "type": "extends", + "label": "继承 AgentFrameworkError" + }, + { + "id": "edge:a7a13ecb", + "source": "class:AgentNotReadyError", + "target": "func:AgentNotReadyError.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:b5777567", + "source": "file:src/agentkit/core/exceptions.py", + "target": "class:SkillNotFoundError", + "type": "contains", + "label": "定义类 SkillNotFoundError" + }, + { + "id": "edge:66330410", + "source": "class:SkillNotFoundError", + "target": "class:AgentFrameworkError", + "type": "extends", + "label": "继承 AgentFrameworkError" + }, + { + "id": "edge:3854de26", + "source": "class:SkillNotFoundError", + "target": "func:SkillNotFoundError.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:48b28f36", + "source": "file:src/agentkit/core/exceptions.py", + "target": "class:ToolNotFoundError", + "type": "contains", + "label": "定义类 ToolNotFoundError" + }, + { + "id": "edge:0963e5a3", + "source": "class:ToolNotFoundError", + "target": "class:AgentFrameworkError", + "type": "extends", + "label": "继承 AgentFrameworkError" + }, + { + "id": "edge:00a44c97", + "source": "class:ToolNotFoundError", + "target": "func:ToolNotFoundError.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:cce4505f", + "source": "file:src/agentkit/core/exceptions.py", + "target": "class:ToolExecutionError", + "type": "contains", + "label": "定义类 ToolExecutionError" + }, + { + "id": "edge:76e23637", + "source": "class:ToolExecutionError", + "target": "class:AgentFrameworkError", + "type": "extends", + "label": "继承 AgentFrameworkError" + }, + { + "id": "edge:bc4d29b4", + "source": "class:ToolExecutionError", + "target": "func:ToolExecutionError.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:80b6e7c9", + "source": "file:src/agentkit/core/exceptions.py", + "target": "class:SchemaValidationError", + "type": "contains", + "label": "定义类 SchemaValidationError" + }, + { + "id": "edge:8d63b014", + "source": "class:SchemaValidationError", + "target": "class:AgentFrameworkError", + "type": "extends", + "label": "继承 AgentFrameworkError" + }, + { + "id": "edge:52a3fb1a", + "source": "class:SchemaValidationError", + "target": "func:SchemaValidationError.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:aca602a0", + "source": "file:src/agentkit/core/exceptions.py", + "target": "class:HandoffError", + "type": "contains", + "label": "定义类 HandoffError" + }, + { + "id": "edge:d95137b5", + "source": "class:HandoffError", + "target": "class:AgentFrameworkError", + "type": "extends", + "label": "继承 AgentFrameworkError" + }, + { + "id": "edge:df6041ce", + "source": "class:HandoffError", + "target": "func:HandoffError.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:6e57e056", + "source": "file:src/agentkit/core/exceptions.py", + "target": "class:EvolutionError", + "type": "contains", + "label": "定义类 EvolutionError" + }, + { + "id": "edge:c7524713", + "source": "class:EvolutionError", + "target": "class:AgentFrameworkError", + "type": "extends", + "label": "继承 AgentFrameworkError" + }, + { + "id": "edge:c1b83ac3", + "source": "class:EvolutionError", + "target": "func:EvolutionError.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:b292b505", + "source": "file:src/agentkit/core/exceptions.py", + "target": "class:LLMError", + "type": "contains", + "label": "定义类 LLMError" + }, + { + "id": "edge:ef534984", + "source": "class:LLMError", + "target": "class:AgentFrameworkError", + "type": "extends", + "label": "继承 AgentFrameworkError" + }, + { + "id": "edge:1d75e66f", + "source": "class:LLMError", + "target": "func:LLMError.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:4fc877dd", + "source": "file:src/agentkit/core/exceptions.py", + "target": "class:LLMProviderError", + "type": "contains", + "label": "定义类 LLMProviderError" + }, + { + "id": "edge:d9c993a8", + "source": "class:LLMProviderError", + "target": "class:LLMError", + "type": "extends", + "label": "继承 LLMError" + }, + { + "id": "edge:4a867aff", + "source": "class:LLMProviderError", + "target": "func:LLMProviderError.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:5d5bc4c5", + "source": "file:src/agentkit/core/exceptions.py", + "target": "class:ModelNotFoundError", + "type": "contains", + "label": "定义类 ModelNotFoundError" + }, + { + "id": "edge:2cf541ee", + "source": "class:ModelNotFoundError", + "target": "class:LLMError", + "type": "extends", + "label": "继承 LLMError" + }, + { + "id": "edge:1aa86abb", + "source": "class:ModelNotFoundError", + "target": "func:ModelNotFoundError.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:47386aa4", + "source": "file:src/agentkit/core/goal_planner.py", + "target": "class:GoalPlanner", + "type": "contains", + "label": "定义类 GoalPlanner" + }, + { + "id": "edge:8fb2958c", + "source": "class:GoalPlanner", + "target": "func:GoalPlanner.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:0bd774f9", + "source": "class:GoalPlanner", + "target": "func:GoalPlanner.generate_plan", + "type": "contains", + "label": "方法 generate_plan" + }, + { + "id": "edge:0edc51c3", + "source": "class:GoalPlanner", + "target": "func:GoalPlanner._rule_based_decompose", + "type": "contains", + "label": "方法 _rule_based_decompose" + }, + { + "id": "edge:51464833", + "source": "class:GoalPlanner", + "target": "func:GoalPlanner._extract_parallel_items", + "type": "contains", + "label": "方法 _extract_parallel_items" + }, + { + "id": "edge:5748a0da", + "source": "class:GoalPlanner", + "target": "func:GoalPlanner._extract_sequential_parts", + "type": "contains", + "label": "方法 _extract_sequential_parts" + }, + { + "id": "edge:66983226", + "source": "class:GoalPlanner", + "target": "func:GoalPlanner._decompose_parallel_goal", + "type": "contains", + "label": "方法 _decompose_parallel_goal" + }, + { + "id": "edge:af99f6ac", + "source": "class:GoalPlanner", + "target": "func:GoalPlanner._decompose_sequential_goal", + "type": "contains", + "label": "方法 _decompose_sequential_goal" + }, + { + "id": "edge:3ef20ec4", + "source": "class:GoalPlanner", + "target": "func:GoalPlanner._decompose_simple_goal", + "type": "contains", + "label": "方法 _decompose_simple_goal" + }, + { + "id": "edge:4ad0d49c", + "source": "class:GoalPlanner", + "target": "func:GoalPlanner._infer_required_skills", + "type": "contains", + "label": "方法 _infer_required_skills" + }, + { + "id": "edge:301da66d", + "source": "class:GoalPlanner", + "target": "func:GoalPlanner._identify_skill_gaps", + "type": "contains", + "label": "方法 _identify_skill_gaps" + }, + { + "id": "edge:ab80c64d", + "source": "class:GoalPlanner", + "target": "func:GoalPlanner._should_refine_with_llm", + "type": "contains", + "label": "方法 _should_refine_with_llm" + }, + { + "id": "edge:04e2efd7", + "source": "class:GoalPlanner", + "target": "func:GoalPlanner._llm_refine_plan", + "type": "contains", + "label": "方法 _llm_refine_plan" + }, + { + "id": "edge:b0b07cac", + "source": "class:GoalPlanner", + "target": "func:GoalPlanner._build_parallel_groups", + "type": "contains", + "label": "方法 _build_parallel_groups" + }, + { + "id": "edge:71079f2b", + "source": "class:GoalPlanner", + "target": "func:GoalPlanner.update_plan_from_feedback", + "type": "contains", + "label": "方法 update_plan_from_feedback" + }, + { + "id": "edge:558bd2c0", + "source": "class:GoalPlanner", + "target": "func:GoalPlanner.validate_plan", + "type": "contains", + "label": "方法 validate_plan" + }, + { + "id": "edge:5dbb7ea7", + "source": "file:src/agentkit/core/headroom_compressor.py", + "target": "class:HeadroomCompressor", + "type": "contains", + "label": "定义类 HeadroomCompressor" + }, + { + "id": "edge:5b280548", + "source": "class:HeadroomCompressor", + "target": "func:HeadroomCompressor.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:52b7933a", + "source": "class:HeadroomCompressor", + "target": "func:HeadroomCompressor.is_available", + "type": "contains", + "label": "方法 is_available" + }, + { + "id": "edge:11a5d622", + "source": "class:HeadroomCompressor", + "target": "func:HeadroomCompressor.compress", + "type": "contains", + "label": "方法 compress" + }, + { + "id": "edge:f6a63c51", + "source": "class:HeadroomCompressor", + "target": "func:HeadroomCompressor.compress_tool_result", + "type": "contains", + "label": "方法 compress_tool_result" + }, + { + "id": "edge:35bfcb23", + "source": "class:HeadroomCompressor", + "target": "func:HeadroomCompressor._detect_content_type", + "type": "contains", + "label": "方法 _detect_content_type" + }, + { + "id": "edge:c484cb51", + "source": "class:HeadroomCompressor", + "target": "func:HeadroomCompressor._compress_with_headroom", + "type": "contains", + "label": "方法 _compress_with_headroom" + }, + { + "id": "edge:2411ca30", + "source": "class:HeadroomCompressor", + "target": "func:HeadroomCompressor._store_ccr", + "type": "contains", + "label": "方法 _store_ccr" + }, + { + "id": "edge:b0c5ad14", + "source": "class:HeadroomCompressor", + "target": "func:HeadroomCompressor._evict_expired", + "type": "contains", + "label": "方法 _evict_expired" + }, + { + "id": "edge:60d1f74f", + "source": "class:HeadroomCompressor", + "target": "func:HeadroomCompressor.retrieve", + "type": "contains", + "label": "方法 retrieve" + }, + { + "id": "edge:9a4cf585", + "source": "file:src/agentkit/core/logging.py", + "target": "class:StructuredFormatter", + "type": "contains", + "label": "定义类 StructuredFormatter" + }, + { + "id": "edge:c65fc99a", + "source": "class:StructuredFormatter", + "target": "func:StructuredFormatter.format", + "type": "contains", + "label": "方法 format" + }, + { + "id": "edge:4fb92193", + "source": "file:src/agentkit/core/orchestrator.py", + "target": "class:AgentRole", + "type": "contains", + "label": "定义类 AgentRole" + }, + { + "id": "edge:a1369729", + "source": "file:src/agentkit/core/orchestrator.py", + "target": "class:SubTaskStatus", + "type": "contains", + "label": "定义类 SubTaskStatus" + }, + { + "id": "edge:405428a8", + "source": "file:src/agentkit/core/orchestrator.py", + "target": "class:SubTask", + "type": "contains", + "label": "定义类 SubTask" + }, + { + "id": "edge:3e65bf50", + "source": "file:src/agentkit/core/orchestrator.py", + "target": "class:OrchestrationPlan", + "type": "contains", + "label": "定义类 OrchestrationPlan" + }, + { + "id": "edge:639b1ba9", + "source": "file:src/agentkit/core/orchestrator.py", + "target": "class:OrchestrationResult", + "type": "contains", + "label": "定义类 OrchestrationResult" + }, + { + "id": "edge:e99a9065", + "source": "file:src/agentkit/core/orchestrator.py", + "target": "class:OrchestratorConfig", + "type": "contains", + "label": "定义类 OrchestratorConfig" + }, + { + "id": "edge:a8be3b19", + "source": "file:src/agentkit/core/orchestrator.py", + "target": "class:Orchestrator", + "type": "contains", + "label": "定义类 Orchestrator" + }, + { + "id": "edge:f10f22a3", + "source": "class:Orchestrator", + "target": "func:Orchestrator.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:fd79bef7", + "source": "class:Orchestrator", + "target": "func:Orchestrator.execute", + "type": "contains", + "label": "方法 execute" + }, + { + "id": "edge:abceb6a7", + "source": "class:Orchestrator", + "target": "func:Orchestrator._decompose_task", + "type": "contains", + "label": "方法 _decompose_task" + }, + { + "id": "edge:efb00e67", + "source": "class:Orchestrator", + "target": "func:Orchestrator._llm_decompose", + "type": "contains", + "label": "方法 _llm_decompose" + }, + { + "id": "edge:d5fa548c", + "source": "class:Orchestrator", + "target": "func:Orchestrator._build_parallel_groups", + "type": "contains", + "label": "方法 _build_parallel_groups" + }, + { + "id": "edge:61b68ccb", + "source": "class:Orchestrator", + "target": "func:Orchestrator._execute_plan", + "type": "contains", + "label": "方法 _execute_plan" + }, + { + "id": "edge:64dd9711", + "source": "class:Orchestrator", + "target": "func:Orchestrator._execute_subtask", + "type": "contains", + "label": "方法 _execute_subtask" + }, + { + "id": "edge:e7157ec3", + "source": "class:Orchestrator", + "target": "func:Orchestrator._inject_dependency_results", + "type": "contains", + "label": "方法 _inject_dependency_results" + }, + { + "id": "edge:2852a4c0", + "source": "class:Orchestrator", + "target": "func:Orchestrator._aggregate_results", + "type": "contains", + "label": "方法 _aggregate_results" + }, + { + "id": "edge:64218495", + "source": "class:Orchestrator", + "target": "func:Orchestrator._get_available_skill_names", + "type": "contains", + "label": "方法 _get_available_skill_names" + }, + { + "id": "edge:b287e1cd", + "source": "class:Orchestrator", + "target": "func:Orchestrator._convert_execution_plan_to_subtasks", + "type": "contains", + "label": "方法 _convert_execution_plan_to_subtasks" + }, + { + "id": "edge:80c3a84d", + "source": "class:Orchestrator", + "target": "func:Orchestrator._match_agent_for_skills", + "type": "contains", + "label": "方法 _match_agent_for_skills" + }, + { + "id": "edge:ed80278c", + "source": "class:Orchestrator", + "target": "func:Orchestrator.execute_adaptive", + "type": "contains", + "label": "方法 execute_adaptive" + }, + { + "id": "edge:0b9ddefa", + "source": "class:Orchestrator", + "target": "func:Orchestrator._evaluate_quality", + "type": "contains", + "label": "方法 _evaluate_quality" + }, + { + "id": "edge:58202d2d", + "source": "class:Orchestrator", + "target": "func:Orchestrator._rule_based_evaluate", + "type": "contains", + "label": "方法 _rule_based_evaluate" + }, + { + "id": "edge:5a5d59cf", + "source": "class:Orchestrator", + "target": "func:Orchestrator._llm_evaluate", + "type": "contains", + "label": "方法 _llm_evaluate" + }, + { + "id": "edge:d4328f3b", + "source": "class:Orchestrator", + "target": "func:Orchestrator._reexecute_failed", + "type": "contains", + "label": "方法 _reexecute_failed" + }, + { + "id": "edge:1b64ebd5", + "source": "file:src/agentkit/core/plan_checker.py", + "target": "class:CheckStatus", + "type": "contains", + "label": "定义类 CheckStatus" + }, + { + "id": "edge:3d636fdc", + "source": "file:src/agentkit/core/plan_checker.py", + "target": "class:CheckResult", + "type": "contains", + "label": "定义类 CheckResult" + }, + { + "id": "edge:1aa70ebd", + "source": "file:src/agentkit/core/plan_checker.py", + "target": "class:ReviewReport", + "type": "contains", + "label": "定义类 ReviewReport" + }, + { + "id": "edge:b399f269", + "source": "class:ReviewReport", + "target": "func:ReviewReport.to_dict", + "type": "contains", + "label": "方法 to_dict" + }, + { + "id": "edge:73465285", + "source": "file:src/agentkit/core/plan_checker.py", + "target": "class:QualityGate", + "type": "contains", + "label": "定义类 QualityGate" + }, + { + "id": "edge:8ff644d2", + "source": "class:QualityGate", + "target": "func:QualityGate.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:3515d492", + "source": "class:QualityGate", + "target": "func:QualityGate.check", + "type": "contains", + "label": "方法 check" + }, + { + "id": "edge:693edf47", + "source": "class:QualityGate", + "target": "func:QualityGate._check_required_fields", + "type": "contains", + "label": "方法 _check_required_fields" + }, + { + "id": "edge:558631a9", + "source": "class:QualityGate", + "target": "func:QualityGate._check_min_word_count", + "type": "contains", + "label": "方法 _check_min_word_count" + }, + { + "id": "edge:dbbcc0d8", + "source": "class:QualityGate", + "target": "func:QualityGate._check_custom", + "type": "contains", + "label": "方法 _check_custom" + }, + { + "id": "edge:be3a1655", + "source": "class:QualityGate", + "target": "func:QualityGate._compute_quality_score", + "type": "contains", + "label": "方法 _compute_quality_score" + }, + { + "id": "edge:5d632eee", + "source": "file:src/agentkit/core/plan_checker.py", + "target": "class:RuleBasedStepReflector", + "type": "contains", + "label": "定义类 RuleBasedStepReflector" + }, + { + "id": "edge:6a6e652c", + "source": "class:RuleBasedStepReflector", + "target": "func:RuleBasedStepReflector.reflect_step", + "type": "contains", + "label": "方法 reflect_step" + }, + { + "id": "edge:b0999581", + "source": "file:src/agentkit/core/plan_checker.py", + "target": "class:PlanChecker", + "type": "contains", + "label": "定义类 PlanChecker" + }, + { + "id": "edge:1ee30630", + "source": "class:PlanChecker", + "target": "func:PlanChecker.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:08474744", + "source": "class:PlanChecker", + "target": "func:PlanChecker.check_step", + "type": "contains", + "label": "方法 check_step" + }, + { + "id": "edge:ed148b73", + "source": "class:PlanChecker", + "target": "func:PlanChecker.review_plan", + "type": "contains", + "label": "方法 review_plan" + }, + { + "id": "edge:b0a7cac6", + "source": "class:PlanChecker", + "target": "func:PlanChecker.should_retry", + "type": "contains", + "label": "方法 should_retry" + }, + { + "id": "edge:dff7603f", + "source": "class:PlanChecker", + "target": "func:PlanChecker.should_request_human", + "type": "contains", + "label": "方法 should_request_human" + }, + { + "id": "edge:18cc5820", + "source": "class:PlanChecker", + "target": "func:PlanChecker.make_step_complete_callback", + "type": "contains", + "label": "方法 make_step_complete_callback" + }, + { + "id": "edge:dd813516", + "source": "class:PlanChecker", + "target": "func:PlanChecker._collect_failure_reasons", + "type": "contains", + "label": "方法 _collect_failure_reasons" + }, + { + "id": "edge:613d2dad", + "source": "class:PlanChecker", + "target": "func:PlanChecker._determine_outcome", + "type": "contains", + "label": "方法 _determine_outcome" + }, + { + "id": "edge:52a87fc3", + "source": "class:PlanChecker", + "target": "func:PlanChecker._generate_optimization_tips", + "type": "contains", + "label": "方法 _generate_optimization_tips" + }, + { + "id": "edge:b3d5b463", + "source": "class:PlanChecker", + "target": "func:PlanChecker._write_experience", + "type": "contains", + "label": "方法 _write_experience" + }, + { + "id": "edge:7cb85d9b", + "source": "class:PlanChecker", + "target": "func:PlanChecker.reset", + "type": "contains", + "label": "方法 reset" + }, + { + "id": "edge:dfeb9227", + "source": "file:src/agentkit/core/plan_exec_engine.py", + "target": "class:_StreamState", + "type": "contains", + "label": "定义类 _StreamState" + }, + { + "id": "edge:114dd9cf", + "source": "file:src/agentkit/core/plan_exec_engine.py", + "target": "class:PlanExecEngine", + "type": "contains", + "label": "定义类 PlanExecEngine" + }, + { + "id": "edge:67b89a73", + "source": "class:PlanExecEngine", + "target": "func:PlanExecEngine.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:04c94640", + "source": "class:PlanExecEngine", + "target": "func:PlanExecEngine.execute", + "type": "contains", + "label": "方法 execute" + }, + { + "id": "edge:7372dac6", + "source": "class:PlanExecEngine", + "target": "func:PlanExecEngine.execute_stream", + "type": "contains", + "label": "方法 execute_stream" + }, + { + "id": "edge:76a99fea", + "source": "class:PlanExecEngine", + "target": "func:PlanExecEngine._execute_loop", + "type": "contains", + "label": "方法 _execute_loop" + }, + { + "id": "edge:ec57a791", + "source": "class:PlanExecEngine", + "target": "func:PlanExecEngine._execute_with_replanning", + "type": "contains", + "label": "方法 _execute_with_replanning" + }, + { + "id": "edge:315fdc3d", + "source": "class:PlanExecEngine", + "target": "func:PlanExecEngine._extract_goal", + "type": "contains", + "label": "方法 _extract_goal" + }, + { + "id": "edge:f2179b6d", + "source": "class:PlanExecEngine", + "target": "func:PlanExecEngine._extract_skill_names", + "type": "contains", + "label": "方法 _extract_skill_names" + }, + { + "id": "edge:62121405", + "source": "class:PlanExecEngine", + "target": "func:PlanExecEngine._build_task_message", + "type": "contains", + "label": "方法 _build_task_message" + }, + { + "id": "edge:2b9030d7", + "source": "class:PlanExecEngine", + "target": "func:PlanExecEngine._create_executor", + "type": "contains", + "label": "方法 _create_executor" + }, + { + "id": "edge:c9f480f8", + "source": "class:PlanExecEngine", + "target": "func:PlanExecEngine._plan_to_pipeline", + "type": "contains", + "label": "方法 _plan_to_pipeline" + }, + { + "id": "edge:add981d6", + "source": "class:PlanExecEngine", + "target": "func:PlanExecEngine._plan_result_to_pipeline_result", + "type": "contains", + "label": "方法 _plan_result_to_pipeline_result" + }, + { + "id": "edge:e0813847", + "source": "class:PlanExecEngine", + "target": "func:PlanExecEngine._pipeline_to_plan", + "type": "contains", + "label": "方法 _pipeline_to_plan" + }, + { + "id": "edge:0bde0553", + "source": "class:PlanExecEngine", + "target": "func:PlanExecEngine._merge_completed_results", + "type": "contains", + "label": "方法 _merge_completed_results" + }, + { + "id": "edge:430ea100", + "source": "class:PlanExecEngine", + "target": "func:PlanExecEngine._aggregate_output", + "type": "contains", + "label": "方法 _aggregate_output" + }, + { + "id": "edge:c81bed54", + "source": "file:src/agentkit/core/plan_exec_engine.py", + "target": "class:_LLMStepExecutor", + "type": "contains", + "label": "定义类 _LLMStepExecutor" + }, + { + "id": "edge:58b743e7", + "source": "class:_LLMStepExecutor", + "target": "func:_LLMStepExecutor.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:a55fc335", + "source": "class:_LLMStepExecutor", + "target": "func:_LLMStepExecutor.create_agent_from_skill", + "type": "contains", + "label": "方法 create_agent_from_skill" + }, + { + "id": "edge:90c6fd7c", + "source": "class:_LLMStepExecutor", + "target": "func:_LLMStepExecutor.get_agent", + "type": "contains", + "label": "方法 get_agent" + }, + { + "id": "edge:9c4aadf1", + "source": "file:src/agentkit/core/plan_exec_engine.py", + "target": "class:_LLMStepAgent", + "type": "contains", + "label": "定义类 _LLMStepAgent" + }, + { + "id": "edge:814b0aba", + "source": "class:_LLMStepAgent", + "target": "func:_LLMStepAgent.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:ad6ce417", + "source": "class:_LLMStepAgent", + "target": "func:_LLMStepAgent.execute", + "type": "contains", + "label": "方法 execute" + }, + { + "id": "edge:3e9e765c", + "source": "file:src/agentkit/core/plan_executor.py", + "target": "class:FailureAction", + "type": "contains", + "label": "定义类 FailureAction" + }, + { + "id": "edge:56f8786c", + "source": "file:src/agentkit/core/plan_executor.py", + "target": "class:StepExecutionResult", + "type": "contains", + "label": "定义类 StepExecutionResult" + }, + { + "id": "edge:4bc66386", + "source": "file:src/agentkit/core/plan_executor.py", + "target": "class:PlanExecutionResult", + "type": "contains", + "label": "定义类 PlanExecutionResult" + }, + { + "id": "edge:51adddf4", + "source": "class:PlanExecutionResult", + "target": "func:PlanExecutionResult.completed_steps", + "type": "contains", + "label": "方法 completed_steps" + }, + { + "id": "edge:29b08dde", + "source": "class:PlanExecutionResult", + "target": "func:PlanExecutionResult.failed_steps", + "type": "contains", + "label": "方法 failed_steps" + }, + { + "id": "edge:3d0fc671", + "source": "class:PlanExecutionResult", + "target": "func:PlanExecutionResult.skipped_steps", + "type": "contains", + "label": "方法 skipped_steps" + }, + { + "id": "edge:bf0f2c56", + "source": "file:src/agentkit/core/plan_executor.py", + "target": "class:PlanExecutor", + "type": "contains", + "label": "定义类 PlanExecutor" + }, + { + "id": "edge:a94639a3", + "source": "class:PlanExecutor", + "target": "func:PlanExecutor.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:2310eda4", + "source": "class:PlanExecutor", + "target": "func:PlanExecutor.execute", + "type": "contains", + "label": "方法 execute" + }, + { + "id": "edge:f66209d5", + "source": "class:PlanExecutor", + "target": "func:PlanExecutor._execute_step_with_retry", + "type": "contains", + "label": "方法 _execute_step_with_retry" + }, + { + "id": "edge:e5106c8b", + "source": "class:PlanExecutor", + "target": "func:PlanExecutor._execute_step_once", + "type": "contains", + "label": "方法 _execute_step_once" + }, + { + "id": "edge:f30236b5", + "source": "class:PlanExecutor", + "target": "func:PlanExecutor._handle_step_failure", + "type": "contains", + "label": "方法 _handle_step_failure" + }, + { + "id": "edge:baafdb4a", + "source": "class:PlanExecutor", + "target": "func:PlanExecutor._default_failure_action", + "type": "contains", + "label": "方法 _default_failure_action" + }, + { + "id": "edge:2bbc4f7a", + "source": "class:PlanExecutor", + "target": "func:PlanExecutor._skip_dependent_steps", + "type": "contains", + "label": "方法 _skip_dependent_steps" + }, + { + "id": "edge:ae56c421", + "source": "class:PlanExecutor", + "target": "func:PlanExecutor._abort_remaining_steps", + "type": "contains", + "label": "方法 _abort_remaining_steps" + }, + { + "id": "edge:479f9d10", + "source": "class:PlanExecutor", + "target": "func:PlanExecutor._inject_dependency_results", + "type": "contains", + "label": "方法 _inject_dependency_results" + }, + { + "id": "edge:bc2da391", + "source": "class:PlanExecutor", + "target": "func:PlanExecutor._determine_overall_status", + "type": "contains", + "label": "方法 _determine_overall_status" + }, + { + "id": "edge:fda540b7", + "source": "file:src/agentkit/core/plan_schema.py", + "target": "class:PlanStepStatus", + "type": "contains", + "label": "定义类 PlanStepStatus" + }, + { + "id": "edge:f9472d3e", + "source": "file:src/agentkit/core/plan_schema.py", + "target": "class:SkillGapLevel", + "type": "contains", + "label": "定义类 SkillGapLevel" + }, + { + "id": "edge:8055a200", + "source": "file:src/agentkit/core/plan_schema.py", + "target": "class:SkillGap", + "type": "contains", + "label": "定义类 SkillGap" + }, + { + "id": "edge:92222fd4", + "source": "file:src/agentkit/core/plan_schema.py", + "target": "class:PlanStep", + "type": "contains", + "label": "定义类 PlanStep" + }, + { + "id": "edge:833d4aec", + "source": "class:PlanStep", + "target": "func:PlanStep.to_dict", + "type": "contains", + "label": "方法 to_dict" + }, + { + "id": "edge:7c1a11b8", + "source": "file:src/agentkit/core/plan_schema.py", + "target": "class:ExecutionPlan", + "type": "contains", + "label": "定义类 ExecutionPlan" + }, + { + "id": "edge:88b4d892", + "source": "class:ExecutionPlan", + "target": "func:ExecutionPlan.has_skill_gaps", + "type": "contains", + "label": "方法 has_skill_gaps" + }, + { + "id": "edge:e07a104d", + "source": "class:ExecutionPlan", + "target": "func:ExecutionPlan.get_step", + "type": "contains", + "label": "方法 get_step" + }, + { + "id": "edge:485acadd", + "source": "class:ExecutionPlan", + "target": "func:ExecutionPlan.to_readable", + "type": "contains", + "label": "方法 to_readable" + }, + { + "id": "edge:44d0f6f9", + "source": "class:ExecutionPlan", + "target": "func:ExecutionPlan.to_dict", + "type": "contains", + "label": "方法 to_dict" + }, + { + "id": "edge:1924ef08", + "source": "file:src/agentkit/core/protocol.py", + "target": "class:TaskStatus", + "type": "contains", + "label": "定义类 TaskStatus" + }, + { + "id": "edge:cf97328c", + "source": "file:src/agentkit/core/protocol.py", + "target": "class:AgentStatus", + "type": "contains", + "label": "定义类 AgentStatus" + }, + { + "id": "edge:6a9dd453", + "source": "file:src/agentkit/core/protocol.py", + "target": "class:AgentCapability", + "type": "contains", + "label": "定义类 AgentCapability" + }, + { + "id": "edge:c8ca7b37", + "source": "class:AgentCapability", + "target": "func:AgentCapability.to_dict", + "type": "contains", + "label": "方法 to_dict" + }, + { + "id": "edge:514349ad", + "source": "class:AgentCapability", + "target": "func:AgentCapability.from_dict", + "type": "contains", + "label": "方法 from_dict" + }, + { + "id": "edge:87ba9086", + "source": "file:src/agentkit/core/protocol.py", + "target": "class:TaskMessage", + "type": "contains", + "label": "定义类 TaskMessage" + }, + { + "id": "edge:6d23dfa3", + "source": "class:TaskMessage", + "target": "func:TaskMessage.to_dict", + "type": "contains", + "label": "方法 to_dict" + }, + { + "id": "edge:d9203201", + "source": "class:TaskMessage", + "target": "func:TaskMessage.from_dict", + "type": "contains", + "label": "方法 from_dict" + }, + { + "id": "edge:fe4e12c6", + "source": "file:src/agentkit/core/protocol.py", + "target": "class:TaskResult", + "type": "contains", + "label": "定义类 TaskResult" + }, + { + "id": "edge:0c4c9b66", + "source": "class:TaskResult", + "target": "func:TaskResult.to_dict", + "type": "contains", + "label": "方法 to_dict" + }, + { + "id": "edge:9dfe5d01", + "source": "class:TaskResult", + "target": "func:TaskResult.from_dict", + "type": "contains", + "label": "方法 from_dict" + }, + { + "id": "edge:28e87f24", + "source": "file:src/agentkit/core/protocol.py", + "target": "class:TaskProgress", + "type": "contains", + "label": "定义类 TaskProgress" + }, + { + "id": "edge:59a533d9", + "source": "class:TaskProgress", + "target": "func:TaskProgress.to_dict", + "type": "contains", + "label": "方法 to_dict" + }, + { + "id": "edge:fe3d2adb", + "source": "class:TaskProgress", + "target": "func:TaskProgress.from_dict", + "type": "contains", + "label": "方法 from_dict" + }, + { + "id": "edge:fc284db3", + "source": "file:src/agentkit/core/protocol.py", + "target": "class:HandoffMessage", + "type": "contains", + "label": "定义类 HandoffMessage" + }, + { + "id": "edge:72a2e79b", + "source": "class:HandoffMessage", + "target": "func:HandoffMessage.to_dict", + "type": "contains", + "label": "方法 to_dict" + }, + { + "id": "edge:2ca4c32f", + "source": "class:HandoffMessage", + "target": "func:HandoffMessage.from_dict", + "type": "contains", + "label": "方法 from_dict" + }, + { + "id": "edge:30d092eb", + "source": "file:src/agentkit/core/protocol.py", + "target": "class:EvolutionEvent", + "type": "contains", + "label": "定义类 EvolutionEvent" + }, + { + "id": "edge:3002f795", + "source": "class:EvolutionEvent", + "target": "func:EvolutionEvent.to_dict", + "type": "contains", + "label": "方法 to_dict" + }, + { + "id": "edge:cf704190", + "source": "file:src/agentkit/core/protocol.py", + "target": "class:CancellationToken", + "type": "contains", + "label": "定义类 CancellationToken" + }, + { + "id": "edge:ade9a65f", + "source": "class:CancellationToken", + "target": "func:CancellationToken.cancel", + "type": "contains", + "label": "方法 cancel" + }, + { + "id": "edge:00ff07da", + "source": "class:CancellationToken", + "target": "func:CancellationToken.is_cancelled", + "type": "contains", + "label": "方法 is_cancelled" + }, + { + "id": "edge:40c768d1", + "source": "class:CancellationToken", + "target": "func:CancellationToken.check", + "type": "contains", + "label": "方法 check" + }, + { + "id": "edge:affdeb0c", + "source": "file:src/agentkit/core/react.py", + "target": "class:ReActStep", + "type": "contains", + "label": "定义类 ReActStep" + }, + { + "id": "edge:1c34ab7c", + "source": "file:src/agentkit/core/react.py", + "target": "class:ReActResult", + "type": "contains", + "label": "定义类 ReActResult" + }, + { + "id": "edge:a1057f19", + "source": "file:src/agentkit/core/react.py", + "target": "class:ReActEvent", + "type": "contains", + "label": "定义类 ReActEvent" + }, + { + "id": "edge:dae7fb35", + "source": "file:src/agentkit/core/react.py", + "target": "class:ReActEngine", + "type": "contains", + "label": "定义类 ReActEngine" + }, + { + "id": "edge:ff1659c7", + "source": "class:ReActEngine", + "target": "func:ReActEngine.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:af789e99", + "source": "class:ReActEngine", + "target": "func:ReActEngine.reset", + "type": "contains", + "label": "方法 reset" + }, + { + "id": "edge:c6ff51ae", + "source": "class:ReActEngine", + "target": "func:ReActEngine.execute", + "type": "contains", + "label": "方法 execute" + }, + { + "id": "edge:d7847156", + "source": "class:ReActEngine", + "target": "func:ReActEngine._execute_loop", + "type": "contains", + "label": "方法 _execute_loop" + }, + { + "id": "edge:69e47152", + "source": "class:ReActEngine", + "target": "func:ReActEngine.execute_stream", + "type": "contains", + "label": "方法 execute_stream" + }, + { + "id": "edge:4ee81331", + "source": "class:ReActEngine", + "target": "func:ReActEngine._build_tool_schemas", + "type": "contains", + "label": "方法 _build_tool_schemas" + }, + { + "id": "edge:d76817b5", + "source": "class:ReActEngine", + "target": "func:ReActEngine._build_response_from_stream", + "type": "contains", + "label": "方法 _build_response_from_stream" + }, + { + "id": "edge:986c460c", + "source": "class:ReActEngine", + "target": "func:ReActEngine._find_tool", + "type": "contains", + "label": "方法 _find_tool" + }, + { + "id": "edge:756e5ae9", + "source": "class:ReActEngine", + "target": "func:ReActEngine._should_compress", + "type": "contains", + "label": "方法 _should_compress" + }, + { + "id": "edge:603d117f", + "source": "class:ReActEngine", + "target": "func:ReActEngine._build_tool_result_message", + "type": "contains", + "label": "方法 _build_tool_result_message" + }, + { + "id": "edge:44fd81a9", + "source": "class:ReActEngine", + "target": "func:ReActEngine._execute_tool", + "type": "contains", + "label": "方法 _execute_tool" + }, + { + "id": "edge:8956e68e", + "source": "class:ReActEngine", + "target": "func:ReActEngine._execute_tool_with_confirmation", + "type": "contains", + "label": "方法 _execute_tool_with_confirmation" + }, + { + "id": "edge:8c511556", + "source": "class:ReActEngine", + "target": "func:ReActEngine._should_execute_parallel", + "type": "contains", + "label": "方法 _should_execute_parallel" + }, + { + "id": "edge:b8b6033d", + "source": "class:ReActEngine", + "target": "func:ReActEngine._get_parallelizable_indices", + "type": "contains", + "label": "方法 _get_parallelizable_indices" + }, + { + "id": "edge:4f9f5fbc", + "source": "class:ReActEngine", + "target": "func:ReActEngine._parse_text_tool_calls", + "type": "contains", + "label": "方法 _parse_text_tool_calls" + }, + { + "id": "edge:190fc33b", + "source": "file:src/agentkit/core/reflexion.py", + "target": "class:ReflexionReflection", + "type": "contains", + "label": "定义类 ReflexionReflection" + }, + { + "id": "edge:2c89ba45", + "source": "file:src/agentkit/core/reflexion.py", + "target": "class:ReflexionResult", + "type": "contains", + "label": "定义类 ReflexionResult" + }, + { + "id": "edge:4cb9d98f", + "source": "file:src/agentkit/core/reflexion.py", + "target": "class:ReflexionEngine", + "type": "contains", + "label": "定义类 ReflexionEngine" + }, + { + "id": "edge:3ef196df", + "source": "class:ReflexionEngine", + "target": "func:ReflexionEngine.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:de057ddc", + "source": "class:ReflexionEngine", + "target": "func:ReflexionEngine.execute", + "type": "contains", + "label": "方法 execute" + }, + { + "id": "edge:7bc7327e", + "source": "class:ReflexionEngine", + "target": "func:ReflexionEngine._execute_loop", + "type": "contains", + "label": "方法 _execute_loop" + }, + { + "id": "edge:d17de063", + "source": "class:ReflexionEngine", + "target": "func:ReflexionEngine.execute_stream", + "type": "contains", + "label": "方法 execute_stream" + }, + { + "id": "edge:136ba892", + "source": "class:ReflexionEngine", + "target": "func:ReflexionEngine._evaluate", + "type": "contains", + "label": "方法 _evaluate" + }, + { + "id": "edge:def7baa8", + "source": "class:ReflexionEngine", + "target": "func:ReflexionEngine._parse_evaluation_score", + "type": "contains", + "label": "方法 _parse_evaluation_score" + }, + { + "id": "edge:82c2fdb0", + "source": "class:ReflexionEngine", + "target": "func:ReflexionEngine._reflect", + "type": "contains", + "label": "方法 _reflect" + }, + { + "id": "edge:c5a25c80", + "source": "class:ReflexionEngine", + "target": "func:ReflexionEngine._build_reflection_prompt", + "type": "contains", + "label": "方法 _build_reflection_prompt" + }, + { + "id": "edge:bda6ddb3", + "source": "file:src/agentkit/core/registry.py", + "target": "class:AgentRegistry", + "type": "contains", + "label": "定义类 AgentRegistry" + }, + { + "id": "edge:d6d6dbcc", + "source": "class:AgentRegistry", + "target": "func:AgentRegistry.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:b40311f9", + "source": "class:AgentRegistry", + "target": "func:AgentRegistry.register", + "type": "contains", + "label": "方法 register" + }, + { + "id": "edge:a30964c5", + "source": "class:AgentRegistry", + "target": "func:AgentRegistry.unregister", + "type": "contains", + "label": "方法 unregister" + }, + { + "id": "edge:d0f5bab6", + "source": "class:AgentRegistry", + "target": "func:AgentRegistry.update_heartbeat", + "type": "contains", + "label": "方法 update_heartbeat" + }, + { + "id": "edge:5d55d946", + "source": "class:AgentRegistry", + "target": "func:AgentRegistry.get_agent", + "type": "contains", + "label": "方法 get_agent" + }, + { + "id": "edge:8751a219", + "source": "class:AgentRegistry", + "target": "func:AgentRegistry.list_agents", + "type": "contains", + "label": "方法 list_agents" + }, + { + "id": "edge:4904b92c", + "source": "class:AgentRegistry", + "target": "func:AgentRegistry.get_available_agent", + "type": "contains", + "label": "方法 get_available_agent" + }, + { + "id": "edge:e8fafb12", + "source": "class:AgentRegistry", + "target": "func:AgentRegistry.check_health", + "type": "contains", + "label": "方法 check_health" + }, + { + "id": "edge:7128ec17", + "source": "class:AgentRegistry", + "target": "func:AgentRegistry._agent_to_dict", + "type": "contains", + "label": "方法 _agent_to_dict" + }, + { + "id": "edge:2d89d71f", + "source": "file:src/agentkit/core/rewoo.py", + "target": "class:_FallbackFailedError", + "type": "contains", + "label": "定义类 _FallbackFailedError" + }, + { + "id": "edge:c802874c", + "source": "class:_FallbackFailedError", + "target": "func:_FallbackFailedError.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:ac8fe82e", + "source": "file:src/agentkit/core/rewoo.py", + "target": "class:ReWOOPlanStep", + "type": "contains", + "label": "定义类 ReWOOPlanStep" + }, + { + "id": "edge:f1ec1c0d", + "source": "file:src/agentkit/core/rewoo.py", + "target": "class:ReWOOPlan", + "type": "contains", + "label": "定义类 ReWOOPlan" + }, + { + "id": "edge:ae775de9", + "source": "file:src/agentkit/core/rewoo.py", + "target": "class:ReWOOStep", + "type": "contains", + "label": "定义类 ReWOOStep" + }, + { + "id": "edge:74a68aa8", + "source": "class:ReWOOStep", + "target": "class:ReActStep", + "type": "extends", + "label": "继承 ReActStep" + }, + { + "id": "edge:32b8655c", + "source": "file:src/agentkit/core/rewoo.py", + "target": "class:ReWOOEngine", + "type": "contains", + "label": "定义类 ReWOOEngine" + }, + { + "id": "edge:d5857eae", + "source": "class:ReWOOEngine", + "target": "func:ReWOOEngine.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:11838a82", + "source": "class:ReWOOEngine", + "target": "func:ReWOOEngine.execute", + "type": "contains", + "label": "方法 execute" + }, + { + "id": "edge:aa9c81e1", + "source": "class:ReWOOEngine", + "target": "func:ReWOOEngine._execute_rewoo", + "type": "contains", + "label": "方法 _execute_rewoo" + }, + { + "id": "edge:626ea391", + "source": "class:ReWOOEngine", + "target": "func:ReWOOEngine.execute_stream", + "type": "contains", + "label": "方法 execute_stream" + }, + { + "id": "edge:5a85eda6", + "source": "class:ReWOOEngine", + "target": "func:ReWOOEngine._try_fallback_strategies_stream", + "type": "contains", + "label": "方法 _try_fallback_strategies_stream" + }, + { + "id": "edge:2517b120", + "source": "class:ReWOOEngine", + "target": "func:ReWOOEngine._fallback_simplified_rewoo_stream", + "type": "contains", + "label": "方法 _fallback_simplified_rewoo_stream" + }, + { + "id": "edge:810f0eaa", + "source": "class:ReWOOEngine", + "target": "func:ReWOOEngine._fallback_react_stream", + "type": "contains", + "label": "方法 _fallback_react_stream" + }, + { + "id": "edge:07b5b1f7", + "source": "class:ReWOOEngine", + "target": "func:ReWOOEngine._fallback_direct_stream", + "type": "contains", + "label": "方法 _fallback_direct_stream" + }, + { + "id": "edge:f786d727", + "source": "class:ReWOOEngine", + "target": "func:ReWOOEngine._fallback_plan_exec_stream", + "type": "contains", + "label": "方法 _fallback_plan_exec_stream" + }, + { + "id": "edge:f2c98f86", + "source": "class:ReWOOEngine", + "target": "func:ReWOOEngine._try_fallback_strategies", + "type": "contains", + "label": "方法 _try_fallback_strategies" + }, + { + "id": "edge:0bc0cc6e", + "source": "class:ReWOOEngine", + "target": "func:ReWOOEngine._fallback_simplified_rewoo", + "type": "contains", + "label": "方法 _fallback_simplified_rewoo" + }, + { + "id": "edge:ef0b7f03", + "source": "class:ReWOOEngine", + "target": "func:ReWOOEngine._fallback_react", + "type": "contains", + "label": "方法 _fallback_react" + }, + { + "id": "edge:9a305591", + "source": "class:ReWOOEngine", + "target": "func:ReWOOEngine._fallback_direct", + "type": "contains", + "label": "方法 _fallback_direct" + }, + { + "id": "edge:e66b69b6", + "source": "class:ReWOOEngine", + "target": "func:ReWOOEngine._fallback_plan_exec", + "type": "contains", + "label": "方法 _fallback_plan_exec" + }, + { + "id": "edge:049eb2fe", + "source": "class:ReWOOEngine", + "target": "func:ReWOOEngine._plan_phase", + "type": "contains", + "label": "方法 _plan_phase" + }, + { + "id": "edge:ad4ca605", + "source": "class:ReWOOEngine", + "target": "func:ReWOOEngine._synthesis_phase", + "type": "contains", + "label": "方法 _synthesis_phase" + }, + { + "id": "edge:7eacd668", + "source": "class:ReWOOEngine", + "target": "func:ReWOOEngine._build_tool_schemas", + "type": "contains", + "label": "方法 _build_tool_schemas" + }, + { + "id": "edge:35369afe", + "source": "class:ReWOOEngine", + "target": "func:ReWOOEngine._build_tool_descriptions", + "type": "contains", + "label": "方法 _build_tool_descriptions" + }, + { + "id": "edge:ecb0e2e0", + "source": "class:ReWOOEngine", + "target": "func:ReWOOEngine._parse_plan", + "type": "contains", + "label": "方法 _parse_plan" + }, + { + "id": "edge:4def798f", + "source": "class:ReWOOEngine", + "target": "func:ReWOOEngine._find_tool", + "type": "contains", + "label": "方法 _find_tool" + }, + { + "id": "edge:4ec775aa", + "source": "class:ReWOOEngine", + "target": "func:ReWOOEngine._execute_tool", + "type": "contains", + "label": "方法 _execute_tool" + }, + { + "id": "edge:aa8c482f", + "source": "file:src/agentkit/core/shared_workspace.py", + "target": "class:SharedWorkspace", + "type": "contains", + "label": "定义类 SharedWorkspace" + }, + { + "id": "edge:77e63706", + "source": "class:SharedWorkspace", + "target": "func:SharedWorkspace.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:b7946174", + "source": "class:SharedWorkspace", + "target": "func:SharedWorkspace._make_key", + "type": "contains", + "label": "方法 _make_key" + }, + { + "id": "edge:e4265800", + "source": "class:SharedWorkspace", + "target": "func:SharedWorkspace.write", + "type": "contains", + "label": "方法 write" + }, + { + "id": "edge:6d0b8ebe", + "source": "class:SharedWorkspace", + "target": "func:SharedWorkspace.read", + "type": "contains", + "label": "方法 read" + }, + { + "id": "edge:9c82377a", + "source": "class:SharedWorkspace", + "target": "func:SharedWorkspace.delete", + "type": "contains", + "label": "方法 delete" + }, + { + "id": "edge:b6be95f6", + "source": "class:SharedWorkspace", + "target": "func:SharedWorkspace.lock", + "type": "contains", + "label": "方法 lock" + }, + { + "id": "edge:e8079634", + "source": "class:SharedWorkspace", + "target": "func:SharedWorkspace.unlock", + "type": "contains", + "label": "方法 unlock" + }, + { + "id": "edge:b5d4c1ae", + "source": "class:SharedWorkspace", + "target": "func:SharedWorkspace._get_version", + "type": "contains", + "label": "方法 _get_version" + }, + { + "id": "edge:0495070f", + "source": "class:SharedWorkspace", + "target": "func:SharedWorkspace.list_keys", + "type": "contains", + "label": "方法 list_keys" + }, + { + "id": "edge:3df4439a", + "source": "file:src/agentkit/core/standalone.py", + "target": "class:StandaloneRunner", + "type": "contains", + "label": "定义类 StandaloneRunner" + }, + { + "id": "edge:09367ba5", + "source": "class:StandaloneRunner", + "target": "func:StandaloneRunner.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:a3a6587f", + "source": "class:StandaloneRunner", + "target": "func:StandaloneRunner.agents", + "type": "contains", + "label": "方法 agents" + }, + { + "id": "edge:e6af7bd8", + "source": "class:StandaloneRunner", + "target": "func:StandaloneRunner.add_tool", + "type": "contains", + "label": "方法 add_tool" + }, + { + "id": "edge:878e9d2a", + "source": "class:StandaloneRunner", + "target": "func:StandaloneRunner.add_custom_handler", + "type": "contains", + "label": "方法 add_custom_handler" + }, + { + "id": "edge:1164d70a", + "source": "class:StandaloneRunner", + "target": "func:StandaloneRunner.discover_configs", + "type": "contains", + "label": "方法 discover_configs" + }, + { + "id": "edge:472a6714", + "source": "class:StandaloneRunner", + "target": "func:StandaloneRunner.build_agents", + "type": "contains", + "label": "方法 build_agents" + }, + { + "id": "edge:536f7ae4", + "source": "class:StandaloneRunner", + "target": "func:StandaloneRunner.start_all", + "type": "contains", + "label": "方法 start_all" + }, + { + "id": "edge:dc73af74", + "source": "class:StandaloneRunner", + "target": "func:StandaloneRunner.stop_all", + "type": "contains", + "label": "方法 stop_all" + }, + { + "id": "edge:2cedb7f8", + "source": "class:StandaloneRunner", + "target": "func:StandaloneRunner.execute_task", + "type": "contains", + "label": "方法 execute_task" + }, + { + "id": "edge:0d7cf28c", + "source": "file:src/agentkit/core/trace.py", + "target": "class:TraceStep", + "type": "contains", + "label": "定义类 TraceStep" + }, + { + "id": "edge:83acde91", + "source": "class:TraceStep", + "target": "func:TraceStep.to_dict", + "type": "contains", + "label": "方法 to_dict" + }, + { + "id": "edge:ae973298", + "source": "file:src/agentkit/core/trace.py", + "target": "class:ExecutionTrace", + "type": "contains", + "label": "定义类 ExecutionTrace" + }, + { + "id": "edge:dc40b8a6", + "source": "class:ExecutionTrace", + "target": "func:ExecutionTrace.to_dict", + "type": "contains", + "label": "方法 to_dict" + }, + { + "id": "edge:19543323", + "source": "file:src/agentkit/core/trace.py", + "target": "class:TraceRecorder", + "type": "contains", + "label": "定义类 TraceRecorder" + }, + { + "id": "edge:8d58e4ef", + "source": "class:TraceRecorder", + "target": "func:TraceRecorder.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:8f62abfd", + "source": "class:TraceRecorder", + "target": "func:TraceRecorder.start_trace", + "type": "contains", + "label": "方法 start_trace" + }, + { + "id": "edge:092dbf95", + "source": "class:TraceRecorder", + "target": "func:TraceRecorder.record_step", + "type": "contains", + "label": "方法 record_step" + }, + { + "id": "edge:e82a5531", + "source": "class:TraceRecorder", + "target": "func:TraceRecorder.end_trace", + "type": "contains", + "label": "方法 end_trace" + }, + { + "id": "edge:ba53490c", + "source": "class:TraceRecorder", + "target": "func:TraceRecorder.get_trace", + "type": "contains", + "label": "方法 get_trace" + }, + { + "id": "edge:7bfcfede", + "source": "class:TraceRecorder", + "target": "func:TraceRecorder.start_step_timer", + "type": "contains", + "label": "方法 start_step_timer" + }, + { + "id": "edge:b6c78941", + "source": "class:TraceRecorder", + "target": "func:TraceRecorder.elapsed_ms", + "type": "contains", + "label": "方法 elapsed_ms" + }, + { + "id": "edge:9e620185", + "source": "file:src/agentkit/evaluation/ragas_evaluator.py", + "target": "class:EvalSample", + "type": "contains", + "label": "定义类 EvalSample" + }, + { + "id": "edge:3a010938", + "source": "file:src/agentkit/evaluation/ragas_evaluator.py", + "target": "class:EvalMetrics", + "type": "contains", + "label": "定义类 EvalMetrics" + }, + { + "id": "edge:add1c5b7", + "source": "class:EvalMetrics", + "target": "func:EvalMetrics.average", + "type": "contains", + "label": "方法 average" + }, + { + "id": "edge:99193744", + "source": "class:EvalMetrics", + "target": "func:EvalMetrics.to_dict", + "type": "contains", + "label": "方法 to_dict" + }, + { + "id": "edge:1f1d8673", + "source": "file:src/agentkit/evaluation/ragas_evaluator.py", + "target": "class:EvalResult", + "type": "contains", + "label": "定义类 EvalResult" + }, + { + "id": "edge:c8125b57", + "source": "file:src/agentkit/evaluation/ragas_evaluator.py", + "target": "class:EvalDatasetBuilder", + "type": "contains", + "label": "定义类 EvalDatasetBuilder" + }, + { + "id": "edge:bfa543da", + "source": "class:EvalDatasetBuilder", + "target": "func:EvalDatasetBuilder.from_traces", + "type": "contains", + "label": "方法 from_traces" + }, + { + "id": "edge:f1ec8747", + "source": "class:EvalDatasetBuilder", + "target": "func:EvalDatasetBuilder.from_dict_list", + "type": "contains", + "label": "方法 from_dict_list" + }, + { + "id": "edge:756f9f22", + "source": "file:src/agentkit/evaluation/ragas_evaluator.py", + "target": "class:RagasEvaluator", + "type": "contains", + "label": "定义类 RagasEvaluator" + }, + { + "id": "edge:26738dc5", + "source": "class:RagasEvaluator", + "target": "func:RagasEvaluator.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:52ca0cdf", + "source": "class:RagasEvaluator", + "target": "func:RagasEvaluator.evaluate", + "type": "contains", + "label": "方法 evaluate" + }, + { + "id": "edge:b787e7fb", + "source": "class:RagasEvaluator", + "target": "func:RagasEvaluator._evaluate_with_ragas", + "type": "contains", + "label": "方法 _evaluate_with_ragas" + }, + { + "id": "edge:85f60e6c", + "source": "class:RagasEvaluator", + "target": "func:RagasEvaluator._evaluate_builtin", + "type": "contains", + "label": "方法 _evaluate_builtin" + }, + { + "id": "edge:fe9e15ed", + "source": "file:src/agentkit/evolution/ab_tester.py", + "target": "class:ABTestConfig", + "type": "contains", + "label": "定义类 ABTestConfig" + }, + { + "id": "edge:b5c87b12", + "source": "file:src/agentkit/evolution/ab_tester.py", + "target": "class:ABTestResult", + "type": "contains", + "label": "定义类 ABTestResult" + }, + { + "id": "edge:06b948dc", + "source": "file:src/agentkit/evolution/ab_tester.py", + "target": "class:ABTester", + "type": "contains", + "label": "定义类 ABTester" + }, + { + "id": "edge:456fd518", + "source": "class:ABTester", + "target": "func:ABTester.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:8fbfcfd6", + "source": "class:ABTester", + "target": "func:ABTester.create_test", + "type": "contains", + "label": "方法 create_test" + }, + { + "id": "edge:421f74c7", + "source": "class:ABTester", + "target": "func:ABTester.assign_group", + "type": "contains", + "label": "方法 assign_group" + }, + { + "id": "edge:16ca7dfd", + "source": "class:ABTester", + "target": "func:ABTester.record_result", + "type": "contains", + "label": "方法 record_result" + }, + { + "id": "edge:82b2e10f", + "source": "class:ABTester", + "target": "func:ABTester.persist_results", + "type": "contains", + "label": "方法 persist_results" + }, + { + "id": "edge:396952e4", + "source": "class:ABTester", + "target": "func:ABTester.evaluate", + "type": "contains", + "label": "方法 evaluate" + }, + { + "id": "edge:6499e668", + "source": "class:ABTester", + "target": "func:ABTester._normal_cdf", + "type": "contains", + "label": "方法 _normal_cdf" + }, + { + "id": "edge:58c4e0c3", + "source": "file:src/agentkit/evolution/evolution_store.py", + "target": "class:EvolutionStore", + "type": "contains", + "label": "定义类 EvolutionStore" + }, + { + "id": "edge:a72790b2", + "source": "class:EvolutionStore", + "target": "func:EvolutionStore.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:4bd16c76", + "source": "class:EvolutionStore", + "target": "func:EvolutionStore.record", + "type": "contains", + "label": "方法 record" + }, + { + "id": "edge:a805db01", + "source": "class:EvolutionStore", + "target": "func:EvolutionStore.rollback", + "type": "contains", + "label": "方法 rollback" + }, + { + "id": "edge:66c66878", + "source": "class:EvolutionStore", + "target": "func:EvolutionStore.list_events", + "type": "contains", + "label": "方法 list_events" + }, + { + "id": "edge:d171078f", + "source": "file:src/agentkit/evolution/evolution_store.py", + "target": "class:PersistentEvolutionStore", + "type": "contains", + "label": "定义类 PersistentEvolutionStore" + }, + { + "id": "edge:23a27823", + "source": "class:PersistentEvolutionStore", + "target": "func:PersistentEvolutionStore.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:108feab6", + "source": "class:PersistentEvolutionStore", + "target": "func:PersistentEvolutionStore._run_sync", + "type": "contains", + "label": "方法 _run_sync" + }, + { + "id": "edge:5c7c6f58", + "source": "class:PersistentEvolutionStore", + "target": "func:PersistentEvolutionStore.close", + "type": "contains", + "label": "方法 close" + }, + { + "id": "edge:eb69cc97", + "source": "class:PersistentEvolutionStore", + "target": "func:PersistentEvolutionStore.__aenter__", + "type": "contains", + "label": "方法 __aenter__" + }, + { + "id": "edge:1dda7b5d", + "source": "class:PersistentEvolutionStore", + "target": "func:PersistentEvolutionStore.__aexit__", + "type": "contains", + "label": "方法 __aexit__" + }, + { + "id": "edge:fac8864d", + "source": "class:PersistentEvolutionStore", + "target": "func:PersistentEvolutionStore._retry_locked", + "type": "contains", + "label": "方法 _retry_locked" + }, + { + "id": "edge:77855ffc", + "source": "class:PersistentEvolutionStore", + "target": "func:PersistentEvolutionStore._record_sync", + "type": "contains", + "label": "方法 _record_sync" + }, + { + "id": "edge:197e202c", + "source": "class:PersistentEvolutionStore", + "target": "func:PersistentEvolutionStore.record", + "type": "contains", + "label": "方法 record" + }, + { + "id": "edge:487cd19f", + "source": "class:PersistentEvolutionStore", + "target": "func:PersistentEvolutionStore._rollback_sync", + "type": "contains", + "label": "方法 _rollback_sync" + }, + { + "id": "edge:7fba9b04", + "source": "class:PersistentEvolutionStore", + "target": "func:PersistentEvolutionStore.rollback", + "type": "contains", + "label": "方法 rollback" + }, + { + "id": "edge:e369ba1e", + "source": "class:PersistentEvolutionStore", + "target": "func:PersistentEvolutionStore._list_events_sync", + "type": "contains", + "label": "方法 _list_events_sync" + }, + { + "id": "edge:0edc20f3", + "source": "class:PersistentEvolutionStore", + "target": "func:PersistentEvolutionStore.list_events", + "type": "contains", + "label": "方法 list_events" + }, + { + "id": "edge:2ce1bb1e", + "source": "class:PersistentEvolutionStore", + "target": "func:PersistentEvolutionStore._record_skill_version_sync", + "type": "contains", + "label": "方法 _record_skill_version_sync" + }, + { + "id": "edge:f6301584", + "source": "class:PersistentEvolutionStore", + "target": "func:PersistentEvolutionStore.record_skill_version", + "type": "contains", + "label": "方法 record_skill_version" + }, + { + "id": "edge:9e64a116", + "source": "class:PersistentEvolutionStore", + "target": "func:PersistentEvolutionStore._list_skill_versions_sync", + "type": "contains", + "label": "方法 _list_skill_versions_sync" + }, + { + "id": "edge:6efd20cc", + "source": "class:PersistentEvolutionStore", + "target": "func:PersistentEvolutionStore.list_skill_versions", + "type": "contains", + "label": "方法 list_skill_versions" + }, + { + "id": "edge:59ca0e9c", + "source": "class:PersistentEvolutionStore", + "target": "func:PersistentEvolutionStore._record_ab_test_result_sync", + "type": "contains", + "label": "方法 _record_ab_test_result_sync" + }, + { + "id": "edge:ae2172d3", + "source": "class:PersistentEvolutionStore", + "target": "func:PersistentEvolutionStore.record_ab_test_result", + "type": "contains", + "label": "方法 record_ab_test_result" + }, + { + "id": "edge:3a8a933d", + "source": "class:PersistentEvolutionStore", + "target": "func:PersistentEvolutionStore._get_ab_test_results_sync", + "type": "contains", + "label": "方法 _get_ab_test_results_sync" + }, + { + "id": "edge:ae879625", + "source": "class:PersistentEvolutionStore", + "target": "func:PersistentEvolutionStore.get_ab_test_results", + "type": "contains", + "label": "方法 get_ab_test_results" + }, + { + "id": "edge:536f1a53", + "source": "file:src/agentkit/evolution/evolution_store.py", + "target": "class:InMemoryEvolutionStore", + "type": "contains", + "label": "定义类 InMemoryEvolutionStore" + }, + { + "id": "edge:d13744e1", + "source": "class:InMemoryEvolutionStore", + "target": "func:InMemoryEvolutionStore.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:5a2045a2", + "source": "class:InMemoryEvolutionStore", + "target": "func:InMemoryEvolutionStore.record", + "type": "contains", + "label": "方法 record" + }, + { + "id": "edge:c5c2ff78", + "source": "class:InMemoryEvolutionStore", + "target": "func:InMemoryEvolutionStore.rollback", + "type": "contains", + "label": "方法 rollback" + }, + { + "id": "edge:a8a6a246", + "source": "class:InMemoryEvolutionStore", + "target": "func:InMemoryEvolutionStore.list_events", + "type": "contains", + "label": "方法 list_events" + }, + { + "id": "edge:6a2639d6", + "source": "class:InMemoryEvolutionStore", + "target": "func:InMemoryEvolutionStore.record_skill_version", + "type": "contains", + "label": "方法 record_skill_version" + }, + { + "id": "edge:6ae84675", + "source": "class:InMemoryEvolutionStore", + "target": "func:InMemoryEvolutionStore.list_skill_versions", + "type": "contains", + "label": "方法 list_skill_versions" + }, + { + "id": "edge:f60285a9", + "source": "class:InMemoryEvolutionStore", + "target": "func:InMemoryEvolutionStore.record_ab_test_result", + "type": "contains", + "label": "方法 record_ab_test_result" + }, + { + "id": "edge:83773c6c", + "source": "class:InMemoryEvolutionStore", + "target": "func:InMemoryEvolutionStore.get_ab_test_results", + "type": "contains", + "label": "方法 get_ab_test_results" + }, + { + "id": "edge:4fb23497", + "source": "file:src/agentkit/evolution/experience_schema.py", + "target": "class:TaskExperience", + "type": "contains", + "label": "定义类 TaskExperience" + }, + { + "id": "edge:f7aeb471", + "source": "class:TaskExperience", + "target": "func:TaskExperience.to_dict", + "type": "contains", + "label": "方法 to_dict" + }, + { + "id": "edge:41f8ec79", + "source": "class:TaskExperience", + "target": "func:TaskExperience.text_for_embedding", + "type": "contains", + "label": "方法 text_for_embedding" + }, + { + "id": "edge:f96d9a28", + "source": "file:src/agentkit/evolution/experience_schema.py", + "target": "class:EvolutionMetrics", + "type": "contains", + "label": "定义类 EvolutionMetrics" + }, + { + "id": "edge:cc6098bc", + "source": "class:EvolutionMetrics", + "target": "func:EvolutionMetrics.to_dict", + "type": "contains", + "label": "方法 to_dict" + }, + { + "id": "edge:9ad73e50", + "source": "file:src/agentkit/evolution/experience_store.py", + "target": "class:ExperienceStore", + "type": "contains", + "label": "定义类 ExperienceStore" + }, + { + "id": "edge:029db329", + "source": "class:ExperienceStore", + "target": "func:ExperienceStore.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:fc612c92", + "source": "class:ExperienceStore", + "target": "func:ExperienceStore.record_experience", + "type": "contains", + "label": "方法 record_experience" + }, + { + "id": "edge:d1763d55", + "source": "class:ExperienceStore", + "target": "func:ExperienceStore.search", + "type": "contains", + "label": "方法 search" + }, + { + "id": "edge:ccce4dfe", + "source": "class:ExperienceStore", + "target": "func:ExperienceStore._search_pgvector", + "type": "contains", + "label": "方法 _search_pgvector" + }, + { + "id": "edge:f7efbb0f", + "source": "class:ExperienceStore", + "target": "func:ExperienceStore._search_client_side", + "type": "contains", + "label": "方法 _search_client_side" + }, + { + "id": "edge:a4277bdb", + "source": "class:ExperienceStore", + "target": "func:ExperienceStore.get_metrics", + "type": "contains", + "label": "方法 get_metrics" + }, + { + "id": "edge:56d0e5ec", + "source": "file:src/agentkit/evolution/experience_store.py", + "target": "class:InMemoryExperienceStore", + "type": "contains", + "label": "定义类 InMemoryExperienceStore" + }, + { + "id": "edge:b90177f1", + "source": "class:InMemoryExperienceStore", + "target": "func:InMemoryExperienceStore.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:612cd694", + "source": "class:InMemoryExperienceStore", + "target": "func:InMemoryExperienceStore.record_experience", + "type": "contains", + "label": "方法 record_experience" + }, + { + "id": "edge:a3284704", + "source": "class:InMemoryExperienceStore", + "target": "func:InMemoryExperienceStore.search", + "type": "contains", + "label": "方法 search" + }, + { + "id": "edge:195595ec", + "source": "class:InMemoryExperienceStore", + "target": "func:InMemoryExperienceStore.get_metrics", + "type": "contains", + "label": "方法 get_metrics" + }, + { + "id": "edge:ff954f88", + "source": "file:src/agentkit/evolution/fitness.py", + "target": "class:FitnessWeights", + "type": "contains", + "label": "定义类 FitnessWeights" + }, + { + "id": "edge:45276a67", + "source": "class:FitnessWeights", + "target": "func:FitnessWeights.__post_init__", + "type": "contains", + "label": "方法 __post_init__" + }, + { + "id": "edge:859f932e", + "source": "file:src/agentkit/evolution/fitness.py", + "target": "class:MultiObjectiveFitness", + "type": "contains", + "label": "定义类 MultiObjectiveFitness" + }, + { + "id": "edge:dcb38e3b", + "source": "class:MultiObjectiveFitness", + "target": "func:MultiObjectiveFitness.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:55fa4eee", + "source": "class:MultiObjectiveFitness", + "target": "func:MultiObjectiveFitness.evaluate", + "type": "contains", + "label": "方法 evaluate" + }, + { + "id": "edge:058d6a19", + "source": "class:MultiObjectiveFitness", + "target": "func:MultiObjectiveFitness.weighted_score", + "type": "contains", + "label": "方法 weighted_score" + }, + { + "id": "edge:02430fd4", + "source": "class:MultiObjectiveFitness", + "target": "func:MultiObjectiveFitness.pareto_rank", + "type": "contains", + "label": "方法 pareto_rank" + }, + { + "id": "edge:e7d7aa84", + "source": "class:MultiObjectiveFitness", + "target": "func:MultiObjectiveFitness.crowding_distance", + "type": "contains", + "label": "方法 crowding_distance" + }, + { + "id": "edge:c031b07c", + "source": "file:src/agentkit/evolution/fitness.py", + "target": "class:ExtendedStrategyConfig", + "type": "contains", + "label": "定义类 ExtendedStrategyConfig" + }, + { + "id": "edge:77a34a1c", + "source": "file:src/agentkit/evolution/fitness.py", + "target": "class:ExtendedStrategyTuner", + "type": "contains", + "label": "定义类 ExtendedStrategyTuner" + }, + { + "id": "edge:19024615", + "source": "class:ExtendedStrategyTuner", + "target": "func:ExtendedStrategyTuner.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:58351ea4", + "source": "class:ExtendedStrategyTuner", + "target": "func:ExtendedStrategyTuner.record", + "type": "contains", + "label": "方法 record" + }, + { + "id": "edge:b51cfaf1", + "source": "class:ExtendedStrategyTuner", + "target": "func:ExtendedStrategyTuner.suggest", + "type": "contains", + "label": "方法 suggest" + }, + { + "id": "edge:6eb37613", + "source": "class:ExtendedStrategyTuner", + "target": "func:ExtendedStrategyTuner._optimize_param", + "type": "contains", + "label": "方法 _optimize_param" + }, + { + "id": "edge:604bb655", + "source": "class:ExtendedStrategyTuner", + "target": "func:ExtendedStrategyTuner._suggest_retrieval_mode", + "type": "contains", + "label": "方法 _suggest_retrieval_mode" + }, + { + "id": "edge:5a982847", + "source": "class:ExtendedStrategyTuner", + "target": "func:ExtendedStrategyTuner.history_size", + "type": "contains", + "label": "方法 history_size" + }, + { + "id": "edge:fef0c906", + "source": "file:src/agentkit/evolution/genetic.py", + "target": "class:FitnessScore", + "type": "contains", + "label": "定义类 FitnessScore" + }, + { + "id": "edge:1cfcb057", + "source": "class:FitnessScore", + "target": "func:FitnessScore.normalized", + "type": "contains", + "label": "方法 normalized" + }, + { + "id": "edge:0fc578e6", + "source": "class:FitnessScore", + "target": "func:FitnessScore.dominates", + "type": "contains", + "label": "方法 dominates" + }, + { + "id": "edge:f8ab8a30", + "source": "file:src/agentkit/evolution/genetic.py", + "target": "class:PromptChromosome", + "type": "contains", + "label": "定义类 PromptChromosome" + }, + { + "id": "edge:475524a9", + "source": "class:PromptChromosome", + "target": "func:PromptChromosome.to_module", + "type": "contains", + "label": "方法 to_module" + }, + { + "id": "edge:b658e9de", + "source": "class:PromptChromosome", + "target": "func:PromptChromosome.from_module", + "type": "contains", + "label": "方法 from_module" + }, + { + "id": "edge:77553ff7", + "source": "file:src/agentkit/evolution/genetic.py", + "target": "class:CrossoverOperator", + "type": "contains", + "label": "定义类 CrossoverOperator" + }, + { + "id": "edge:50549c04", + "source": "class:CrossoverOperator", + "target": "func:CrossoverOperator.crossover", + "type": "contains", + "label": "方法 crossover" + }, + { + "id": "edge:c6d75b6e", + "source": "class:CrossoverOperator", + "target": "func:CrossoverOperator._crossover_text", + "type": "contains", + "label": "方法 _crossover_text" + }, + { + "id": "edge:b52cf2ec", + "source": "class:CrossoverOperator", + "target": "func:CrossoverOperator._crossover_demos", + "type": "contains", + "label": "方法 _crossover_demos" + }, + { + "id": "edge:32066864", + "source": "class:CrossoverOperator", + "target": "func:CrossoverOperator._crossover_constraints", + "type": "contains", + "label": "方法 _crossover_constraints" + }, + { + "id": "edge:dc024eb7", + "source": "file:src/agentkit/evolution/genetic.py", + "target": "class:MutationOperator", + "type": "contains", + "label": "定义类 MutationOperator" + }, + { + "id": "edge:419b0b00", + "source": "class:MutationOperator", + "target": "func:MutationOperator.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:68502172", + "source": "class:MutationOperator", + "target": "func:MutationOperator.mutate", + "type": "contains", + "label": "方法 mutate" + }, + { + "id": "edge:ac9cd394", + "source": "class:MutationOperator", + "target": "func:MutationOperator._mutate_instructions", + "type": "contains", + "label": "方法 _mutate_instructions" + }, + { + "id": "edge:d6a37dc7", + "source": "class:MutationOperator", + "target": "func:MutationOperator._mutate_demos", + "type": "contains", + "label": "方法 _mutate_demos" + }, + { + "id": "edge:46f9a66d", + "source": "class:MutationOperator", + "target": "func:MutationOperator._mutate_constraints", + "type": "contains", + "label": "方法 _mutate_constraints" + }, + { + "id": "edge:c85b20b9", + "source": "file:src/agentkit/evolution/genetic.py", + "target": "class:GEPAPopulation", + "type": "contains", + "label": "定义类 GEPAPopulation" + }, + { + "id": "edge:7fbbd98a", + "source": "class:GEPAPopulation", + "target": "func:GEPAPopulation.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:39dc60d7", + "source": "class:GEPAPopulation", + "target": "func:GEPAPopulation.generation", + "type": "contains", + "label": "方法 generation" + }, + { + "id": "edge:21ed00d8", + "source": "class:GEPAPopulation", + "target": "func:GEPAPopulation.individuals", + "type": "contains", + "label": "方法 individuals" + }, + { + "id": "edge:4558f06e", + "source": "class:GEPAPopulation", + "target": "func:GEPAPopulation.size", + "type": "contains", + "label": "方法 size" + }, + { + "id": "edge:c29d7fa3", + "source": "class:GEPAPopulation", + "target": "func:GEPAPopulation.initialize", + "type": "contains", + "label": "方法 initialize" + }, + { + "id": "edge:e4777712", + "source": "class:GEPAPopulation", + "target": "func:GEPAPopulation.add", + "type": "contains", + "label": "方法 add" + }, + { + "id": "edge:0b918b96", + "source": "class:GEPAPopulation", + "target": "func:GEPAPopulation.get_elite", + "type": "contains", + "label": "方法 get_elite" + }, + { + "id": "edge:906534e6", + "source": "class:GEPAPopulation", + "target": "func:GEPAPopulation.get_pareto_front", + "type": "contains", + "label": "方法 get_pareto_front" + }, + { + "id": "edge:2ff21c26", + "source": "class:GEPAPopulation", + "target": "func:GEPAPopulation.tournament_select", + "type": "contains", + "label": "方法 tournament_select" + }, + { + "id": "edge:bdea55dc", + "source": "class:GEPAPopulation", + "target": "func:GEPAPopulation.evolve", + "type": "contains", + "label": "方法 evolve" + }, + { + "id": "edge:47c09839", + "source": "class:GEPAPopulation", + "target": "func:GEPAPopulation.get_best", + "type": "contains", + "label": "方法 get_best" + }, + { + "id": "edge:0c97c808", + "source": "class:GEPAPopulation", + "target": "func:GEPAPopulation.get_statistics", + "type": "contains", + "label": "方法 get_statistics" + }, + { + "id": "edge:2057e686", + "source": "file:src/agentkit/evolution/lifecycle.py", + "target": "class:SoulEvolutionConfig", + "type": "contains", + "label": "定义类 SoulEvolutionConfig" + }, + { + "id": "edge:f8d2b24b", + "source": "file:src/agentkit/evolution/lifecycle.py", + "target": "class:EvolutionLogEntry", + "type": "contains", + "label": "定义类 EvolutionLogEntry" + }, + { + "id": "edge:3d616b7b", + "source": "file:src/agentkit/evolution/lifecycle.py", + "target": "class:EvolutionMixin", + "type": "contains", + "label": "定义类 EvolutionMixin" + }, + { + "id": "edge:5126ab2b", + "source": "class:EvolutionMixin", + "target": "func:EvolutionMixin.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:b3aa7ed5", + "source": "class:EvolutionMixin", + "target": "func:EvolutionMixin._create_reflector", + "type": "contains", + "label": "方法 _create_reflector" + }, + { + "id": "edge:80d768ee", + "source": "class:EvolutionMixin", + "target": "func:EvolutionMixin.evolve_after_task", + "type": "contains", + "label": "方法 evolve_after_task" + }, + { + "id": "edge:35ce9897", + "source": "class:EvolutionMixin", + "target": "func:EvolutionMixin._optimize_with_context", + "type": "contains", + "label": "方法 _optimize_with_context" + }, + { + "id": "edge:2d4d6f84", + "source": "class:EvolutionMixin", + "target": "func:EvolutionMixin._run_ab_test", + "type": "contains", + "label": "方法 _run_ab_test" + }, + { + "id": "edge:d11b7315", + "source": "class:EvolutionMixin", + "target": "func:EvolutionMixin._run_strategy_tuning", + "type": "contains", + "label": "方法 _run_strategy_tuning" + }, + { + "id": "edge:963f4a5b", + "source": "class:EvolutionMixin", + "target": "func:EvolutionMixin.get_evolution_history", + "type": "contains", + "label": "方法 get_evolution_history" + }, + { + "id": "edge:3d5d6cab", + "source": "class:EvolutionMixin", + "target": "func:EvolutionMixin.set_current_module", + "type": "contains", + "label": "方法 set_current_module" + }, + { + "id": "edge:4901f194", + "source": "class:EvolutionMixin", + "target": "func:EvolutionMixin._apply_change", + "type": "contains", + "label": "方法 _apply_change" + }, + { + "id": "edge:def891ed", + "source": "class:EvolutionMixin", + "target": "func:EvolutionMixin._rollback_change", + "type": "contains", + "label": "方法 _rollback_change" + }, + { + "id": "edge:b6b7f14a", + "source": "class:EvolutionMixin", + "target": "func:EvolutionMixin.record_reflection", + "type": "contains", + "label": "方法 record_reflection" + }, + { + "id": "edge:afd8fc18", + "source": "class:EvolutionMixin", + "target": "func:EvolutionMixin.evolve_soul", + "type": "contains", + "label": "方法 evolve_soul" + }, + { + "id": "edge:5de09963", + "source": "file:src/agentkit/evolution/llm_reflector.py", + "target": "class:LLMReflector", + "type": "contains", + "label": "定义类 LLMReflector" + }, + { + "id": "edge:df2b841e", + "source": "class:LLMReflector", + "target": "func:LLMReflector.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:6b3f9aa4", + "source": "class:LLMReflector", + "target": "func:LLMReflector._sanitize_for_prompt", + "type": "contains", + "label": "方法 _sanitize_for_prompt" + }, + { + "id": "edge:2776fe5d", + "source": "class:LLMReflector", + "target": "func:LLMReflector.reflect", + "type": "contains", + "label": "方法 reflect" + }, + { + "id": "edge:39526896", + "source": "class:LLMReflector", + "target": "func:LLMReflector._build_reflection_prompt", + "type": "contains", + "label": "方法 _build_reflection_prompt" + }, + { + "id": "edge:1c05a943", + "source": "class:LLMReflector", + "target": "func:LLMReflector._parse_reflection_response", + "type": "contains", + "label": "方法 _parse_reflection_response" + }, + { + "id": "edge:2740caad", + "source": "class:LLMReflector", + "target": "func:LLMReflector._build_reflection_from_data", + "type": "contains", + "label": "方法 _build_reflection_from_data" + }, + { + "id": "edge:bde420ce", + "source": "file:src/agentkit/evolution/models.py", + "target": "class:EvolutionEventModel", + "type": "contains", + "label": "定义类 EvolutionEventModel" + }, + { + "id": "edge:931c21ea", + "source": "file:src/agentkit/evolution/models.py", + "target": "class:SkillVersionModel", + "type": "contains", + "label": "定义类 SkillVersionModel" + }, + { + "id": "edge:1d03fb22", + "source": "file:src/agentkit/evolution/models.py", + "target": "class:ABTestResultModel", + "type": "contains", + "label": "定义类 ABTestResultModel" + }, + { + "id": "edge:c5ed7c0b", + "source": "file:src/agentkit/evolution/path_optimizer.py", + "target": "class:ExecutionPath", + "type": "contains", + "label": "定义类 ExecutionPath" + }, + { + "id": "edge:3e9a355c", + "source": "file:src/agentkit/evolution/path_optimizer.py", + "target": "class:PathUpdateResult", + "type": "contains", + "label": "定义类 PathUpdateResult" + }, + { + "id": "edge:81ed1f83", + "source": "file:src/agentkit/evolution/path_optimizer.py", + "target": "class:PathOptimizer", + "type": "contains", + "label": "定义类 PathOptimizer" + }, + { + "id": "edge:5c3247fd", + "source": "class:PathOptimizer", + "target": "func:PathOptimizer.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:1a10307b", + "source": "class:PathOptimizer", + "target": "func:PathOptimizer.get_recommended_path", + "type": "contains", + "label": "方法 get_recommended_path" + }, + { + "id": "edge:07c1d9de", + "source": "class:PathOptimizer", + "target": "func:PathOptimizer.evaluate_and_update", + "type": "contains", + "label": "方法 evaluate_and_update" + }, + { + "id": "edge:77704197", + "source": "class:PathOptimizer", + "target": "func:PathOptimizer._compare_and_decide", + "type": "contains", + "label": "方法 _compare_and_decide" + }, + { + "id": "edge:d557fb2b", + "source": "class:PathOptimizer", + "target": "func:PathOptimizer._apply_update", + "type": "contains", + "label": "方法 _apply_update" + }, + { + "id": "edge:e42962db", + "source": "class:PathOptimizer", + "target": "func:PathOptimizer.get_pending_paths", + "type": "contains", + "label": "方法 get_pending_paths" + }, + { + "id": "edge:8a7077ef", + "source": "file:src/agentkit/evolution/pitfall_detector.py", + "target": "class:WarningLevel", + "type": "contains", + "label": "定义类 WarningLevel" + }, + { + "id": "edge:96846062", + "source": "file:src/agentkit/evolution/pitfall_detector.py", + "target": "class:PitfallWarning", + "type": "contains", + "label": "定义类 PitfallWarning" + }, + { + "id": "edge:aab900f0", + "source": "file:src/agentkit/evolution/pitfall_detector.py", + "target": "class:ExperienceStoreProtocol", + "type": "contains", + "label": "定义类 ExperienceStoreProtocol" + }, + { + "id": "edge:4e6e1c8b", + "source": "class:ExperienceStoreProtocol", + "target": "func:ExperienceStoreProtocol.search", + "type": "contains", + "label": "方法 search" + }, + { + "id": "edge:47abcdcf", + "source": "file:src/agentkit/evolution/pitfall_detector.py", + "target": "class:PitfallDetector", + "type": "contains", + "label": "定义类 PitfallDetector" + }, + { + "id": "edge:42cb178b", + "source": "class:PitfallDetector", + "target": "func:PitfallDetector.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:8d6406ca", + "source": "class:PitfallDetector", + "target": "func:PitfallDetector.check_pitfalls", + "type": "contains", + "label": "方法 check_pitfalls" + }, + { + "id": "edge:93860d29", + "source": "class:PitfallDetector", + "target": "func:PitfallDetector._search_experiences", + "type": "contains", + "label": "方法 _search_experiences" + }, + { + "id": "edge:48596b42", + "source": "class:PitfallDetector", + "target": "func:PitfallDetector._extract_step_failure_stats", + "type": "contains", + "label": "方法 _extract_step_failure_stats" + }, + { + "id": "edge:bc226c33", + "source": "class:PitfallDetector", + "target": "func:PitfallDetector._match_and_warn", + "type": "contains", + "label": "方法 _match_and_warn" + }, + { + "id": "edge:19949a07", + "source": "file:src/agentkit/evolution/pitfall_detector.py", + "target": "class:_StepFailureStats", + "type": "contains", + "label": "定义类 _StepFailureStats" + }, + { + "id": "edge:8bb4fdc1", + "source": "file:src/agentkit/evolution/prompt_optimizer.py", + "target": "class:Signature", + "type": "contains", + "label": "定义类 Signature" + }, + { + "id": "edge:df8641ac", + "source": "class:Signature", + "target": "func:Signature.to_prompt_prefix", + "type": "contains", + "label": "方法 to_prompt_prefix" + }, + { + "id": "edge:862b971c", + "source": "file:src/agentkit/evolution/prompt_optimizer.py", + "target": "class:Module", + "type": "contains", + "label": "定义类 Module" + }, + { + "id": "edge:42bc645d", + "source": "class:Module", + "target": "func:Module.render", + "type": "contains", + "label": "方法 render" + }, + { + "id": "edge:5025f147", + "source": "file:src/agentkit/evolution/prompt_optimizer.py", + "target": "class:BootstrapPromptOptimizer", + "type": "contains", + "label": "定义类 BootstrapPromptOptimizer" + }, + { + "id": "edge:5c9a0412", + "source": "class:BootstrapPromptOptimizer", + "target": "func:BootstrapPromptOptimizer.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:31a65128", + "source": "class:BootstrapPromptOptimizer", + "target": "func:BootstrapPromptOptimizer.add_example", + "type": "contains", + "label": "方法 add_example" + }, + { + "id": "edge:4139aa8b", + "source": "class:BootstrapPromptOptimizer", + "target": "func:BootstrapPromptOptimizer.optimize", + "type": "contains", + "label": "方法 optimize" + }, + { + "id": "edge:3b615ba1", + "source": "class:BootstrapPromptOptimizer", + "target": "func:BootstrapPromptOptimizer.example_count", + "type": "contains", + "label": "方法 example_count" + }, + { + "id": "edge:89e747ae", + "source": "file:src/agentkit/evolution/prompt_optimizer.py", + "target": "class:LLMPromptOptimizer", + "type": "contains", + "label": "定义类 LLMPromptOptimizer" + }, + { + "id": "edge:17036f0c", + "source": "class:LLMPromptOptimizer", + "target": "func:LLMPromptOptimizer.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:f840f5d6", + "source": "class:LLMPromptOptimizer", + "target": "func:LLMPromptOptimizer.add_example", + "type": "contains", + "label": "方法 add_example" + }, + { + "id": "edge:8b3cffa9", + "source": "class:LLMPromptOptimizer", + "target": "func:LLMPromptOptimizer.optimize", + "type": "contains", + "label": "方法 optimize" + }, + { + "id": "edge:27b7f169", + "source": "class:LLMPromptOptimizer", + "target": "func:LLMPromptOptimizer._llm_optimize_instruction", + "type": "contains", + "label": "方法 _llm_optimize_instruction" + }, + { + "id": "edge:015cdb36", + "source": "class:LLMPromptOptimizer", + "target": "func:LLMPromptOptimizer._build_optimization_prompt", + "type": "contains", + "label": "方法 _build_optimization_prompt" + }, + { + "id": "edge:f93f648b", + "source": "class:LLMPromptOptimizer", + "target": "func:LLMPromptOptimizer.example_count", + "type": "contains", + "label": "方法 example_count" + }, + { + "id": "edge:bb36f5ac", + "source": "file:src/agentkit/evolution/reflector.py", + "target": "class:Reflection", + "type": "contains", + "label": "定义类 Reflection" + }, + { + "id": "edge:5006c4df", + "source": "file:src/agentkit/evolution/reflector.py", + "target": "class:RuleBasedReflector", + "type": "contains", + "label": "定义类 RuleBasedReflector" + }, + { + "id": "edge:d398a4cf", + "source": "class:RuleBasedReflector", + "target": "func:RuleBasedReflector.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:fb5e56cb", + "source": "class:RuleBasedReflector", + "target": "func:RuleBasedReflector.reflect", + "type": "contains", + "label": "方法 reflect" + }, + { + "id": "edge:90f37e25", + "source": "class:RuleBasedReflector", + "target": "func:RuleBasedReflector._score_quality", + "type": "contains", + "label": "方法 _score_quality" + }, + { + "id": "edge:2d734102", + "source": "class:RuleBasedReflector", + "target": "func:RuleBasedReflector._extract_patterns", + "type": "contains", + "label": "方法 _extract_patterns" + }, + { + "id": "edge:ac5767a2", + "source": "class:RuleBasedReflector", + "target": "func:RuleBasedReflector._generate_insights", + "type": "contains", + "label": "方法 _generate_insights" + }, + { + "id": "edge:570a18f9", + "source": "class:RuleBasedReflector", + "target": "func:RuleBasedReflector._generate_suggestions", + "type": "contains", + "label": "方法 _generate_suggestions" + }, + { + "id": "edge:d9999ef1", + "source": "file:src/agentkit/evolution/strategy_tuner.py", + "target": "class:StrategyConfig", + "type": "contains", + "label": "定义类 StrategyConfig" + }, + { + "id": "edge:7ae3c3e2", + "source": "file:src/agentkit/evolution/strategy_tuner.py", + "target": "class:StrategyTuner", + "type": "contains", + "label": "定义类 StrategyTuner" + }, + { + "id": "edge:119e60ee", + "source": "class:StrategyTuner", + "target": "func:StrategyTuner.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:a54ab121", + "source": "class:StrategyTuner", + "target": "func:StrategyTuner.record", + "type": "contains", + "label": "方法 record" + }, + { + "id": "edge:969eb470", + "source": "class:StrategyTuner", + "target": "func:StrategyTuner.suggest", + "type": "contains", + "label": "方法 suggest" + }, + { + "id": "edge:e7356518", + "source": "class:StrategyTuner", + "target": "func:StrategyTuner._optimize_param_1d", + "type": "contains", + "label": "方法 _optimize_param_1d" + }, + { + "id": "edge:668cb5d2", + "source": "class:StrategyTuner", + "target": "func:StrategyTuner._clamp", + "type": "contains", + "label": "方法 _clamp" + }, + { + "id": "edge:bae6304b", + "source": "file:src/agentkit/llm/config.py", + "target": "class:ProviderConfig", + "type": "contains", + "label": "定义类 ProviderConfig" + }, + { + "id": "edge:50c239a1", + "source": "file:src/agentkit/llm/config.py", + "target": "class:LLMConfig", + "type": "contains", + "label": "定义类 LLMConfig" + }, + { + "id": "edge:91fb3b75", + "source": "class:LLMConfig", + "target": "func:LLMConfig.from_yaml", + "type": "contains", + "label": "方法 from_yaml" + }, + { + "id": "edge:abd68aed", + "source": "class:LLMConfig", + "target": "func:LLMConfig.from_dict", + "type": "contains", + "label": "方法 from_dict" + }, + { + "id": "edge:f0873e1c", + "source": "file:src/agentkit/llm/gateway.py", + "target": "class:LLMGateway", + "type": "contains", + "label": "定义类 LLMGateway" + }, + { + "id": "edge:16deb503", + "source": "class:LLMGateway", + "target": "func:LLMGateway.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:bd2d94b4", + "source": "class:LLMGateway", + "target": "func:LLMGateway.register_provider", + "type": "contains", + "label": "方法 register_provider" + }, + { + "id": "edge:25f36b28", + "source": "class:LLMGateway", + "target": "func:LLMGateway.has_providers", + "type": "contains", + "label": "方法 has_providers" + }, + { + "id": "edge:92269564", + "source": "class:LLMGateway", + "target": "func:LLMGateway.chat", + "type": "contains", + "label": "方法 chat" + }, + { + "id": "edge:a9fdf142", + "source": "class:LLMGateway", + "target": "func:LLMGateway.chat_stream", + "type": "contains", + "label": "方法 chat_stream" + }, + { + "id": "edge:f3a634d5", + "source": "class:LLMGateway", + "target": "func:LLMGateway._get_models_to_try", + "type": "contains", + "label": "方法 _get_models_to_try" + }, + { + "id": "edge:b800994e", + "source": "class:LLMGateway", + "target": "func:LLMGateway._resolve_model_alias", + "type": "contains", + "label": "方法 _resolve_model_alias" + }, + { + "id": "edge:13789a73", + "source": "class:LLMGateway", + "target": "func:LLMGateway._resolve_model", + "type": "contains", + "label": "方法 _resolve_model" + }, + { + "id": "edge:4d01b6f6", + "source": "class:LLMGateway", + "target": "func:LLMGateway._get_fallback_model", + "type": "contains", + "label": "方法 _get_fallback_model" + }, + { + "id": "edge:ce90eced", + "source": "class:LLMGateway", + "target": "func:LLMGateway._calculate_cost", + "type": "contains", + "label": "方法 _calculate_cost" + }, + { + "id": "edge:46d98483", + "source": "class:LLMGateway", + "target": "func:LLMGateway.get_usage", + "type": "contains", + "label": "方法 get_usage" + }, + { + "id": "edge:0037c500", + "source": "file:src/agentkit/llm/protocol.py", + "target": "class:TokenUsage", + "type": "contains", + "label": "定义类 TokenUsage" + }, + { + "id": "edge:b99fdcbc", + "source": "class:TokenUsage", + "target": "func:TokenUsage.total_tokens", + "type": "contains", + "label": "方法 total_tokens" + }, + { + "id": "edge:63b715d7", + "source": "file:src/agentkit/llm/protocol.py", + "target": "class:ToolCall", + "type": "contains", + "label": "定义类 ToolCall" + }, + { + "id": "edge:ff49e956", + "source": "file:src/agentkit/llm/protocol.py", + "target": "class:LLMRequest", + "type": "contains", + "label": "定义类 LLMRequest" + }, + { + "id": "edge:bd8432e8", + "source": "class:LLMRequest", + "target": "func:LLMRequest.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:0c897035", + "source": "file:src/agentkit/llm/protocol.py", + "target": "class:StreamChunk", + "type": "contains", + "label": "定义类 StreamChunk" + }, + { + "id": "edge:cd19878c", + "source": "file:src/agentkit/llm/protocol.py", + "target": "class:LLMResponse", + "type": "contains", + "label": "定义类 LLMResponse" + }, + { + "id": "edge:24aedb3c", + "source": "class:LLMResponse", + "target": "func:LLMResponse.has_tool_calls", + "type": "contains", + "label": "方法 has_tool_calls" + }, + { + "id": "edge:8b8f03e2", + "source": "file:src/agentkit/llm/protocol.py", + "target": "class:LLMProvider", + "type": "contains", + "label": "定义类 LLMProvider" + }, + { + "id": "edge:470176fa", + "source": "class:LLMProvider", + "target": "func:LLMProvider.chat", + "type": "contains", + "label": "方法 chat" + }, + { + "id": "edge:93e9b178", + "source": "class:LLMProvider", + "target": "func:LLMProvider.chat_stream", + "type": "contains", + "label": "方法 chat_stream" + }, + { + "id": "edge:88e82dab", + "source": "file:src/agentkit/llm/providers/anthropic.py", + "target": "class:_AnthropicStreamContext", + "type": "contains", + "label": "定义类 _AnthropicStreamContext" + }, + { + "id": "edge:8eba27b8", + "source": "class:_AnthropicStreamContext", + "target": "func:_AnthropicStreamContext.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:6b9da9e7", + "source": "class:_AnthropicStreamContext", + "target": "func:_AnthropicStreamContext.__aenter__", + "type": "contains", + "label": "方法 __aenter__" + }, + { + "id": "edge:be946446", + "source": "class:_AnthropicStreamContext", + "target": "func:_AnthropicStreamContext.__aexit__", + "type": "contains", + "label": "方法 __aexit__" + }, + { + "id": "edge:fa515dbb", + "source": "file:src/agentkit/llm/providers/anthropic.py", + "target": "class:AnthropicProvider", + "type": "contains", + "label": "定义类 AnthropicProvider" + }, + { + "id": "edge:90fc25f8", + "source": "class:AnthropicProvider", + "target": "class:LLMProvider", + "type": "extends", + "label": "继承 LLMProvider" + }, + { + "id": "edge:7f97fe2a", + "source": "class:AnthropicProvider", + "target": "func:AnthropicProvider.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:e5e2f611", + "source": "class:AnthropicProvider", + "target": "func:AnthropicProvider._get_client", + "type": "contains", + "label": "方法 _get_client" + }, + { + "id": "edge:552bacc6", + "source": "class:AnthropicProvider", + "target": "func:AnthropicProvider.close", + "type": "contains", + "label": "方法 close" + }, + { + "id": "edge:0fac31c6", + "source": "class:AnthropicProvider", + "target": "func:AnthropicProvider._build_headers", + "type": "contains", + "label": "方法 _build_headers" + }, + { + "id": "edge:085187af", + "source": "class:AnthropicProvider", + "target": "func:AnthropicProvider._convert_messages", + "type": "contains", + "label": "方法 _convert_messages" + }, + { + "id": "edge:7b300099", + "source": "class:AnthropicProvider", + "target": "func:AnthropicProvider._convert_tools", + "type": "contains", + "label": "方法 _convert_tools" + }, + { + "id": "edge:ead67955", + "source": "class:AnthropicProvider", + "target": "func:AnthropicProvider._convert_tool_choice", + "type": "contains", + "label": "方法 _convert_tool_choice" + }, + { + "id": "edge:214737ec", + "source": "class:AnthropicProvider", + "target": "func:AnthropicProvider._parse_response", + "type": "contains", + "label": "方法 _parse_response" + }, + { + "id": "edge:514097a9", + "source": "class:AnthropicProvider", + "target": "func:AnthropicProvider._handle_error", + "type": "contains", + "label": "方法 _handle_error" + }, + { + "id": "edge:39d000ac", + "source": "class:AnthropicProvider", + "target": "func:AnthropicProvider.chat", + "type": "contains", + "label": "方法 chat" + }, + { + "id": "edge:9f3cad15", + "source": "class:AnthropicProvider", + "target": "func:AnthropicProvider._chat_impl", + "type": "contains", + "label": "方法 _chat_impl" + }, + { + "id": "edge:4101f820", + "source": "class:AnthropicProvider", + "target": "func:AnthropicProvider.chat_stream", + "type": "contains", + "label": "方法 chat_stream" + }, + { + "id": "edge:ea9de081", + "source": "class:AnthropicProvider", + "target": "func:AnthropicProvider._open_stream", + "type": "contains", + "label": "方法 _open_stream" + }, + { + "id": "edge:7b890a34", + "source": "class:AnthropicProvider", + "target": "func:AnthropicProvider._iterate_stream", + "type": "contains", + "label": "方法 _iterate_stream" + }, + { + "id": "edge:5e042513", + "source": "class:AnthropicProvider", + "target": "func:AnthropicProvider.get_model_info", + "type": "contains", + "label": "方法 get_model_info" + }, + { + "id": "edge:97395612", + "source": "file:src/agentkit/llm/providers/doubao.py", + "target": "class:DoubaoProvider", + "type": "contains", + "label": "定义类 DoubaoProvider" + }, + { + "id": "edge:63f8d5e3", + "source": "class:DoubaoProvider", + "target": "func:DoubaoProvider.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:2cd2dea9", + "source": "class:DoubaoProvider", + "target": "func:DoubaoProvider.chat", + "type": "contains", + "label": "方法 chat" + }, + { + "id": "edge:411c07a1", + "source": "file:src/agentkit/llm/providers/gemini.py", + "target": "class:_GeminiStreamContext", + "type": "contains", + "label": "定义类 _GeminiStreamContext" + }, + { + "id": "edge:b97525ef", + "source": "class:_GeminiStreamContext", + "target": "func:_GeminiStreamContext.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:7d1c2b67", + "source": "class:_GeminiStreamContext", + "target": "func:_GeminiStreamContext.__aenter__", + "type": "contains", + "label": "方法 __aenter__" + }, + { + "id": "edge:7fef7bcd", + "source": "class:_GeminiStreamContext", + "target": "func:_GeminiStreamContext.__aexit__", + "type": "contains", + "label": "方法 __aexit__" + }, + { + "id": "edge:d6daf273", + "source": "file:src/agentkit/llm/providers/gemini.py", + "target": "class:GeminiProvider", + "type": "contains", + "label": "定义类 GeminiProvider" + }, + { + "id": "edge:19dcdc54", + "source": "class:GeminiProvider", + "target": "class:LLMProvider", + "type": "extends", + "label": "继承 LLMProvider" + }, + { + "id": "edge:1ee9ad73", + "source": "class:GeminiProvider", + "target": "func:GeminiProvider.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:8f7788f6", + "source": "class:GeminiProvider", + "target": "func:GeminiProvider._get_client", + "type": "contains", + "label": "方法 _get_client" + }, + { + "id": "edge:b21109e8", + "source": "class:GeminiProvider", + "target": "func:GeminiProvider.close", + "type": "contains", + "label": "方法 close" + }, + { + "id": "edge:629f79cd", + "source": "class:GeminiProvider", + "target": "func:GeminiProvider._convert_messages", + "type": "contains", + "label": "方法 _convert_messages" + }, + { + "id": "edge:ef25442b", + "source": "class:GeminiProvider", + "target": "func:GeminiProvider._convert_tools", + "type": "contains", + "label": "方法 _convert_tools" + }, + { + "id": "edge:60cd27f7", + "source": "class:GeminiProvider", + "target": "func:GeminiProvider._convert_tool_choice", + "type": "contains", + "label": "方法 _convert_tool_choice" + }, + { + "id": "edge:35917947", + "source": "class:GeminiProvider", + "target": "func:GeminiProvider._parse_response", + "type": "contains", + "label": "方法 _parse_response" + }, + { + "id": "edge:4c3a7447", + "source": "class:GeminiProvider", + "target": "func:GeminiProvider._handle_error", + "type": "contains", + "label": "方法 _handle_error" + }, + { + "id": "edge:6ff59d15", + "source": "class:GeminiProvider", + "target": "func:GeminiProvider.chat", + "type": "contains", + "label": "方法 chat" + }, + { + "id": "edge:b0d563c1", + "source": "class:GeminiProvider", + "target": "func:GeminiProvider._chat_impl", + "type": "contains", + "label": "方法 _chat_impl" + }, + { + "id": "edge:20831433", + "source": "class:GeminiProvider", + "target": "func:GeminiProvider.chat_stream", + "type": "contains", + "label": "方法 chat_stream" + }, + { + "id": "edge:a2933ddd", + "source": "class:GeminiProvider", + "target": "func:GeminiProvider._open_stream", + "type": "contains", + "label": "方法 _open_stream" + }, + { + "id": "edge:2d9908cb", + "source": "class:GeminiProvider", + "target": "func:GeminiProvider._iterate_stream", + "type": "contains", + "label": "方法 _iterate_stream" + }, + { + "id": "edge:81cd4b00", + "source": "class:GeminiProvider", + "target": "func:GeminiProvider.get_model_info", + "type": "contains", + "label": "方法 get_model_info" + }, + { + "id": "edge:95c19e5e", + "source": "file:src/agentkit/llm/providers/openai.py", + "target": "class:_StreamContext", + "type": "contains", + "label": "定义类 _StreamContext" + }, + { + "id": "edge:dac9d1fb", + "source": "class:_StreamContext", + "target": "func:_StreamContext.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:b8256c37", + "source": "class:_StreamContext", + "target": "func:_StreamContext.__aenter__", + "type": "contains", + "label": "方法 __aenter__" + }, + { + "id": "edge:73997b5f", + "source": "class:_StreamContext", + "target": "func:_StreamContext.__aexit__", + "type": "contains", + "label": "方法 __aexit__" + }, + { + "id": "edge:5fb00aa8", + "source": "file:src/agentkit/llm/providers/openai.py", + "target": "class:OpenAICompatibleProvider", + "type": "contains", + "label": "定义类 OpenAICompatibleProvider" + }, + { + "id": "edge:20819967", + "source": "class:OpenAICompatibleProvider", + "target": "class:LLMProvider", + "type": "extends", + "label": "继承 LLMProvider" + }, + { + "id": "edge:b1b43730", + "source": "class:OpenAICompatibleProvider", + "target": "func:OpenAICompatibleProvider.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:29831f86", + "source": "class:OpenAICompatibleProvider", + "target": "func:OpenAICompatibleProvider.close", + "type": "contains", + "label": "方法 close" + }, + { + "id": "edge:3f5cc2c6", + "source": "class:OpenAICompatibleProvider", + "target": "func:OpenAICompatibleProvider.chat", + "type": "contains", + "label": "方法 chat" + }, + { + "id": "edge:205bae50", + "source": "class:OpenAICompatibleProvider", + "target": "func:OpenAICompatibleProvider._chat_impl", + "type": "contains", + "label": "方法 _chat_impl" + }, + { + "id": "edge:26b76caa", + "source": "class:OpenAICompatibleProvider", + "target": "func:OpenAICompatibleProvider.chat_stream", + "type": "contains", + "label": "方法 chat_stream" + }, + { + "id": "edge:ab19c99d", + "source": "class:OpenAICompatibleProvider", + "target": "func:OpenAICompatibleProvider._open_stream", + "type": "contains", + "label": "方法 _open_stream" + }, + { + "id": "edge:f36698d3", + "source": "class:OpenAICompatibleProvider", + "target": "func:OpenAICompatibleProvider._iterate_stream", + "type": "contains", + "label": "方法 _iterate_stream" + }, + { + "id": "edge:270e4d0b", + "source": "file:src/agentkit/llm/providers/tracker.py", + "target": "class:UsageRecord", + "type": "contains", + "label": "定义类 UsageRecord" + }, + { + "id": "edge:688c8f03", + "source": "file:src/agentkit/llm/providers/tracker.py", + "target": "class:UsageSummary", + "type": "contains", + "label": "定义类 UsageSummary" + }, + { + "id": "edge:160f72a5", + "source": "file:src/agentkit/llm/providers/tracker.py", + "target": "class:UsageTracker", + "type": "contains", + "label": "定义类 UsageTracker" + }, + { + "id": "edge:3ae290fc", + "source": "class:UsageTracker", + "target": "func:UsageTracker.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:f12b0261", + "source": "class:UsageTracker", + "target": "func:UsageTracker.record", + "type": "contains", + "label": "方法 record" + }, + { + "id": "edge:7c36c7ee", + "source": "class:UsageTracker", + "target": "func:UsageTracker.get_usage", + "type": "contains", + "label": "方法 get_usage" + }, + { + "id": "edge:a91e305a", + "source": "file:src/agentkit/llm/providers/wenxin.py", + "target": "class:WenxinProvider", + "type": "contains", + "label": "定义类 WenxinProvider" + }, + { + "id": "edge:78ccbc26", + "source": "class:WenxinProvider", + "target": "class:OpenAICompatibleProvider", + "type": "extends", + "label": "继承 OpenAICompatibleProvider" + }, + { + "id": "edge:7b0b9fce", + "source": "class:WenxinProvider", + "target": "func:WenxinProvider.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:44442410", + "source": "class:WenxinProvider", + "target": "func:WenxinProvider.chat", + "type": "contains", + "label": "方法 chat" + }, + { + "id": "edge:abb45581", + "source": "class:WenxinProvider", + "target": "func:WenxinProvider._ensure_access_token", + "type": "contains", + "label": "方法 _ensure_access_token" + }, + { + "id": "edge:98bc9a76", + "source": "file:src/agentkit/llm/providers/yuanbao.py", + "target": "class:YuanbaoProvider", + "type": "contains", + "label": "定义类 YuanbaoProvider" + }, + { + "id": "edge:db6cec0e", + "source": "class:YuanbaoProvider", + "target": "class:OpenAICompatibleProvider", + "type": "extends", + "label": "继承 OpenAICompatibleProvider" + }, + { + "id": "edge:fd6aa0de", + "source": "class:YuanbaoProvider", + "target": "func:YuanbaoProvider.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:46274408", + "source": "class:YuanbaoProvider", + "target": "func:YuanbaoProvider.chat", + "type": "contains", + "label": "方法 chat" + }, + { + "id": "edge:8203b448", + "source": "file:src/agentkit/llm/retry.py", + "target": "class:RetryConfig", + "type": "contains", + "label": "定义类 RetryConfig" + }, + { + "id": "edge:b3d2b032", + "source": "file:src/agentkit/llm/retry.py", + "target": "class:CircuitState", + "type": "contains", + "label": "定义类 CircuitState" + }, + { + "id": "edge:4edcddae", + "source": "file:src/agentkit/llm/retry.py", + "target": "class:CircuitBreakerConfig", + "type": "contains", + "label": "定义类 CircuitBreakerConfig" + }, + { + "id": "edge:448fb32d", + "source": "file:src/agentkit/llm/retry.py", + "target": "class:CircuitOpenError", + "type": "contains", + "label": "定义类 CircuitOpenError" + }, + { + "id": "edge:90707f20", + "source": "class:CircuitOpenError", + "target": "class:LLMProviderError", + "type": "extends", + "label": "继承 LLMProviderError" + }, + { + "id": "edge:ab54cd74", + "source": "class:CircuitOpenError", + "target": "func:CircuitOpenError.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:757e1d94", + "source": "file:src/agentkit/llm/retry.py", + "target": "class:RetryPolicy", + "type": "contains", + "label": "定义类 RetryPolicy" + }, + { + "id": "edge:d7e0861e", + "source": "class:RetryPolicy", + "target": "func:RetryPolicy.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:e03b7295", + "source": "class:RetryPolicy", + "target": "func:RetryPolicy.execute", + "type": "contains", + "label": "方法 execute" + }, + { + "id": "edge:fafdcc0d", + "source": "file:src/agentkit/llm/retry.py", + "target": "class:CircuitBreaker", + "type": "contains", + "label": "定义类 CircuitBreaker" + }, + { + "id": "edge:87541e7b", + "source": "class:CircuitBreaker", + "target": "func:CircuitBreaker.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:4223445e", + "source": "class:CircuitBreaker", + "target": "func:CircuitBreaker.state", + "type": "contains", + "label": "方法 state" + }, + { + "id": "edge:12606e9f", + "source": "class:CircuitBreaker", + "target": "func:CircuitBreaker._on_success", + "type": "contains", + "label": "方法 _on_success" + }, + { + "id": "edge:bc92a188", + "source": "class:CircuitBreaker", + "target": "func:CircuitBreaker._on_failure", + "type": "contains", + "label": "方法 _on_failure" + }, + { + "id": "edge:338a831c", + "source": "class:CircuitBreaker", + "target": "func:CircuitBreaker.execute", + "type": "contains", + "label": "方法 execute" + }, + { + "id": "edge:d7a5e3d0", + "source": "file:src/agentkit/marketplace/auction.py", + "target": "class:Bid", + "type": "contains", + "label": "定义类 Bid" + }, + { + "id": "edge:4642f8de", + "source": "class:Bid", + "target": "func:Bid.__post_init__", + "type": "contains", + "label": "方法 __post_init__" + }, + { + "id": "edge:bf90fae9", + "source": "file:src/agentkit/marketplace/auction.py", + "target": "class:AuctionResult", + "type": "contains", + "label": "定义类 AuctionResult" + }, + { + "id": "edge:7e58997b", + "source": "file:src/agentkit/marketplace/auction.py", + "target": "class:AuctionHouse", + "type": "contains", + "label": "定义类 AuctionHouse" + }, + { + "id": "edge:8f932d03", + "source": "class:AuctionHouse", + "target": "func:AuctionHouse.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:29f31965", + "source": "class:AuctionHouse", + "target": "func:AuctionHouse.run_auction", + "type": "contains", + "label": "方法 run_auction" + }, + { + "id": "edge:01a5c083", + "source": "class:AuctionHouse", + "target": "func:AuctionHouse.score_bid", + "type": "contains", + "label": "方法 score_bid" + }, + { + "id": "edge:23e09c4b", + "source": "class:AuctionHouse", + "target": "func:AuctionHouse.filter_by_capabilities", + "type": "contains", + "label": "方法 filter_by_capabilities" + }, + { + "id": "edge:8429dcde", + "source": "class:AuctionHouse", + "target": "func:AuctionHouse.run_vickrey_auction", + "type": "contains", + "label": "方法 run_vickrey_auction" + }, + { + "id": "edge:dbf48654", + "source": "file:src/agentkit/marketplace/wealth.py", + "target": "class:WealthTracker", + "type": "contains", + "label": "定义类 WealthTracker" + }, + { + "id": "edge:5878c95a", + "source": "class:WealthTracker", + "target": "func:WealthTracker.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:beceb35e", + "source": "class:WealthTracker", + "target": "func:WealthTracker.get_wealth", + "type": "contains", + "label": "方法 get_wealth" + }, + { + "id": "edge:cc6cff87", + "source": "class:WealthTracker", + "target": "func:WealthTracker.reward", + "type": "contains", + "label": "方法 reward" + }, + { + "id": "edge:f69d0609", + "source": "class:WealthTracker", + "target": "func:WealthTracker.penalize", + "type": "contains", + "label": "方法 penalize" + }, + { + "id": "edge:d8975687", + "source": "class:WealthTracker", + "target": "func:WealthTracker.is_bankrupt", + "type": "contains", + "label": "方法 is_bankrupt" + }, + { + "id": "edge:d6f5cce2", + "source": "class:WealthTracker", + "target": "func:WealthTracker.reset", + "type": "contains", + "label": "方法 reset" + }, + { + "id": "edge:947e0a55", + "source": "class:WealthTracker", + "target": "func:WealthTracker.get_rankings", + "type": "contains", + "label": "方法 get_rankings" + }, + { + "id": "edge:1c6e2420", + "source": "class:WealthTracker", + "target": "func:WealthTracker.get_wealth_factor", + "type": "contains", + "label": "方法 get_wealth_factor" + }, + { + "id": "edge:2521297b", + "source": "file:src/agentkit/mcp/client.py", + "target": "class:MCPClient", + "type": "contains", + "label": "定义类 MCPClient" + }, + { + "id": "edge:be654826", + "source": "class:MCPClient", + "target": "func:MCPClient.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:4d1c62c1", + "source": "class:MCPClient", + "target": "func:MCPClient.from_transport", + "type": "contains", + "label": "方法 from_transport" + }, + { + "id": "edge:d48f2657", + "source": "class:MCPClient", + "target": "func:MCPClient.list_tools", + "type": "contains", + "label": "方法 list_tools" + }, + { + "id": "edge:61b7d74e", + "source": "class:MCPClient", + "target": "func:MCPClient.call_tool", + "type": "contains", + "label": "方法 call_tool" + }, + { + "id": "edge:165e6223", + "source": "class:MCPClient", + "target": "func:MCPClient.as_tool", + "type": "contains", + "label": "方法 as_tool" + }, + { + "id": "edge:b07880b6", + "source": "file:src/agentkit/mcp/client.py", + "target": "class:MCPTool", + "type": "contains", + "label": "定义类 MCPTool" + }, + { + "id": "edge:207080a3", + "source": "class:MCPTool", + "target": "func:MCPTool.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:bdcce24f", + "source": "class:MCPTool", + "target": "func:MCPTool.execute", + "type": "contains", + "label": "方法 execute" + }, + { + "id": "edge:ae58f19a", + "source": "file:src/agentkit/mcp/manager.py", + "target": "class:MCPManager", + "type": "contains", + "label": "定义类 MCPManager" + }, + { + "id": "edge:87400af8", + "source": "class:MCPManager", + "target": "func:MCPManager.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:3aa00729", + "source": "class:MCPManager", + "target": "func:MCPManager.start_all", + "type": "contains", + "label": "方法 start_all" + }, + { + "id": "edge:9d2dce77", + "source": "class:MCPManager", + "target": "func:MCPManager._start_server_safe", + "type": "contains", + "label": "方法 _start_server_safe" + }, + { + "id": "edge:e38d55ca", + "source": "class:MCPManager", + "target": "func:MCPManager._start_server", + "type": "contains", + "label": "方法 _start_server" + }, + { + "id": "edge:ad0078f5", + "source": "class:MCPManager", + "target": "func:MCPManager.stop_all", + "type": "contains", + "label": "方法 stop_all" + }, + { + "id": "edge:471c7739", + "source": "class:MCPManager", + "target": "func:MCPManager.is_available", + "type": "contains", + "label": "方法 is_available" + }, + { + "id": "edge:68e2fac1", + "source": "class:MCPManager", + "target": "func:MCPManager.get_server_tools", + "type": "contains", + "label": "方法 get_server_tools" + }, + { + "id": "edge:4c35cb52", + "source": "class:MCPManager", + "target": "func:MCPManager.list_all_tools", + "type": "contains", + "label": "方法 list_all_tools" + }, + { + "id": "edge:a3be679a", + "source": "class:MCPManager", + "target": "func:MCPManager.get_tool_registry", + "type": "contains", + "label": "方法 get_tool_registry" + }, + { + "id": "edge:1daf0195", + "source": "file:src/agentkit/mcp/server.py", + "target": "class:MCPServer", + "type": "contains", + "label": "定义类 MCPServer" + }, + { + "id": "edge:92164d10", + "source": "class:MCPServer", + "target": "func:MCPServer.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:7df6b103", + "source": "class:MCPServer", + "target": "func:MCPServer._create_app", + "type": "contains", + "label": "方法 _create_app" + }, + { + "id": "edge:e6326e75", + "source": "class:MCPServer", + "target": "func:MCPServer.start", + "type": "contains", + "label": "方法 start" + }, + { + "id": "edge:b9891e45", + "source": "class:MCPServer", + "target": "func:MCPServer.get_app", + "type": "contains", + "label": "方法 get_app" + }, + { + "id": "edge:1aef7ceb", + "source": "file:src/agentkit/mcp/transport.py", + "target": "class:TransportError", + "type": "contains", + "label": "定义类 TransportError" + }, + { + "id": "edge:e11b94f6", + "source": "class:TransportError", + "target": "func:TransportError.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:3e544ae6", + "source": "file:src/agentkit/mcp/transport.py", + "target": "class:Transport", + "type": "contains", + "label": "定义类 Transport" + }, + { + "id": "edge:810cb578", + "source": "class:Transport", + "target": "func:Transport.connect", + "type": "contains", + "label": "方法 connect" + }, + { + "id": "edge:88c24d6c", + "source": "class:Transport", + "target": "func:Transport.disconnect", + "type": "contains", + "label": "方法 disconnect" + }, + { + "id": "edge:e2ed467f", + "source": "class:Transport", + "target": "func:Transport.send_request", + "type": "contains", + "label": "方法 send_request" + }, + { + "id": "edge:9d44df08", + "source": "class:Transport", + "target": "func:Transport.receive_response", + "type": "contains", + "label": "方法 receive_response" + }, + { + "id": "edge:a66b8bd4", + "source": "file:src/agentkit/mcp/transport.py", + "target": "class:HTTPTransport", + "type": "contains", + "label": "定义类 HTTPTransport" + }, + { + "id": "edge:651ab572", + "source": "class:HTTPTransport", + "target": "class:Transport", + "type": "extends", + "label": "继承 Transport" + }, + { + "id": "edge:f344e3b4", + "source": "class:HTTPTransport", + "target": "func:HTTPTransport.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:31cf970a", + "source": "class:HTTPTransport", + "target": "func:HTTPTransport.is_connected", + "type": "contains", + "label": "方法 is_connected" + }, + { + "id": "edge:43825ae2", + "source": "class:HTTPTransport", + "target": "func:HTTPTransport.connect", + "type": "contains", + "label": "方法 connect" + }, + { + "id": "edge:1256e295", + "source": "class:HTTPTransport", + "target": "func:HTTPTransport.disconnect", + "type": "contains", + "label": "方法 disconnect" + }, + { + "id": "edge:5c1ea026", + "source": "class:HTTPTransport", + "target": "func:HTTPTransport._next_request_id", + "type": "contains", + "label": "方法 _next_request_id" + }, + { + "id": "edge:dafcbfca", + "source": "class:HTTPTransport", + "target": "func:HTTPTransport.send_request", + "type": "contains", + "label": "方法 send_request" + }, + { + "id": "edge:a783d7b5", + "source": "class:HTTPTransport", + "target": "func:HTTPTransport.receive_response", + "type": "contains", + "label": "方法 receive_response" + }, + { + "id": "edge:9afcb7ee", + "source": "file:src/agentkit/mcp/transport.py", + "target": "class:SSETransport", + "type": "contains", + "label": "定义类 SSETransport" + }, + { + "id": "edge:d2b76f0c", + "source": "class:SSETransport", + "target": "class:Transport", + "type": "extends", + "label": "继承 Transport" + }, + { + "id": "edge:8e3e3c94", + "source": "class:SSETransport", + "target": "func:SSETransport.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:b6953698", + "source": "class:SSETransport", + "target": "func:SSETransport.is_connected", + "type": "contains", + "label": "方法 is_connected" + }, + { + "id": "edge:3ab7b921", + "source": "class:SSETransport", + "target": "func:SSETransport.connect", + "type": "contains", + "label": "方法 connect" + }, + { + "id": "edge:4093ef6c", + "source": "class:SSETransport", + "target": "func:SSETransport.disconnect", + "type": "contains", + "label": "方法 disconnect" + }, + { + "id": "edge:4cbfa86b", + "source": "class:SSETransport", + "target": "func:SSETransport._listen_sse", + "type": "contains", + "label": "方法 _listen_sse" + }, + { + "id": "edge:06def263", + "source": "class:SSETransport", + "target": "func:SSETransport._next_request_id", + "type": "contains", + "label": "方法 _next_request_id" + }, + { + "id": "edge:8a54aabd", + "source": "class:SSETransport", + "target": "func:SSETransport.send_request", + "type": "contains", + "label": "方法 send_request" + }, + { + "id": "edge:5e06db71", + "source": "class:SSETransport", + "target": "func:SSETransport.receive_response", + "type": "contains", + "label": "方法 receive_response" + }, + { + "id": "edge:acaa6119", + "source": "file:src/agentkit/mcp/transport.py", + "target": "class:StdioTransport", + "type": "contains", + "label": "定义类 StdioTransport" + }, + { + "id": "edge:631ee8ef", + "source": "class:StdioTransport", + "target": "class:Transport", + "type": "extends", + "label": "继承 Transport" + }, + { + "id": "edge:91f09643", + "source": "class:StdioTransport", + "target": "func:StdioTransport.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:4e614b65", + "source": "class:StdioTransport", + "target": "func:StdioTransport.is_connected", + "type": "contains", + "label": "方法 is_connected" + }, + { + "id": "edge:351c22c6", + "source": "class:StdioTransport", + "target": "func:StdioTransport._next_request_id", + "type": "contains", + "label": "方法 _next_request_id" + }, + { + "id": "edge:337f8965", + "source": "class:StdioTransport", + "target": "func:StdioTransport.connect", + "type": "contains", + "label": "方法 connect" + }, + { + "id": "edge:643f7596", + "source": "class:StdioTransport", + "target": "func:StdioTransport.disconnect", + "type": "contains", + "label": "方法 disconnect" + }, + { + "id": "edge:9e051597", + "source": "class:StdioTransport", + "target": "func:StdioTransport._cleanup", + "type": "contains", + "label": "方法 _cleanup" + }, + { + "id": "edge:10155075", + "source": "class:StdioTransport", + "target": "func:StdioTransport.send_request", + "type": "contains", + "label": "方法 send_request" + }, + { + "id": "edge:aa4107bd", + "source": "class:StdioTransport", + "target": "func:StdioTransport._send_request_internal", + "type": "contains", + "label": "方法 _send_request_internal" + }, + { + "id": "edge:b7594869", + "source": "class:StdioTransport", + "target": "func:StdioTransport._send_notification", + "type": "contains", + "label": "方法 _send_notification" + }, + { + "id": "edge:d847e055", + "source": "class:StdioTransport", + "target": "func:StdioTransport._write_message", + "type": "contains", + "label": "方法 _write_message" + }, + { + "id": "edge:7206022c", + "source": "class:StdioTransport", + "target": "func:StdioTransport.receive_response", + "type": "contains", + "label": "方法 receive_response" + }, + { + "id": "edge:26745afe", + "source": "class:StdioTransport", + "target": "func:StdioTransport._read_stdout", + "type": "contains", + "label": "方法 _read_stdout" + }, + { + "id": "edge:bcc95c24", + "source": "class:StdioTransport", + "target": "func:StdioTransport._read_stderr", + "type": "contains", + "label": "方法 _read_stderr" + }, + { + "id": "edge:53f4fbd6", + "source": "file:src/agentkit/memory/adapters/base.py", + "target": "class:KBAdapter", + "type": "contains", + "label": "定义类 KBAdapter" + }, + { + "id": "edge:9f8460e8", + "source": "class:KBAdapter", + "target": "func:KBAdapter.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:d088ab11", + "source": "class:KBAdapter", + "target": "func:KBAdapter.source_id", + "type": "contains", + "label": "方法 source_id" + }, + { + "id": "edge:be83c264", + "source": "class:KBAdapter", + "target": "func:KBAdapter.source_name", + "type": "contains", + "label": "方法 source_name" + }, + { + "id": "edge:cb6ba848", + "source": "class:KBAdapter", + "target": "func:KBAdapter.source_type", + "type": "contains", + "label": "方法 source_type" + }, + { + "id": "edge:9b7032ff", + "source": "class:KBAdapter", + "target": "func:KBAdapter._get_client", + "type": "contains", + "label": "方法 _get_client" + }, + { + "id": "edge:7e4b678d", + "source": "class:KBAdapter", + "target": "func:KBAdapter._make_client", + "type": "contains", + "label": "方法 _make_client" + }, + { + "id": "edge:b326dda7", + "source": "class:KBAdapter", + "target": "func:KBAdapter.ingest", + "type": "contains", + "label": "方法 ingest" + }, + { + "id": "edge:91b3b653", + "source": "class:KBAdapter", + "target": "func:KBAdapter._ingest_one", + "type": "contains", + "label": "方法 _ingest_one" + }, + { + "id": "edge:898b53c7", + "source": "class:KBAdapter", + "target": "func:KBAdapter.query", + "type": "contains", + "label": "方法 query" + }, + { + "id": "edge:1ea570f2", + "source": "class:KBAdapter", + "target": "func:KBAdapter.delete_by_id", + "type": "contains", + "label": "方法 delete_by_id" + }, + { + "id": "edge:f4a5248a", + "source": "class:KBAdapter", + "target": "func:KBAdapter.list_sources", + "type": "contains", + "label": "方法 list_sources" + }, + { + "id": "edge:110a2e96", + "source": "class:KBAdapter", + "target": "func:KBAdapter.health_check", + "type": "contains", + "label": "方法 health_check" + }, + { + "id": "edge:8eee4770", + "source": "class:KBAdapter", + "target": "func:KBAdapter.search", + "type": "contains", + "label": "方法 search" + }, + { + "id": "edge:350a0cf4", + "source": "class:KBAdapter", + "target": "func:KBAdapter.get_document", + "type": "contains", + "label": "方法 get_document" + }, + { + "id": "edge:ff929722", + "source": "class:KBAdapter", + "target": "func:KBAdapter.authenticate", + "type": "contains", + "label": "方法 authenticate" + }, + { + "id": "edge:dcd0a249", + "source": "class:KBAdapter", + "target": "func:KBAdapter.close", + "type": "contains", + "label": "方法 close" + }, + { + "id": "edge:81d294c5", + "source": "class:KBAdapter", + "target": "func:KBAdapter.__aenter__", + "type": "contains", + "label": "方法 __aenter__" + }, + { + "id": "edge:0f0d5355", + "source": "class:KBAdapter", + "target": "func:KBAdapter.__aexit__", + "type": "contains", + "label": "方法 __aexit__" + }, + { + "id": "edge:f3d70586", + "source": "file:src/agentkit/memory/adapters/confluence.py", + "target": "class:ConfluenceAdapter", + "type": "contains", + "label": "定义类 ConfluenceAdapter" + }, + { + "id": "edge:1af82923", + "source": "class:ConfluenceAdapter", + "target": "class:KBAdapter", + "type": "extends", + "label": "继承 KBAdapter" + }, + { + "id": "edge:659e9e78", + "source": "class:ConfluenceAdapter", + "target": "func:ConfluenceAdapter.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:06d92341", + "source": "class:ConfluenceAdapter", + "target": "func:ConfluenceAdapter._make_client", + "type": "contains", + "label": "方法 _make_client" + }, + { + "id": "edge:13565ffb", + "source": "class:ConfluenceAdapter", + "target": "func:ConfluenceAdapter.authenticate", + "type": "contains", + "label": "方法 authenticate" + }, + { + "id": "edge:10ee0cef", + "source": "class:ConfluenceAdapter", + "target": "func:ConfluenceAdapter.search", + "type": "contains", + "label": "方法 search" + }, + { + "id": "edge:1b9c6ddf", + "source": "class:ConfluenceAdapter", + "target": "func:ConfluenceAdapter.get_document", + "type": "contains", + "label": "方法 get_document" + }, + { + "id": "edge:19ec62bd", + "source": "class:ConfluenceAdapter", + "target": "func:ConfluenceAdapter.list_sources", + "type": "contains", + "label": "方法 list_sources" + }, + { + "id": "edge:f610c524", + "source": "class:ConfluenceAdapter", + "target": "func:ConfluenceAdapter.health_check", + "type": "contains", + "label": "方法 health_check" + }, + { + "id": "edge:7db496ae", + "source": "file:src/agentkit/memory/adapters/feishu.py", + "target": "class:FeishuKBAdapter", + "type": "contains", + "label": "定义类 FeishuKBAdapter" + }, + { + "id": "edge:76f2575a", + "source": "class:FeishuKBAdapter", + "target": "class:KBAdapter", + "type": "extends", + "label": "继承 KBAdapter" + }, + { + "id": "edge:0bf7c3d4", + "source": "class:FeishuKBAdapter", + "target": "func:FeishuKBAdapter.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:6fc49386", + "source": "class:FeishuKBAdapter", + "target": "func:FeishuKBAdapter._make_client", + "type": "contains", + "label": "方法 _make_client" + }, + { + "id": "edge:52d7a708", + "source": "class:FeishuKBAdapter", + "target": "func:FeishuKBAdapter._get_access_token", + "type": "contains", + "label": "方法 _get_access_token" + }, + { + "id": "edge:dd38ff36", + "source": "class:FeishuKBAdapter", + "target": "func:FeishuKBAdapter.authenticate", + "type": "contains", + "label": "方法 authenticate" + }, + { + "id": "edge:f220232b", + "source": "class:FeishuKBAdapter", + "target": "func:FeishuKBAdapter.search", + "type": "contains", + "label": "方法 search" + }, + { + "id": "edge:99bcf09b", + "source": "class:FeishuKBAdapter", + "target": "func:FeishuKBAdapter.get_document", + "type": "contains", + "label": "方法 get_document" + }, + { + "id": "edge:955316d5", + "source": "class:FeishuKBAdapter", + "target": "func:FeishuKBAdapter.list_sources", + "type": "contains", + "label": "方法 list_sources" + }, + { + "id": "edge:359061c7", + "source": "class:FeishuKBAdapter", + "target": "func:FeishuKBAdapter.health_check", + "type": "contains", + "label": "方法 health_check" + }, + { + "id": "edge:fec434de", + "source": "file:src/agentkit/memory/adapters/generic_http.py", + "target": "class:GenericHTTPAdapter", + "type": "contains", + "label": "定义类 GenericHTTPAdapter" + }, + { + "id": "edge:ff4c6ff0", + "source": "class:GenericHTTPAdapter", + "target": "class:KBAdapter", + "type": "extends", + "label": "继承 KBAdapter" + }, + { + "id": "edge:b13ca4ab", + "source": "class:GenericHTTPAdapter", + "target": "func:GenericHTTPAdapter.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:62fb7385", + "source": "class:GenericHTTPAdapter", + "target": "func:GenericHTTPAdapter._make_client", + "type": "contains", + "label": "方法 _make_client" + }, + { + "id": "edge:f86ff150", + "source": "class:GenericHTTPAdapter", + "target": "func:GenericHTTPAdapter.search", + "type": "contains", + "label": "方法 search" + }, + { + "id": "edge:0caad63d", + "source": "class:GenericHTTPAdapter", + "target": "func:GenericHTTPAdapter.ingest", + "type": "contains", + "label": "方法 ingest" + }, + { + "id": "edge:6072f1c7", + "source": "class:GenericHTTPAdapter", + "target": "func:GenericHTTPAdapter.delete_by_id", + "type": "contains", + "label": "方法 delete_by_id" + }, + { + "id": "edge:96f25f83", + "source": "class:GenericHTTPAdapter", + "target": "func:GenericHTTPAdapter.get_document", + "type": "contains", + "label": "方法 get_document" + }, + { + "id": "edge:8639eb00", + "source": "class:GenericHTTPAdapter", + "target": "func:GenericHTTPAdapter.list_sources", + "type": "contains", + "label": "方法 list_sources" + }, + { + "id": "edge:06b72bd1", + "source": "class:GenericHTTPAdapter", + "target": "func:GenericHTTPAdapter.health_check", + "type": "contains", + "label": "方法 health_check" + }, + { + "id": "edge:7a67931d", + "source": "class:GenericHTTPAdapter", + "target": "func:GenericHTTPAdapter.authenticate", + "type": "contains", + "label": "方法 authenticate" + }, + { + "id": "edge:52997774", + "source": "file:src/agentkit/memory/base.py", + "target": "class:MemoryItem", + "type": "contains", + "label": "定义类 MemoryItem" + }, + { + "id": "edge:4f7d6cc1", + "source": "class:MemoryItem", + "target": "func:MemoryItem.to_dict", + "type": "contains", + "label": "方法 to_dict" + }, + { + "id": "edge:76e627de", + "source": "file:src/agentkit/memory/base.py", + "target": "class:Memory", + "type": "contains", + "label": "定义类 Memory" + }, + { + "id": "edge:fcc30dfc", + "source": "class:Memory", + "target": "func:Memory.store", + "type": "contains", + "label": "方法 store" + }, + { + "id": "edge:c8391eba", + "source": "class:Memory", + "target": "func:Memory.retrieve", + "type": "contains", + "label": "方法 retrieve" + }, + { + "id": "edge:6c3eaad1", + "source": "class:Memory", + "target": "func:Memory.search", + "type": "contains", + "label": "方法 search" + }, + { + "id": "edge:4812a128", + "source": "class:Memory", + "target": "func:Memory.delete", + "type": "contains", + "label": "方法 delete" + }, + { + "id": "edge:37f15af6", + "source": "class:Memory", + "target": "func:Memory.store_batch", + "type": "contains", + "label": "方法 store_batch" + }, + { + "id": "edge:d4ac790b", + "source": "class:Memory", + "target": "func:Memory.get_context", + "type": "contains", + "label": "方法 get_context" + }, + { + "id": "edge:cef8074e", + "source": "file:src/agentkit/memory/chunking.py", + "target": "class:Chunk", + "type": "contains", + "label": "定义类 Chunk" + }, + { + "id": "edge:cf161e7c", + "source": "class:Chunk", + "target": "func:Chunk.__post_init__", + "type": "contains", + "label": "方法 __post_init__" + }, + { + "id": "edge:56dae6db", + "source": "class:Chunk", + "target": "func:Chunk.to_dict", + "type": "contains", + "label": "方法 to_dict" + }, + { + "id": "edge:f2639c98", + "source": "file:src/agentkit/memory/chunking.py", + "target": "class:TextChunker", + "type": "contains", + "label": "定义类 TextChunker" + }, + { + "id": "edge:8e8b0b75", + "source": "class:TextChunker", + "target": "func:TextChunker.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:dde41067", + "source": "class:TextChunker", + "target": "func:TextChunker.chunk", + "type": "contains", + "label": "方法 chunk" + }, + { + "id": "edge:f6dc9328", + "source": "class:TextChunker", + "target": "func:TextChunker._split_by_separator", + "type": "contains", + "label": "方法 _split_by_separator" + }, + { + "id": "edge:86df4281", + "source": "class:TextChunker", + "target": "func:TextChunker._merge_and_split", + "type": "contains", + "label": "方法 _merge_and_split" + }, + { + "id": "edge:8f257d21", + "source": "class:TextChunker", + "target": "func:TextChunker._split_large_segment", + "type": "contains", + "label": "方法 _split_large_segment" + }, + { + "id": "edge:6f47a710", + "source": "class:TextChunker", + "target": "func:TextChunker._get_overlap_segments", + "type": "contains", + "label": "方法 _get_overlap_segments" + }, + { + "id": "edge:36ddcc1e", + "source": "file:src/agentkit/memory/chunking.py", + "target": "class:StructuralChunker", + "type": "contains", + "label": "定义类 StructuralChunker" + }, + { + "id": "edge:2b47f863", + "source": "class:StructuralChunker", + "target": "func:StructuralChunker.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:16cdd050", + "source": "class:StructuralChunker", + "target": "func:StructuralChunker.chunk", + "type": "contains", + "label": "方法 chunk" + }, + { + "id": "edge:975aa925", + "source": "class:StructuralChunker", + "target": "func:StructuralChunker._split_by_headings", + "type": "contains", + "label": "方法 _split_by_headings" + }, + { + "id": "edge:6b882873", + "source": "file:src/agentkit/memory/contextual_retrieval.py", + "target": "class:ContextualChunk", + "type": "contains", + "label": "定义类 ContextualChunk" + }, + { + "id": "edge:f456df6a", + "source": "class:ContextualChunk", + "target": "func:ContextualChunk.content", + "type": "contains", + "label": "方法 content" + }, + { + "id": "edge:a8375d1d", + "source": "file:src/agentkit/memory/contextual_retrieval.py", + "target": "class:ContextualChunker", + "type": "contains", + "label": "定义类 ContextualChunker" + }, + { + "id": "edge:74dcdfe3", + "source": "class:ContextualChunker", + "target": "func:ContextualChunker.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:4bd994ed", + "source": "class:ContextualChunker", + "target": "func:ContextualChunker.enhance_chunks", + "type": "contains", + "label": "方法 enhance_chunks" + }, + { + "id": "edge:a0687567", + "source": "class:ContextualChunker", + "target": "func:ContextualChunker._process_batch", + "type": "contains", + "label": "方法 _process_batch" + }, + { + "id": "edge:e20086b2", + "source": "class:ContextualChunker", + "target": "func:ContextualChunker._generate_context", + "type": "contains", + "label": "方法 _generate_context" + }, + { + "id": "edge:33e94046", + "source": "class:ContextualChunker", + "target": "func:ContextualChunker._make_cache_key", + "type": "contains", + "label": "方法 _make_cache_key" + }, + { + "id": "edge:d0842b5a", + "source": "class:ContextualChunker", + "target": "func:ContextualChunker.clear_cache", + "type": "contains", + "label": "方法 clear_cache" + }, + { + "id": "edge:513466a8", + "source": "file:src/agentkit/memory/document_loader.py", + "target": "class:Document", + "type": "contains", + "label": "定义类 Document" + }, + { + "id": "edge:8b828e4b", + "source": "class:Document", + "target": "func:Document.__post_init__", + "type": "contains", + "label": "方法 __post_init__" + }, + { + "id": "edge:4071cb54", + "source": "class:Document", + "target": "func:Document.to_dict", + "type": "contains", + "label": "方法 to_dict" + }, + { + "id": "edge:454b0ae1", + "source": "file:src/agentkit/memory/document_loader.py", + "target": "class:DocumentLoader", + "type": "contains", + "label": "定义类 DocumentLoader" + }, + { + "id": "edge:bd80b872", + "source": "class:DocumentLoader", + "target": "func:DocumentLoader.load", + "type": "contains", + "label": "方法 load" + }, + { + "id": "edge:c5dac3d8", + "source": "class:DocumentLoader", + "target": "func:DocumentLoader.load_bytes", + "type": "contains", + "label": "方法 load_bytes" + }, + { + "id": "edge:736f6247", + "source": "class:DocumentLoader", + "target": "func:DocumentLoader._parse_pdf", + "type": "contains", + "label": "方法 _parse_pdf" + }, + { + "id": "edge:49001631", + "source": "class:DocumentLoader", + "target": "func:DocumentLoader._parse_docx", + "type": "contains", + "label": "方法 _parse_docx" + }, + { + "id": "edge:78e510b0", + "source": "class:DocumentLoader", + "target": "func:DocumentLoader._parse_markdown", + "type": "contains", + "label": "方法 _parse_markdown" + }, + { + "id": "edge:8bfc5661", + "source": "class:DocumentLoader", + "target": "func:DocumentLoader._parse_html", + "type": "contains", + "label": "方法 _parse_html" + }, + { + "id": "edge:83e10f31", + "source": "class:DocumentLoader", + "target": "func:DocumentLoader._parse_text", + "type": "contains", + "label": "方法 _parse_text" + }, + { + "id": "edge:a4e75b5e", + "source": "file:src/agentkit/memory/embedder.py", + "target": "class:EmbeddingCache", + "type": "contains", + "label": "定义类 EmbeddingCache" + }, + { + "id": "edge:5eb6e850", + "source": "class:EmbeddingCache", + "target": "func:EmbeddingCache.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:b3462dd5", + "source": "class:EmbeddingCache", + "target": "func:EmbeddingCache._make_key", + "type": "contains", + "label": "方法 _make_key" + }, + { + "id": "edge:1d24e935", + "source": "class:EmbeddingCache", + "target": "func:EmbeddingCache.get", + "type": "contains", + "label": "方法 get" + }, + { + "id": "edge:7fbcaa15", + "source": "class:EmbeddingCache", + "target": "func:EmbeddingCache.put", + "type": "contains", + "label": "方法 put" + }, + { + "id": "edge:ed094b2b", + "source": "class:EmbeddingCache", + "target": "func:EmbeddingCache.clear", + "type": "contains", + "label": "方法 clear" + }, + { + "id": "edge:c805584f", + "source": "file:src/agentkit/memory/embedder.py", + "target": "class:Embedder", + "type": "contains", + "label": "定义类 Embedder" + }, + { + "id": "edge:4e9729e6", + "source": "class:Embedder", + "target": "func:Embedder.embed", + "type": "contains", + "label": "方法 embed" + }, + { + "id": "edge:62898f0b", + "source": "class:Embedder", + "target": "func:Embedder.get_dimension", + "type": "contains", + "label": "方法 get_dimension" + }, + { + "id": "edge:a5000dc5", + "source": "file:src/agentkit/memory/embedder.py", + "target": "class:OpenAIEmbedder", + "type": "contains", + "label": "定义类 OpenAIEmbedder" + }, + { + "id": "edge:00e9d6e1", + "source": "class:OpenAIEmbedder", + "target": "class:Embedder", + "type": "extends", + "label": "继承 Embedder" + }, + { + "id": "edge:1a31b0de", + "source": "class:OpenAIEmbedder", + "target": "func:OpenAIEmbedder.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:6c23c04a", + "source": "class:OpenAIEmbedder", + "target": "func:OpenAIEmbedder._get_client", + "type": "contains", + "label": "方法 _get_client" + }, + { + "id": "edge:4beebac8", + "source": "class:OpenAIEmbedder", + "target": "func:OpenAIEmbedder.aclose", + "type": "contains", + "label": "方法 aclose" + }, + { + "id": "edge:fc373615", + "source": "class:OpenAIEmbedder", + "target": "func:OpenAIEmbedder.__aenter__", + "type": "contains", + "label": "方法 __aenter__" + }, + { + "id": "edge:b3104444", + "source": "class:OpenAIEmbedder", + "target": "func:OpenAIEmbedder.__aexit__", + "type": "contains", + "label": "方法 __aexit__" + }, + { + "id": "edge:aa9b408a", + "source": "class:OpenAIEmbedder", + "target": "func:OpenAIEmbedder.embed", + "type": "contains", + "label": "方法 embed" + }, + { + "id": "edge:13fb67cd", + "source": "class:OpenAIEmbedder", + "target": "func:OpenAIEmbedder.get_dimension", + "type": "contains", + "label": "方法 get_dimension" + }, + { + "id": "edge:5ede1f78", + "source": "file:src/agentkit/memory/embedder.py", + "target": "class:MockEmbedder", + "type": "contains", + "label": "定义类 MockEmbedder" + }, + { + "id": "edge:db6f076d", + "source": "class:MockEmbedder", + "target": "class:Embedder", + "type": "extends", + "label": "继承 Embedder" + }, + { + "id": "edge:5be82ce7", + "source": "class:MockEmbedder", + "target": "func:MockEmbedder.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:ae862106", + "source": "class:MockEmbedder", + "target": "func:MockEmbedder.embed", + "type": "contains", + "label": "方法 embed" + }, + { + "id": "edge:330413c3", + "source": "class:MockEmbedder", + "target": "func:MockEmbedder.get_dimension", + "type": "contains", + "label": "方法 get_dimension" + }, + { + "id": "edge:f21fb6b6", + "source": "file:src/agentkit/memory/episodic.py", + "target": "class:EpisodicMemory", + "type": "contains", + "label": "定义类 EpisodicMemory" + }, + { + "id": "edge:d35155bb", + "source": "class:EpisodicMemory", + "target": "class:Memory", + "type": "extends", + "label": "继承 Memory" + }, + { + "id": "edge:9ca0305b", + "source": "class:EpisodicMemory", + "target": "func:EpisodicMemory.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:bdce9583", + "source": "class:EpisodicMemory", + "target": "func:EpisodicMemory.store", + "type": "contains", + "label": "方法 store" + }, + { + "id": "edge:b9190990", + "source": "class:EpisodicMemory", + "target": "func:EpisodicMemory.retrieve", + "type": "contains", + "label": "方法 retrieve" + }, + { + "id": "edge:e1d8871e", + "source": "class:EpisodicMemory", + "target": "func:EpisodicMemory._retrieve_pgvector", + "type": "contains", + "label": "方法 _retrieve_pgvector" + }, + { + "id": "edge:65c8973b", + "source": "class:EpisodicMemory", + "target": "func:EpisodicMemory._retrieve_client_side", + "type": "contains", + "label": "方法 _retrieve_client_side" + }, + { + "id": "edge:ce1b6dbd", + "source": "class:EpisodicMemory", + "target": "func:EpisodicMemory.search", + "type": "contains", + "label": "方法 search" + }, + { + "id": "edge:26694e1c", + "source": "class:EpisodicMemory", + "target": "func:EpisodicMemory._search_pgvector", + "type": "contains", + "label": "方法 _search_pgvector" + }, + { + "id": "edge:ead5ded7", + "source": "class:EpisodicMemory", + "target": "func:EpisodicMemory._search_client_side", + "type": "contains", + "label": "方法 _search_client_side" + }, + { + "id": "edge:93a7c99f", + "source": "class:EpisodicMemory", + "target": "func:EpisodicMemory.delete", + "type": "contains", + "label": "方法 delete" + }, + { + "id": "edge:1995cafe", + "source": "file:src/agentkit/memory/http_rag.py", + "target": "class:HttpRAGService", + "type": "contains", + "label": "定义类 HttpRAGService" + }, + { + "id": "edge:d713474d", + "source": "class:HttpRAGService", + "target": "func:HttpRAGService.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:ecd2db9a", + "source": "class:HttpRAGService", + "target": "func:HttpRAGService._get_client", + "type": "contains", + "label": "方法 _get_client" + }, + { + "id": "edge:05a5e150", + "source": "class:HttpRAGService", + "target": "func:HttpRAGService.search", + "type": "contains", + "label": "方法 search" + }, + { + "id": "edge:d4bf0c1e", + "source": "class:HttpRAGService", + "target": "func:HttpRAGService.enhanced_search", + "type": "contains", + "label": "方法 enhanced_search" + }, + { + "id": "edge:e7602d9a", + "source": "class:HttpRAGService", + "target": "func:HttpRAGService.ingest", + "type": "contains", + "label": "方法 ingest" + }, + { + "id": "edge:5a6aeb7d", + "source": "class:HttpRAGService", + "target": "func:HttpRAGService.health_check", + "type": "contains", + "label": "方法 health_check" + }, + { + "id": "edge:854a3820", + "source": "class:HttpRAGService", + "target": "func:HttpRAGService.close", + "type": "contains", + "label": "方法 close" + }, + { + "id": "edge:a7200340", + "source": "class:HttpRAGService", + "target": "func:HttpRAGService.__aenter__", + "type": "contains", + "label": "方法 __aenter__" + }, + { + "id": "edge:2afcce69", + "source": "class:HttpRAGService", + "target": "func:HttpRAGService.__aexit__", + "type": "contains", + "label": "方法 __aexit__" + }, + { + "id": "edge:55a9aa5e", + "source": "file:src/agentkit/memory/knowledge_base.py", + "target": "class:Document", + "type": "contains", + "label": "定义类 Document" + }, + { + "id": "edge:8637de1f", + "source": "file:src/agentkit/memory/knowledge_base.py", + "target": "class:QueryResult", + "type": "contains", + "label": "定义类 QueryResult" + }, + { + "id": "edge:cb0a548f", + "source": "file:src/agentkit/memory/knowledge_base.py", + "target": "class:SourceInfo", + "type": "contains", + "label": "定义类 SourceInfo" + }, + { + "id": "edge:584c165e", + "source": "file:src/agentkit/memory/knowledge_base.py", + "target": "class:KnowledgeBase", + "type": "contains", + "label": "定义类 KnowledgeBase" + }, + { + "id": "edge:d45f0963", + "source": "class:KnowledgeBase", + "target": "func:KnowledgeBase.ingest", + "type": "contains", + "label": "方法 ingest" + }, + { + "id": "edge:c7c3939f", + "source": "class:KnowledgeBase", + "target": "func:KnowledgeBase.query", + "type": "contains", + "label": "方法 query" + }, + { + "id": "edge:8c63aaf3", + "source": "class:KnowledgeBase", + "target": "func:KnowledgeBase.delete_by_id", + "type": "contains", + "label": "方法 delete_by_id" + }, + { + "id": "edge:12f12047", + "source": "class:KnowledgeBase", + "target": "func:KnowledgeBase.list_sources", + "type": "contains", + "label": "方法 list_sources" + }, + { + "id": "edge:a65be9d9", + "source": "class:KnowledgeBase", + "target": "func:KnowledgeBase.health_check", + "type": "contains", + "label": "方法 health_check" + }, + { + "id": "edge:74b38818", + "source": "file:src/agentkit/memory/local_rag.py", + "target": "class:LocalRAGService", + "type": "contains", + "label": "定义类 LocalRAGService" + }, + { + "id": "edge:69b85c71", + "source": "class:LocalRAGService", + "target": "func:LocalRAGService.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:24b75421", + "source": "class:LocalRAGService", + "target": "func:LocalRAGService.ingest", + "type": "contains", + "label": "方法 ingest" + }, + { + "id": "edge:7b2bb0ed", + "source": "class:LocalRAGService", + "target": "func:LocalRAGService.query", + "type": "contains", + "label": "方法 query" + }, + { + "id": "edge:8d00797c", + "source": "class:LocalRAGService", + "target": "func:LocalRAGService.delete_by_id", + "type": "contains", + "label": "方法 delete_by_id" + }, + { + "id": "edge:9b91a6c6", + "source": "class:LocalRAGService", + "target": "func:LocalRAGService.list_sources", + "type": "contains", + "label": "方法 list_sources" + }, + { + "id": "edge:eb125ef2", + "source": "class:LocalRAGService", + "target": "func:LocalRAGService.health_check", + "type": "contains", + "label": "方法 health_check" + }, + { + "id": "edge:fd20abcc", + "source": "class:LocalRAGService", + "target": "func:LocalRAGService._chunk_document", + "type": "contains", + "label": "方法 _chunk_document" + }, + { + "id": "edge:bc7aaa18", + "source": "class:LocalRAGService", + "target": "func:LocalRAGService._store_chunks", + "type": "contains", + "label": "方法 _store_chunks" + }, + { + "id": "edge:9836a4dc", + "source": "class:LocalRAGService", + "target": "func:LocalRAGService._query_pgvector", + "type": "contains", + "label": "方法 _query_pgvector" + }, + { + "id": "edge:850e2f68", + "source": "class:LocalRAGService", + "target": "func:LocalRAGService._query_client_side", + "type": "contains", + "label": "方法 _query_client_side" + }, + { + "id": "edge:fb349d0e", + "source": "file:src/agentkit/memory/local_rag.py", + "target": "class:InMemoryLocalRAGService", + "type": "contains", + "label": "定义类 InMemoryLocalRAGService" + }, + { + "id": "edge:954cc20e", + "source": "class:InMemoryLocalRAGService", + "target": "func:InMemoryLocalRAGService.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:1cdb26be", + "source": "class:InMemoryLocalRAGService", + "target": "func:InMemoryLocalRAGService.ingest", + "type": "contains", + "label": "方法 ingest" + }, + { + "id": "edge:b9c964ac", + "source": "class:InMemoryLocalRAGService", + "target": "func:InMemoryLocalRAGService.query", + "type": "contains", + "label": "方法 query" + }, + { + "id": "edge:fb897c00", + "source": "class:InMemoryLocalRAGService", + "target": "func:InMemoryLocalRAGService.delete_by_id", + "type": "contains", + "label": "方法 delete_by_id" + }, + { + "id": "edge:348b5bd2", + "source": "class:InMemoryLocalRAGService", + "target": "func:InMemoryLocalRAGService.list_sources", + "type": "contains", + "label": "方法 list_sources" + }, + { + "id": "edge:8b70e6da", + "source": "class:InMemoryLocalRAGService", + "target": "func:InMemoryLocalRAGService.health_check", + "type": "contains", + "label": "方法 health_check" + }, + { + "id": "edge:fb519e11", + "source": "class:InMemoryLocalRAGService", + "target": "func:InMemoryLocalRAGService._chunk_document", + "type": "contains", + "label": "方法 _chunk_document" + }, + { + "id": "edge:ed3990e5", + "source": "file:src/agentkit/memory/models.py", + "target": "class:EpisodeModel", + "type": "contains", + "label": "定义类 EpisodeModel" + }, + { + "id": "edge:a9d0929b", + "source": "file:src/agentkit/memory/multi_source_retriever.py", + "target": "class:MultiSourceRetriever", + "type": "contains", + "label": "定义类 MultiSourceRetriever" + }, + { + "id": "edge:39250dd3", + "source": "class:MultiSourceRetriever", + "target": "func:MultiSourceRetriever.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:af7d97f6", + "source": "class:MultiSourceRetriever", + "target": "func:MultiSourceRetriever.register_source", + "type": "contains", + "label": "方法 register_source" + }, + { + "id": "edge:57f9b9d2", + "source": "class:MultiSourceRetriever", + "target": "func:MultiSourceRetriever.unregister_source", + "type": "contains", + "label": "方法 unregister_source" + }, + { + "id": "edge:734ff6b3", + "source": "class:MultiSourceRetriever", + "target": "func:MultiSourceRetriever.search", + "type": "contains", + "label": "方法 search" + }, + { + "id": "edge:d6781205", + "source": "class:MultiSourceRetriever", + "target": "func:MultiSourceRetriever.list_all_sources", + "type": "contains", + "label": "方法 list_all_sources" + }, + { + "id": "edge:ebef8417", + "source": "class:MultiSourceRetriever", + "target": "func:MultiSourceRetriever.get_source_names", + "type": "contains", + "label": "方法 get_source_names" + }, + { + "id": "edge:e630713d", + "source": "class:MultiSourceRetriever", + "target": "func:MultiSourceRetriever._resolve_sources", + "type": "contains", + "label": "方法 _resolve_sources" + }, + { + "id": "edge:c3e0ab9d", + "source": "class:MultiSourceRetriever", + "target": "func:MultiSourceRetriever._query_sources", + "type": "contains", + "label": "方法 _query_sources" + }, + { + "id": "edge:60b3676f", + "source": "class:MultiSourceRetriever", + "target": "func:MultiSourceRetriever._deduplicate", + "type": "contains", + "label": "方法 _deduplicate" + }, + { + "id": "edge:351cbad5", + "source": "file:src/agentkit/memory/profile.py", + "target": "class:MemoryFile", + "type": "contains", + "label": "定义类 MemoryFile" + }, + { + "id": "edge:6dd998b1", + "source": "class:MemoryFile", + "target": "func:MemoryFile.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:cde09280", + "source": "class:MemoryFile", + "target": "func:MemoryFile.read", + "type": "contains", + "label": "方法 read" + }, + { + "id": "edge:64b31aa9", + "source": "class:MemoryFile", + "target": "func:MemoryFile.write", + "type": "contains", + "label": "方法 write" + }, + { + "id": "edge:26e47abc", + "source": "class:MemoryFile", + "target": "func:MemoryFile.read_section", + "type": "contains", + "label": "方法 read_section" + }, + { + "id": "edge:ea1284fd", + "source": "class:MemoryFile", + "target": "func:MemoryFile.add_section", + "type": "contains", + "label": "方法 add_section" + }, + { + "id": "edge:5f80d222", + "source": "class:MemoryFile", + "target": "func:MemoryFile.replace_section", + "type": "contains", + "label": "方法 replace_section" + }, + { + "id": "edge:3e799364", + "source": "class:MemoryFile", + "target": "func:MemoryFile.remove_section", + "type": "contains", + "label": "方法 remove_section" + }, + { + "id": "edge:1c142603", + "source": "class:MemoryFile", + "target": "func:MemoryFile.list_sections", + "type": "contains", + "label": "方法 list_sections" + }, + { + "id": "edge:1ced053e", + "source": "class:MemoryFile", + "target": "func:MemoryFile.trim_to_budget", + "type": "contains", + "label": "方法 trim_to_budget" + }, + { + "id": "edge:a202d735", + "source": "class:MemoryFile", + "target": "func:MemoryFile._trim_content", + "type": "contains", + "label": "方法 _trim_content" + }, + { + "id": "edge:24a80257", + "source": "file:src/agentkit/memory/profile.py", + "target": "class:MemorySnapshot", + "type": "contains", + "label": "定义类 MemorySnapshot" + }, + { + "id": "edge:95fd5ede", + "source": "class:MemorySnapshot", + "target": "func:MemorySnapshot.is_empty", + "type": "contains", + "label": "方法 is_empty" + }, + { + "id": "edge:46114772", + "source": "file:src/agentkit/memory/profile.py", + "target": "class:MemoryStore", + "type": "contains", + "label": "定义类 MemoryStore" + }, + { + "id": "edge:321ad2c1", + "source": "class:MemoryStore", + "target": "func:MemoryStore.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:01e255f3", + "source": "class:MemoryStore", + "target": "func:MemoryStore.get_file", + "type": "contains", + "label": "方法 get_file" + }, + { + "id": "edge:7eb2aee5", + "source": "class:MemoryStore", + "target": "func:MemoryStore.ensure_defaults", + "type": "contains", + "label": "方法 ensure_defaults" + }, + { + "id": "edge:16953460", + "source": "class:MemoryStore", + "target": "func:MemoryStore.load_all", + "type": "contains", + "label": "方法 load_all" + }, + { + "id": "edge:964b2d7d", + "source": "class:MemoryStore", + "target": "func:MemoryStore.load_daily_logs", + "type": "contains", + "label": "方法 load_daily_logs" + }, + { + "id": "edge:c31b17ab", + "source": "class:MemoryStore", + "target": "func:MemoryStore.archive_old_dailies", + "type": "contains", + "label": "方法 archive_old_dailies" + }, + { + "id": "edge:abd8c11c", + "source": "class:MemoryStore", + "target": "func:MemoryStore.build_system_prompt", + "type": "contains", + "label": "方法 build_system_prompt" + }, + { + "id": "edge:4a6cf7a7", + "source": "class:MemoryStore", + "target": "func:MemoryStore.refresh_system_prompt", + "type": "contains", + "label": "方法 refresh_system_prompt" + }, + { + "id": "edge:be6ffd5e", + "source": "class:MemoryStore", + "target": "func:MemoryStore.notify_change", + "type": "contains", + "label": "方法 notify_change" + }, + { + "id": "edge:8c02f35d", + "source": "file:src/agentkit/memory/query_transformer.py", + "target": "class:TransformedQuery", + "type": "contains", + "label": "定义类 TransformedQuery" + }, + { + "id": "edge:8cec7651", + "source": "file:src/agentkit/memory/query_transformer.py", + "target": "class:QueryTransformerBase", + "type": "contains", + "label": "定义类 QueryTransformerBase" + }, + { + "id": "edge:e4a30fc8", + "source": "class:QueryTransformerBase", + "target": "func:QueryTransformerBase.transform", + "type": "contains", + "label": "方法 transform" + }, + { + "id": "edge:5ee03433", + "source": "file:src/agentkit/memory/query_transformer.py", + "target": "class:LLMQueryTransformer", + "type": "contains", + "label": "定义类 LLMQueryTransformer" + }, + { + "id": "edge:88c52bd9", + "source": "class:LLMQueryTransformer", + "target": "class:QueryTransformerBase", + "type": "extends", + "label": "继承 QueryTransformerBase" + }, + { + "id": "edge:f70f88ce", + "source": "class:LLMQueryTransformer", + "target": "func:LLMQueryTransformer.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:b9116935", + "source": "class:LLMQueryTransformer", + "target": "func:LLMQueryTransformer.transform", + "type": "contains", + "label": "方法 transform" + }, + { + "id": "edge:a53115a4", + "source": "file:src/agentkit/memory/query_transformer.py", + "target": "class:RuleQueryTransformer", + "type": "contains", + "label": "定义类 RuleQueryTransformer" + }, + { + "id": "edge:5753d12b", + "source": "class:RuleQueryTransformer", + "target": "class:QueryTransformerBase", + "type": "extends", + "label": "继承 QueryTransformerBase" + }, + { + "id": "edge:477d4493", + "source": "class:RuleQueryTransformer", + "target": "func:RuleQueryTransformer.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:696355e1", + "source": "class:RuleQueryTransformer", + "target": "func:RuleQueryTransformer.transform", + "type": "contains", + "label": "方法 transform" + }, + { + "id": "edge:d9f19332", + "source": "file:src/agentkit/memory/query_transformer.py", + "target": "class:NoOpQueryTransformer", + "type": "contains", + "label": "定义类 NoOpQueryTransformer" + }, + { + "id": "edge:6900144d", + "source": "class:NoOpQueryTransformer", + "target": "class:QueryTransformerBase", + "type": "extends", + "label": "继承 QueryTransformerBase" + }, + { + "id": "edge:5857a0e5", + "source": "class:NoOpQueryTransformer", + "target": "func:NoOpQueryTransformer.transform", + "type": "contains", + "label": "方法 transform" + }, + { + "id": "edge:ff4f402a", + "source": "file:src/agentkit/memory/rag_loop.py", + "target": "class:LoopState", + "type": "contains", + "label": "定义类 LoopState" + }, + { + "id": "edge:446bc7a6", + "source": "file:src/agentkit/memory/rag_loop.py", + "target": "class:CorrectionAttempt", + "type": "contains", + "label": "定义类 CorrectionAttempt" + }, + { + "id": "edge:c96fafe6", + "source": "file:src/agentkit/memory/rag_loop.py", + "target": "class:RAGLoopResult", + "type": "contains", + "label": "定义类 RAGLoopResult" + }, + { + "id": "edge:c08d2de7", + "source": "file:src/agentkit/memory/rag_loop.py", + "target": "class:RAGSelfCorrectionLoop", + "type": "contains", + "label": "定义类 RAGSelfCorrectionLoop" + }, + { + "id": "edge:16172f63", + "source": "class:RAGSelfCorrectionLoop", + "target": "func:RAGSelfCorrectionLoop.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:6dff2584", + "source": "class:RAGSelfCorrectionLoop", + "target": "func:RAGSelfCorrectionLoop.retrieve_with_correction", + "type": "contains", + "label": "方法 retrieve_with_correction" + }, + { + "id": "edge:4a8e95a9", + "source": "class:RAGSelfCorrectionLoop", + "target": "func:RAGSelfCorrectionLoop._determine_next_state", + "type": "contains", + "label": "方法 _determine_next_state" + }, + { + "id": "edge:5b0a5224", + "source": "class:RAGSelfCorrectionLoop", + "target": "func:RAGSelfCorrectionLoop._rewrite_query", + "type": "contains", + "label": "方法 _rewrite_query" + }, + { + "id": "edge:fa14cb08", + "source": "file:src/agentkit/memory/relevance_scorer.py", + "target": "class:RelevanceVerdict", + "type": "contains", + "label": "定义类 RelevanceVerdict" + }, + { + "id": "edge:33fe1e9d", + "source": "file:src/agentkit/memory/relevance_scorer.py", + "target": "class:RelevanceScore", + "type": "contains", + "label": "定义类 RelevanceScore" + }, + { + "id": "edge:c13816d7", + "source": "file:src/agentkit/memory/relevance_scorer.py", + "target": "class:RetrievalEvaluation", + "type": "contains", + "label": "定义类 RetrievalEvaluation" + }, + { + "id": "edge:9198e4b9", + "source": "file:src/agentkit/memory/relevance_scorer.py", + "target": "class:RelevanceScorer", + "type": "contains", + "label": "定义类 RelevanceScorer" + }, + { + "id": "edge:de964795", + "source": "class:RelevanceScorer", + "target": "func:RelevanceScorer.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:b84a83ca", + "source": "class:RelevanceScorer", + "target": "func:RelevanceScorer.score_item", + "type": "contains", + "label": "方法 score_item" + }, + { + "id": "edge:542b6a68", + "source": "class:RelevanceScorer", + "target": "func:RelevanceScorer.evaluate", + "type": "contains", + "label": "方法 evaluate" + }, + { + "id": "edge:5977ea1c", + "source": "class:RelevanceScorer", + "target": "func:RelevanceScorer._determine_verdict", + "type": "contains", + "label": "方法 _determine_verdict" + }, + { + "id": "edge:9496d441", + "source": "class:RelevanceScorer", + "target": "func:RelevanceScorer._tokenize", + "type": "contains", + "label": "方法 _tokenize" + }, + { + "id": "edge:051194d5", + "source": "class:RelevanceScorer", + "target": "func:RelevanceScorer._jaccard_similarity", + "type": "contains", + "label": "方法 _jaccard_similarity" + }, + { + "id": "edge:713b7a1d", + "source": "class:RelevanceScorer", + "target": "func:RelevanceScorer._query_coverage", + "type": "contains", + "label": "方法 _query_coverage" + }, + { + "id": "edge:91c50d1c", + "source": "class:RelevanceScorer", + "target": "func:RelevanceScorer._length_score", + "type": "contains", + "label": "方法 _length_score" + }, + { + "id": "edge:9d67b989", + "source": "file:src/agentkit/memory/retriever.py", + "target": "class:MemoryRetriever", + "type": "contains", + "label": "定义类 MemoryRetriever" + }, + { + "id": "edge:b77697c7", + "source": "class:MemoryRetriever", + "target": "func:MemoryRetriever.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:e3efed1c", + "source": "class:MemoryRetriever", + "target": "func:MemoryRetriever.retrieve", + "type": "contains", + "label": "方法 retrieve" + }, + { + "id": "edge:1150a939", + "source": "class:MemoryRetriever", + "target": "func:MemoryRetriever._search_layers", + "type": "contains", + "label": "方法 _search_layers" + }, + { + "id": "edge:184f4608", + "source": "class:MemoryRetriever", + "target": "func:MemoryRetriever._retrieve_from_sources", + "type": "contains", + "label": "方法 _retrieve_from_sources" + }, + { + "id": "edge:3d315e64", + "source": "class:MemoryRetriever", + "target": "func:MemoryRetriever.multi_source_retriever", + "type": "contains", + "label": "方法 multi_source_retriever" + }, + { + "id": "edge:2906e839", + "source": "class:MemoryRetriever", + "target": "func:MemoryRetriever.get_context_string", + "type": "contains", + "label": "方法 get_context_string" + }, + { + "id": "edge:06524b7c", + "source": "class:MemoryRetriever", + "target": "func:MemoryRetriever._format_structured_header", + "type": "contains", + "label": "方法 _format_structured_header" + }, + { + "id": "edge:8a651ad7", + "source": "class:MemoryRetriever", + "target": "func:MemoryRetriever.store_episode", + "type": "contains", + "label": "方法 store_episode" + }, + { + "id": "edge:73d82e15", + "source": "class:MemoryRetriever", + "target": "func:MemoryRetriever.create_retrieve_tool", + "type": "contains", + "label": "方法 create_retrieve_tool" + }, + { + "id": "edge:00518a38", + "source": "file:src/agentkit/memory/retriever.py", + "target": "class:RetrieveKnowledgeTool", + "type": "contains", + "label": "定义类 RetrieveKnowledgeTool" + }, + { + "id": "edge:a93ae7a7", + "source": "class:RetrieveKnowledgeTool", + "target": "func:RetrieveKnowledgeTool.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:2fd266cd", + "source": "class:RetrieveKnowledgeTool", + "target": "func:RetrieveKnowledgeTool.execute", + "type": "contains", + "label": "方法 execute" + }, + { + "id": "edge:a41cd9c8", + "source": "file:src/agentkit/memory/semantic.py", + "target": "class:SemanticMemory", + "type": "contains", + "label": "定义类 SemanticMemory" + }, + { + "id": "edge:e644ac07", + "source": "class:SemanticMemory", + "target": "class:Memory", + "type": "extends", + "label": "继承 Memory" + }, + { + "id": "edge:8e7557b6", + "source": "class:SemanticMemory", + "target": "func:SemanticMemory.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:8bf5ab44", + "source": "class:SemanticMemory", + "target": "func:SemanticMemory.store", + "type": "contains", + "label": "方法 store" + }, + { + "id": "edge:48c317aa", + "source": "class:SemanticMemory", + "target": "func:SemanticMemory.retrieve", + "type": "contains", + "label": "方法 retrieve" + }, + { + "id": "edge:5e4b1a2d", + "source": "class:SemanticMemory", + "target": "func:SemanticMemory.search", + "type": "contains", + "label": "方法 search" + }, + { + "id": "edge:4fc4820a", + "source": "class:SemanticMemory", + "target": "func:SemanticMemory.delete", + "type": "contains", + "label": "方法 delete" + }, + { + "id": "edge:cbfeb12c", + "source": "file:src/agentkit/memory/working.py", + "target": "class:WorkingMemory", + "type": "contains", + "label": "定义类 WorkingMemory" + }, + { + "id": "edge:5619096b", + "source": "class:WorkingMemory", + "target": "class:Memory", + "type": "extends", + "label": "继承 Memory" + }, + { + "id": "edge:b2522133", + "source": "class:WorkingMemory", + "target": "func:WorkingMemory.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:6eba849f", + "source": "class:WorkingMemory", + "target": "func:WorkingMemory._make_key", + "type": "contains", + "label": "方法 _make_key" + }, + { + "id": "edge:06eb5997", + "source": "class:WorkingMemory", + "target": "func:WorkingMemory.store", + "type": "contains", + "label": "方法 store" + }, + { + "id": "edge:88c1dad9", + "source": "class:WorkingMemory", + "target": "func:WorkingMemory.retrieve", + "type": "contains", + "label": "方法 retrieve" + }, + { + "id": "edge:f35d7dd9", + "source": "class:WorkingMemory", + "target": "func:WorkingMemory.search", + "type": "contains", + "label": "方法 search" + }, + { + "id": "edge:e4ca24bc", + "source": "class:WorkingMemory", + "target": "func:WorkingMemory.delete", + "type": "contains", + "label": "方法 delete" + }, + { + "id": "edge:058914c5", + "source": "class:WorkingMemory", + "target": "func:WorkingMemory.clear", + "type": "contains", + "label": "方法 clear" + }, + { + "id": "edge:6cdf342c", + "source": "file:src/agentkit/orchestrator/compensation.py", + "target": "class:CompletedStep", + "type": "contains", + "label": "定义类 CompletedStep" + }, + { + "id": "edge:62aac460", + "source": "file:src/agentkit/orchestrator/compensation.py", + "target": "class:CompensationResult", + "type": "contains", + "label": "定义类 CompensationResult" + }, + { + "id": "edge:82caacc5", + "source": "file:src/agentkit/orchestrator/compensation.py", + "target": "class:SagaOrchestrator", + "type": "contains", + "label": "定义类 SagaOrchestrator" + }, + { + "id": "edge:dd4885f0", + "source": "class:SagaOrchestrator", + "target": "func:SagaOrchestrator.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:f2f1f754", + "source": "class:SagaOrchestrator", + "target": "func:SagaOrchestrator.record_completed", + "type": "contains", + "label": "方法 record_completed" + }, + { + "id": "edge:776fd192", + "source": "class:SagaOrchestrator", + "target": "func:SagaOrchestrator.compensate", + "type": "contains", + "label": "方法 compensate" + }, + { + "id": "edge:00b0f76d", + "source": "class:SagaOrchestrator", + "target": "func:SagaOrchestrator.clear", + "type": "contains", + "label": "方法 clear" + }, + { + "id": "edge:ac1cee61", + "source": "class:SagaOrchestrator", + "target": "func:SagaOrchestrator.completed_steps", + "type": "contains", + "label": "方法 completed_steps" + }, + { + "id": "edge:81e8e9d1", + "source": "file:src/agentkit/orchestrator/dynamic_pipeline.py", + "target": "class:DynamicPipeline", + "type": "contains", + "label": "定义类 DynamicPipeline" + }, + { + "id": "edge:c8cb5919", + "source": "class:DynamicPipeline", + "target": "func:DynamicPipeline.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:738978b4", + "source": "class:DynamicPipeline", + "target": "func:DynamicPipeline.execute_conditional", + "type": "contains", + "label": "方法 execute_conditional" + }, + { + "id": "edge:ae1af877", + "source": "class:DynamicPipeline", + "target": "func:DynamicPipeline.execute_nested", + "type": "contains", + "label": "方法 execute_nested" + }, + { + "id": "edge:062f3feb", + "source": "class:DynamicPipeline", + "target": "func:DynamicPipeline.execute_loop", + "type": "contains", + "label": "方法 execute_loop" + }, + { + "id": "edge:29278136", + "source": "file:src/agentkit/orchestrator/handoff.py", + "target": "class:HandoffManager", + "type": "contains", + "label": "定义类 HandoffManager" + }, + { + "id": "edge:9de3bd0f", + "source": "class:HandoffManager", + "target": "func:HandoffManager.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:a1e924c6", + "source": "class:HandoffManager", + "target": "func:HandoffManager.register_handler", + "type": "contains", + "label": "方法 register_handler" + }, + { + "id": "edge:314edda3", + "source": "class:HandoffManager", + "target": "func:HandoffManager.send_handoff", + "type": "contains", + "label": "方法 send_handoff" + }, + { + "id": "edge:4526a951", + "source": "class:HandoffManager", + "target": "func:HandoffManager.listen_for_handoffs", + "type": "contains", + "label": "方法 listen_for_handoffs" + }, + { + "id": "edge:94a7793e", + "source": "class:HandoffManager", + "target": "func:HandoffManager._handle_handoff", + "type": "contains", + "label": "方法 _handle_handoff" + }, + { + "id": "edge:26e26d6e", + "source": "file:src/agentkit/orchestrator/pipeline_engine.py", + "target": "class:PipelineEngine", + "type": "contains", + "label": "定义类 PipelineEngine" + }, + { + "id": "edge:c7f1b41b", + "source": "class:PipelineEngine", + "target": "func:PipelineEngine.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:253b98e1", + "source": "class:PipelineEngine", + "target": "func:PipelineEngine.execute", + "type": "contains", + "label": "方法 execute" + }, + { + "id": "edge:59c934d6", + "source": "class:PipelineEngine", + "target": "func:PipelineEngine._adaptive_loop", + "type": "contains", + "label": "方法 _adaptive_loop" + }, + { + "id": "edge:da9d5097", + "source": "class:PipelineEngine", + "target": "func:PipelineEngine._execute_pipeline", + "type": "contains", + "label": "方法 _execute_pipeline" + }, + { + "id": "edge:5ad63fcc", + "source": "class:PipelineEngine", + "target": "func:PipelineEngine._execute_stage", + "type": "contains", + "label": "方法 _execute_stage" + }, + { + "id": "edge:71d14f2c", + "source": "class:PipelineEngine", + "target": "func:PipelineEngine._topological_group", + "type": "contains", + "label": "方法 _topological_group" + }, + { + "id": "edge:4338a9b0", + "source": "class:PipelineEngine", + "target": "func:PipelineEngine._resolve_variables", + "type": "contains", + "label": "方法 _resolve_variables" + }, + { + "id": "edge:12650885", + "source": "class:PipelineEngine", + "target": "func:PipelineEngine._get_nested", + "type": "contains", + "label": "方法 _get_nested" + }, + { + "id": "edge:25c70a30", + "source": "class:PipelineEngine", + "target": "func:PipelineEngine._evaluate_condition", + "type": "contains", + "label": "方法 _evaluate_condition" + }, + { + "id": "edge:3526d413", + "source": "class:PipelineEngine", + "target": "func:PipelineEngine._execute_stage_with_adversarial", + "type": "contains", + "label": "方法 _execute_stage_with_adversarial" + }, + { + "id": "edge:1f71e809", + "source": "class:PipelineEngine", + "target": "func:PipelineEngine._execute_agent_stage", + "type": "contains", + "label": "方法 _execute_agent_stage" + }, + { + "id": "edge:7272f537", + "source": "class:PipelineEngine", + "target": "func:PipelineEngine._execute_verifier", + "type": "contains", + "label": "方法 _execute_verifier" + }, + { + "id": "edge:b5416660", + "source": "class:PipelineEngine", + "target": "func:PipelineEngine._build_feedback_context", + "type": "contains", + "label": "方法 _build_feedback_context" + }, + { + "id": "edge:815290e7", + "source": "class:PipelineEngine", + "target": "func:PipelineEngine._escalate", + "type": "contains", + "label": "方法 _escalate" + }, + { + "id": "edge:993bbf04", + "source": "file:src/agentkit/orchestrator/pipeline_loader.py", + "target": "class:PipelineLoader", + "type": "contains", + "label": "定义类 PipelineLoader" + }, + { + "id": "edge:de553a96", + "source": "class:PipelineLoader", + "target": "func:PipelineLoader.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:42dd9e51", + "source": "class:PipelineLoader", + "target": "func:PipelineLoader.load", + "type": "contains", + "label": "方法 load" + }, + { + "id": "edge:3e80c798", + "source": "class:PipelineLoader", + "target": "func:PipelineLoader.load_from_yaml", + "type": "contains", + "label": "方法 load_from_yaml" + }, + { + "id": "edge:d1f2f653", + "source": "class:PipelineLoader", + "target": "func:PipelineLoader.validate_dag", + "type": "contains", + "label": "方法 validate_dag" + }, + { + "id": "edge:34762e65", + "source": "file:src/agentkit/orchestrator/pipeline_models.py", + "target": "class:Base", + "type": "contains", + "label": "定义类 Base" + }, + { + "id": "edge:fcf6bfe0", + "source": "file:src/agentkit/orchestrator/pipeline_models.py", + "target": "class:PipelineExecutionModel", + "type": "contains", + "label": "定义类 PipelineExecutionModel" + }, + { + "id": "edge:14f47a1f", + "source": "class:PipelineExecutionModel", + "target": "class:Base", + "type": "extends", + "label": "继承 Base" + }, + { + "id": "edge:e03a9009", + "source": "file:src/agentkit/orchestrator/pipeline_models.py", + "target": "class:PipelineStepHistoryModel", + "type": "contains", + "label": "定义类 PipelineStepHistoryModel" + }, + { + "id": "edge:390be886", + "source": "class:PipelineStepHistoryModel", + "target": "class:Base", + "type": "extends", + "label": "继承 Base" + }, + { + "id": "edge:4c424270", + "source": "file:src/agentkit/orchestrator/pipeline_schema.py", + "target": "class:StageStatus", + "type": "contains", + "label": "定义类 StageStatus" + }, + { + "id": "edge:ec223fd5", + "source": "file:src/agentkit/orchestrator/pipeline_schema.py", + "target": "class:ReviewIssue", + "type": "contains", + "label": "定义类 ReviewIssue" + }, + { + "id": "edge:c23430bf", + "source": "file:src/agentkit/orchestrator/pipeline_schema.py", + "target": "class:ReviewFeedback", + "type": "contains", + "label": "定义类 ReviewFeedback" + }, + { + "id": "edge:cd2f94c9", + "source": "file:src/agentkit/orchestrator/pipeline_schema.py", + "target": "class:AdversarialState", + "type": "contains", + "label": "定义类 AdversarialState" + }, + { + "id": "edge:f2c99ad8", + "source": "file:src/agentkit/orchestrator/pipeline_schema.py", + "target": "class:PipelineStage", + "type": "contains", + "label": "定义类 PipelineStage" + }, + { + "id": "edge:90b7c10b", + "source": "file:src/agentkit/orchestrator/pipeline_schema.py", + "target": "class:Pipeline", + "type": "contains", + "label": "定义类 Pipeline" + }, + { + "id": "edge:95c7b07a", + "source": "file:src/agentkit/orchestrator/pipeline_schema.py", + "target": "class:StageResult", + "type": "contains", + "label": "定义类 StageResult" + }, + { + "id": "edge:c15a8e17", + "source": "file:src/agentkit/orchestrator/pipeline_schema.py", + "target": "class:PipelineResult", + "type": "contains", + "label": "定义类 PipelineResult" + }, + { + "id": "edge:8ceeba4e", + "source": "file:src/agentkit/orchestrator/pipeline_schema.py", + "target": "class:AdaptiveConfig", + "type": "contains", + "label": "定义类 AdaptiveConfig" + }, + { + "id": "edge:d0caf93d", + "source": "file:src/agentkit/orchestrator/pipeline_schema.py", + "target": "class:ReflectionReport", + "type": "contains", + "label": "定义类 ReflectionReport" + }, + { + "id": "edge:3d34ce9a", + "source": "file:src/agentkit/orchestrator/pipeline_state.py", + "target": "class:PipelineStateMemory", + "type": "contains", + "label": "定义类 PipelineStateMemory" + }, + { + "id": "edge:be5e3a02", + "source": "class:PipelineStateMemory", + "target": "func:PipelineStateMemory.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:74d527d3", + "source": "class:PipelineStateMemory", + "target": "func:PipelineStateMemory.create_execution", + "type": "contains", + "label": "方法 create_execution" + }, + { + "id": "edge:ae69d049", + "source": "class:PipelineStateMemory", + "target": "func:PipelineStateMemory.update_step", + "type": "contains", + "label": "方法 update_step" + }, + { + "id": "edge:5483dbec", + "source": "class:PipelineStateMemory", + "target": "func:PipelineStateMemory.complete_execution", + "type": "contains", + "label": "方法 complete_execution" + }, + { + "id": "edge:4d77b38b", + "source": "class:PipelineStateMemory", + "target": "func:PipelineStateMemory.fail_execution", + "type": "contains", + "label": "方法 fail_execution" + }, + { + "id": "edge:63cf824c", + "source": "class:PipelineStateMemory", + "target": "func:PipelineStateMemory.get_execution", + "type": "contains", + "label": "方法 get_execution" + }, + { + "id": "edge:4c2e9b4f", + "source": "class:PipelineStateMemory", + "target": "func:PipelineStateMemory.list_executions", + "type": "contains", + "label": "方法 list_executions" + }, + { + "id": "edge:6c410c47", + "source": "class:PipelineStateMemory", + "target": "func:PipelineStateMemory.get_step_history", + "type": "contains", + "label": "方法 get_step_history" + }, + { + "id": "edge:66ff8334", + "source": "class:PipelineStateMemory", + "target": "func:PipelineStateMemory.get_execution_sync", + "type": "contains", + "label": "方法 get_execution_sync" + }, + { + "id": "edge:62a1e316", + "source": "file:src/agentkit/orchestrator/pipeline_state.py", + "target": "class:PipelineStateRedis", + "type": "contains", + "label": "定义类 PipelineStateRedis" + }, + { + "id": "edge:1ccda42c", + "source": "class:PipelineStateRedis", + "target": "func:PipelineStateRedis.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:81a89f5c", + "source": "class:PipelineStateRedis", + "target": "func:PipelineStateRedis._get_redis", + "type": "contains", + "label": "方法 _get_redis" + }, + { + "id": "edge:68595282", + "source": "class:PipelineStateRedis", + "target": "func:PipelineStateRedis._safe_redis_call", + "type": "contains", + "label": "方法 _safe_redis_call" + }, + { + "id": "edge:096d05d0", + "source": "class:PipelineStateRedis", + "target": "func:PipelineStateRedis._key", + "type": "contains", + "label": "方法 _key" + }, + { + "id": "edge:bc00640c", + "source": "class:PipelineStateRedis", + "target": "func:PipelineStateRedis.create_execution", + "type": "contains", + "label": "方法 create_execution" + }, + { + "id": "edge:ff82215f", + "source": "class:PipelineStateRedis", + "target": "func:PipelineStateRedis.update_step", + "type": "contains", + "label": "方法 update_step" + }, + { + "id": "edge:1ae97100", + "source": "class:PipelineStateRedis", + "target": "func:PipelineStateRedis.complete_execution", + "type": "contains", + "label": "方法 complete_execution" + }, + { + "id": "edge:cdca0bd7", + "source": "class:PipelineStateRedis", + "target": "func:PipelineStateRedis.fail_execution", + "type": "contains", + "label": "方法 fail_execution" + }, + { + "id": "edge:8ee07e93", + "source": "class:PipelineStateRedis", + "target": "func:PipelineStateRedis.get_execution", + "type": "contains", + "label": "方法 get_execution" + }, + { + "id": "edge:bb207d1c", + "source": "class:PipelineStateRedis", + "target": "func:PipelineStateRedis.list_executions", + "type": "contains", + "label": "方法 list_executions" + }, + { + "id": "edge:a46515fb", + "source": "class:PipelineStateRedis", + "target": "func:PipelineStateRedis.get_step_history", + "type": "contains", + "label": "方法 get_step_history" + }, + { + "id": "edge:58c824f5", + "source": "class:PipelineStateRedis", + "target": "func:PipelineStateRedis.health_check", + "type": "contains", + "label": "方法 health_check" + }, + { + "id": "edge:15d93eb9", + "source": "class:PipelineStateRedis", + "target": "func:PipelineStateRedis.using_fallback", + "type": "contains", + "label": "方法 using_fallback" + }, + { + "id": "edge:922e9b97", + "source": "file:src/agentkit/orchestrator/pipeline_state.py", + "target": "class:PipelineStatePG", + "type": "contains", + "label": "定义类 PipelineStatePG" + }, + { + "id": "edge:127c9127", + "source": "class:PipelineStatePG", + "target": "func:PipelineStatePG.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:f488306e", + "source": "class:PipelineStatePG", + "target": "func:PipelineStatePG.enabled", + "type": "contains", + "label": "方法 enabled" + }, + { + "id": "edge:c846aaf3", + "source": "class:PipelineStatePG", + "target": "func:PipelineStatePG.persist_execution", + "type": "contains", + "label": "方法 persist_execution" + }, + { + "id": "edge:fecf268c", + "source": "class:PipelineStatePG", + "target": "func:PipelineStatePG.persist_step_history", + "type": "contains", + "label": "方法 persist_step_history" + }, + { + "id": "edge:5973cf6e", + "source": "class:PipelineStatePG", + "target": "func:PipelineStatePG.query_executions", + "type": "contains", + "label": "方法 query_executions" + }, + { + "id": "edge:69252c20", + "source": "class:PipelineStatePG", + "target": "func:PipelineStatePG.get_execution", + "type": "contains", + "label": "方法 get_execution" + }, + { + "id": "edge:abb89924", + "source": "class:PipelineStatePG", + "target": "func:PipelineStatePG._model_to_dict", + "type": "contains", + "label": "方法 _model_to_dict" + }, + { + "id": "edge:4f7645fb", + "source": "file:src/agentkit/orchestrator/pipeline_state.py", + "target": "class:PipelineStateManager", + "type": "contains", + "label": "定义类 PipelineStateManager" + }, + { + "id": "edge:a4173369", + "source": "class:PipelineStateManager", + "target": "func:PipelineStateManager.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:75038b39", + "source": "class:PipelineStateManager", + "target": "func:PipelineStateManager.hot_store", + "type": "contains", + "label": "方法 hot_store" + }, + { + "id": "edge:42569756", + "source": "class:PipelineStateManager", + "target": "func:PipelineStateManager.cold_store", + "type": "contains", + "label": "方法 cold_store" + }, + { + "id": "edge:7468d383", + "source": "class:PipelineStateManager", + "target": "func:PipelineStateManager.create_execution", + "type": "contains", + "label": "方法 create_execution" + }, + { + "id": "edge:b5b0b3e6", + "source": "class:PipelineStateManager", + "target": "func:PipelineStateManager.update_step", + "type": "contains", + "label": "方法 update_step" + }, + { + "id": "edge:2bb60236", + "source": "class:PipelineStateManager", + "target": "func:PipelineStateManager.complete_execution", + "type": "contains", + "label": "方法 complete_execution" + }, + { + "id": "edge:9bb04988", + "source": "class:PipelineStateManager", + "target": "func:PipelineStateManager.fail_execution", + "type": "contains", + "label": "方法 fail_execution" + }, + { + "id": "edge:bc5566f8", + "source": "class:PipelineStateManager", + "target": "func:PipelineStateManager.get_execution", + "type": "contains", + "label": "方法 get_execution" + }, + { + "id": "edge:5eec36c7", + "source": "class:PipelineStateManager", + "target": "func:PipelineStateManager.list_executions", + "type": "contains", + "label": "方法 list_executions" + }, + { + "id": "edge:6ffa9bb7", + "source": "class:PipelineStateManager", + "target": "func:PipelineStateManager.get_step_history", + "type": "contains", + "label": "方法 get_step_history" + }, + { + "id": "edge:7408e8b1", + "source": "class:PipelineStateManager", + "target": "func:PipelineStateManager.health_check", + "type": "contains", + "label": "方法 health_check" + }, + { + "id": "edge:b49c2a47", + "source": "file:src/agentkit/orchestrator/reflection.py", + "target": "class:PipelineReflector", + "type": "contains", + "label": "定义类 PipelineReflector" + }, + { + "id": "edge:41458872", + "source": "class:PipelineReflector", + "target": "func:PipelineReflector.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:06bf9a1a", + "source": "class:PipelineReflector", + "target": "func:PipelineReflector.reflect", + "type": "contains", + "label": "方法 reflect" + }, + { + "id": "edge:673e9ff4", + "source": "class:PipelineReflector", + "target": "func:PipelineReflector._find_failure", + "type": "contains", + "label": "方法 _find_failure" + }, + { + "id": "edge:182df1e0", + "source": "class:PipelineReflector", + "target": "func:PipelineReflector._collect_completed_outputs", + "type": "contains", + "label": "方法 _collect_completed_outputs" + }, + { + "id": "edge:2c90fcb8", + "source": "class:PipelineReflector", + "target": "func:PipelineReflector._llm_reflect", + "type": "contains", + "label": "方法 _llm_reflect" + }, + { + "id": "edge:27aabac1", + "source": "class:PipelineReflector", + "target": "func:PipelineReflector._build_reflection_prompt", + "type": "contains", + "label": "方法 _build_reflection_prompt" + }, + { + "id": "edge:5b7f0922", + "source": "class:PipelineReflector", + "target": "func:PipelineReflector._parse_reflection_response", + "type": "contains", + "label": "方法 _parse_reflection_response" + }, + { + "id": "edge:2300e8c4", + "source": "class:PipelineReflector", + "target": "func:PipelineReflector._rule_based_reflect", + "type": "contains", + "label": "方法 _rule_based_reflect" + }, + { + "id": "edge:bcd2f58e", + "source": "file:src/agentkit/orchestrator/reflection.py", + "target": "class:PipelineReplanner", + "type": "contains", + "label": "定义类 PipelineReplanner" + }, + { + "id": "edge:4c34d405", + "source": "class:PipelineReplanner", + "target": "func:PipelineReplanner.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:2db00c0c", + "source": "class:PipelineReplanner", + "target": "func:PipelineReplanner.replan", + "type": "contains", + "label": "方法 replan" + }, + { + "id": "edge:eff01f6f", + "source": "class:PipelineReplanner", + "target": "func:PipelineReplanner._llm_replan", + "type": "contains", + "label": "方法 _llm_replan" + }, + { + "id": "edge:fc300334", + "source": "class:PipelineReplanner", + "target": "func:PipelineReplanner._parse_pipeline_response", + "type": "contains", + "label": "方法 _parse_pipeline_response" + }, + { + "id": "edge:82adb65b", + "source": "class:PipelineReplanner", + "target": "func:PipelineReplanner._rule_based_replan", + "type": "contains", + "label": "方法 _rule_based_replan" + }, + { + "id": "edge:1e9aef9c", + "source": "class:PipelineReplanner", + "target": "func:PipelineReplanner._adjust_failed_stage", + "type": "contains", + "label": "方法 _adjust_failed_stage" + }, + { + "id": "edge:5399fe4e", + "source": "file:src/agentkit/orchestrator/retry.py", + "target": "class:StepRetryPolicy", + "type": "contains", + "label": "定义类 StepRetryPolicy" + }, + { + "id": "edge:73b70ec5", + "source": "class:StepRetryPolicy", + "target": "func:StepRetryPolicy.calculate_delay", + "type": "contains", + "label": "方法 calculate_delay" + }, + { + "id": "edge:32b376c7", + "source": "file:src/agentkit/orchestrator/workflow_schema.py", + "target": "class:WorkflowStage", + "type": "contains", + "label": "定义类 WorkflowStage" + }, + { + "id": "edge:7d7d5059", + "source": "class:WorkflowStage", + "target": "class:PipelineStage", + "type": "extends", + "label": "继承 PipelineStage" + }, + { + "id": "edge:9f92a9da", + "source": "file:src/agentkit/orchestrator/workflow_schema.py", + "target": "class:WorkflowDefinition", + "type": "contains", + "label": "定义类 WorkflowDefinition" + }, + { + "id": "edge:6abf9096", + "source": "file:src/agentkit/orchestrator/workflow_schema.py", + "target": "class:WorkflowExecution", + "type": "contains", + "label": "定义类 WorkflowExecution" + }, + { + "id": "edge:ccdfd7f6", + "source": "file:src/agentkit/orchestrator/workflow_schema.py", + "target": "class:WorkflowSummary", + "type": "contains", + "label": "定义类 WorkflowSummary" + }, + { + "id": "edge:aadb313a", + "source": "file:src/agentkit/orchestrator/workflow_schema.py", + "target": "class:CreateWorkflowRequest", + "type": "contains", + "label": "定义类 CreateWorkflowRequest" + }, + { + "id": "edge:cc36bdc6", + "source": "file:src/agentkit/orchestrator/workflow_schema.py", + "target": "class:ExecuteWorkflowRequest", + "type": "contains", + "label": "定义类 ExecuteWorkflowRequest" + }, + { + "id": "edge:9e9d0cc2", + "source": "file:src/agentkit/orchestrator/workflow_schema.py", + "target": "class:ApproveRequest", + "type": "contains", + "label": "定义类 ApproveRequest" + }, + { + "id": "edge:110948c9", + "source": "file:src/agentkit/org/context.py", + "target": "class:AgentProfile", + "type": "contains", + "label": "定义类 AgentProfile" + }, + { + "id": "edge:4a21dd3f", + "source": "file:src/agentkit/org/context.py", + "target": "class:OrganizationContext", + "type": "contains", + "label": "定义类 OrganizationContext" + }, + { + "id": "edge:f9d2aad5", + "source": "class:OrganizationContext", + "target": "func:OrganizationContext.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:9d2c751a", + "source": "class:OrganizationContext", + "target": "func:OrganizationContext.register_agent", + "type": "contains", + "label": "方法 register_agent" + }, + { + "id": "edge:8b9c32af", + "source": "class:OrganizationContext", + "target": "func:OrganizationContext.unregister_agent", + "type": "contains", + "label": "方法 unregister_agent" + }, + { + "id": "edge:2ed95e2e", + "source": "class:OrganizationContext", + "target": "func:OrganizationContext.get_agent_profile", + "type": "contains", + "label": "方法 get_agent_profile" + }, + { + "id": "edge:5d61725f", + "source": "class:OrganizationContext", + "target": "func:OrganizationContext.list_agents", + "type": "contains", + "label": "方法 list_agents" + }, + { + "id": "edge:6158ddef", + "source": "class:OrganizationContext", + "target": "func:OrganizationContext.find_best_agent", + "type": "contains", + "label": "方法 find_best_agent" + }, + { + "id": "edge:f8591c0a", + "source": "class:OrganizationContext", + "target": "func:OrganizationContext.update_load", + "type": "contains", + "label": "方法 update_load" + }, + { + "id": "edge:748639fc", + "source": "class:OrganizationContext", + "target": "func:OrganizationContext.set_availability", + "type": "contains", + "label": "方法 set_availability" + }, + { + "id": "edge:f5d551e8", + "source": "class:OrganizationContext", + "target": "func:OrganizationContext.from_agent_pool", + "type": "contains", + "label": "方法 from_agent_pool" + }, + { + "id": "edge:3d6b41b7", + "source": "file:src/agentkit/org/discovery.py", + "target": "class:AgentDiscovery", + "type": "contains", + "label": "定义类 AgentDiscovery" + }, + { + "id": "edge:8049cd2c", + "source": "class:AgentDiscovery", + "target": "func:AgentDiscovery.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:8b3ea6c3", + "source": "class:AgentDiscovery", + "target": "func:AgentDiscovery.discover_by_capability", + "type": "contains", + "label": "方法 discover_by_capability" + }, + { + "id": "edge:4866c574", + "source": "class:AgentDiscovery", + "target": "func:AgentDiscovery.discover_by_execution_mode", + "type": "contains", + "label": "方法 discover_by_execution_mode" + }, + { + "id": "edge:db5a0e52", + "source": "class:AgentDiscovery", + "target": "func:AgentDiscovery.discover_available", + "type": "contains", + "label": "方法 discover_available" + }, + { + "id": "edge:e81deaa9", + "source": "class:AgentDiscovery", + "target": "func:AgentDiscovery.recommend_agent", + "type": "contains", + "label": "方法 recommend_agent" + }, + { + "id": "edge:6cf6c42a", + "source": "file:src/agentkit/prompts/section.py", + "target": "class:PromptSection", + "type": "contains", + "label": "定义类 PromptSection" + }, + { + "id": "edge:61d82caf", + "source": "class:PromptSection", + "target": "func:PromptSection.render", + "type": "contains", + "label": "方法 render" + }, + { + "id": "edge:bf81e67f", + "source": "file:src/agentkit/prompts/template.py", + "target": "class:PromptTemplate", + "type": "contains", + "label": "定义类 PromptTemplate" + }, + { + "id": "edge:3a68daaa", + "source": "class:PromptTemplate", + "target": "func:PromptTemplate.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:bfbf2701", + "source": "class:PromptTemplate", + "target": "func:PromptTemplate.render", + "type": "contains", + "label": "方法 render" + }, + { + "id": "edge:da597d1f", + "source": "class:PromptTemplate", + "target": "func:PromptTemplate.sections", + "type": "contains", + "label": "方法 sections" + }, + { + "id": "edge:4254e4bf", + "source": "class:PromptTemplate", + "target": "func:PromptTemplate.render_cached", + "type": "contains", + "label": "方法 render_cached" + }, + { + "id": "edge:4501bdc9", + "source": "class:PromptTemplate", + "target": "func:PromptTemplate.clear_cache", + "type": "contains", + "label": "方法 clear_cache" + }, + { + "id": "edge:78ac4800", + "source": "file:src/agentkit/quality/alignment.py", + "target": "class:AlignmentConfig", + "type": "contains", + "label": "定义类 AlignmentConfig" + }, + { + "id": "edge:5ce8def3", + "source": "class:AlignmentConfig", + "target": "func:AlignmentConfig.from_dict", + "type": "contains", + "label": "方法 from_dict" + }, + { + "id": "edge:65fafd2c", + "source": "file:src/agentkit/quality/alignment.py", + "target": "class:AlignmentCheckResult", + "type": "contains", + "label": "定义类 AlignmentCheckResult" + }, + { + "id": "edge:68483c49", + "source": "file:src/agentkit/quality/alignment.py", + "target": "class:CascadeAlert", + "type": "contains", + "label": "定义类 CascadeAlert" + }, + { + "id": "edge:e74d8fc2", + "source": "file:src/agentkit/quality/alignment.py", + "target": "class:ConstraintInjector", + "type": "contains", + "label": "定义类 ConstraintInjector" + }, + { + "id": "edge:92417085", + "source": "class:ConstraintInjector", + "target": "func:ConstraintInjector.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:60a43a2c", + "source": "class:ConstraintInjector", + "target": "func:ConstraintInjector.inject", + "type": "contains", + "label": "方法 inject" + }, + { + "id": "edge:acf4a4af", + "source": "file:src/agentkit/quality/alignment.py", + "target": "class:AlignmentGuard", + "type": "contains", + "label": "定义类 AlignmentGuard" + }, + { + "id": "edge:d07ccc3d", + "source": "class:AlignmentGuard", + "target": "func:AlignmentGuard.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:6b4ed2c6", + "source": "class:AlignmentGuard", + "target": "func:AlignmentGuard.inject_constraints", + "type": "contains", + "label": "方法 inject_constraints" + }, + { + "id": "edge:df022183", + "source": "class:AlignmentGuard", + "target": "func:AlignmentGuard.check_output", + "type": "contains", + "label": "方法 check_output" + }, + { + "id": "edge:85e13f07", + "source": "class:AlignmentGuard", + "target": "func:AlignmentGuard._rule_check", + "type": "contains", + "label": "方法 _rule_check" + }, + { + "id": "edge:6d0b0f00", + "source": "class:AlignmentGuard", + "target": "func:AlignmentGuard._is_positive_mention", + "type": "contains", + "label": "方法 _is_positive_mention" + }, + { + "id": "edge:8cf09b13", + "source": "class:AlignmentGuard", + "target": "func:AlignmentGuard._extract_text", + "type": "contains", + "label": "方法 _extract_text" + }, + { + "id": "edge:21948d6b", + "source": "class:AlignmentGuard", + "target": "func:AlignmentGuard._llm_check", + "type": "contains", + "label": "方法 _llm_check" + }, + { + "id": "edge:c84fc198", + "source": "class:AlignmentGuard", + "target": "func:AlignmentGuard.record_interaction", + "type": "contains", + "label": "方法 record_interaction" + }, + { + "id": "edge:0b142684", + "source": "class:AlignmentGuard", + "target": "func:AlignmentGuard.record_loop_depth", + "type": "contains", + "label": "方法 record_loop_depth" + }, + { + "id": "edge:f2e39643", + "source": "class:AlignmentGuard", + "target": "func:AlignmentGuard.reset_session", + "type": "contains", + "label": "方法 reset_session" + }, + { + "id": "edge:7ff1d9d3", + "source": "class:AlignmentGuard", + "target": "func:AlignmentGuard.get_interaction_count", + "type": "contains", + "label": "方法 get_interaction_count" + }, + { + "id": "edge:c7486a43", + "source": "file:src/agentkit/quality/cascade_detector.py", + "target": "class:CascadeAlert", + "type": "contains", + "label": "定义类 CascadeAlert" + }, + { + "id": "edge:addbe591", + "source": "file:src/agentkit/quality/cascade_detector.py", + "target": "class:CascadeDetector", + "type": "contains", + "label": "定义类 CascadeDetector" + }, + { + "id": "edge:8c4267c4", + "source": "class:CascadeDetector", + "target": "func:CascadeDetector.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:c8f9a3ee", + "source": "class:CascadeDetector", + "target": "func:CascadeDetector.check_interaction", + "type": "contains", + "label": "方法 check_interaction" + }, + { + "id": "edge:39331045", + "source": "class:CascadeDetector", + "target": "func:CascadeDetector.check_depth", + "type": "contains", + "label": "方法 check_depth" + }, + { + "id": "edge:c2ef1111", + "source": "class:CascadeDetector", + "target": "func:CascadeDetector.reset", + "type": "contains", + "label": "方法 reset" + }, + { + "id": "edge:e7a315cb", + "source": "class:CascadeDetector", + "target": "func:CascadeDetector.get_stats", + "type": "contains", + "label": "方法 get_stats" + }, + { + "id": "edge:0f6b16af", + "source": "file:src/agentkit/quality/gate.py", + "target": "class:QualityCheck", + "type": "contains", + "label": "定义类 QualityCheck" + }, + { + "id": "edge:0d502814", + "source": "file:src/agentkit/quality/gate.py", + "target": "class:QualityResult", + "type": "contains", + "label": "定义类 QualityResult" + }, + { + "id": "edge:51c13be3", + "source": "file:src/agentkit/quality/gate.py", + "target": "class:QualityGate", + "type": "contains", + "label": "定义类 QualityGate" + }, + { + "id": "edge:b488ff6c", + "source": "class:QualityGate", + "target": "func:QualityGate.validate", + "type": "contains", + "label": "方法 validate" + }, + { + "id": "edge:b5c6fa4b", + "source": "class:QualityGate", + "target": "func:QualityGate._import_validator", + "type": "contains", + "label": "方法 _import_validator" + }, + { + "id": "edge:581026c6", + "source": "file:src/agentkit/quality/output.py", + "target": "class:OutputMetadata", + "type": "contains", + "label": "定义类 OutputMetadata" + }, + { + "id": "edge:8b665123", + "source": "file:src/agentkit/quality/output.py", + "target": "class:StandardOutput", + "type": "contains", + "label": "定义类 StandardOutput" + }, + { + "id": "edge:61888c68", + "source": "file:src/agentkit/quality/output.py", + "target": "class:OutputStandardizer", + "type": "contains", + "label": "定义类 OutputStandardizer" + }, + { + "id": "edge:8d2122c8", + "source": "class:OutputStandardizer", + "target": "func:OutputStandardizer.standardize", + "type": "contains", + "label": "方法 standardize" + }, + { + "id": "edge:765017b0", + "source": "class:OutputStandardizer", + "target": "func:OutputStandardizer._validate_schema", + "type": "contains", + "label": "方法 _validate_schema" + }, + { + "id": "edge:0253a1de", + "source": "class:OutputStandardizer", + "target": "func:OutputStandardizer._normalize_types", + "type": "contains", + "label": "方法 _normalize_types" + }, + { + "id": "edge:f9dca58e", + "source": "class:OutputStandardizer", + "target": "func:OutputStandardizer._calculate_quality_score", + "type": "contains", + "label": "方法 _calculate_quality_score" + }, + { + "id": "edge:87c26660", + "source": "file:src/agentkit/router/intent.py", + "target": "class:RoutingResult", + "type": "contains", + "label": "定义类 RoutingResult" + }, + { + "id": "edge:ca1f5683", + "source": "file:src/agentkit/router/intent.py", + "target": "class:IntentRouter", + "type": "contains", + "label": "定义类 IntentRouter" + }, + { + "id": "edge:363ae440", + "source": "class:IntentRouter", + "target": "func:IntentRouter.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:e56b7029", + "source": "class:IntentRouter", + "target": "func:IntentRouter.route", + "type": "contains", + "label": "方法 route" + }, + { + "id": "edge:adc35ee7", + "source": "class:IntentRouter", + "target": "func:IntentRouter._match_keywords", + "type": "contains", + "label": "方法 _match_keywords" + }, + { + "id": "edge:1b6a7f16", + "source": "class:IntentRouter", + "target": "func:IntentRouter._classify_with_llm", + "type": "contains", + "label": "方法 _classify_with_llm" + }, + { + "id": "edge:c75349a1", + "source": "class:IntentRouter", + "target": "func:IntentRouter._build_classification_prompt", + "type": "contains", + "label": "方法 _build_classification_prompt" + }, + { + "id": "edge:a06f13af", + "source": "class:IntentRouter", + "target": "func:IntentRouter._parse_llm_response", + "type": "contains", + "label": "方法 _parse_llm_response" + }, + { + "id": "edge:88684a65", + "source": "class:IntentRouter", + "target": "func:IntentRouter._extract_skill_name_from_text", + "type": "contains", + "label": "方法 _extract_skill_name_from_text" + }, + { + "id": "edge:972120d4", + "source": "class:IntentRouter", + "target": "func:IntentRouter._extract_string_values", + "type": "contains", + "label": "方法 _extract_string_values" + }, + { + "id": "edge:8a8b4550", + "source": "file:src/agentkit/server/client.py", + "target": "class:AgentKitClient", + "type": "contains", + "label": "定义类 AgentKitClient" + }, + { + "id": "edge:f36d5c3f", + "source": "class:AgentKitClient", + "target": "func:AgentKitClient.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:a35f5b69", + "source": "class:AgentKitClient", + "target": "func:AgentKitClient.create_agent", + "type": "contains", + "label": "方法 create_agent" + }, + { + "id": "edge:9ebb969b", + "source": "class:AgentKitClient", + "target": "func:AgentKitClient.list_agents", + "type": "contains", + "label": "方法 list_agents" + }, + { + "id": "edge:7a5b70e0", + "source": "class:AgentKitClient", + "target": "func:AgentKitClient.get_agent", + "type": "contains", + "label": "方法 get_agent" + }, + { + "id": "edge:435bb525", + "source": "class:AgentKitClient", + "target": "func:AgentKitClient.delete_agent", + "type": "contains", + "label": "方法 delete_agent" + }, + { + "id": "edge:56263f86", + "source": "class:AgentKitClient", + "target": "func:AgentKitClient.submit_task", + "type": "contains", + "label": "方法 submit_task" + }, + { + "id": "edge:1660723b", + "source": "class:AgentKitClient", + "target": "func:AgentKitClient.register_skill", + "type": "contains", + "label": "方法 register_skill" + }, + { + "id": "edge:59ca0b67", + "source": "class:AgentKitClient", + "target": "func:AgentKitClient.list_skills", + "type": "contains", + "label": "方法 list_skills" + }, + { + "id": "edge:f3d911b9", + "source": "class:AgentKitClient", + "target": "func:AgentKitClient.get_usage", + "type": "contains", + "label": "方法 get_usage" + }, + { + "id": "edge:31c978bd", + "source": "class:AgentKitClient", + "target": "func:AgentKitClient.health", + "type": "contains", + "label": "方法 health" + }, + { + "id": "edge:697494c0", + "source": "class:AgentKitClient", + "target": "func:AgentKitClient.submit_task_async", + "type": "contains", + "label": "方法 submit_task_async" + }, + { + "id": "edge:f96d0cb2", + "source": "class:AgentKitClient", + "target": "func:AgentKitClient.get_task_status", + "type": "contains", + "label": "方法 get_task_status" + }, + { + "id": "edge:7091e59f", + "source": "class:AgentKitClient", + "target": "func:AgentKitClient.cancel_task", + "type": "contains", + "label": "方法 cancel_task" + }, + { + "id": "edge:4ab1dd44", + "source": "class:AgentKitClient", + "target": "func:AgentKitClient.list_tasks", + "type": "contains", + "label": "方法 list_tasks" + }, + { + "id": "edge:f2a90298", + "source": "class:AgentKitClient", + "target": "func:AgentKitClient.stream_task", + "type": "contains", + "label": "方法 stream_task" + }, + { + "id": "edge:c0b60f5c", + "source": "class:AgentKitClient", + "target": "func:AgentKitClient.close", + "type": "contains", + "label": "方法 close" + }, + { + "id": "edge:629bc096", + "source": "class:AgentKitClient", + "target": "func:AgentKitClient.__aenter__", + "type": "contains", + "label": "方法 __aenter__" + }, + { + "id": "edge:fc238b5c", + "source": "class:AgentKitClient", + "target": "func:AgentKitClient.__aexit__", + "type": "contains", + "label": "方法 __aexit__" + }, + { + "id": "edge:7d479769", + "source": "file:src/agentkit/server/client_config.py", + "target": "class:ClientConfig", + "type": "contains", + "label": "定义类 ClientConfig" + }, + { + "id": "edge:65ec0bbd", + "source": "class:ClientConfig", + "target": "func:ClientConfig.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:e655143b", + "source": "class:ClientConfig", + "target": "func:ClientConfig.clients", + "type": "contains", + "label": "方法 clients" + }, + { + "id": "edge:3a4930cf", + "source": "class:ClientConfig", + "target": "func:ClientConfig._load_clients", + "type": "contains", + "label": "方法 _load_clients" + }, + { + "id": "edge:f2db2033", + "source": "class:ClientConfig", + "target": "func:ClientConfig.reload", + "type": "contains", + "label": "方法 reload" + }, + { + "id": "edge:70f254fa", + "source": "class:ClientConfig", + "target": "func:ClientConfig.identify_client", + "type": "contains", + "label": "方法 identify_client" + }, + { + "id": "edge:1f28f0e7", + "source": "class:ClientConfig", + "target": "func:ClientConfig.get_client_config", + "type": "contains", + "label": "方法 get_client_config" + }, + { + "id": "edge:95f04e18", + "source": "class:ClientConfig", + "target": "func:ClientConfig.get_skills_dir", + "type": "contains", + "label": "方法 get_skills_dir" + }, + { + "id": "edge:44baf47e", + "source": "class:ClientConfig", + "target": "func:ClientConfig._load_default_config", + "type": "contains", + "label": "方法 _load_default_config" + }, + { + "id": "edge:53ebb445", + "source": "class:ClientConfig", + "target": "func:ClientConfig.validate_api_key", + "type": "contains", + "label": "方法 validate_api_key" + }, + { + "id": "edge:012e4a3e", + "source": "file:src/agentkit/server/config.py", + "target": "class:MCPServerConfig", + "type": "contains", + "label": "定义类 MCPServerConfig" + }, + { + "id": "edge:f32304fa", + "source": "class:MCPServerConfig", + "target": "func:MCPServerConfig.validate", + "type": "contains", + "label": "方法 validate" + }, + { + "id": "edge:536f5d4a", + "source": "class:MCPServerConfig", + "target": "func:MCPServerConfig.from_dict", + "type": "contains", + "label": "方法 from_dict" + }, + { + "id": "edge:88156a63", + "source": "file:src/agentkit/server/config.py", + "target": "class:ServerConfig", + "type": "contains", + "label": "定义类 ServerConfig" + }, + { + "id": "edge:2efcc425", + "source": "class:ServerConfig", + "target": "func:ServerConfig.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:b72c3cea", + "source": "class:ServerConfig", + "target": "func:ServerConfig.has_llm_provider", + "type": "contains", + "label": "方法 has_llm_provider" + }, + { + "id": "edge:0c48d819", + "source": "class:ServerConfig", + "target": "func:ServerConfig.from_yaml", + "type": "contains", + "label": "方法 from_yaml" + }, + { + "id": "edge:8c739293", + "source": "class:ServerConfig", + "target": "func:ServerConfig.from_dict", + "type": "contains", + "label": "方法 from_dict" + }, + { + "id": "edge:1e6c16b2", + "source": "class:ServerConfig", + "target": "func:ServerConfig._build_llm_config", + "type": "contains", + "label": "方法 _build_llm_config" + }, + { + "id": "edge:814c9485", + "source": "class:ServerConfig", + "target": "func:ServerConfig._build_mcp_configs", + "type": "contains", + "label": "方法 _build_mcp_configs" + }, + { + "id": "edge:9426c2ba", + "source": "class:ServerConfig", + "target": "func:ServerConfig.load_skill_configs", + "type": "contains", + "label": "方法 load_skill_configs" + }, + { + "id": "edge:9a5f64c7", + "source": "class:ServerConfig", + "target": "func:ServerConfig.load_dotenv", + "type": "contains", + "label": "方法 load_dotenv" + }, + { + "id": "edge:88fa2ebe", + "source": "class:ServerConfig", + "target": "func:ServerConfig.watch_config", + "type": "contains", + "label": "方法 watch_config" + }, + { + "id": "edge:14e3927a", + "source": "class:ServerConfig", + "target": "func:ServerConfig.stop_watching", + "type": "contains", + "label": "方法 stop_watching" + }, + { + "id": "edge:3075693a", + "source": "class:ServerConfig", + "target": "func:ServerConfig._watch_with_watchfiles", + "type": "contains", + "label": "方法 _watch_with_watchfiles" + }, + { + "id": "edge:56770401", + "source": "class:ServerConfig", + "target": "func:ServerConfig._poll_config_loop", + "type": "contains", + "label": "方法 _poll_config_loop" + }, + { + "id": "edge:c1467c71", + "source": "class:ServerConfig", + "target": "func:ServerConfig._try_reload_config", + "type": "contains", + "label": "方法 _try_reload_config" + }, + { + "id": "edge:0b12de4e", + "source": "file:src/agentkit/server/middleware.py", + "target": "class:APIKeyAuthMiddleware", + "type": "contains", + "label": "定义类 APIKeyAuthMiddleware" + }, + { + "id": "edge:1cf04152", + "source": "class:APIKeyAuthMiddleware", + "target": "func:APIKeyAuthMiddleware.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:e256f73d", + "source": "class:APIKeyAuthMiddleware", + "target": "func:APIKeyAuthMiddleware.dispatch", + "type": "contains", + "label": "方法 dispatch" + }, + { + "id": "edge:3266ab85", + "source": "file:src/agentkit/server/middleware.py", + "target": "class:RateLimiter", + "type": "contains", + "label": "定义类 RateLimiter" + }, + { + "id": "edge:fbf3df20", + "source": "class:RateLimiter", + "target": "func:RateLimiter.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:2c05c189", + "source": "class:RateLimiter", + "target": "func:RateLimiter.is_allowed", + "type": "contains", + "label": "方法 is_allowed" + }, + { + "id": "edge:120448b9", + "source": "class:RateLimiter", + "target": "func:RateLimiter.max_requests", + "type": "contains", + "label": "方法 max_requests" + }, + { + "id": "edge:2defa46a", + "source": "file:src/agentkit/server/middleware.py", + "target": "class:RateLimitMiddleware", + "type": "contains", + "label": "定义类 RateLimitMiddleware" + }, + { + "id": "edge:8c152a59", + "source": "class:RateLimitMiddleware", + "target": "func:RateLimitMiddleware.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:80f7fb53", + "source": "class:RateLimitMiddleware", + "target": "func:RateLimitMiddleware.dispatch", + "type": "contains", + "label": "方法 dispatch" + }, + { + "id": "edge:48b48296", + "source": "file:src/agentkit/server/routes/agents.py", + "target": "class:CreateAgentRequest", + "type": "contains", + "label": "定义类 CreateAgentRequest" + }, + { + "id": "edge:2e39f0c4", + "source": "file:src/agentkit/server/routes/chat.py", + "target": "class:CreateSessionRequest", + "type": "contains", + "label": "定义类 CreateSessionRequest" + }, + { + "id": "edge:99e21bc2", + "source": "file:src/agentkit/server/routes/chat.py", + "target": "class:SendMessageRequest", + "type": "contains", + "label": "定义类 SendMessageRequest" + }, + { + "id": "edge:bbf60dec", + "source": "file:src/agentkit/server/routes/chat.py", + "target": "class:SessionResponse", + "type": "contains", + "label": "定义类 SessionResponse" + }, + { + "id": "edge:88151b95", + "source": "file:src/agentkit/server/routes/chat.py", + "target": "class:MessageResponse", + "type": "contains", + "label": "定义类 MessageResponse" + }, + { + "id": "edge:cdce1872", + "source": "file:src/agentkit/server/routes/chat.py", + "target": "class:ChatConnectionManager", + "type": "contains", + "label": "定义类 ChatConnectionManager" + }, + { + "id": "edge:1644f428", + "source": "class:ChatConnectionManager", + "target": "func:ChatConnectionManager.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:8316d6e1", + "source": "class:ChatConnectionManager", + "target": "func:ChatConnectionManager.add", + "type": "contains", + "label": "方法 add" + }, + { + "id": "edge:5e498c99", + "source": "class:ChatConnectionManager", + "target": "func:ChatConnectionManager.remove", + "type": "contains", + "label": "方法 remove" + }, + { + "id": "edge:1fb67a28", + "source": "class:ChatConnectionManager", + "target": "func:ChatConnectionManager.get_connections", + "type": "contains", + "label": "方法 get_connections" + }, + { + "id": "edge:ff566f3b", + "source": "class:ChatConnectionManager", + "target": "func:ChatConnectionManager.send_json", + "type": "contains", + "label": "方法 send_json" + }, + { + "id": "edge:3ab02b0d", + "source": "file:src/agentkit/server/routes/evolution.py", + "target": "class:TriggerEvolutionRequest", + "type": "contains", + "label": "定义类 TriggerEvolutionRequest" + }, + { + "id": "edge:49349ad0", + "source": "file:src/agentkit/server/routes/evolution_dashboard.py", + "target": "class:DashboardExperience", + "type": "contains", + "label": "定义类 DashboardExperience" + }, + { + "id": "edge:27da566c", + "source": "file:src/agentkit/server/routes/evolution_dashboard.py", + "target": "class:DashboardOptimization", + "type": "contains", + "label": "定义类 DashboardOptimization" + }, + { + "id": "edge:6f9784a1", + "source": "file:src/agentkit/server/routes/evolution_dashboard.py", + "target": "class:RecordExperienceRequest", + "type": "contains", + "label": "定义类 RecordExperienceRequest" + }, + { + "id": "edge:978ab195", + "source": "file:src/agentkit/server/routes/evolution_dashboard.py", + "target": "class:RecordOptimizationRequest", + "type": "contains", + "label": "定义类 RecordOptimizationRequest" + }, + { + "id": "edge:a47d0167", + "source": "file:src/agentkit/server/routes/evolution_dashboard.py", + "target": "class:UsageRecordResponse", + "type": "contains", + "label": "定义类 UsageRecordResponse" + }, + { + "id": "edge:4fb952ce", + "source": "file:src/agentkit/server/routes/evolution_dashboard.py", + "target": "class:UsageSummaryResponse", + "type": "contains", + "label": "定义类 UsageSummaryResponse" + }, + { + "id": "edge:9d8953fe", + "source": "file:src/agentkit/server/routes/kb_management.py", + "target": "class:KnowledgeSource", + "type": "contains", + "label": "定义类 KnowledgeSource" + }, + { + "id": "edge:ac8d237c", + "source": "file:src/agentkit/server/routes/kb_management.py", + "target": "class:UploadedDocument", + "type": "contains", + "label": "定义类 UploadedDocument" + }, + { + "id": "edge:8ad3cea6", + "source": "file:src/agentkit/server/routes/kb_management.py", + "target": "class:KnowledgeSourceStore", + "type": "contains", + "label": "定义类 KnowledgeSourceStore" + }, + { + "id": "edge:3f237b7c", + "source": "class:KnowledgeSourceStore", + "target": "func:KnowledgeSourceStore.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:6c5c1fba", + "source": "class:KnowledgeSourceStore", + "target": "func:KnowledgeSourceStore.add_source", + "type": "contains", + "label": "方法 add_source" + }, + { + "id": "edge:7ed8ec8a", + "source": "class:KnowledgeSourceStore", + "target": "func:KnowledgeSourceStore.get_source", + "type": "contains", + "label": "方法 get_source" + }, + { + "id": "edge:d74a6b64", + "source": "class:KnowledgeSourceStore", + "target": "func:KnowledgeSourceStore.remove_source", + "type": "contains", + "label": "方法 remove_source" + }, + { + "id": "edge:cc1d4355", + "source": "class:KnowledgeSourceStore", + "target": "func:KnowledgeSourceStore.list_sources", + "type": "contains", + "label": "方法 list_sources" + }, + { + "id": "edge:dbbed723", + "source": "class:KnowledgeSourceStore", + "target": "func:KnowledgeSourceStore.add_document", + "type": "contains", + "label": "方法 add_document" + }, + { + "id": "edge:61a4e7d6", + "source": "class:KnowledgeSourceStore", + "target": "func:KnowledgeSourceStore.list_documents", + "type": "contains", + "label": "方法 list_documents" + }, + { + "id": "edge:74ac7dc8", + "source": "class:KnowledgeSourceStore", + "target": "func:KnowledgeSourceStore.delete_document", + "type": "contains", + "label": "方法 delete_document" + }, + { + "id": "edge:16e6d9c4", + "source": "class:KnowledgeSourceStore", + "target": "func:KnowledgeSourceStore.update_source", + "type": "contains", + "label": "方法 update_source" + }, + { + "id": "edge:24dc8e27", + "source": "file:src/agentkit/server/routes/kb_management.py", + "target": "class:AddSourceRequest", + "type": "contains", + "label": "定义类 AddSourceRequest" + }, + { + "id": "edge:953c90a5", + "source": "file:src/agentkit/server/routes/kb_management.py", + "target": "class:SearchRequest", + "type": "contains", + "label": "定义类 SearchRequest" + }, + { + "id": "edge:9b19e36f", + "source": "file:src/agentkit/server/routes/kb_management.py", + "target": "class:SearchResult", + "type": "contains", + "label": "定义类 SearchResult" + }, + { + "id": "edge:5df354f2", + "source": "file:src/agentkit/server/routes/kb_management.py", + "target": "class:UpdateSourceRequest", + "type": "contains", + "label": "定义类 UpdateSourceRequest" + }, + { + "id": "edge:8de9fc89", + "source": "file:src/agentkit/server/routes/portal.py", + "target": "class:ChatMessage", + "type": "contains", + "label": "定义类 ChatMessage" + }, + { + "id": "edge:536d8955", + "source": "file:src/agentkit/server/routes/portal.py", + "target": "class:Conversation", + "type": "contains", + "label": "定义类 Conversation" + }, + { + "id": "edge:e05949ba", + "source": "file:src/agentkit/server/routes/portal.py", + "target": "class:ConversationStore", + "type": "contains", + "label": "定义类 ConversationStore" + }, + { + "id": "edge:ce4e6484", + "source": "class:ConversationStore", + "target": "func:ConversationStore.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:8fc1396c", + "source": "class:ConversationStore", + "target": "func:ConversationStore.get_or_create", + "type": "contains", + "label": "方法 get_or_create" + }, + { + "id": "edge:d20ee314", + "source": "class:ConversationStore", + "target": "func:ConversationStore.add_message", + "type": "contains", + "label": "方法 add_message" + }, + { + "id": "edge:c7415001", + "source": "class:ConversationStore", + "target": "func:ConversationStore.get_history", + "type": "contains", + "label": "方法 get_history" + }, + { + "id": "edge:df84a1fb", + "source": "class:ConversationStore", + "target": "func:ConversationStore.list_conversations", + "type": "contains", + "label": "方法 list_conversations" + }, + { + "id": "edge:ef03cc76", + "source": "file:src/agentkit/server/routes/portal.py", + "target": "class:ChatRequest", + "type": "contains", + "label": "定义类 ChatRequest" + }, + { + "id": "edge:b80fb9ea", + "source": "file:src/agentkit/server/routes/portal.py", + "target": "class:ChatResponse", + "type": "contains", + "label": "定义类 ChatResponse" + }, + { + "id": "edge:d4c88d78", + "source": "file:src/agentkit/server/routes/portal.py", + "target": "class:CapabilityInfo", + "type": "contains", + "label": "定义类 CapabilityInfo" + }, + { + "id": "edge:16551793", + "source": "file:src/agentkit/server/routes/portal.py", + "target": "class:CapabilitiesResponse", + "type": "contains", + "label": "定义类 CapabilitiesResponse" + }, + { + "id": "edge:8a6e5ce4", + "source": "file:src/agentkit/server/routes/settings.py", + "target": "class:LlmProviderResponse", + "type": "contains", + "label": "定义类 LlmProviderResponse" + }, + { + "id": "edge:d34ec8a3", + "source": "file:src/agentkit/server/routes/settings.py", + "target": "class:LlmConfigResponse", + "type": "contains", + "label": "定义类 LlmConfigResponse" + }, + { + "id": "edge:98ab3883", + "source": "file:src/agentkit/server/routes/settings.py", + "target": "class:LlmProviderUpdate", + "type": "contains", + "label": "定义类 LlmProviderUpdate" + }, + { + "id": "edge:78bf2a2d", + "source": "file:src/agentkit/server/routes/settings.py", + "target": "class:LlmConfigUpdate", + "type": "contains", + "label": "定义类 LlmConfigUpdate" + }, + { + "id": "edge:bc75ba18", + "source": "file:src/agentkit/server/routes/settings.py", + "target": "class:SkillsConfigResponse", + "type": "contains", + "label": "定义类 SkillsConfigResponse" + }, + { + "id": "edge:ce6bbca4", + "source": "file:src/agentkit/server/routes/settings.py", + "target": "class:SkillsConfigUpdate", + "type": "contains", + "label": "定义类 SkillsConfigUpdate" + }, + { + "id": "edge:8680834f", + "source": "file:src/agentkit/server/routes/settings.py", + "target": "class:KbConfigResponse", + "type": "contains", + "label": "定义类 KbConfigResponse" + }, + { + "id": "edge:3a125fbf", + "source": "file:src/agentkit/server/routes/settings.py", + "target": "class:KbConfigUpdate", + "type": "contains", + "label": "定义类 KbConfigUpdate" + }, + { + "id": "edge:9b6836d5", + "source": "file:src/agentkit/server/routes/settings.py", + "target": "class:GeneralConfigResponse", + "type": "contains", + "label": "定义类 GeneralConfigResponse" + }, + { + "id": "edge:e7c5d1d2", + "source": "file:src/agentkit/server/routes/settings.py", + "target": "class:GeneralConfigUpdate", + "type": "contains", + "label": "定义类 GeneralConfigUpdate" + }, + { + "id": "edge:caf0cd35", + "source": "file:src/agentkit/server/routes/skill_management.py", + "target": "class:SkillInfo", + "type": "contains", + "label": "定义类 SkillInfo" + }, + { + "id": "edge:14431f7e", + "source": "file:src/agentkit/server/routes/skill_management.py", + "target": "class:SkillDetail", + "type": "contains", + "label": "定义类 SkillDetail" + }, + { + "id": "edge:cb9f18b3", + "source": "file:src/agentkit/server/routes/skill_management.py", + "target": "class:CapabilityInfo", + "type": "contains", + "label": "定义类 CapabilityInfo" + }, + { + "id": "edge:8d0e8810", + "source": "file:src/agentkit/server/routes/skills.py", + "target": "class:RegisterSkillRequest", + "type": "contains", + "label": "定义类 RegisterSkillRequest" + }, + { + "id": "edge:0e8b8736", + "source": "file:src/agentkit/server/routes/skills.py", + "target": "class:CreatePipelineRequest", + "type": "contains", + "label": "定义类 CreatePipelineRequest" + }, + { + "id": "edge:844a8983", + "source": "file:src/agentkit/server/routes/skills.py", + "target": "class:ExecutePipelineRequest", + "type": "contains", + "label": "定义类 ExecutePipelineRequest" + }, + { + "id": "edge:020becc3", + "source": "file:src/agentkit/server/routes/skills.py", + "target": "class:InstallSkillRequest", + "type": "contains", + "label": "定义类 InstallSkillRequest" + }, + { + "id": "edge:10ff8d73", + "source": "file:src/agentkit/server/routes/tasks.py", + "target": "class:SubmitTaskRequest", + "type": "contains", + "label": "定义类 SubmitTaskRequest" + }, + { + "id": "edge:c7a070df", + "source": "file:src/agentkit/server/routes/terminal.py", + "target": "class:TerminalSessionState", + "type": "contains", + "label": "定义类 TerminalSessionState" + }, + { + "id": "edge:fcb3e890", + "source": "file:src/agentkit/server/routes/terminal.py", + "target": "class:ExecuteRequest", + "type": "contains", + "label": "定义类 ExecuteRequest" + }, + { + "id": "edge:670f589b", + "source": "file:src/agentkit/server/routes/terminal.py", + "target": "class:ExecuteResponse", + "type": "contains", + "label": "定义类 ExecuteResponse" + }, + { + "id": "edge:49978d32", + "source": "file:src/agentkit/server/routes/terminal.py", + "target": "class:SessionInfo", + "type": "contains", + "label": "定义类 SessionInfo" + }, + { + "id": "edge:5d73e711", + "source": "file:src/agentkit/server/routes/terminal.py", + "target": "class:HistoryResponse", + "type": "contains", + "label": "定义类 HistoryResponse" + }, + { + "id": "edge:2d3c26bc", + "source": "file:src/agentkit/server/routes/workflows.py", + "target": "class:WorkflowStore", + "type": "contains", + "label": "定义类 WorkflowStore" + }, + { + "id": "edge:d3d92bbd", + "source": "class:WorkflowStore", + "target": "func:WorkflowStore.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:0241a476", + "source": "class:WorkflowStore", + "target": "func:WorkflowStore._evict_execution", + "type": "contains", + "label": "方法 _evict_execution" + }, + { + "id": "edge:611605ee", + "source": "class:WorkflowStore", + "target": "func:WorkflowStore.save", + "type": "contains", + "label": "方法 save" + }, + { + "id": "edge:0451cd40", + "source": "class:WorkflowStore", + "target": "func:WorkflowStore.get", + "type": "contains", + "label": "方法 get" + }, + { + "id": "edge:01e33536", + "source": "class:WorkflowStore", + "target": "func:WorkflowStore.list", + "type": "contains", + "label": "方法 list" + }, + { + "id": "edge:0c396a7e", + "source": "class:WorkflowStore", + "target": "func:WorkflowStore.delete", + "type": "contains", + "label": "方法 delete" + }, + { + "id": "edge:fa9da044", + "source": "class:WorkflowStore", + "target": "func:WorkflowStore.create_execution", + "type": "contains", + "label": "方法 create_execution" + }, + { + "id": "edge:dd065f74", + "source": "class:WorkflowStore", + "target": "func:WorkflowStore.get_execution", + "type": "contains", + "label": "方法 get_execution" + }, + { + "id": "edge:85bf6e3d", + "source": "class:WorkflowStore", + "target": "func:WorkflowStore.update_execution", + "type": "contains", + "label": "方法 update_execution" + }, + { + "id": "edge:0b201656", + "source": "class:WorkflowStore", + "target": "func:WorkflowStore.get_execution_lock", + "type": "contains", + "label": "方法 get_execution_lock" + }, + { + "id": "edge:df98b469", + "source": "class:WorkflowStore", + "target": "func:WorkflowStore.list_executions", + "type": "contains", + "label": "方法 list_executions" + }, + { + "id": "edge:7c58002f", + "source": "file:src/agentkit/server/routes/ws.py", + "target": "class:ConnectionManager", + "type": "contains", + "label": "定义类 ConnectionManager" + }, + { + "id": "edge:5b37689d", + "source": "class:ConnectionManager", + "target": "func:ConnectionManager.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:b4cffb46", + "source": "class:ConnectionManager", + "target": "func:ConnectionManager.add", + "type": "contains", + "label": "方法 add" + }, + { + "id": "edge:1f8ac0c0", + "source": "class:ConnectionManager", + "target": "func:ConnectionManager.remove", + "type": "contains", + "label": "方法 remove" + }, + { + "id": "edge:b12967ce", + "source": "class:ConnectionManager", + "target": "func:ConnectionManager.get_tokens", + "type": "contains", + "label": "方法 get_tokens" + }, + { + "id": "edge:e482df37", + "source": "class:ConnectionManager", + "target": "func:ConnectionManager.broadcast", + "type": "contains", + "label": "方法 broadcast" + }, + { + "id": "edge:86584fb4", + "source": "class:ConnectionManager", + "target": "func:ConnectionManager.has_connections", + "type": "contains", + "label": "方法 has_connections" + }, + { + "id": "edge:389ba40c", + "source": "file:src/agentkit/server/runner.py", + "target": "class:BackgroundRunner", + "type": "contains", + "label": "定义类 BackgroundRunner" + }, + { + "id": "edge:5bf44677", + "source": "class:BackgroundRunner", + "target": "func:BackgroundRunner.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:93e1a37b", + "source": "class:BackgroundRunner", + "target": "func:BackgroundRunner.active_count", + "type": "contains", + "label": "方法 active_count" + }, + { + "id": "edge:a290b4b7", + "source": "class:BackgroundRunner", + "target": "func:BackgroundRunner.submit", + "type": "contains", + "label": "方法 submit" + }, + { + "id": "edge:9695cf44", + "source": "class:BackgroundRunner", + "target": "func:BackgroundRunner._run_task", + "type": "contains", + "label": "方法 _run_task" + }, + { + "id": "edge:26b954b6", + "source": "class:BackgroundRunner", + "target": "func:BackgroundRunner.cancel", + "type": "contains", + "label": "方法 cancel" + }, + { + "id": "edge:eb1bb391", + "source": "file:src/agentkit/server/task_store.py", + "target": "class:TaskRecord", + "type": "contains", + "label": "定义类 TaskRecord" + }, + { + "id": "edge:889b30aa", + "source": "class:TaskRecord", + "target": "func:TaskRecord.to_dict", + "type": "contains", + "label": "方法 to_dict" + }, + { + "id": "edge:10722562", + "source": "class:TaskRecord", + "target": "func:TaskRecord.from_dict", + "type": "contains", + "label": "方法 from_dict" + }, + { + "id": "edge:5ffc51f7", + "source": "file:src/agentkit/server/task_store.py", + "target": "class:InMemoryTaskStore", + "type": "contains", + "label": "定义类 InMemoryTaskStore" + }, + { + "id": "edge:b607f7d3", + "source": "class:InMemoryTaskStore", + "target": "func:InMemoryTaskStore.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:3e36f811", + "source": "class:InMemoryTaskStore", + "target": "func:InMemoryTaskStore.backend_type", + "type": "contains", + "label": "方法 backend_type" + }, + { + "id": "edge:02f0f2da", + "source": "class:InMemoryTaskStore", + "target": "func:InMemoryTaskStore.start_cleanup", + "type": "contains", + "label": "方法 start_cleanup" + }, + { + "id": "edge:3b62261a", + "source": "class:InMemoryTaskStore", + "target": "func:InMemoryTaskStore.stop_cleanup", + "type": "contains", + "label": "方法 stop_cleanup" + }, + { + "id": "edge:72335dc5", + "source": "class:InMemoryTaskStore", + "target": "func:InMemoryTaskStore._cleanup_loop", + "type": "contains", + "label": "方法 _cleanup_loop" + }, + { + "id": "edge:da7cd441", + "source": "class:InMemoryTaskStore", + "target": "func:InMemoryTaskStore._cleanup_expired", + "type": "contains", + "label": "方法 _cleanup_expired" + }, + { + "id": "edge:557aa93d", + "source": "class:InMemoryTaskStore", + "target": "func:InMemoryTaskStore.create", + "type": "contains", + "label": "方法 create" + }, + { + "id": "edge:b7200acc", + "source": "class:InMemoryTaskStore", + "target": "func:InMemoryTaskStore.get", + "type": "contains", + "label": "方法 get" + }, + { + "id": "edge:b4459c96", + "source": "class:InMemoryTaskStore", + "target": "func:InMemoryTaskStore.update_status", + "type": "contains", + "label": "方法 update_status" + }, + { + "id": "edge:48a3068c", + "source": "class:InMemoryTaskStore", + "target": "func:InMemoryTaskStore.list_tasks", + "type": "contains", + "label": "方法 list_tasks" + }, + { + "id": "edge:5d5ae183", + "source": "class:InMemoryTaskStore", + "target": "func:InMemoryTaskStore.count_by_status", + "type": "contains", + "label": "方法 count_by_status" + }, + { + "id": "edge:6f9365ef", + "source": "class:InMemoryTaskStore", + "target": "func:InMemoryTaskStore.size", + "type": "contains", + "label": "方法 size" + }, + { + "id": "edge:1705458f", + "source": "class:InMemoryTaskStore", + "target": "func:InMemoryTaskStore.health_check", + "type": "contains", + "label": "方法 health_check" + }, + { + "id": "edge:8248529c", + "source": "file:src/agentkit/server/task_store.py", + "target": "class:RedisTaskStore", + "type": "contains", + "label": "定义类 RedisTaskStore" + }, + { + "id": "edge:6e188446", + "source": "class:RedisTaskStore", + "target": "func:RedisTaskStore.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:d38a201f", + "source": "class:RedisTaskStore", + "target": "func:RedisTaskStore.backend_type", + "type": "contains", + "label": "方法 backend_type" + }, + { + "id": "edge:332e2860", + "source": "class:RedisTaskStore", + "target": "func:RedisTaskStore._get_redis", + "type": "contains", + "label": "方法 _get_redis" + }, + { + "id": "edge:4e366f9f", + "source": "class:RedisTaskStore", + "target": "func:RedisTaskStore._key", + "type": "contains", + "label": "方法 _key" + }, + { + "id": "edge:97e1f403", + "source": "class:RedisTaskStore", + "target": "func:RedisTaskStore.start_cleanup", + "type": "contains", + "label": "方法 start_cleanup" + }, + { + "id": "edge:352d52d6", + "source": "class:RedisTaskStore", + "target": "func:RedisTaskStore.stop_cleanup", + "type": "contains", + "label": "方法 stop_cleanup" + }, + { + "id": "edge:497a3f91", + "source": "class:RedisTaskStore", + "target": "func:RedisTaskStore.create", + "type": "contains", + "label": "方法 create" + }, + { + "id": "edge:2bded90b", + "source": "class:RedisTaskStore", + "target": "func:RedisTaskStore.get", + "type": "contains", + "label": "方法 get" + }, + { + "id": "edge:65708ee0", + "source": "class:RedisTaskStore", + "target": "func:RedisTaskStore.update_status", + "type": "contains", + "label": "方法 update_status" + }, + { + "id": "edge:dbe2de42", + "source": "class:RedisTaskStore", + "target": "func:RedisTaskStore.list_tasks", + "type": "contains", + "label": "方法 list_tasks" + }, + { + "id": "edge:dd38f83a", + "source": "class:RedisTaskStore", + "target": "func:RedisTaskStore.count_by_status", + "type": "contains", + "label": "方法 count_by_status" + }, + { + "id": "edge:6ffdef58", + "source": "class:RedisTaskStore", + "target": "func:RedisTaskStore.size", + "type": "contains", + "label": "方法 size" + }, + { + "id": "edge:b83e8a7e", + "source": "class:RedisTaskStore", + "target": "func:RedisTaskStore.health_check", + "type": "contains", + "label": "方法 health_check" + }, + { + "id": "edge:7a5628df", + "source": "class:RedisTaskStore", + "target": "func:RedisTaskStore._count_keys", + "type": "contains", + "label": "方法 _count_keys" + }, + { + "id": "edge:e9286722", + "source": "class:RedisTaskStore", + "target": "func:RedisTaskStore._evict_oldest_completed", + "type": "contains", + "label": "方法 _evict_oldest_completed" + }, + { + "id": "edge:08010878", + "source": "file:src/agentkit/session/manager.py", + "target": "class:AsyncWriteQueue", + "type": "contains", + "label": "定义类 AsyncWriteQueue" + }, + { + "id": "edge:22e43b2c", + "source": "class:AsyncWriteQueue", + "target": "func:AsyncWriteQueue.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:ebbd89e4", + "source": "class:AsyncWriteQueue", + "target": "func:AsyncWriteQueue._ensure_started", + "type": "contains", + "label": "方法 _ensure_started" + }, + { + "id": "edge:d1cb2144", + "source": "class:AsyncWriteQueue", + "target": "func:AsyncWriteQueue._writer_loop", + "type": "contains", + "label": "方法 _writer_loop" + }, + { + "id": "edge:21c799aa", + "source": "class:AsyncWriteQueue", + "target": "func:AsyncWriteQueue.enqueue", + "type": "contains", + "label": "方法 enqueue" + }, + { + "id": "edge:f30696f9", + "source": "class:AsyncWriteQueue", + "target": "func:AsyncWriteQueue.buffered_messages", + "type": "contains", + "label": "方法 buffered_messages" + }, + { + "id": "edge:73318e2f", + "source": "class:AsyncWriteQueue", + "target": "func:AsyncWriteQueue.pending_count", + "type": "contains", + "label": "方法 pending_count" + }, + { + "id": "edge:b458a0d7", + "source": "class:AsyncWriteQueue", + "target": "func:AsyncWriteQueue.flush", + "type": "contains", + "label": "方法 flush" + }, + { + "id": "edge:7826e75b", + "source": "class:AsyncWriteQueue", + "target": "func:AsyncWriteQueue.stop", + "type": "contains", + "label": "方法 stop" + }, + { + "id": "edge:1cc259b6", + "source": "file:src/agentkit/session/manager.py", + "target": "class:SessionManager", + "type": "contains", + "label": "定义类 SessionManager" + }, + { + "id": "edge:691be1dc", + "source": "class:SessionManager", + "target": "func:SessionManager.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:b18215aa", + "source": "class:SessionManager", + "target": "func:SessionManager.store", + "type": "contains", + "label": "方法 store" + }, + { + "id": "edge:8d8ce21e", + "source": "class:SessionManager", + "target": "func:SessionManager.create_session", + "type": "contains", + "label": "方法 create_session" + }, + { + "id": "edge:37254890", + "source": "class:SessionManager", + "target": "func:SessionManager.get_session", + "type": "contains", + "label": "方法 get_session" + }, + { + "id": "edge:cb7e3a8f", + "source": "class:SessionManager", + "target": "func:SessionManager.pause_session", + "type": "contains", + "label": "方法 pause_session" + }, + { + "id": "edge:a14aba4b", + "source": "class:SessionManager", + "target": "func:SessionManager.resume_session", + "type": "contains", + "label": "方法 resume_session" + }, + { + "id": "edge:27a1134c", + "source": "class:SessionManager", + "target": "func:SessionManager.close_session", + "type": "contains", + "label": "方法 close_session" + }, + { + "id": "edge:d162e6c2", + "source": "class:SessionManager", + "target": "func:SessionManager.delete_session", + "type": "contains", + "label": "方法 delete_session" + }, + { + "id": "edge:a9f83b0e", + "source": "class:SessionManager", + "target": "func:SessionManager.list_sessions", + "type": "contains", + "label": "方法 list_sessions" + }, + { + "id": "edge:084817fe", + "source": "class:SessionManager", + "target": "func:SessionManager.append_message", + "type": "contains", + "label": "方法 append_message" + }, + { + "id": "edge:c42a0991", + "source": "class:SessionManager", + "target": "func:SessionManager.get_messages", + "type": "contains", + "label": "方法 get_messages" + }, + { + "id": "edge:1b6cdea1", + "source": "class:SessionManager", + "target": "func:SessionManager.get_chat_messages", + "type": "contains", + "label": "方法 get_chat_messages" + }, + { + "id": "edge:d4af2300", + "source": "class:SessionManager", + "target": "func:SessionManager.count_messages", + "type": "contains", + "label": "方法 count_messages" + }, + { + "id": "edge:7c8050f6", + "source": "class:SessionManager", + "target": "func:SessionManager.health_check", + "type": "contains", + "label": "方法 health_check" + }, + { + "id": "edge:dc57df06", + "source": "class:SessionManager", + "target": "func:SessionManager.flush", + "type": "contains", + "label": "方法 flush" + }, + { + "id": "edge:099b9519", + "source": "class:SessionManager", + "target": "func:SessionManager.close", + "type": "contains", + "label": "方法 close" + }, + { + "id": "edge:5f8a7333", + "source": "file:src/agentkit/session/models.py", + "target": "class:SessionStatus", + "type": "contains", + "label": "定义类 SessionStatus" + }, + { + "id": "edge:6bb6605d", + "source": "file:src/agentkit/session/models.py", + "target": "class:MessageRole", + "type": "contains", + "label": "定义类 MessageRole" + }, + { + "id": "edge:643d1e2b", + "source": "file:src/agentkit/session/models.py", + "target": "class:Message", + "type": "contains", + "label": "定义类 Message" + }, + { + "id": "edge:cb75db02", + "source": "class:Message", + "target": "func:Message.to_dict", + "type": "contains", + "label": "方法 to_dict" + }, + { + "id": "edge:29546fe6", + "source": "class:Message", + "target": "func:Message.from_dict", + "type": "contains", + "label": "方法 from_dict" + }, + { + "id": "edge:4be31792", + "source": "class:Message", + "target": "func:Message.to_chat_message", + "type": "contains", + "label": "方法 to_chat_message" + }, + { + "id": "edge:1c6a9a41", + "source": "file:src/agentkit/session/models.py", + "target": "class:Session", + "type": "contains", + "label": "定义类 Session" + }, + { + "id": "edge:0f4aaef2", + "source": "class:Session", + "target": "func:Session.to_dict", + "type": "contains", + "label": "方法 to_dict" + }, + { + "id": "edge:c59cde12", + "source": "class:Session", + "target": "func:Session.from_dict", + "type": "contains", + "label": "方法 from_dict" + }, + { + "id": "edge:35f2055e", + "source": "class:Session", + "target": "func:Session.new_session_id", + "type": "contains", + "label": "方法 new_session_id" + }, + { + "id": "edge:b67560fa", + "source": "class:Session", + "target": "func:Session.new_message_id", + "type": "contains", + "label": "方法 new_message_id" + }, + { + "id": "edge:1b606b5b", + "source": "file:src/agentkit/session/store.py", + "target": "class:SessionStore", + "type": "contains", + "label": "定义类 SessionStore" + }, + { + "id": "edge:672ed841", + "source": "class:SessionStore", + "target": "func:SessionStore.save_session", + "type": "contains", + "label": "方法 save_session" + }, + { + "id": "edge:ec44d5e6", + "source": "class:SessionStore", + "target": "func:SessionStore.get_session", + "type": "contains", + "label": "方法 get_session" + }, + { + "id": "edge:62ff48d5", + "source": "class:SessionStore", + "target": "func:SessionStore.update_session_status", + "type": "contains", + "label": "方法 update_session_status" + }, + { + "id": "edge:1cf8b0c0", + "source": "class:SessionStore", + "target": "func:SessionStore.delete_session", + "type": "contains", + "label": "方法 delete_session" + }, + { + "id": "edge:000a0427", + "source": "class:SessionStore", + "target": "func:SessionStore.list_sessions", + "type": "contains", + "label": "方法 list_sessions" + }, + { + "id": "edge:fea8b12f", + "source": "class:SessionStore", + "target": "func:SessionStore.append_message", + "type": "contains", + "label": "方法 append_message" + }, + { + "id": "edge:403d2dc4", + "source": "class:SessionStore", + "target": "func:SessionStore.get_messages", + "type": "contains", + "label": "方法 get_messages" + }, + { + "id": "edge:4ba0c104", + "source": "class:SessionStore", + "target": "func:SessionStore.count_messages", + "type": "contains", + "label": "方法 count_messages" + }, + { + "id": "edge:f07c30d4", + "source": "class:SessionStore", + "target": "func:SessionStore.health_check", + "type": "contains", + "label": "方法 health_check" + }, + { + "id": "edge:1e9fe782", + "source": "file:src/agentkit/session/store.py", + "target": "class:InMemorySessionStore", + "type": "contains", + "label": "定义类 InMemorySessionStore" + }, + { + "id": "edge:97436206", + "source": "class:InMemorySessionStore", + "target": "func:InMemorySessionStore.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:ab84829b", + "source": "class:InMemorySessionStore", + "target": "func:InMemorySessionStore.save_session", + "type": "contains", + "label": "方法 save_session" + }, + { + "id": "edge:a07e20fb", + "source": "class:InMemorySessionStore", + "target": "func:InMemorySessionStore.get_session", + "type": "contains", + "label": "方法 get_session" + }, + { + "id": "edge:278e568b", + "source": "class:InMemorySessionStore", + "target": "func:InMemorySessionStore.update_session_status", + "type": "contains", + "label": "方法 update_session_status" + }, + { + "id": "edge:e19c45d8", + "source": "class:InMemorySessionStore", + "target": "func:InMemorySessionStore.delete_session", + "type": "contains", + "label": "方法 delete_session" + }, + { + "id": "edge:b2022dd4", + "source": "class:InMemorySessionStore", + "target": "func:InMemorySessionStore.list_sessions", + "type": "contains", + "label": "方法 list_sessions" + }, + { + "id": "edge:12f9dac3", + "source": "class:InMemorySessionStore", + "target": "func:InMemorySessionStore.append_message", + "type": "contains", + "label": "方法 append_message" + }, + { + "id": "edge:75386505", + "source": "class:InMemorySessionStore", + "target": "func:InMemorySessionStore.get_messages", + "type": "contains", + "label": "方法 get_messages" + }, + { + "id": "edge:91c57909", + "source": "class:InMemorySessionStore", + "target": "func:InMemorySessionStore.count_messages", + "type": "contains", + "label": "方法 count_messages" + }, + { + "id": "edge:1341704b", + "source": "class:InMemorySessionStore", + "target": "func:InMemorySessionStore.health_check", + "type": "contains", + "label": "方法 health_check" + }, + { + "id": "edge:ab60096e", + "source": "file:src/agentkit/session/store.py", + "target": "class:RedisSessionStore", + "type": "contains", + "label": "定义类 RedisSessionStore" + }, + { + "id": "edge:ed591064", + "source": "class:RedisSessionStore", + "target": "func:RedisSessionStore.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:9943ac65", + "source": "class:RedisSessionStore", + "target": "func:RedisSessionStore._get_redis", + "type": "contains", + "label": "方法 _get_redis" + }, + { + "id": "edge:92034900", + "source": "class:RedisSessionStore", + "target": "func:RedisSessionStore._session_key", + "type": "contains", + "label": "方法 _session_key" + }, + { + "id": "edge:f1ba07a3", + "source": "class:RedisSessionStore", + "target": "func:RedisSessionStore._messages_key", + "type": "contains", + "label": "方法 _messages_key" + }, + { + "id": "edge:09461641", + "source": "class:RedisSessionStore", + "target": "func:RedisSessionStore.save_session", + "type": "contains", + "label": "方法 save_session" + }, + { + "id": "edge:965b43da", + "source": "class:RedisSessionStore", + "target": "func:RedisSessionStore.get_session", + "type": "contains", + "label": "方法 get_session" + }, + { + "id": "edge:200f88b4", + "source": "class:RedisSessionStore", + "target": "func:RedisSessionStore.update_session_status", + "type": "contains", + "label": "方法 update_session_status" + }, + { + "id": "edge:d659f6b0", + "source": "class:RedisSessionStore", + "target": "func:RedisSessionStore.delete_session", + "type": "contains", + "label": "方法 delete_session" + }, + { + "id": "edge:5cd541b7", + "source": "class:RedisSessionStore", + "target": "func:RedisSessionStore.list_sessions", + "type": "contains", + "label": "方法 list_sessions" + }, + { + "id": "edge:a4a49b1d", + "source": "class:RedisSessionStore", + "target": "func:RedisSessionStore.append_message", + "type": "contains", + "label": "方法 append_message" + }, + { + "id": "edge:cbfed68a", + "source": "class:RedisSessionStore", + "target": "func:RedisSessionStore.get_messages", + "type": "contains", + "label": "方法 get_messages" + }, + { + "id": "edge:42a0c90f", + "source": "class:RedisSessionStore", + "target": "func:RedisSessionStore.count_messages", + "type": "contains", + "label": "方法 count_messages" + }, + { + "id": "edge:e880041f", + "source": "class:RedisSessionStore", + "target": "func:RedisSessionStore.health_check", + "type": "contains", + "label": "方法 health_check" + }, + { + "id": "edge:b22d6d4b", + "source": "file:src/agentkit/session/store.py", + "target": "class:FileSessionStore", + "type": "contains", + "label": "定义类 FileSessionStore" + }, + { + "id": "edge:a4d7ab59", + "source": "class:FileSessionStore", + "target": "func:FileSessionStore.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:9653d62f", + "source": "class:FileSessionStore", + "target": "func:FileSessionStore._session_path", + "type": "contains", + "label": "方法 _session_path" + }, + { + "id": "edge:629ca4fa", + "source": "class:FileSessionStore", + "target": "func:FileSessionStore._read_session_file", + "type": "contains", + "label": "方法 _read_session_file" + }, + { + "id": "edge:174ace13", + "source": "class:FileSessionStore", + "target": "func:FileSessionStore._write_session_file", + "type": "contains", + "label": "方法 _write_session_file" + }, + { + "id": "edge:bd63e5d7", + "source": "class:FileSessionStore", + "target": "func:FileSessionStore.save_session", + "type": "contains", + "label": "方法 save_session" + }, + { + "id": "edge:03c936d6", + "source": "class:FileSessionStore", + "target": "func:FileSessionStore.get_session", + "type": "contains", + "label": "方法 get_session" + }, + { + "id": "edge:197c8340", + "source": "class:FileSessionStore", + "target": "func:FileSessionStore.update_session_status", + "type": "contains", + "label": "方法 update_session_status" + }, + { + "id": "edge:f04191a1", + "source": "class:FileSessionStore", + "target": "func:FileSessionStore.delete_session", + "type": "contains", + "label": "方法 delete_session" + }, + { + "id": "edge:5552f5d1", + "source": "class:FileSessionStore", + "target": "func:FileSessionStore.list_sessions", + "type": "contains", + "label": "方法 list_sessions" + }, + { + "id": "edge:46182a4a", + "source": "class:FileSessionStore", + "target": "func:FileSessionStore.append_message", + "type": "contains", + "label": "方法 append_message" + }, + { + "id": "edge:459683f7", + "source": "class:FileSessionStore", + "target": "func:FileSessionStore.get_messages", + "type": "contains", + "label": "方法 get_messages" + }, + { + "id": "edge:5fcd4466", + "source": "class:FileSessionStore", + "target": "func:FileSessionStore.count_messages", + "type": "contains", + "label": "方法 count_messages" + }, + { + "id": "edge:89699054", + "source": "class:FileSessionStore", + "target": "func:FileSessionStore.health_check", + "type": "contains", + "label": "方法 health_check" + }, + { + "id": "edge:68b46a3c", + "source": "file:src/agentkit/skills/base.py", + "target": "class:EvolutionConfig", + "type": "contains", + "label": "定义类 EvolutionConfig" + }, + { + "id": "edge:8eab3e75", + "source": "file:src/agentkit/skills/base.py", + "target": "class:IntentConfig", + "type": "contains", + "label": "定义类 IntentConfig" + }, + { + "id": "edge:f52b8ffb", + "source": "file:src/agentkit/skills/base.py", + "target": "class:QualityGateConfig", + "type": "contains", + "label": "定义类 QualityGateConfig" + }, + { + "id": "edge:66339d7d", + "source": "file:src/agentkit/skills/base.py", + "target": "class:SkillConfig", + "type": "contains", + "label": "定义类 SkillConfig" + }, + { + "id": "edge:8da8bdda", + "source": "class:SkillConfig", + "target": "class:AgentConfig", + "type": "extends", + "label": "继承 AgentConfig" + }, + { + "id": "edge:c23131af", + "source": "class:SkillConfig", + "target": "func:SkillConfig.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:db5383a9", + "source": "class:SkillConfig", + "target": "func:SkillConfig._validate_v2", + "type": "contains", + "label": "方法 _validate_v2" + }, + { + "id": "edge:7c70fcbb", + "source": "class:SkillConfig", + "target": "func:SkillConfig._parse_dependencies", + "type": "contains", + "label": "方法 _parse_dependencies" + }, + { + "id": "edge:f0b8123f", + "source": "class:SkillConfig", + "target": "func:SkillConfig._parse_capabilities", + "type": "contains", + "label": "方法 _parse_capabilities" + }, + { + "id": "edge:5ab35968", + "source": "class:SkillConfig", + "target": "func:SkillConfig.from_dict", + "type": "contains", + "label": "方法 from_dict" + }, + { + "id": "edge:1f458391", + "source": "class:SkillConfig", + "target": "func:SkillConfig.from_yaml", + "type": "contains", + "label": "方法 from_yaml" + }, + { + "id": "edge:a3bd77d7", + "source": "class:SkillConfig", + "target": "func:SkillConfig.to_dict", + "type": "contains", + "label": "方法 to_dict" + }, + { + "id": "edge:51c4ca5f", + "source": "file:src/agentkit/skills/base.py", + "target": "class:Skill", + "type": "contains", + "label": "定义类 Skill" + }, + { + "id": "edge:37bfcfdf", + "source": "class:Skill", + "target": "func:Skill.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:1f84fc11", + "source": "class:Skill", + "target": "func:Skill.name", + "type": "contains", + "label": "方法 name" + }, + { + "id": "edge:976819ec", + "source": "class:Skill", + "target": "func:Skill.version", + "type": "contains", + "label": "方法 version" + }, + { + "id": "edge:cfb0f3a1", + "source": "class:Skill", + "target": "func:Skill.config", + "type": "contains", + "label": "方法 config" + }, + { + "id": "edge:0014fc74", + "source": "class:Skill", + "target": "func:Skill.tools", + "type": "contains", + "label": "方法 tools" + }, + { + "id": "edge:e0d413c6", + "source": "class:Skill", + "target": "func:Skill.capabilities", + "type": "contains", + "label": "方法 capabilities" + }, + { + "id": "edge:e0bffcd0", + "source": "class:Skill", + "target": "func:Skill.dependencies", + "type": "contains", + "label": "方法 dependencies" + }, + { + "id": "edge:9373fd29", + "source": "class:Skill", + "target": "func:Skill.bind_tool", + "type": "contains", + "label": "方法 bind_tool" + }, + { + "id": "edge:51bb8a68", + "source": "class:Skill", + "target": "func:Skill.unbind_tool", + "type": "contains", + "label": "方法 unbind_tool" + }, + { + "id": "edge:a12f038f", + "source": "class:Skill", + "target": "func:Skill.to_dict", + "type": "contains", + "label": "方法 to_dict" + }, + { + "id": "edge:a6f22ebd", + "source": "file:src/agentkit/skills/geo_pipeline.py", + "target": "class:PipelineStep", + "type": "contains", + "label": "定义类 PipelineStep" + }, + { + "id": "edge:5407bf2d", + "source": "file:src/agentkit/skills/geo_pipeline.py", + "target": "class:PipelineStepResult", + "type": "contains", + "label": "定义类 PipelineStepResult" + }, + { + "id": "edge:94dd84e1", + "source": "file:src/agentkit/skills/geo_pipeline.py", + "target": "class:PipelineResult", + "type": "contains", + "label": "定义类 PipelineResult" + }, + { + "id": "edge:23750aaf", + "source": "file:src/agentkit/skills/geo_pipeline.py", + "target": "class:GEOPipeline", + "type": "contains", + "label": "定义类 GEOPipeline" + }, + { + "id": "edge:29183fb8", + "source": "class:GEOPipeline", + "target": "func:GEOPipeline.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:83cb9e46", + "source": "class:GEOPipeline", + "target": "func:GEOPipeline.from_config", + "type": "contains", + "label": "方法 from_config" + }, + { + "id": "edge:8759bd89", + "source": "class:GEOPipeline", + "target": "func:GEOPipeline.execute", + "type": "contains", + "label": "方法 execute" + }, + { + "id": "edge:339487d8", + "source": "class:GEOPipeline", + "target": "func:GEOPipeline._execute_step", + "type": "contains", + "label": "方法 _execute_step" + }, + { + "id": "edge:57d694e3", + "source": "class:GEOPipeline", + "target": "func:GEOPipeline._execute_skill", + "type": "contains", + "label": "方法 _execute_skill" + }, + { + "id": "edge:e7af5e96", + "source": "class:GEOPipeline", + "target": "func:GEOPipeline._build_execution_groups", + "type": "contains", + "label": "方法 _build_execution_groups" + }, + { + "id": "edge:408a552a", + "source": "class:GEOPipeline", + "target": "func:GEOPipeline._map_input", + "type": "contains", + "label": "方法 _map_input" + }, + { + "id": "edge:59f1f74c", + "source": "class:GEOPipeline", + "target": "func:GEOPipeline._resolve_mapping_path", + "type": "contains", + "label": "方法 _resolve_mapping_path" + }, + { + "id": "edge:a52df077", + "source": "class:GEOPipeline", + "target": "func:GEOPipeline._evaluate_condition", + "type": "contains", + "label": "方法 _evaluate_condition" + }, + { + "id": "edge:24e7c173", + "source": "class:GEOPipeline", + "target": "func:GEOPipeline._build_final_output", + "type": "contains", + "label": "方法 _build_final_output" + }, + { + "id": "edge:6259cdaa", + "source": "file:src/agentkit/skills/loader.py", + "target": "class:SkillLoader", + "type": "contains", + "label": "定义类 SkillLoader" + }, + { + "id": "edge:4ca2207b", + "source": "class:SkillLoader", + "target": "func:SkillLoader.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:35efbc70", + "source": "class:SkillLoader", + "target": "func:SkillLoader.load_from_directory", + "type": "contains", + "label": "方法 load_from_directory" + }, + { + "id": "edge:5e7e549c", + "source": "class:SkillLoader", + "target": "func:SkillLoader.load_from_file", + "type": "contains", + "label": "方法 load_from_file" + }, + { + "id": "edge:5be9bbd7", + "source": "class:SkillLoader", + "target": "func:SkillLoader._load_skill_from_file", + "type": "contains", + "label": "方法 _load_skill_from_file" + }, + { + "id": "edge:3d4ad507", + "source": "class:SkillLoader", + "target": "func:SkillLoader.load_from_skill_md", + "type": "contains", + "label": "方法 load_from_skill_md" + }, + { + "id": "edge:01c45281", + "source": "class:SkillLoader", + "target": "func:SkillLoader.load_from_entry_points", + "type": "contains", + "label": "方法 load_from_entry_points" + }, + { + "id": "edge:a9bc7e1d", + "source": "class:SkillLoader", + "target": "func:SkillLoader._bind_tools", + "type": "contains", + "label": "方法 _bind_tools" + }, + { + "id": "edge:69ba5b9a", + "source": "file:src/agentkit/skills/pipeline.py", + "target": "class:SkillPipeline", + "type": "contains", + "label": "定义类 SkillPipeline" + }, + { + "id": "edge:8edea2c7", + "source": "class:SkillPipeline", + "target": "func:SkillPipeline.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:f87568b6", + "source": "class:SkillPipeline", + "target": "func:SkillPipeline.execute", + "type": "contains", + "label": "方法 execute" + }, + { + "id": "edge:3e7e21d0", + "source": "class:SkillPipeline", + "target": "func:SkillPipeline._execute_skill", + "type": "contains", + "label": "方法 _execute_skill" + }, + { + "id": "edge:d5fdd226", + "source": "class:SkillPipeline", + "target": "func:SkillPipeline._evaluate_condition", + "type": "contains", + "label": "方法 _evaluate_condition" + }, + { + "id": "edge:25f0c7c0", + "source": "class:SkillPipeline", + "target": "func:SkillPipeline._resolve_path", + "type": "contains", + "label": "方法 _resolve_path" + }, + { + "id": "edge:aff0488a", + "source": "class:SkillPipeline", + "target": "func:SkillPipeline._map_input", + "type": "contains", + "label": "方法 _map_input" + }, + { + "id": "edge:b4b05f8f", + "source": "file:src/agentkit/skills/registry.py", + "target": "class:SkillRegistry", + "type": "contains", + "label": "定义类 SkillRegistry" + }, + { + "id": "edge:2fcd1d28", + "source": "class:SkillRegistry", + "target": "func:SkillRegistry.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:48ef988c", + "source": "class:SkillRegistry", + "target": "func:SkillRegistry.register", + "type": "contains", + "label": "方法 register" + }, + { + "id": "edge:ec226090", + "source": "class:SkillRegistry", + "target": "func:SkillRegistry.unregister", + "type": "contains", + "label": "方法 unregister" + }, + { + "id": "edge:b37b4c10", + "source": "class:SkillRegistry", + "target": "func:SkillRegistry.get", + "type": "contains", + "label": "方法 get" + }, + { + "id": "edge:4b49453c", + "source": "class:SkillRegistry", + "target": "func:SkillRegistry.list_skills", + "type": "contains", + "label": "方法 list_skills" + }, + { + "id": "edge:a6a2e0c2", + "source": "class:SkillRegistry", + "target": "func:SkillRegistry.update_skill", + "type": "contains", + "label": "方法 update_skill" + }, + { + "id": "edge:755d2436", + "source": "class:SkillRegistry", + "target": "func:SkillRegistry.has_skill", + "type": "contains", + "label": "方法 has_skill" + }, + { + "id": "edge:9cab50fc", + "source": "class:SkillRegistry", + "target": "func:SkillRegistry.get_versions", + "type": "contains", + "label": "方法 get_versions" + }, + { + "id": "edge:85fcf072", + "source": "class:SkillRegistry", + "target": "func:SkillRegistry.query_by_capability", + "type": "contains", + "label": "方法 query_by_capability" + }, + { + "id": "edge:77c416bb", + "source": "class:SkillRegistry", + "target": "func:SkillRegistry.health_check", + "type": "contains", + "label": "方法 health_check" + }, + { + "id": "edge:88917b43", + "source": "class:SkillRegistry", + "target": "func:SkillRegistry._check_skill_dependencies", + "type": "contains", + "label": "方法 _check_skill_dependencies" + }, + { + "id": "edge:6d602fc4", + "source": "class:SkillRegistry", + "target": "func:SkillRegistry._check_version_constraint", + "type": "contains", + "label": "方法 _check_version_constraint" + }, + { + "id": "edge:792b0706", + "source": "class:SkillRegistry", + "target": "func:SkillRegistry.register_pipeline", + "type": "contains", + "label": "方法 register_pipeline" + }, + { + "id": "edge:daa9c2dc", + "source": "class:SkillRegistry", + "target": "func:SkillRegistry.get_pipeline", + "type": "contains", + "label": "方法 get_pipeline" + }, + { + "id": "edge:56393f81", + "source": "class:SkillRegistry", + "target": "func:SkillRegistry.list_pipelines", + "type": "contains", + "label": "方法 list_pipelines" + }, + { + "id": "edge:382dbdba", + "source": "class:SkillRegistry", + "target": "func:SkillRegistry.unregister_pipeline", + "type": "contains", + "label": "方法 unregister_pipeline" + }, + { + "id": "edge:fbc97f98", + "source": "file:src/agentkit/skills/schema.py", + "target": "class:DependencyDecl", + "type": "contains", + "label": "定义类 DependencyDecl" + }, + { + "id": "edge:d1e2ad1d", + "source": "file:src/agentkit/skills/schema.py", + "target": "class:CapabilityTag", + "type": "contains", + "label": "定义类 CapabilityTag" + }, + { + "id": "edge:615b1838", + "source": "file:src/agentkit/skills/schema.py", + "target": "class:SkillSpec", + "type": "contains", + "label": "定义类 SkillSpec" + }, + { + "id": "edge:0397b781", + "source": "class:SkillSpec", + "target": "func:SkillSpec.from_dict", + "type": "contains", + "label": "方法 from_dict" + }, + { + "id": "edge:a9c0e8e0", + "source": "class:SkillSpec", + "target": "func:SkillSpec.to_dict", + "type": "contains", + "label": "方法 to_dict" + }, + { + "id": "edge:dc994e2e", + "source": "class:SkillSpec", + "target": "func:SkillSpec.capability_tags", + "type": "contains", + "label": "方法 capability_tags" + }, + { + "id": "edge:2c3211c3", + "source": "class:SkillSpec", + "target": "func:SkillSpec.required_dependencies", + "type": "contains", + "label": "方法 required_dependencies" + }, + { + "id": "edge:936f1d57", + "source": "class:SkillSpec", + "target": "func:SkillSpec.skill_dependencies", + "type": "contains", + "label": "方法 skill_dependencies" + }, + { + "id": "edge:df518772", + "source": "class:SkillSpec", + "target": "func:SkillSpec.tool_dependencies", + "type": "contains", + "label": "方法 tool_dependencies" + }, + { + "id": "edge:862237e8", + "source": "file:src/agentkit/skills/schema.py", + "target": "class:HealthCheckResult", + "type": "contains", + "label": "定义类 HealthCheckResult" + }, + { + "id": "edge:ab33715e", + "source": "class:HealthCheckResult", + "target": "func:HealthCheckResult.to_dict", + "type": "contains", + "label": "方法 to_dict" + }, + { + "id": "edge:c656fa17", + "source": "file:src/agentkit/skills/skill_md.py", + "target": "class:SkillMdParser", + "type": "contains", + "label": "定义类 SkillMdParser" + }, + { + "id": "edge:3254010a", + "source": "class:SkillMdParser", + "target": "func:SkillMdParser.parse", + "type": "contains", + "label": "方法 parse" + }, + { + "id": "edge:2183a5cc", + "source": "class:SkillMdParser", + "target": "func:SkillMdParser.to_skill_config", + "type": "contains", + "label": "方法 to_skill_config" + }, + { + "id": "edge:74026389", + "source": "file:src/agentkit/telemetry/metrics.py", + "target": "class:_NoOpCounter", + "type": "contains", + "label": "定义类 _NoOpCounter" + }, + { + "id": "edge:022284e5", + "source": "class:_NoOpCounter", + "target": "func:_NoOpCounter.add", + "type": "contains", + "label": "方法 add" + }, + { + "id": "edge:7805da65", + "source": "file:src/agentkit/telemetry/metrics.py", + "target": "class:_NoOpHistogram", + "type": "contains", + "label": "定义类 _NoOpHistogram" + }, + { + "id": "edge:8a80f75d", + "source": "class:_NoOpHistogram", + "target": "func:_NoOpHistogram.record", + "type": "contains", + "label": "方法 record" + }, + { + "id": "edge:e1c2307f", + "source": "file:src/agentkit/telemetry/metrics.py", + "target": "class:_NoOpUpDownCounter", + "type": "contains", + "label": "定义类 _NoOpUpDownCounter" + }, + { + "id": "edge:9d8739f9", + "source": "class:_NoOpUpDownCounter", + "target": "func:_NoOpUpDownCounter.add", + "type": "contains", + "label": "方法 add" + }, + { + "id": "edge:92291278", + "source": "file:src/agentkit/telemetry/tracer.py", + "target": "class:TelemetryConfig", + "type": "contains", + "label": "定义类 TelemetryConfig" + }, + { + "id": "edge:89b15cc4", + "source": "file:src/agentkit/telemetry/tracer.py", + "target": "class:NoOpSpan", + "type": "contains", + "label": "定义类 NoOpSpan" + }, + { + "id": "edge:a9087b81", + "source": "class:NoOpSpan", + "target": "func:NoOpSpan.__enter__", + "type": "contains", + "label": "方法 __enter__" + }, + { + "id": "edge:5fde9112", + "source": "class:NoOpSpan", + "target": "func:NoOpSpan.__exit__", + "type": "contains", + "label": "方法 __exit__" + }, + { + "id": "edge:7f668d51", + "source": "class:NoOpSpan", + "target": "func:NoOpSpan.set_attribute", + "type": "contains", + "label": "方法 set_attribute" + }, + { + "id": "edge:fd8443f7", + "source": "class:NoOpSpan", + "target": "func:NoOpSpan.add_event", + "type": "contains", + "label": "方法 add_event" + }, + { + "id": "edge:8905f91b", + "source": "class:NoOpSpan", + "target": "func:NoOpSpan.record_exception", + "type": "contains", + "label": "方法 record_exception" + }, + { + "id": "edge:26f85d00", + "source": "class:NoOpSpan", + "target": "func:NoOpSpan.is_recording", + "type": "contains", + "label": "方法 is_recording" + }, + { + "id": "edge:7cf9f4cf", + "source": "file:src/agentkit/telemetry/tracer.py", + "target": "class:NoOpTracer", + "type": "contains", + "label": "定义类 NoOpTracer" + }, + { + "id": "edge:8d32238f", + "source": "class:NoOpTracer", + "target": "func:NoOpTracer.start_span", + "type": "contains", + "label": "方法 start_span" + }, + { + "id": "edge:a7d67081", + "source": "class:NoOpTracer", + "target": "func:NoOpTracer.start_as_current_span", + "type": "contains", + "label": "方法 start_as_current_span" + }, + { + "id": "edge:03ef70d9", + "source": "file:src/agentkit/telemetry/tracer.py", + "target": "class:OTelSpan", + "type": "contains", + "label": "定义类 OTelSpan" + }, + { + "id": "edge:0a64a1ae", + "source": "class:OTelSpan", + "target": "func:OTelSpan.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:ff3db179", + "source": "class:OTelSpan", + "target": "func:OTelSpan.__enter__", + "type": "contains", + "label": "方法 __enter__" + }, + { + "id": "edge:603d1f5f", + "source": "class:OTelSpan", + "target": "func:OTelSpan.__exit__", + "type": "contains", + "label": "方法 __exit__" + }, + { + "id": "edge:517d3584", + "source": "class:OTelSpan", + "target": "func:OTelSpan.set_attribute", + "type": "contains", + "label": "方法 set_attribute" + }, + { + "id": "edge:e2988038", + "source": "class:OTelSpan", + "target": "func:OTelSpan.add_event", + "type": "contains", + "label": "方法 add_event" + }, + { + "id": "edge:6e34ed3b", + "source": "class:OTelSpan", + "target": "func:OTelSpan.record_exception", + "type": "contains", + "label": "方法 record_exception" + }, + { + "id": "edge:c74caaa5", + "source": "class:OTelSpan", + "target": "func:OTelSpan.is_recording", + "type": "contains", + "label": "方法 is_recording" + }, + { + "id": "edge:9b967a9a", + "source": "file:src/agentkit/telemetry/tracer.py", + "target": "class:OTelTracer", + "type": "contains", + "label": "定义类 OTelTracer" + }, + { + "id": "edge:55d7a1f7", + "source": "class:OTelTracer", + "target": "func:OTelTracer.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:7a520bfc", + "source": "class:OTelTracer", + "target": "func:OTelTracer.start_span", + "type": "contains", + "label": "方法 start_span" + }, + { + "id": "edge:aaa3e41f", + "source": "class:OTelTracer", + "target": "func:OTelTracer.start_as_current_span", + "type": "contains", + "label": "方法 start_as_current_span" + }, + { + "id": "edge:f4398845", + "source": "file:src/agentkit/telemetry/tracing.py", + "target": "class:_NoOpSpan", + "type": "contains", + "label": "定义类 _NoOpSpan" + }, + { + "id": "edge:eab36bfd", + "source": "class:_NoOpSpan", + "target": "func:_NoOpSpan.__enter__", + "type": "contains", + "label": "方法 __enter__" + }, + { + "id": "edge:b6a52402", + "source": "class:_NoOpSpan", + "target": "func:_NoOpSpan.__exit__", + "type": "contains", + "label": "方法 __exit__" + }, + { + "id": "edge:1f25ad84", + "source": "class:_NoOpSpan", + "target": "func:_NoOpSpan.set_attribute", + "type": "contains", + "label": "方法 set_attribute" + }, + { + "id": "edge:d9cd031d", + "source": "class:_NoOpSpan", + "target": "func:_NoOpSpan.add_event", + "type": "contains", + "label": "方法 add_event" + }, + { + "id": "edge:d5650aa1", + "source": "class:_NoOpSpan", + "target": "func:_NoOpSpan.set_status", + "type": "contains", + "label": "方法 set_status" + }, + { + "id": "edge:a57d3563", + "source": "class:_NoOpSpan", + "target": "func:_NoOpSpan.record_exception", + "type": "contains", + "label": "方法 record_exception" + }, + { + "id": "edge:73d2b0ec", + "source": "file:src/agentkit/tools/agent_tool.py", + "target": "class:AgentTool", + "type": "contains", + "label": "定义类 AgentTool" + }, + { + "id": "edge:5f4e0e38", + "source": "class:AgentTool", + "target": "func:AgentTool.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:13127164", + "source": "class:AgentTool", + "target": "func:AgentTool.set_dispatcher", + "type": "contains", + "label": "方法 set_dispatcher" + }, + { + "id": "edge:f8165686", + "source": "class:AgentTool", + "target": "func:AgentTool.execute", + "type": "contains", + "label": "方法 execute" + }, + { + "id": "edge:89ccec3d", + "source": "file:src/agentkit/tools/ask_human.py", + "target": "class:AskHumanTool", + "type": "contains", + "label": "定义类 AskHumanTool" + }, + { + "id": "edge:d2aeac12", + "source": "class:AskHumanTool", + "target": "func:AskHumanTool.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:46d6438b", + "source": "class:AskHumanTool", + "target": "func:AskHumanTool.configure", + "type": "contains", + "label": "方法 configure" + }, + { + "id": "edge:95063708", + "source": "class:AskHumanTool", + "target": "func:AskHumanTool.parameters", + "type": "contains", + "label": "方法 parameters" + }, + { + "id": "edge:019f9df8", + "source": "class:AskHumanTool", + "target": "func:AskHumanTool.execute", + "type": "contains", + "label": "方法 execute" + }, + { + "id": "edge:88d53cfd", + "source": "file:src/agentkit/tools/baidu_search.py", + "target": "class:BaiduSearchTool", + "type": "contains", + "label": "定义类 BaiduSearchTool" + }, + { + "id": "edge:88fa57ef", + "source": "class:BaiduSearchTool", + "target": "func:BaiduSearchTool.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:e4756a17", + "source": "class:BaiduSearchTool", + "target": "func:BaiduSearchTool._default_input_schema", + "type": "contains", + "label": "方法 _default_input_schema" + }, + { + "id": "edge:abc8bd5f", + "source": "class:BaiduSearchTool", + "target": "func:BaiduSearchTool._default_output_schema", + "type": "contains", + "label": "方法 _default_output_schema" + }, + { + "id": "edge:e4e90608", + "source": "class:BaiduSearchTool", + "target": "func:BaiduSearchTool.execute", + "type": "contains", + "label": "方法 execute" + }, + { + "id": "edge:02763cfd", + "source": "class:BaiduSearchTool", + "target": "func:BaiduSearchTool._search_via_api", + "type": "contains", + "label": "方法 _search_via_api" + }, + { + "id": "edge:9fd90781", + "source": "class:BaiduSearchTool", + "target": "func:BaiduSearchTool._search_via_scrape", + "type": "contains", + "label": "方法 _search_via_scrape" + }, + { + "id": "edge:c1b438b8", + "source": "class:BaiduSearchTool", + "target": "func:BaiduSearchTool._parse_baidu_html", + "type": "contains", + "label": "方法 _parse_baidu_html" + }, + { + "id": "edge:cae6e240", + "source": "class:BaiduSearchTool", + "target": "func:BaiduSearchTool._parse_baidu_html_alt", + "type": "contains", + "label": "方法 _parse_baidu_html_alt" + }, + { + "id": "edge:29564125", + "source": "file:src/agentkit/tools/base.py", + "target": "class:Tool", + "type": "contains", + "label": "定义类 Tool" + }, + { + "id": "edge:18220bf8", + "source": "class:Tool", + "target": "func:Tool.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:db3ed220", + "source": "class:Tool", + "target": "func:Tool.execute", + "type": "contains", + "label": "方法 execute" + }, + { + "id": "edge:fcd74bed", + "source": "class:Tool", + "target": "func:Tool.before_execute", + "type": "contains", + "label": "方法 before_execute" + }, + { + "id": "edge:b3dbe916", + "source": "class:Tool", + "target": "func:Tool.after_execute", + "type": "contains", + "label": "方法 after_execute" + }, + { + "id": "edge:f0542452", + "source": "class:Tool", + "target": "func:Tool.on_error", + "type": "contains", + "label": "方法 on_error" + }, + { + "id": "edge:1db3334b", + "source": "class:Tool", + "target": "func:Tool.safe_execute", + "type": "contains", + "label": "方法 safe_execute" + }, + { + "id": "edge:c7069195", + "source": "class:Tool", + "target": "func:Tool.to_dict", + "type": "contains", + "label": "方法 to_dict" + }, + { + "id": "edge:04ba24c7", + "source": "class:Tool", + "target": "func:Tool.__repr__", + "type": "contains", + "label": "方法 __repr__" + }, + { + "id": "edge:2c75d9fc", + "source": "file:src/agentkit/tools/composition.py", + "target": "class:SequentialChain", + "type": "contains", + "label": "定义类 SequentialChain" + }, + { + "id": "edge:6884a14b", + "source": "class:SequentialChain", + "target": "class:Tool", + "type": "extends", + "label": "继承 Tool" + }, + { + "id": "edge:11692e13", + "source": "class:SequentialChain", + "target": "func:SequentialChain.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:d36f074a", + "source": "class:SequentialChain", + "target": "func:SequentialChain.execute", + "type": "contains", + "label": "方法 execute" + }, + { + "id": "edge:4ca5cdda", + "source": "file:src/agentkit/tools/composition.py", + "target": "class:ParallelFanOut", + "type": "contains", + "label": "定义类 ParallelFanOut" + }, + { + "id": "edge:482be5b5", + "source": "class:ParallelFanOut", + "target": "class:Tool", + "type": "extends", + "label": "继承 Tool" + }, + { + "id": "edge:e5156930", + "source": "class:ParallelFanOut", + "target": "func:ParallelFanOut.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:7b102d9b", + "source": "class:ParallelFanOut", + "target": "func:ParallelFanOut.execute", + "type": "contains", + "label": "方法 execute" + }, + { + "id": "edge:14713582", + "source": "file:src/agentkit/tools/composition.py", + "target": "class:DynamicSelector", + "type": "contains", + "label": "定义类 DynamicSelector" + }, + { + "id": "edge:cf43046a", + "source": "class:DynamicSelector", + "target": "class:Tool", + "type": "extends", + "label": "继承 Tool" + }, + { + "id": "edge:9019719f", + "source": "class:DynamicSelector", + "target": "func:DynamicSelector.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:bd64ee61", + "source": "class:DynamicSelector", + "target": "func:DynamicSelector.execute", + "type": "contains", + "label": "方法 execute" + }, + { + "id": "edge:a6eeedcd", + "source": "class:DynamicSelector", + "target": "func:DynamicSelector._select_by_keyword", + "type": "contains", + "label": "方法 _select_by_keyword" + }, + { + "id": "edge:80939f9c", + "source": "class:DynamicSelector", + "target": "func:DynamicSelector._select_by_llm", + "type": "contains", + "label": "方法 _select_by_llm" + }, + { + "id": "edge:3e97fbfb", + "source": "file:src/agentkit/tools/computer_use.py", + "target": "class:ComputerUseTool", + "type": "contains", + "label": "定义类 ComputerUseTool" + }, + { + "id": "edge:a1218f7c", + "source": "class:ComputerUseTool", + "target": "class:Tool", + "type": "extends", + "label": "继承 Tool" + }, + { + "id": "edge:4fcac89d", + "source": "class:ComputerUseTool", + "target": "func:ComputerUseTool.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:069d627d", + "source": "class:ComputerUseTool", + "target": "func:ComputerUseTool._get_http_client", + "type": "contains", + "label": "方法 _get_http_client" + }, + { + "id": "edge:9dc81322", + "source": "class:ComputerUseTool", + "target": "func:ComputerUseTool.close", + "type": "contains", + "label": "方法 close" + }, + { + "id": "edge:586b5f28", + "source": "class:ComputerUseTool", + "target": "func:ComputerUseTool._default_input_schema", + "type": "contains", + "label": "方法 _default_input_schema" + }, + { + "id": "edge:3c728f6b", + "source": "class:ComputerUseTool", + "target": "func:ComputerUseTool._default_output_schema", + "type": "contains", + "label": "方法 _default_output_schema" + }, + { + "id": "edge:20edceae", + "source": "class:ComputerUseTool", + "target": "func:ComputerUseTool.execute", + "type": "contains", + "label": "方法 execute" + }, + { + "id": "edge:c7b0b329", + "source": "class:ComputerUseTool", + "target": "func:ComputerUseTool._execute_with_fallback", + "type": "contains", + "label": "方法 _execute_with_fallback" + }, + { + "id": "edge:f28d7fb1", + "source": "class:ComputerUseTool", + "target": "func:ComputerUseTool._call_anthropic_api", + "type": "contains", + "label": "方法 _call_anthropic_api" + }, + { + "id": "edge:e5d29e2e", + "source": "class:ComputerUseTool", + "target": "func:ComputerUseTool._validate_params", + "type": "contains", + "label": "方法 _validate_params" + }, + { + "id": "edge:67de4bfa", + "source": "class:ComputerUseTool", + "target": "func:ComputerUseTool._format_result", + "type": "contains", + "label": "方法 _format_result" + }, + { + "id": "edge:ce35b977", + "source": "class:ComputerUseTool", + "target": "func:ComputerUseTool._error_result", + "type": "contains", + "label": "方法 _error_result" + }, + { + "id": "edge:2a1b1d78", + "source": "class:ComputerUseTool", + "target": "func:ComputerUseTool.session_manager", + "type": "contains", + "label": "方法 session_manager" + }, + { + "id": "edge:8a2bdec8", + "source": "class:ComputerUseTool", + "target": "func:ComputerUseTool.recorder", + "type": "contains", + "label": "方法 recorder" + }, + { + "id": "edge:761efe1c", + "source": "file:src/agentkit/tools/computer_use_recorder.py", + "target": "class:ActionRecord", + "type": "contains", + "label": "定义类 ActionRecord" + }, + { + "id": "edge:e45a7904", + "source": "class:ActionRecord", + "target": "func:ActionRecord.to_dict", + "type": "contains", + "label": "方法 to_dict" + }, + { + "id": "edge:2389453e", + "source": "class:ActionRecord", + "target": "func:ActionRecord.from_dict", + "type": "contains", + "label": "方法 from_dict" + }, + { + "id": "edge:b7c8059c", + "source": "file:src/agentkit/tools/computer_use_recorder.py", + "target": "class:ComputerUseRecorder", + "type": "contains", + "label": "定义类 ComputerUseRecorder" + }, + { + "id": "edge:6890099d", + "source": "class:ComputerUseRecorder", + "target": "func:ComputerUseRecorder.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:b6e30e24", + "source": "class:ComputerUseRecorder", + "target": "func:ComputerUseRecorder.record", + "type": "contains", + "label": "方法 record" + }, + { + "id": "edge:5f950ac2", + "source": "class:ComputerUseRecorder", + "target": "func:ComputerUseRecorder.get_records", + "type": "contains", + "label": "方法 get_records" + }, + { + "id": "edge:5af02ee4", + "source": "class:ComputerUseRecorder", + "target": "func:ComputerUseRecorder.get_records_by_action", + "type": "contains", + "label": "方法 get_records_by_action" + }, + { + "id": "edge:150080a4", + "source": "class:ComputerUseRecorder", + "target": "func:ComputerUseRecorder.get_failed_records", + "type": "contains", + "label": "方法 get_failed_records" + }, + { + "id": "edge:ed00b19e", + "source": "class:ComputerUseRecorder", + "target": "func:ComputerUseRecorder.replay", + "type": "contains", + "label": "方法 replay" + }, + { + "id": "edge:87f9a40e", + "source": "class:ComputerUseRecorder", + "target": "func:ComputerUseRecorder.save_recording", + "type": "contains", + "label": "方法 save_recording" + }, + { + "id": "edge:e38758b7", + "source": "class:ComputerUseRecorder", + "target": "func:ComputerUseRecorder.load_recording", + "type": "contains", + "label": "方法 load_recording" + }, + { + "id": "edge:8b09471a", + "source": "class:ComputerUseRecorder", + "target": "func:ComputerUseRecorder.clear", + "type": "contains", + "label": "方法 clear" + }, + { + "id": "edge:055d8b86", + "source": "class:ComputerUseRecorder", + "target": "func:ComputerUseRecorder.total_actions", + "type": "contains", + "label": "方法 total_actions" + }, + { + "id": "edge:6f7fc703", + "source": "class:ComputerUseRecorder", + "target": "func:ComputerUseRecorder.success_count", + "type": "contains", + "label": "方法 success_count" + }, + { + "id": "edge:3a672e7a", + "source": "class:ComputerUseRecorder", + "target": "func:ComputerUseRecorder.failure_count", + "type": "contains", + "label": "方法 failure_count" + }, + { + "id": "edge:cb682941", + "source": "class:ComputerUseRecorder", + "target": "func:ComputerUseRecorder.summary", + "type": "contains", + "label": "方法 summary" + }, + { + "id": "edge:e2627472", + "source": "file:src/agentkit/tools/computer_use_session.py", + "target": "class:ScreenInfo", + "type": "contains", + "label": "定义类 ScreenInfo" + }, + { + "id": "edge:a50bda28", + "source": "file:src/agentkit/tools/computer_use_session.py", + "target": "class:ActionResult", + "type": "contains", + "label": "定义类 ActionResult" + }, + { + "id": "edge:62d57f55", + "source": "file:src/agentkit/tools/computer_use_session.py", + "target": "class:ComputerUseSession", + "type": "contains", + "label": "定义类 ComputerUseSession" + }, + { + "id": "edge:d8ef9e30", + "source": "class:ComputerUseSession", + "target": "func:ComputerUseSession.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:ea8b50a6", + "source": "class:ComputerUseSession", + "target": "func:ComputerUseSession.is_started", + "type": "contains", + "label": "方法 is_started" + }, + { + "id": "edge:fb5128e8", + "source": "class:ComputerUseSession", + "target": "func:ComputerUseSession.start", + "type": "contains", + "label": "方法 start" + }, + { + "id": "edge:bb3e0977", + "source": "class:ComputerUseSession", + "target": "func:ComputerUseSession.stop", + "type": "contains", + "label": "方法 stop" + }, + { + "id": "edge:3ca7c4a8", + "source": "class:ComputerUseSession", + "target": "func:ComputerUseSession.screenshot", + "type": "contains", + "label": "方法 screenshot" + }, + { + "id": "edge:3f1b5a11", + "source": "class:ComputerUseSession", + "target": "func:ComputerUseSession.execute_action", + "type": "contains", + "label": "方法 execute_action" + }, + { + "id": "edge:f67ed0f1", + "source": "class:ComputerUseSession", + "target": "func:ComputerUseSession.record_action", + "type": "contains", + "label": "方法 record_action" + }, + { + "id": "edge:e2c3a328", + "source": "class:ComputerUseSession", + "target": "func:ComputerUseSession.action_history", + "type": "contains", + "label": "方法 action_history" + }, + { + "id": "edge:eecca645", + "source": "class:ComputerUseSession", + "target": "func:ComputerUseSession.__repr__", + "type": "contains", + "label": "方法 __repr__" + }, + { + "id": "edge:5343f0f7", + "source": "file:src/agentkit/tools/computer_use_session.py", + "target": "class:InMemoryComputerUseSession", + "type": "contains", + "label": "定义类 InMemoryComputerUseSession" + }, + { + "id": "edge:d34c11eb", + "source": "class:InMemoryComputerUseSession", + "target": "class:ComputerUseSession", + "type": "extends", + "label": "继承 ComputerUseSession" + }, + { + "id": "edge:4f337c96", + "source": "class:InMemoryComputerUseSession", + "target": "func:InMemoryComputerUseSession.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:3241dc5c", + "source": "class:InMemoryComputerUseSession", + "target": "func:InMemoryComputerUseSession.start", + "type": "contains", + "label": "方法 start" + }, + { + "id": "edge:e3b9b045", + "source": "class:InMemoryComputerUseSession", + "target": "func:InMemoryComputerUseSession.stop", + "type": "contains", + "label": "方法 stop" + }, + { + "id": "edge:eb6125a3", + "source": "class:InMemoryComputerUseSession", + "target": "func:InMemoryComputerUseSession.screenshot", + "type": "contains", + "label": "方法 screenshot" + }, + { + "id": "edge:81f0cdd4", + "source": "class:InMemoryComputerUseSession", + "target": "func:InMemoryComputerUseSession.execute_action", + "type": "contains", + "label": "方法 execute_action" + }, + { + "id": "edge:50e0eb69", + "source": "class:InMemoryComputerUseSession", + "target": "func:InMemoryComputerUseSession._simulate_action", + "type": "contains", + "label": "方法 _simulate_action" + }, + { + "id": "edge:7b22bffa", + "source": "file:src/agentkit/tools/computer_use_session.py", + "target": "class:DockerComputerUseSession", + "type": "contains", + "label": "定义类 DockerComputerUseSession" + }, + { + "id": "edge:cda8e572", + "source": "class:DockerComputerUseSession", + "target": "class:ComputerUseSession", + "type": "extends", + "label": "继承 ComputerUseSession" + }, + { + "id": "edge:ec834df5", + "source": "class:DockerComputerUseSession", + "target": "func:DockerComputerUseSession.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:029ce394", + "source": "class:DockerComputerUseSession", + "target": "func:DockerComputerUseSession.container_id", + "type": "contains", + "label": "方法 container_id" + }, + { + "id": "edge:604c0c20", + "source": "class:DockerComputerUseSession", + "target": "func:DockerComputerUseSession.start", + "type": "contains", + "label": "方法 start" + }, + { + "id": "edge:fcb68515", + "source": "class:DockerComputerUseSession", + "target": "func:DockerComputerUseSession.stop", + "type": "contains", + "label": "方法 stop" + }, + { + "id": "edge:55ffae1e", + "source": "class:DockerComputerUseSession", + "target": "func:DockerComputerUseSession.screenshot", + "type": "contains", + "label": "方法 screenshot" + }, + { + "id": "edge:a8bf5f8a", + "source": "class:DockerComputerUseSession", + "target": "func:DockerComputerUseSession.execute_action", + "type": "contains", + "label": "方法 execute_action" + }, + { + "id": "edge:e03192d5", + "source": "file:src/agentkit/tools/computer_use_session.py", + "target": "class:ComputerUseSessionManager", + "type": "contains", + "label": "定义类 ComputerUseSessionManager" + }, + { + "id": "edge:387fb91b", + "source": "class:ComputerUseSessionManager", + "target": "func:ComputerUseSessionManager.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:de5523f9", + "source": "class:ComputerUseSessionManager", + "target": "func:ComputerUseSessionManager.get_or_create", + "type": "contains", + "label": "方法 get_or_create" + }, + { + "id": "edge:6b39f8af", + "source": "class:ComputerUseSessionManager", + "target": "func:ComputerUseSessionManager.get", + "type": "contains", + "label": "方法 get" + }, + { + "id": "edge:78bbe81f", + "source": "class:ComputerUseSessionManager", + "target": "func:ComputerUseSessionManager.remove", + "type": "contains", + "label": "方法 remove" + }, + { + "id": "edge:080802bf", + "source": "class:ComputerUseSessionManager", + "target": "func:ComputerUseSessionManager.list_sessions", + "type": "contains", + "label": "方法 list_sessions" + }, + { + "id": "edge:a2142c60", + "source": "class:ComputerUseSessionManager", + "target": "func:ComputerUseSessionManager.has_session", + "type": "contains", + "label": "方法 has_session" + }, + { + "id": "edge:5225e968", + "source": "class:ComputerUseSessionManager", + "target": "func:ComputerUseSessionManager.close_all", + "type": "contains", + "label": "方法 close_all" + }, + { + "id": "edge:4524a2c7", + "source": "file:src/agentkit/tools/function_tool.py", + "target": "class:FunctionTool", + "type": "contains", + "label": "定义类 FunctionTool" + }, + { + "id": "edge:601d7fad", + "source": "class:FunctionTool", + "target": "class:Tool", + "type": "extends", + "label": "继承 Tool" + }, + { + "id": "edge:b47318cf", + "source": "class:FunctionTool", + "target": "func:FunctionTool.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:66ad9c08", + "source": "class:FunctionTool", + "target": "func:FunctionTool.execute", + "type": "contains", + "label": "方法 execute" + }, + { + "id": "edge:96463dfe", + "source": "class:FunctionTool", + "target": "func:FunctionTool._infer_schema", + "type": "contains", + "label": "方法 _infer_schema" + }, + { + "id": "edge:ebac7ab3", + "source": "file:src/agentkit/tools/headroom_retrieve.py", + "target": "class:HeadroomRetrieveTool", + "type": "contains", + "label": "定义类 HeadroomRetrieveTool" + }, + { + "id": "edge:5b5dff3d", + "source": "class:HeadroomRetrieveTool", + "target": "class:Tool", + "type": "extends", + "label": "继承 Tool" + }, + { + "id": "edge:ca8b18a4", + "source": "class:HeadroomRetrieveTool", + "target": "func:HeadroomRetrieveTool.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:328de0c0", + "source": "class:HeadroomRetrieveTool", + "target": "func:HeadroomRetrieveTool.execute", + "type": "contains", + "label": "方法 execute" + }, + { + "id": "edge:3c05f944", + "source": "file:src/agentkit/tools/mcp_tool.py", + "target": "class:MCPTool", + "type": "contains", + "label": "定义类 MCPTool" + }, + { + "id": "edge:40de800e", + "source": "class:MCPTool", + "target": "class:Tool", + "type": "extends", + "label": "继承 Tool" + }, + { + "id": "edge:ad130121", + "source": "class:MCPTool", + "target": "func:MCPTool.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:a1937ad7", + "source": "class:MCPTool", + "target": "func:MCPTool.execute", + "type": "contains", + "label": "方法 execute" + }, + { + "id": "edge:093a3226", + "source": "file:src/agentkit/tools/memory_tool.py", + "target": "class:MemoryTool", + "type": "contains", + "label": "定义类 MemoryTool" + }, + { + "id": "edge:d59508bf", + "source": "class:MemoryTool", + "target": "class:Tool", + "type": "extends", + "label": "继承 Tool" + }, + { + "id": "edge:d659e4d7", + "source": "class:MemoryTool", + "target": "func:MemoryTool.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:2d3dc229", + "source": "class:MemoryTool", + "target": "func:MemoryTool.execute", + "type": "contains", + "label": "方法 execute" + }, + { + "id": "edge:1ba24847", + "source": "class:MemoryTool", + "target": "func:MemoryTool._update_soul", + "type": "contains", + "label": "方法 _update_soul" + }, + { + "id": "edge:65f5f9e1", + "source": "file:src/agentkit/tools/output_parser.py", + "target": "class:ErrorType", + "type": "contains", + "label": "定义类 ErrorType" + }, + { + "id": "edge:f320f3a2", + "source": "file:src/agentkit/tools/output_parser.py", + "target": "class:ParsedOutput", + "type": "contains", + "label": "定义类 ParsedOutput" + }, + { + "id": "edge:2b22e4cf", + "source": "class:ParsedOutput", + "target": "func:ParsedOutput.to_dict", + "type": "contains", + "label": "方法 to_dict" + }, + { + "id": "edge:8f60e11d", + "source": "file:src/agentkit/tools/output_parser.py", + "target": "class:OutputParser", + "type": "contains", + "label": "定义类 OutputParser" + }, + { + "id": "edge:5c771560", + "source": "class:OutputParser", + "target": "func:OutputParser.parse", + "type": "contains", + "label": "方法 parse" + }, + { + "id": "edge:071a9619", + "source": "class:OutputParser", + "target": "func:OutputParser._extract_message", + "type": "contains", + "label": "方法 _extract_message" + }, + { + "id": "edge:544c68df", + "source": "class:OutputParser", + "target": "func:OutputParser._classify_error", + "type": "contains", + "label": "方法 _classify_error" + }, + { + "id": "edge:0d646ada", + "source": "file:src/agentkit/tools/pty_session.py", + "target": "class:PTYOutput", + "type": "contains", + "label": "定义类 PTYOutput" + }, + { + "id": "edge:896341b5", + "source": "file:src/agentkit/tools/pty_session.py", + "target": "class:PTYSession", + "type": "contains", + "label": "定义类 PTYSession" + }, + { + "id": "edge:cb0d0956", + "source": "class:PTYSession", + "target": "func:PTYSession.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:dfc1c51c", + "source": "class:PTYSession", + "target": "func:PTYSession.is_running", + "type": "contains", + "label": "方法 is_running" + }, + { + "id": "edge:774bcc44", + "source": "class:PTYSession", + "target": "func:PTYSession.start", + "type": "contains", + "label": "方法 start" + }, + { + "id": "edge:3844b93b", + "source": "class:PTYSession", + "target": "func:PTYSession.run_command", + "type": "contains", + "label": "方法 run_command" + }, + { + "id": "edge:643d25fc", + "source": "class:PTYSession", + "target": "func:PTYSession.send", + "type": "contains", + "label": "方法 send" + }, + { + "id": "edge:71e0fb74", + "source": "class:PTYSession", + "target": "func:PTYSession.read_output", + "type": "contains", + "label": "方法 read_output" + }, + { + "id": "edge:87b9bd8f", + "source": "class:PTYSession", + "target": "func:PTYSession.close", + "type": "contains", + "label": "方法 close" + }, + { + "id": "edge:e289ae10", + "source": "class:PTYSession", + "target": "func:PTYSession._read_until_exit", + "type": "contains", + "label": "方法 _read_until_exit" + }, + { + "id": "edge:bdc7328e", + "source": "class:PTYSession", + "target": "func:PTYSession._drain_remaining_output", + "type": "contains", + "label": "方法 _drain_remaining_output" + }, + { + "id": "edge:df1a2e77", + "source": "class:PTYSession", + "target": "func:PTYSession._try_auto_respond", + "type": "contains", + "label": "方法 _try_auto_respond" + }, + { + "id": "edge:aa6d9f10", + "source": "file:src/agentkit/tools/registry.py", + "target": "class:ToolRegistry", + "type": "contains", + "label": "定义类 ToolRegistry" + }, + { + "id": "edge:39553864", + "source": "class:ToolRegistry", + "target": "func:ToolRegistry.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:8c324077", + "source": "class:ToolRegistry", + "target": "func:ToolRegistry.register", + "type": "contains", + "label": "方法 register" + }, + { + "id": "edge:3b7d3833", + "source": "class:ToolRegistry", + "target": "func:ToolRegistry.unregister", + "type": "contains", + "label": "方法 unregister" + }, + { + "id": "edge:5d0236f8", + "source": "class:ToolRegistry", + "target": "func:ToolRegistry.get", + "type": "contains", + "label": "方法 get" + }, + { + "id": "edge:8bb1b360", + "source": "class:ToolRegistry", + "target": "func:ToolRegistry.list_tools", + "type": "contains", + "label": "方法 list_tools" + }, + { + "id": "edge:987e5c3b", + "source": "class:ToolRegistry", + "target": "func:ToolRegistry.list_all_versions", + "type": "contains", + "label": "方法 list_all_versions" + }, + { + "id": "edge:40ec4433", + "source": "class:ToolRegistry", + "target": "func:ToolRegistry.has_tool", + "type": "contains", + "label": "方法 has_tool" + }, + { + "id": "edge:8c5be34b", + "source": "class:ToolRegistry", + "target": "func:ToolRegistry.clear", + "type": "contains", + "label": "方法 clear" + }, + { + "id": "edge:967ac024", + "source": "file:src/agentkit/tools/schema_tools.py", + "target": "class:SchemaExtractTool", + "type": "contains", + "label": "定义类 SchemaExtractTool" + }, + { + "id": "edge:7f3e349f", + "source": "class:SchemaExtractTool", + "target": "class:Tool", + "type": "extends", + "label": "继承 Tool" + }, + { + "id": "edge:7cc22ccf", + "source": "class:SchemaExtractTool", + "target": "func:SchemaExtractTool.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:3345cbdf", + "source": "class:SchemaExtractTool", + "target": "func:SchemaExtractTool._default_input_schema", + "type": "contains", + "label": "方法 _default_input_schema" + }, + { + "id": "edge:fc9bfed0", + "source": "class:SchemaExtractTool", + "target": "func:SchemaExtractTool._default_output_schema", + "type": "contains", + "label": "方法 _default_output_schema" + }, + { + "id": "edge:1a99ddb9", + "source": "class:SchemaExtractTool", + "target": "func:SchemaExtractTool._is_url", + "type": "contains", + "label": "方法 _is_url" + }, + { + "id": "edge:cefd7782", + "source": "class:SchemaExtractTool", + "target": "func:SchemaExtractTool.execute", + "type": "contains", + "label": "方法 execute" + }, + { + "id": "edge:100fb303", + "source": "file:src/agentkit/tools/schema_tools.py", + "target": "class:SchemaGenerateTool", + "type": "contains", + "label": "定义类 SchemaGenerateTool" + }, + { + "id": "edge:a558773a", + "source": "class:SchemaGenerateTool", + "target": "class:Tool", + "type": "extends", + "label": "继承 Tool" + }, + { + "id": "edge:f7bd31af", + "source": "class:SchemaGenerateTool", + "target": "func:SchemaGenerateTool.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:8dd9fdf9", + "source": "class:SchemaGenerateTool", + "target": "func:SchemaGenerateTool._default_input_schema", + "type": "contains", + "label": "方法 _default_input_schema" + }, + { + "id": "edge:96b9cdef", + "source": "class:SchemaGenerateTool", + "target": "func:SchemaGenerateTool._default_output_schema", + "type": "contains", + "label": "方法 _default_output_schema" + }, + { + "id": "edge:70d22e21", + "source": "class:SchemaGenerateTool", + "target": "func:SchemaGenerateTool._generate_manual", + "type": "contains", + "label": "方法 _generate_manual" + }, + { + "id": "edge:29cd6675", + "source": "class:SchemaGenerateTool", + "target": "func:SchemaGenerateTool._generate_with_schemaorg", + "type": "contains", + "label": "方法 _generate_with_schemaorg" + }, + { + "id": "edge:984476f2", + "source": "class:SchemaGenerateTool", + "target": "func:SchemaGenerateTool.execute", + "type": "contains", + "label": "方法 execute" + }, + { + "id": "edge:73ad39c0", + "source": "file:src/agentkit/tools/shell.py", + "target": "class:ShellTool", + "type": "contains", + "label": "定义类 ShellTool" + }, + { + "id": "edge:8fe84fb5", + "source": "class:ShellTool", + "target": "class:Tool", + "type": "extends", + "label": "继承 Tool" + }, + { + "id": "edge:a362268b", + "source": "class:ShellTool", + "target": "func:ShellTool.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:06936dab", + "source": "class:ShellTool", + "target": "func:ShellTool._default_input_schema", + "type": "contains", + "label": "方法 _default_input_schema" + }, + { + "id": "edge:726c0e3d", + "source": "class:ShellTool", + "target": "func:ShellTool._default_output_schema", + "type": "contains", + "label": "方法 _default_output_schema" + }, + { + "id": "edge:e8d23c45", + "source": "class:ShellTool", + "target": "func:ShellTool.execute", + "type": "contains", + "label": "方法 execute" + }, + { + "id": "edge:8e6a6586", + "source": "class:ShellTool", + "target": "func:ShellTool._execute_standalone", + "type": "contains", + "label": "方法 _execute_standalone" + }, + { + "id": "edge:0ec0b04d", + "source": "class:ShellTool", + "target": "func:ShellTool._execute_in_session", + "type": "contains", + "label": "方法 _execute_in_session" + }, + { + "id": "edge:d00dce01", + "source": "class:ShellTool", + "target": "func:ShellTool._execute_with_pty", + "type": "contains", + "label": "方法 _execute_with_pty" + }, + { + "id": "edge:f48d722a", + "source": "class:ShellTool", + "target": "func:ShellTool._is_dangerous", + "type": "contains", + "label": "方法 _is_dangerous" + }, + { + "id": "edge:40f97213", + "source": "class:ShellTool", + "target": "func:ShellTool._is_single_command_dangerous", + "type": "contains", + "label": "方法 _is_single_command_dangerous" + }, + { + "id": "edge:e84b0b4c", + "source": "class:ShellTool", + "target": "func:ShellTool._request_confirmation", + "type": "contains", + "label": "方法 _request_confirmation" + }, + { + "id": "edge:49e1b48c", + "source": "class:ShellTool", + "target": "func:ShellTool._log_audit", + "type": "contains", + "label": "方法 _log_audit" + }, + { + "id": "edge:36c25aab", + "source": "class:ShellTool", + "target": "func:ShellTool.session_manager", + "type": "contains", + "label": "方法 session_manager" + }, + { + "id": "edge:3110856d", + "source": "class:ShellTool", + "target": "func:ShellTool.audit_log", + "type": "contains", + "label": "方法 audit_log" + }, + { + "id": "edge:8d34b3e5", + "source": "file:src/agentkit/tools/skill_install.py", + "target": "class:SkillInstallTool", + "type": "contains", + "label": "定义类 SkillInstallTool" + }, + { + "id": "edge:34c89006", + "source": "class:SkillInstallTool", + "target": "class:Tool", + "type": "extends", + "label": "继承 Tool" + }, + { + "id": "edge:00cdd3aa", + "source": "class:SkillInstallTool", + "target": "func:SkillInstallTool.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:3f6fff81", + "source": "class:SkillInstallTool", + "target": "func:SkillInstallTool.execute", + "type": "contains", + "label": "方法 execute" + }, + { + "id": "edge:ac415f5e", + "source": "class:SkillInstallTool", + "target": "func:SkillInstallTool._try_register_skill", + "type": "contains", + "label": "方法 _try_register_skill" + }, + { + "id": "edge:e7c59979", + "source": "file:src/agentkit/tools/terminal_session.py", + "target": "class:CommandRecord", + "type": "contains", + "label": "定义类 CommandRecord" + }, + { + "id": "edge:4d7b1d56", + "source": "file:src/agentkit/tools/terminal_session.py", + "target": "class:TerminalSession", + "type": "contains", + "label": "定义类 TerminalSession" + }, + { + "id": "edge:65651d7f", + "source": "class:TerminalSession", + "target": "func:TerminalSession.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:f4ba33b8", + "source": "class:TerminalSession", + "target": "func:TerminalSession.cwd", + "type": "contains", + "label": "方法 cwd" + }, + { + "id": "edge:915231f9", + "source": "class:TerminalSession", + "target": "func:TerminalSession.env", + "type": "contains", + "label": "方法 env" + }, + { + "id": "edge:5bc38d61", + "source": "class:TerminalSession", + "target": "func:TerminalSession.history", + "type": "contains", + "label": "方法 history" + }, + { + "id": "edge:0dee2d37", + "source": "class:TerminalSession", + "target": "func:TerminalSession.created_at", + "type": "contains", + "label": "方法 created_at" + }, + { + "id": "edge:483a32a8", + "source": "class:TerminalSession", + "target": "func:TerminalSession.get_cwd", + "type": "contains", + "label": "方法 get_cwd" + }, + { + "id": "edge:91dd467e", + "source": "class:TerminalSession", + "target": "func:TerminalSession.set_cwd", + "type": "contains", + "label": "方法 set_cwd" + }, + { + "id": "edge:2b7a653e", + "source": "class:TerminalSession", + "target": "func:TerminalSession.get_env", + "type": "contains", + "label": "方法 get_env" + }, + { + "id": "edge:7253a357", + "source": "class:TerminalSession", + "target": "func:TerminalSession.set_env", + "type": "contains", + "label": "方法 set_env" + }, + { + "id": "edge:b50f634a", + "source": "class:TerminalSession", + "target": "func:TerminalSession.update_env", + "type": "contains", + "label": "方法 update_env" + }, + { + "id": "edge:25f22232", + "source": "class:TerminalSession", + "target": "func:TerminalSession.get_history", + "type": "contains", + "label": "方法 get_history" + }, + { + "id": "edge:0eb410a6", + "source": "class:TerminalSession", + "target": "func:TerminalSession.execute", + "type": "contains", + "label": "方法 execute" + }, + { + "id": "edge:e5f86022", + "source": "class:TerminalSession", + "target": "func:TerminalSession._build_command", + "type": "contains", + "label": "方法 _build_command" + }, + { + "id": "edge:d6ba01ab", + "source": "class:TerminalSession", + "target": "func:TerminalSession._update_state_after_execution", + "type": "contains", + "label": "方法 _update_state_after_execution" + }, + { + "id": "edge:96917e07", + "source": "class:TerminalSession", + "target": "func:TerminalSession._parse_cd_commands", + "type": "contains", + "label": "方法 _parse_cd_commands" + }, + { + "id": "edge:7565d581", + "source": "class:TerminalSession", + "target": "func:TerminalSession._parse_export_commands", + "type": "contains", + "label": "方法 _parse_export_commands" + }, + { + "id": "edge:ed7e9b60", + "source": "class:TerminalSession", + "target": "func:TerminalSession._add_history", + "type": "contains", + "label": "方法 _add_history" + }, + { + "id": "edge:b8b5d8a4", + "source": "class:TerminalSession", + "target": "func:TerminalSession.close", + "type": "contains", + "label": "方法 close" + }, + { + "id": "edge:e2effc8b", + "source": "file:src/agentkit/tools/terminal_session.py", + "target": "class:TerminalSessionManager", + "type": "contains", + "label": "定义类 TerminalSessionManager" + }, + { + "id": "edge:b359adf9", + "source": "class:TerminalSessionManager", + "target": "func:TerminalSessionManager.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:aca75a75", + "source": "class:TerminalSessionManager", + "target": "func:TerminalSessionManager.get_or_create", + "type": "contains", + "label": "方法 get_or_create" + }, + { + "id": "edge:e9bbde4a", + "source": "class:TerminalSessionManager", + "target": "func:TerminalSessionManager.get", + "type": "contains", + "label": "方法 get" + }, + { + "id": "edge:481a6432", + "source": "class:TerminalSessionManager", + "target": "func:TerminalSessionManager.remove", + "type": "contains", + "label": "方法 remove" + }, + { + "id": "edge:3601877b", + "source": "class:TerminalSessionManager", + "target": "func:TerminalSessionManager.list_sessions", + "type": "contains", + "label": "方法 list_sessions" + }, + { + "id": "edge:61e559a6", + "source": "class:TerminalSessionManager", + "target": "func:TerminalSessionManager.has_session", + "type": "contains", + "label": "方法 has_session" + }, + { + "id": "edge:d218bbf7", + "source": "class:TerminalSessionManager", + "target": "func:TerminalSessionManager.close_all", + "type": "contains", + "label": "方法 close_all" + }, + { + "id": "edge:afd78926", + "source": "file:src/agentkit/tools/web_crawl.py", + "target": "class:WebCrawlTool", + "type": "contains", + "label": "定义类 WebCrawlTool" + }, + { + "id": "edge:bf886771", + "source": "class:WebCrawlTool", + "target": "class:Tool", + "type": "extends", + "label": "继承 Tool" + }, + { + "id": "edge:cc810bf9", + "source": "class:WebCrawlTool", + "target": "func:WebCrawlTool.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:8615914e", + "source": "class:WebCrawlTool", + "target": "func:WebCrawlTool._default_input_schema", + "type": "contains", + "label": "方法 _default_input_schema" + }, + { + "id": "edge:0340d445", + "source": "class:WebCrawlTool", + "target": "func:WebCrawlTool._default_output_schema", + "type": "contains", + "label": "方法 _default_output_schema" + }, + { + "id": "edge:79331b1f", + "source": "class:WebCrawlTool", + "target": "func:WebCrawlTool.execute", + "type": "contains", + "label": "方法 execute" + }, + { + "id": "edge:4185b858", + "source": "file:src/agentkit/tools/web_search.py", + "target": "class:WebSearchTool", + "type": "contains", + "label": "定义类 WebSearchTool" + }, + { + "id": "edge:40d33f60", + "source": "class:WebSearchTool", + "target": "class:Tool", + "type": "extends", + "label": "继承 Tool" + }, + { + "id": "edge:5359bf0f", + "source": "class:WebSearchTool", + "target": "func:WebSearchTool.__init__", + "type": "contains", + "label": "方法 __init__" + }, + { + "id": "edge:d2e99b5e", + "source": "class:WebSearchTool", + "target": "func:WebSearchTool._default_input_schema", + "type": "contains", + "label": "方法 _default_input_schema" + }, + { + "id": "edge:e82082a5", + "source": "class:WebSearchTool", + "target": "func:WebSearchTool._default_output_schema", + "type": "contains", + "label": "方法 _default_output_schema" + }, + { + "id": "edge:898ed4b2", + "source": "class:WebSearchTool", + "target": "func:WebSearchTool.execute", + "type": "contains", + "label": "方法 execute" + }, + { + "id": "edge:54f1380c", + "source": "class:WebSearchTool", + "target": "func:WebSearchTool._search_tavily", + "type": "contains", + "label": "方法 _search_tavily" + }, + { + "id": "edge:ca87c37d", + "source": "class:WebSearchTool", + "target": "func:WebSearchTool._search_serper", + "type": "contains", + "label": "方法 _search_serper" + }, + { + "id": "edge:aefb8982", + "source": "class:WebSearchTool", + "target": "func:WebSearchTool._search_duckduckgo", + "type": "contains", + "label": "方法 _search_duckduckgo" + }, + { + "id": "edge:728f9727", + "source": "class:WebSearchTool", + "target": "func:WebSearchTool._contains_cjk", + "type": "contains", + "label": "方法 _contains_cjk" + }, + { + "id": "edge:dda8912f", + "source": "class:WebSearchTool", + "target": "func:WebSearchTool._cjk_to_english_hint", + "type": "contains", + "label": "方法 _cjk_to_english_hint" + }, + { + "id": "edge:72d4f49d", + "source": "class:WebSearchTool", + "target": "func:WebSearchTool._search_duckduckgo_html", + "type": "contains", + "label": "方法 _search_duckduckgo_html" + }, + { + "id": "edge:90a0e27e", + "source": "class:WebSearchTool", + "target": "func:WebSearchTool._search_duckduckgo_instant", + "type": "contains", + "label": "方法 _search_duckduckgo_instant" + }, + { + "id": "edge:1637f15e", + "source": "class:WebSearchTool", + "target": "func:WebSearchTool._search_bing", + "type": "contains", + "label": "方法 _search_bing" + }, + { + "id": "edge:81e46d5f", + "source": "class:WebSearchTool", + "target": "func:WebSearchTool._parse_bing_html", + "type": "contains", + "label": "方法 _parse_bing_html" + }, + { + "id": "edge:c9f48848", + "source": "class:WebSearchTool", + "target": "func:WebSearchTool._parse_duckduckgo_html", + "type": "contains", + "label": "方法 _parse_duckduckgo_html" + }, + { + "id": "edge:38295222", + "source": "class:WebSearchTool", + "target": "func:WebSearchTool._parse_duckduckgo_html_alt", + "type": "contains", + "label": "方法 _parse_duckduckgo_html_alt" + }, + { + "id": "edge:848cb46e", + "source": "file:configs/geo_handlers.py", + "target": "func:_internal_headers", + "type": "contains", + "label": "定义函数 _internal_headers" + }, + { + "id": "edge:67b47e02", + "source": "file:configs/geo_handlers.py", + "target": "func:handle_citation_task", + "type": "contains", + "label": "定义函数 handle_citation_task" + }, + { + "id": "edge:1104d283", + "source": "file:configs/geo_handlers.py", + "target": "func:handle_monitor_task", + "type": "contains", + "label": "定义函数 handle_monitor_task" + }, + { + "id": "edge:d43f3a0c", + "source": "file:configs/geo_handlers.py", + "target": "func:handle_schema_task", + "type": "contains", + "label": "定义函数 handle_schema_task" + }, + { + "id": "edge:6f8f8930", + "source": "file:configs/geo_handlers.py", + "target": "func:_call_internal", + "type": "contains", + "label": "定义函数 _call_internal" + }, + { + "id": "edge:a3ac3fc5", + "source": "file:configs/geo_server.py", + "target": "func:_substitute_env_vars", + "type": "contains", + "label": "定义函数 _substitute_env_vars" + }, + { + "id": "edge:ae754f0f", + "source": "file:configs/geo_server.py", + "target": "func:_init_llm_gateway", + "type": "contains", + "label": "定义函数 _init_llm_gateway" + }, + { + "id": "edge:862689ea", + "source": "file:configs/geo_server.py", + "target": "func:_init_tool_registry", + "type": "contains", + "label": "定义函数 _init_tool_registry" + }, + { + "id": "edge:27205d95", + "source": "file:configs/geo_server.py", + "target": "func:_init_skill_registry", + "type": "contains", + "label": "定义函数 _init_skill_registry" + }, + { + "id": "edge:b41f498f", + "source": "file:configs/geo_server.py", + "target": "func:create_geo_app", + "type": "contains", + "label": "定义函数 create_geo_app" + }, + { + "id": "edge:bb884b89", + "source": "file:configs/geo_tools.py", + "target": "func:_internal_headers", + "type": "contains", + "label": "定义函数 _internal_headers" + }, + { + "id": "edge:05b4be9d", + "source": "file:configs/geo_tools.py", + "target": "func:execute_single_platform", + "type": "contains", + "label": "定义函数 execute_single_platform" + }, + { + "id": "edge:f699ceed", + "source": "file:configs/geo_tools.py", + "target": "func:get_or_create_task", + "type": "contains", + "label": "定义函数 get_or_create_task" + }, + { + "id": "edge:bbf88241", + "source": "file:configs/geo_tools.py", + "target": "func:retrieve_knowledge", + "type": "contains", + "label": "定义函数 retrieve_knowledge" + }, + { + "id": "edge:85b60cfe", + "source": "file:configs/geo_tools.py", + "target": "func:monitor_check_and_compare", + "type": "contains", + "label": "定义函数 monitor_check_and_compare" + }, + { + "id": "edge:9f817138", + "source": "file:configs/geo_tools.py", + "target": "func:monitor_generate_report", + "type": "contains", + "label": "定义函数 monitor_generate_report" + }, + { + "id": "edge:4adf721b", + "source": "file:configs/geo_tools.py", + "target": "func:monitor_create_record", + "type": "contains", + "label": "定义函数 monitor_create_record" + }, + { + "id": "edge:79722fa8", + "source": "file:configs/geo_tools.py", + "target": "func:fill_schema_with_llm", + "type": "contains", + "label": "定义函数 fill_schema_with_llm" + }, + { + "id": "edge:af87a0fb", + "source": "file:configs/geo_tools.py", + "target": "func:identify_missing_dimensions", + "type": "contains", + "label": "定义函数 identify_missing_dimensions" + }, + { + "id": "edge:a0c0acef", + "source": "file:configs/geo_tools.py", + "target": "func:competitor_analyze", + "type": "contains", + "label": "定义函数 competitor_analyze" + }, + { + "id": "edge:749aa29c", + "source": "file:configs/geo_tools.py", + "target": "func:competitor_gap_analysis", + "type": "contains", + "label": "定义函数 competitor_gap_analysis" + }, + { + "id": "edge:04e8200c", + "source": "file:configs/geo_tools.py", + "target": "func:trend_insight", + "type": "contains", + "label": "定义函数 trend_insight" + }, + { + "id": "edge:c19eeeac", + "source": "file:configs/geo_tools.py", + "target": "func:trend_hotspot", + "type": "contains", + "label": "定义函数 trend_hotspot" + }, + { + "id": "edge:1ba9a1a3", + "source": "file:configs/geo_tools.py", + "target": "func:search_knowledge", + "type": "contains", + "label": "定义函数 search_knowledge" + }, + { + "id": "edge:9e953190", + "source": "file:configs/geo_tools.py", + "target": "func:detect_ai_patterns", + "type": "contains", + "label": "定义函数 detect_ai_patterns" + }, + { + "id": "edge:7faef3ff", + "source": "file:configs/geo_tools.py", + "target": "func:register_geo_tools", + "type": "contains", + "label": "定义函数 register_geo_tools" + }, + { + "id": "edge:fe5c6ef2", + "source": "file:src/agentkit/bus/redis_bus.py", + "target": "func:create_message_bus", + "type": "contains", + "label": "定义函数 create_message_bus" + }, + { + "id": "edge:28c3bb7c", + "source": "file:src/agentkit/chat/skill_routing.py", + "target": "func:validate_skill_name", + "type": "contains", + "label": "定义函数 validate_skill_name" + }, + { + "id": "edge:4e679258", + "source": "file:src/agentkit/chat/skill_routing.py", + "target": "func:parse_skill_prefix", + "type": "contains", + "label": "定义函数 parse_skill_prefix" + }, + { + "id": "edge:02158f3c", + "source": "file:src/agentkit/chat/skill_routing.py", + "target": "func:build_skill_system_prompt", + "type": "contains", + "label": "定义函数 build_skill_system_prompt" + }, + { + "id": "edge:6d52d105", + "source": "file:src/agentkit/chat/skill_routing.py", + "target": "func:resolve_skill_routing", + "type": "contains", + "label": "定义函数 resolve_skill_routing" + }, + { + "id": "edge:fecfd471", + "source": "file:src/agentkit/chat/skill_routing.py", + "target": "func:_build_tools_description", + "type": "contains", + "label": "定义函数 _build_tools_description" + }, + { + "id": "edge:c7f91fa0", + "source": "file:src/agentkit/chat/skill_routing.py", + "target": "func:_tokenize_content", + "type": "contains", + "label": "定义函数 _tokenize_content" + }, + { + "id": "edge:664023af", + "source": "file:src/agentkit/cli/chat.py", + "target": "func:chat", + "type": "contains", + "label": "定义函数 chat" + }, + { + "id": "edge:ba08640c", + "source": "file:src/agentkit/cli/chat.py", + "target": "func:_chat_async", + "type": "contains", + "label": "定义函数 _chat_async" + }, + { + "id": "edge:3b3d2742", + "source": "file:src/agentkit/cli/chat.py", + "target": "func:_extract_search_keys", + "type": "contains", + "label": "定义函数 _extract_search_keys" + }, + { + "id": "edge:b138479e", + "source": "file:src/agentkit/cli/chat.py", + "target": "func:_build_gateway", + "type": "contains", + "label": "定义函数 _build_gateway" + }, + { + "id": "edge:f2c6ef71", + "source": "file:src/agentkit/cli/chat.py", + "target": "func:_resolve_default_model", + "type": "contains", + "label": "定义函数 _resolve_default_model" + }, + { + "id": "edge:d4244ae1", + "source": "file:src/agentkit/cli/chat.py", + "target": "func:_load_dotenv", + "type": "contains", + "label": "定义函数 _load_dotenv" + }, + { + "id": "edge:c7820ca0", + "source": "file:src/agentkit/cli/chat.py", + "target": "func:_print_help", + "type": "contains", + "label": "定义函数 _print_help" + }, + { + "id": "edge:d28bf4fd", + "source": "file:src/agentkit/cli/init.py", + "target": "func:_write_file", + "type": "contains", + "label": "定义函数 _write_file" + }, + { + "id": "edge:7c7be7d9", + "source": "file:src/agentkit/cli/init.py", + "target": "func:init", + "type": "contains", + "label": "定义函数 init" + }, + { + "id": "edge:d1004a5e", + "source": "file:src/agentkit/cli/main.py", + "target": "func:gui", + "type": "contains", + "label": "定义函数 gui" + }, + { + "id": "edge:320e5a6b", + "source": "file:src/agentkit/cli/main.py", + "target": "func:serve", + "type": "contains", + "label": "定义函数 serve" + }, + { + "id": "edge:8442c852", + "source": "file:src/agentkit/cli/main.py", + "target": "func:version", + "type": "contains", + "label": "定义函数 version" + }, + { + "id": "edge:4701c50a", + "source": "file:src/agentkit/cli/main.py", + "target": "func:doctor", + "type": "contains", + "label": "定义函数 doctor" + }, + { + "id": "edge:28815083", + "source": "file:src/agentkit/cli/onboarding.py", + "target": "func:needs_onboarding", + "type": "contains", + "label": "定义函数 needs_onboarding" + }, + { + "id": "edge:84ad74ee", + "source": "file:src/agentkit/cli/onboarding.py", + "target": "func:run_onboarding", + "type": "contains", + "label": "定义函数 run_onboarding" + }, + { + "id": "edge:33a79787", + "source": "file:src/agentkit/cli/pair.py", + "target": "func:_generate_api_key", + "type": "contains", + "label": "定义函数 _generate_api_key" + }, + { + "id": "edge:ddd18246", + "source": "file:src/agentkit/cli/pair.py", + "target": "func:_load_clients", + "type": "contains", + "label": "定义函数 _load_clients" + }, + { + "id": "edge:1d75928e", + "source": "file:src/agentkit/cli/pair.py", + "target": "func:_save_clients", + "type": "contains", + "label": "定义函数 _save_clients" + }, + { + "id": "edge:3723861a", + "source": "file:src/agentkit/cli/pair.py", + "target": "func:pair", + "type": "contains", + "label": "定义函数 pair" + }, + { + "id": "edge:ef1ea432", + "source": "file:src/agentkit/cli/skill.py", + "target": "func:list_skills", + "type": "contains", + "label": "定义函数 list_skills" + }, + { + "id": "edge:d0723fd7", + "source": "file:src/agentkit/cli/skill.py", + "target": "func:load_skill", + "type": "contains", + "label": "定义函数 load_skill" + }, + { + "id": "edge:2adb192f", + "source": "file:src/agentkit/cli/skill.py", + "target": "func:skill_create", + "type": "contains", + "label": "定义函数 skill_create" + }, + { + "id": "edge:ffaeee74", + "source": "file:src/agentkit/cli/skill.py", + "target": "func:skill_info", + "type": "contains", + "label": "定义函数 skill_info" + }, + { + "id": "edge:7903ad3d", + "source": "file:src/agentkit/cli/task.py", + "target": "func:submit", + "type": "contains", + "label": "定义函数 submit" + }, + { + "id": "edge:8ddae403", + "source": "file:src/agentkit/cli/task.py", + "target": "func:_submit_remote", + "type": "contains", + "label": "定义函数 _submit_remote" + }, + { + "id": "edge:5e1a6163", + "source": "file:src/agentkit/cli/task.py", + "target": "func:_submit_local", + "type": "contains", + "label": "定义函数 _submit_local" + }, + { + "id": "edge:af164bcf", + "source": "file:src/agentkit/cli/task.py", + "target": "func:status", + "type": "contains", + "label": "定义函数 status" + }, + { + "id": "edge:2851349d", + "source": "file:src/agentkit/cli/task.py", + "target": "func:list_tasks", + "type": "contains", + "label": "定义函数 list_tasks" + }, + { + "id": "edge:7858180a", + "source": "file:src/agentkit/cli/task.py", + "target": "func:cancel", + "type": "contains", + "label": "定义函数 cancel" + }, + { + "id": "edge:8efc3180", + "source": "file:src/agentkit/cli/usage.py", + "target": "func:usage", + "type": "contains", + "label": "定义函数 usage" + }, + { + "id": "edge:f81834b8", + "source": "file:src/agentkit/core/compressor.py", + "target": "func:create_compressor", + "type": "contains", + "label": "定义函数 create_compressor" + }, + { + "id": "edge:0a73674b", + "source": "file:src/agentkit/core/compressor.py", + "target": "func:render_cached", + "type": "contains", + "label": "定义函数 render_cached" + }, + { + "id": "edge:b3487b0b", + "source": "file:src/agentkit/core/compressor.py", + "target": "func:clear_cache", + "type": "contains", + "label": "定义函数 clear_cache" + }, + { + "id": "edge:98d01d95", + "source": "file:src/agentkit/core/dispatcher.py", + "target": "func:_validate_callback_url", + "type": "contains", + "label": "定义函数 _validate_callback_url" + }, + { + "id": "edge:380da046", + "source": "file:src/agentkit/core/headroom_compressor.py", + "target": "func:_is_json_content", + "type": "contains", + "label": "定义函数 _is_json_content" + }, + { + "id": "edge:a1167675", + "source": "file:src/agentkit/core/headroom_compressor.py", + "target": "func:_is_code_content", + "type": "contains", + "label": "定义函数 _is_code_content" + }, + { + "id": "edge:300d9958", + "source": "file:src/agentkit/core/logging.py", + "target": "func:setup_structured_logging", + "type": "contains", + "label": "定义函数 setup_structured_logging" + }, + { + "id": "edge:c1a35f35", + "source": "file:src/agentkit/core/logging.py", + "target": "func:get_logger", + "type": "contains", + "label": "定义函数 get_logger" + }, + { + "id": "edge:4d29d670", + "source": "file:src/agentkit/core/standalone.py", + "target": "func:main", + "type": "contains", + "label": "定义函数 main" + }, + { + "id": "edge:4832f3c7", + "source": "file:src/agentkit/evolution/evolution_store.py", + "target": "func:create_evolution_store", + "type": "contains", + "label": "定义函数 create_evolution_store" + }, + { + "id": "edge:09bef76a", + "source": "file:src/agentkit/evolution/experience_store.py", + "target": "func:_parse_time_window", + "type": "contains", + "label": "定义函数 _parse_time_window" + }, + { + "id": "edge:b1c608ad", + "source": "file:src/agentkit/evolution/pitfall_detector.py", + "target": "func:_compute_name_similarity", + "type": "contains", + "label": "定义函数 _compute_name_similarity" + }, + { + "id": "edge:4f5b5151", + "source": "file:src/agentkit/evolution/pitfall_detector.py", + "target": "func:_extract_keywords", + "type": "contains", + "label": "定义函数 _extract_keywords" + }, + { + "id": "edge:272c1d97", + "source": "file:src/agentkit/evolution/pitfall_detector.py", + "target": "func:_determine_warning_level", + "type": "contains", + "label": "定义函数 _determine_warning_level" + }, + { + "id": "edge:29a4a839", + "source": "file:src/agentkit/evolution/pitfall_detector.py", + "target": "func:_warning_level_order", + "type": "contains", + "label": "定义函数 _warning_level_order" + }, + { + "id": "edge:7ba700bf", + "source": "file:src/agentkit/evolution/pitfall_detector.py", + "target": "func:_build_suggestion", + "type": "contains", + "label": "定义函数 _build_suggestion" + }, + { + "id": "edge:f21ad735", + "source": "file:src/agentkit/evolution/prompt_optimizer.py", + "target": "func:create_prompt_optimizer", + "type": "contains", + "label": "定义函数 create_prompt_optimizer" + }, + { + "id": "edge:6d785875", + "source": "file:src/agentkit/llm/retry.py", + "target": "func:_is_retryable_error", + "type": "contains", + "label": "定义函数 _is_retryable_error" + }, + { + "id": "edge:016260d4", + "source": "file:src/agentkit/memory/adapters/confluence.py", + "target": "func:_escape_cql", + "type": "contains", + "label": "定义函数 _escape_cql" + }, + { + "id": "edge:e365db72", + "source": "file:src/agentkit/memory/document_loader.py", + "target": "func:_detect_format", + "type": "contains", + "label": "定义函数 _detect_format" + }, + { + "id": "edge:457b936b", + "source": "file:src/agentkit/memory/local_rag.py", + "target": "func:_loader_doc_to_kb_doc", + "type": "contains", + "label": "定义函数 _loader_doc_to_kb_doc" + }, + { + "id": "edge:8841fa0c", + "source": "file:src/agentkit/memory/models.py", + "target": "func:create_episodic_session_factory", + "type": "contains", + "label": "定义函数 create_episodic_session_factory" + }, + { + "id": "edge:25e7ad5f", + "source": "file:src/agentkit/memory/models.py", + "target": "func:ensure_episodic_table", + "type": "contains", + "label": "定义函数 ensure_episodic_table" + }, + { + "id": "edge:e1548e26", + "source": "file:src/agentkit/memory/multi_source_retriever.py", + "target": "func:_content_hash", + "type": "contains", + "label": "定义函数 _content_hash" + }, + { + "id": "edge:e8cdc699", + "source": "file:src/agentkit/memory/query_transformer.py", + "target": "func:create_query_transformer", + "type": "contains", + "label": "定义函数 create_query_transformer" + }, + { + "id": "edge:c5f0b341", + "source": "file:src/agentkit/memory/retriever.py", + "target": "func:_estimate_tokens", + "type": "contains", + "label": "定义函数 _estimate_tokens" + }, + { + "id": "edge:aa69d628", + "source": "file:src/agentkit/orchestrator/retry.py", + "target": "func:execute_with_retry", + "type": "contains", + "label": "定义函数 execute_with_retry" + }, + { + "id": "edge:dcea38d5", + "source": "file:src/agentkit/server/app.py", + "target": "func:_build_llm_gateway", + "type": "contains", + "label": "定义函数 _build_llm_gateway" + }, + { + "id": "edge:96b47c86", + "source": "file:src/agentkit/server/app.py", + "target": "func:_build_skill_registry", + "type": "contains", + "label": "定义函数 _build_skill_registry" + }, + { + "id": "edge:378be43a", + "source": "file:src/agentkit/server/app.py", + "target": "func:lifespan", + "type": "contains", + "label": "定义函数 lifespan" + }, + { + "id": "edge:28674149", + "source": "file:src/agentkit/server/app.py", + "target": "func:_on_config_change", + "type": "contains", + "label": "定义函数 _on_config_change" + }, + { + "id": "edge:64718367", + "source": "file:src/agentkit/server/app.py", + "target": "func:create_app", + "type": "contains", + "label": "定义函数 create_app" + }, + { + "id": "edge:2d5e645c", + "source": "file:src/agentkit/server/config.py", + "target": "func:_resolve_env_vars", + "type": "contains", + "label": "定义函数 _resolve_env_vars" + }, + { + "id": "edge:2b38c86d", + "source": "file:src/agentkit/server/config.py", + "target": "func:_deep_resolve", + "type": "contains", + "label": "定义函数 _deep_resolve" + }, + { + "id": "edge:c907c106", + "source": "file:src/agentkit/server/config.py", + "target": "func:find_config_path", + "type": "contains", + "label": "定义函数 find_config_path" + }, + { + "id": "edge:2e97e84d", + "source": "file:src/agentkit/server/middleware.py", + "target": "func:_load_client_keys", + "type": "contains", + "label": "定义函数 _load_client_keys" + }, + { + "id": "edge:13be585e", + "source": "file:src/agentkit/server/routes/agents.py", + "target": "func:_get_pool", + "type": "contains", + "label": "定义函数 _get_pool" + }, + { + "id": "edge:2fa61c71", + "source": "file:src/agentkit/server/routes/agents.py", + "target": "func:_get_skill_registry", + "type": "contains", + "label": "定义函数 _get_skill_registry" + }, + { + "id": "edge:a2bce01c", + "source": "file:src/agentkit/server/routes/agents.py", + "target": "func:create_agent", + "type": "contains", + "label": "定义函数 create_agent" + }, + { + "id": "edge:6e55fc45", + "source": "file:src/agentkit/server/routes/agents.py", + "target": "func:list_agents", + "type": "contains", + "label": "定义函数 list_agents" + }, + { + "id": "edge:04dce750", + "source": "file:src/agentkit/server/routes/agents.py", + "target": "func:get_agent", + "type": "contains", + "label": "定义函数 get_agent" + }, + { + "id": "edge:ae51251a", + "source": "file:src/agentkit/server/routes/agents.py", + "target": "func:delete_agent", + "type": "contains", + "label": "定义函数 delete_agent" + }, + { + "id": "edge:2565cf20", + "source": "file:src/agentkit/server/routes/chat.py", + "target": "func:_get_session_manager", + "type": "contains", + "label": "定义函数 _get_session_manager" + }, + { + "id": "edge:fbd1cd5c", + "source": "file:src/agentkit/server/routes/chat.py", + "target": "func:_session_to_response", + "type": "contains", + "label": "定义函数 _session_to_response" + }, + { + "id": "edge:99ba4405", + "source": "file:src/agentkit/server/routes/chat.py", + "target": "func:_message_to_response", + "type": "contains", + "label": "定义函数 _message_to_response" + }, + { + "id": "edge:9cce8a44", + "source": "file:src/agentkit/server/routes/chat.py", + "target": "func:list_sessions", + "type": "contains", + "label": "定义函数 list_sessions" + }, + { + "id": "edge:e88bf2a6", + "source": "file:src/agentkit/server/routes/chat.py", + "target": "func:create_session", + "type": "contains", + "label": "定义函数 create_session" + }, + { + "id": "edge:d2e59fba", + "source": "file:src/agentkit/server/routes/chat.py", + "target": "func:get_session", + "type": "contains", + "label": "定义函数 get_session" + }, + { + "id": "edge:7020f135", + "source": "file:src/agentkit/server/routes/chat.py", + "target": "func:get_messages", + "type": "contains", + "label": "定义函数 get_messages" + }, + { + "id": "edge:2237a7d9", + "source": "file:src/agentkit/server/routes/chat.py", + "target": "func:send_message", + "type": "contains", + "label": "定义函数 send_message" + }, + { + "id": "edge:4c933796", + "source": "file:src/agentkit/server/routes/chat.py", + "target": "func:close_session", + "type": "contains", + "label": "定义函数 close_session" + }, + { + "id": "edge:0ac71efd", + "source": "file:src/agentkit/server/routes/chat.py", + "target": "func:chat_websocket", + "type": "contains", + "label": "定义函数 chat_websocket" + }, + { + "id": "edge:b93ed359", + "source": "file:src/agentkit/server/routes/chat.py", + "target": "func:_handle_chat_message", + "type": "contains", + "label": "定义函数 _handle_chat_message" + }, + { + "id": "edge:a2489a2e", + "source": "file:src/agentkit/server/routes/evolution.py", + "target": "func:_get_evolution_store", + "type": "contains", + "label": "定义函数 _get_evolution_store" + }, + { + "id": "edge:b6d0a31e", + "source": "file:src/agentkit/server/routes/evolution.py", + "target": "func:list_evolution_events", + "type": "contains", + "label": "定义函数 list_evolution_events" + }, + { + "id": "edge:70e3078a", + "source": "file:src/agentkit/server/routes/evolution.py", + "target": "func:get_skill_versions", + "type": "contains", + "label": "定义函数 get_skill_versions" + }, + { + "id": "edge:1ddcbc0a", + "source": "file:src/agentkit/server/routes/evolution.py", + "target": "func:trigger_evolution", + "type": "contains", + "label": "定义函数 trigger_evolution" + }, + { + "id": "edge:4a088390", + "source": "file:src/agentkit/server/routes/evolution.py", + "target": "func:list_ab_tests", + "type": "contains", + "label": "定义函数 list_ab_tests" + }, + { + "id": "edge:11198ded", + "source": "file:src/agentkit/server/routes/evolution_dashboard.py", + "target": "func:_verify_api_key", + "type": "contains", + "label": "定义函数 _verify_api_key" + }, + { + "id": "edge:0e4acb39", + "source": "file:src/agentkit/server/routes/evolution_dashboard.py", + "target": "func:_get_experience_store", + "type": "contains", + "label": "定义函数 _get_experience_store" + }, + { + "id": "edge:99ebe42e", + "source": "file:src/agentkit/server/routes/evolution_dashboard.py", + "target": "func:_get_pitfall_detector", + "type": "contains", + "label": "定义函数 _get_pitfall_detector" + }, + { + "id": "edge:f0fa3c1c", + "source": "file:src/agentkit/server/routes/evolution_dashboard.py", + "target": "func:_get_path_optimizer", + "type": "contains", + "label": "定义函数 _get_path_optimizer" + }, + { + "id": "edge:4881d90f", + "source": "file:src/agentkit/server/routes/evolution_dashboard.py", + "target": "func:list_experiences", + "type": "contains", + "label": "定义函数 list_experiences" + }, + { + "id": "edge:efb33982", + "source": "file:src/agentkit/server/routes/evolution_dashboard.py", + "target": "func:record_experience", + "type": "contains", + "label": "定义函数 record_experience" + }, + { + "id": "edge:eef414d8", + "source": "file:src/agentkit/server/routes/evolution_dashboard.py", + "target": "func:get_metrics", + "type": "contains", + "label": "定义函数 get_metrics" + }, + { + "id": "edge:df59ffee", + "source": "file:src/agentkit/server/routes/evolution_dashboard.py", + "target": "func:_generate_trends", + "type": "contains", + "label": "定义函数 _generate_trends" + }, + { + "id": "edge:413b50dc", + "source": "file:src/agentkit/server/routes/evolution_dashboard.py", + "target": "func:_compute_metrics_from_memory", + "type": "contains", + "label": "定义函数 _compute_metrics_from_memory" + }, + { + "id": "edge:3ec608a6", + "source": "file:src/agentkit/server/routes/evolution_dashboard.py", + "target": "func:get_usage", + "type": "contains", + "label": "定义函数 get_usage" + }, + { + "id": "edge:4e5a36b2", + "source": "file:src/agentkit/server/routes/evolution_dashboard.py", + "target": "func:check_pitfalls", + "type": "contains", + "label": "定义函数 check_pitfalls" + }, + { + "id": "edge:f6d4437b", + "source": "file:src/agentkit/server/routes/evolution_dashboard.py", + "target": "func:list_path_optimizations", + "type": "contains", + "label": "定义函数 list_path_optimizations" + }, + { + "id": "edge:ad10b567", + "source": "file:src/agentkit/server/routes/evolution_dashboard.py", + "target": "func:record_path_optimization", + "type": "contains", + "label": "定义函数 record_path_optimization" + }, + { + "id": "edge:4bd62d91", + "source": "file:src/agentkit/server/routes/evolution_dashboard.py", + "target": "func:evolution_dashboard_ws", + "type": "contains", + "label": "定义函数 evolution_dashboard_ws" + }, + { + "id": "edge:0feb7ae1", + "source": "file:src/agentkit/server/routes/evolution_dashboard.py", + "target": "func:_broadcast_event", + "type": "contains", + "label": "定义函数 _broadcast_event" + }, + { + "id": "edge:1f82cafe", + "source": "file:src/agentkit/server/routes/health.py", + "target": "func:health_check", + "type": "contains", + "label": "定义函数 health_check" + }, + { + "id": "edge:5e08b3e7", + "source": "file:src/agentkit/server/routes/kb_management.py", + "target": "func:_verify_api_key", + "type": "contains", + "label": "定义函数 _verify_api_key" + }, + { + "id": "edge:89580d1f", + "source": "file:src/agentkit/server/routes/kb_management.py", + "target": "func:list_sources", + "type": "contains", + "label": "定义函数 list_sources" + }, + { + "id": "edge:89ee5e0d", + "source": "file:src/agentkit/server/routes/kb_management.py", + "target": "func:add_source", + "type": "contains", + "label": "定义函数 add_source" + }, + { + "id": "edge:aa2f5827", + "source": "file:src/agentkit/server/routes/kb_management.py", + "target": "func:remove_source", + "type": "contains", + "label": "定义函数 remove_source" + }, + { + "id": "edge:1d56efdd", + "source": "file:src/agentkit/server/routes/kb_management.py", + "target": "func:sync_source", + "type": "contains", + "label": "定义函数 sync_source" + }, + { + "id": "edge:8527ce27", + "source": "file:src/agentkit/server/routes/kb_management.py", + "target": "func:update_source", + "type": "contains", + "label": "定义函数 update_source" + }, + { + "id": "edge:b38755fa", + "source": "file:src/agentkit/server/routes/kb_management.py", + "target": "func:list_documents", + "type": "contains", + "label": "定义函数 list_documents" + }, + { + "id": "edge:7565f937", + "source": "file:src/agentkit/server/routes/kb_management.py", + "target": "func:delete_document", + "type": "contains", + "label": "定义函数 delete_document" + }, + { + "id": "edge:326fc607", + "source": "file:src/agentkit/server/routes/kb_management.py", + "target": "func:upload_document", + "type": "contains", + "label": "定义函数 upload_document" + }, + { + "id": "edge:7bcc9e0b", + "source": "file:src/agentkit/server/routes/kb_management.py", + "target": "func:search_knowledge", + "type": "contains", + "label": "定义函数 search_knowledge" + }, + { + "id": "edge:9e024698", + "source": "file:src/agentkit/server/routes/kb_management.py", + "target": "func:check_source_health", + "type": "contains", + "label": "定义函数 check_source_health" + }, + { + "id": "edge:d8b76ab7", + "source": "file:src/agentkit/server/routes/llm.py", + "target": "func:get_usage", + "type": "contains", + "label": "定义函数 get_usage" + }, + { + "id": "edge:eaed78be", + "source": "file:src/agentkit/server/routes/memory.py", + "target": "func:_get_memory_retriever", + "type": "contains", + "label": "定义函数 _get_memory_retriever" + }, + { + "id": "edge:1f9ca114", + "source": "file:src/agentkit/server/routes/memory.py", + "target": "func:search_episodic_memory", + "type": "contains", + "label": "定义函数 search_episodic_memory" + }, + { + "id": "edge:f0616af9", + "source": "file:src/agentkit/server/routes/memory.py", + "target": "func:search_semantic_memory", + "type": "contains", + "label": "定义函数 search_semantic_memory" + }, + { + "id": "edge:03e8e02b", + "source": "file:src/agentkit/server/routes/memory.py", + "target": "func:delete_episodic_memory", + "type": "contains", + "label": "定义函数 delete_episodic_memory" + }, + { + "id": "edge:d8597e15", + "source": "file:src/agentkit/server/routes/metrics.py", + "target": "func:get_metrics", + "type": "contains", + "label": "定义函数 get_metrics" + }, + { + "id": "edge:6585d091", + "source": "file:src/agentkit/server/routes/portal.py", + "target": "func:_verify_api_key", + "type": "contains", + "label": "定义函数 _verify_api_key" + }, + { + "id": "edge:10d69557", + "source": "file:src/agentkit/server/routes/portal.py", + "target": "func:_resolve_for_chat", + "type": "contains", + "label": "定义函数 _resolve_for_chat" + }, + { + "id": "edge:c99d4084", + "source": "file:src/agentkit/server/routes/portal.py", + "target": "func:chat", + "type": "contains", + "label": "定义函数 chat" + }, + { + "id": "edge:744bbe75", + "source": "file:src/agentkit/server/routes/portal.py", + "target": "func:chat_stream", + "type": "contains", + "label": "定义函数 chat_stream" + }, + { + "id": "edge:66d9af21", + "source": "file:src/agentkit/server/routes/portal.py", + "target": "func:get_capabilities", + "type": "contains", + "label": "定义函数 get_capabilities" + }, + { + "id": "edge:d00ce103", + "source": "file:src/agentkit/server/routes/portal.py", + "target": "func:list_conversations", + "type": "contains", + "label": "定义函数 list_conversations" + }, + { + "id": "edge:c5f75d80", + "source": "file:src/agentkit/server/routes/portal.py", + "target": "func:_derive_conversation_title", + "type": "contains", + "label": "定义函数 _derive_conversation_title" + }, + { + "id": "edge:f23a88f8", + "source": "file:src/agentkit/server/routes/portal.py", + "target": "func:get_conversation", + "type": "contains", + "label": "定义函数 get_conversation" + }, + { + "id": "edge:c6801601", + "source": "file:src/agentkit/server/routes/portal.py", + "target": "func:portal_websocket", + "type": "contains", + "label": "定义函数 portal_websocket" + }, + { + "id": "edge:99b2a845", + "source": "file:src/agentkit/server/routes/settings.py", + "target": "func:_mask_api_key", + "type": "contains", + "label": "定义函数 _mask_api_key" + }, + { + "id": "edge:8d8d5f6e", + "source": "file:src/agentkit/server/routes/settings.py", + "target": "func:_read_yaml_config", + "type": "contains", + "label": "定义函数 _read_yaml_config" + }, + { + "id": "edge:512f4d18", + "source": "file:src/agentkit/server/routes/settings.py", + "target": "func:_write_yaml_config", + "type": "contains", + "label": "定义函数 _write_yaml_config" + }, + { + "id": "edge:6f3a61ab", + "source": "file:src/agentkit/server/routes/settings.py", + "target": "func:_get_config_path", + "type": "contains", + "label": "定义函数 _get_config_path" + }, + { + "id": "edge:bc7bd9a1", + "source": "file:src/agentkit/server/routes/settings.py", + "target": "func:get_llm_settings", + "type": "contains", + "label": "定义函数 get_llm_settings" + }, + { + "id": "edge:f45409b9", + "source": "file:src/agentkit/server/routes/settings.py", + "target": "func:update_llm_settings", + "type": "contains", + "label": "定义函数 update_llm_settings" + }, + { + "id": "edge:f8e34fab", + "source": "file:src/agentkit/server/routes/settings.py", + "target": "func:get_skills_settings", + "type": "contains", + "label": "定义函数 get_skills_settings" + }, + { + "id": "edge:6f63c0d6", + "source": "file:src/agentkit/server/routes/settings.py", + "target": "func:update_skills_settings", + "type": "contains", + "label": "定义函数 update_skills_settings" + }, + { + "id": "edge:9e074726", + "source": "file:src/agentkit/server/routes/settings.py", + "target": "func:get_kb_settings", + "type": "contains", + "label": "定义函数 get_kb_settings" + }, + { + "id": "edge:03145c55", + "source": "file:src/agentkit/server/routes/settings.py", + "target": "func:update_kb_settings", + "type": "contains", + "label": "定义函数 update_kb_settings" + }, + { + "id": "edge:fd3090c2", + "source": "file:src/agentkit/server/routes/settings.py", + "target": "func:get_general_settings", + "type": "contains", + "label": "定义函数 get_general_settings" + }, + { + "id": "edge:094a8973", + "source": "file:src/agentkit/server/routes/settings.py", + "target": "func:update_general_settings", + "type": "contains", + "label": "定义函数 update_general_settings" + }, + { + "id": "edge:df15d627", + "source": "file:src/agentkit/server/routes/skill_management.py", + "target": "func:_skill_to_info", + "type": "contains", + "label": "定义函数 _skill_to_info" + }, + { + "id": "edge:1e74cbcf", + "source": "file:src/agentkit/server/routes/skill_management.py", + "target": "func:_skill_to_detail", + "type": "contains", + "label": "定义函数 _skill_to_detail" + }, + { + "id": "edge:eb4a3fa7", + "source": "file:src/agentkit/server/routes/skill_management.py", + "target": "func:list_skills", + "type": "contains", + "label": "定义函数 list_skills" + }, + { + "id": "edge:0b89bf66", + "source": "file:src/agentkit/server/routes/skill_management.py", + "target": "func:get_skill_detail", + "type": "contains", + "label": "定义函数 get_skill_detail" + }, + { + "id": "edge:bc843f9c", + "source": "file:src/agentkit/server/routes/skill_management.py", + "target": "func:check_skill_health", + "type": "contains", + "label": "定义函数 check_skill_health" + }, + { + "id": "edge:c4866957", + "source": "file:src/agentkit/server/routes/skill_management.py", + "target": "func:list_capabilities", + "type": "contains", + "label": "定义函数 list_capabilities" + }, + { + "id": "edge:caa0960c", + "source": "file:src/agentkit/server/routes/skill_management.py", + "target": "func:reload_skill", + "type": "contains", + "label": "定义函数 reload_skill" + }, + { + "id": "edge:49ad0fcb", + "source": "file:src/agentkit/server/routes/skills.py", + "target": "func:_validate_skill_name", + "type": "contains", + "label": "定义函数 _validate_skill_name" + }, + { + "id": "edge:c46cede6", + "source": "file:src/agentkit/server/routes/skills.py", + "target": "func:_get_skills_dir", + "type": "contains", + "label": "定义函数 _get_skills_dir" + }, + { + "id": "edge:bd22ce98", + "source": "file:src/agentkit/server/routes/skills.py", + "target": "func:_validate_source_url", + "type": "contains", + "label": "定义函数 _validate_source_url" + }, + { + "id": "edge:423c7ad0", + "source": "file:src/agentkit/server/routes/skills.py", + "target": "func:_validate_yaml_content", + "type": "contains", + "label": "定义函数 _validate_yaml_content" + }, + { + "id": "edge:c479c53b", + "source": "file:src/agentkit/server/routes/skills.py", + "target": "func:register_skill", + "type": "contains", + "label": "定义函数 register_skill" + }, + { + "id": "edge:e4df51a3", + "source": "file:src/agentkit/server/routes/skills.py", + "target": "func:list_skills", + "type": "contains", + "label": "定义函数 list_skills" + }, + { + "id": "edge:9aa5f9eb", + "source": "file:src/agentkit/server/routes/skills.py", + "target": "func:install_skill", + "type": "contains", + "label": "定义函数 install_skill" + }, + { + "id": "edge:09b5e4da", + "source": "file:src/agentkit/server/routes/skills.py", + "target": "func:uninstall_skill", + "type": "contains", + "label": "定义函数 uninstall_skill" + }, + { + "id": "edge:3209be7a", + "source": "file:src/agentkit/server/routes/skills.py", + "target": "func:create_pipeline", + "type": "contains", + "label": "定义函数 create_pipeline" + }, + { + "id": "edge:4212078b", + "source": "file:src/agentkit/server/routes/skills.py", + "target": "func:list_pipelines", + "type": "contains", + "label": "定义函数 list_pipelines" + }, + { + "id": "edge:b6de8b93", + "source": "file:src/agentkit/server/routes/skills.py", + "target": "func:execute_pipeline", + "type": "contains", + "label": "定义函数 execute_pipeline" + }, + { + "id": "edge:4910a42e", + "source": "file:src/agentkit/server/routes/tasks.py", + "target": "func:_validate_input_size", + "type": "contains", + "label": "定义函数 _validate_input_size" + }, + { + "id": "edge:2a675282", + "source": "file:src/agentkit/server/routes/tasks.py", + "target": "func:list_tasks", + "type": "contains", + "label": "定义函数 list_tasks" + }, + { + "id": "edge:5e8b5f5f", + "source": "file:src/agentkit/server/routes/tasks.py", + "target": "func:submit_task", + "type": "contains", + "label": "定义函数 submit_task" + }, + { + "id": "edge:5fae5d42", + "source": "file:src/agentkit/server/routes/tasks.py", + "target": "func:get_task_status", + "type": "contains", + "label": "定义函数 get_task_status" + }, + { + "id": "edge:62752bd7", + "source": "file:src/agentkit/server/routes/tasks.py", + "target": "func:cancel_task", + "type": "contains", + "label": "定义函数 cancel_task" + }, + { + "id": "edge:ec33c6e6", + "source": "file:src/agentkit/server/routes/tasks.py", + "target": "func:stream_task", + "type": "contains", + "label": "定义函数 stream_task" + }, + { + "id": "edge:95f9157d", + "source": "file:src/agentkit/server/routes/terminal.py", + "target": "func:_get_or_create_session", + "type": "contains", + "label": "定义函数 _get_or_create_session" + }, + { + "id": "edge:50a6404f", + "source": "file:src/agentkit/server/routes/terminal.py", + "target": "func:_cleanup_session", + "type": "contains", + "label": "定义函数 _cleanup_session" + }, + { + "id": "edge:359f4460", + "source": "file:src/agentkit/server/routes/terminal.py", + "target": "func:_is_single_command_dangerous", + "type": "contains", + "label": "定义函数 _is_single_command_dangerous" + }, + { + "id": "edge:bf653383", + "source": "file:src/agentkit/server/routes/terminal.py", + "target": "func:_is_dangerous", + "type": "contains", + "label": "定义函数 _is_dangerous" + }, + { + "id": "edge:868ad543", + "source": "file:src/agentkit/server/routes/terminal.py", + "target": "func:_check_command_safety", + "type": "contains", + "label": "定义函数 _check_command_safety" + }, + { + "id": "edge:62ca3d54", + "source": "file:src/agentkit/server/routes/terminal.py", + "target": "func:execute_command", + "type": "contains", + "label": "定义函数 execute_command" + }, + { + "id": "edge:a00cf8e6", + "source": "file:src/agentkit/server/routes/terminal.py", + "target": "func:list_sessions", + "type": "contains", + "label": "定义函数 list_sessions" + }, + { + "id": "edge:ac7f6b17", + "source": "file:src/agentkit/server/routes/terminal.py", + "target": "func:get_session_history", + "type": "contains", + "label": "定义函数 get_session_history" + }, + { + "id": "edge:4bbf1693", + "source": "file:src/agentkit/server/routes/terminal.py", + "target": "func:close_session", + "type": "contains", + "label": "定义函数 close_session" + }, + { + "id": "edge:0c2ad79f", + "source": "file:src/agentkit/server/routes/terminal.py", + "target": "func:terminal_websocket", + "type": "contains", + "label": "定义函数 terminal_websocket" + }, + { + "id": "edge:32e6d736", + "source": "file:src/agentkit/server/routes/workflows.py", + "target": "func:_verify_api_key", + "type": "contains", + "label": "定义函数 _verify_api_key" + }, + { + "id": "edge:d1627850", + "source": "file:src/agentkit/server/routes/workflows.py", + "target": "func:_ws_subscribe", + "type": "contains", + "label": "定义函数 _ws_subscribe" + }, + { + "id": "edge:5793965d", + "source": "file:src/agentkit/server/routes/workflows.py", + "target": "func:_ws_unsubscribe", + "type": "contains", + "label": "定义函数 _ws_unsubscribe" + }, + { + "id": "edge:cb4118c1", + "source": "file:src/agentkit/server/routes/workflows.py", + "target": "func:_get_store", + "type": "contains", + "label": "定义函数 _get_store" + }, + { + "id": "edge:c7413070", + "source": "file:src/agentkit/server/routes/workflows.py", + "target": "func:_validate_workflow_stages", + "type": "contains", + "label": "定义函数 _validate_workflow_stages" + }, + { + "id": "edge:43263764", + "source": "file:src/agentkit/server/routes/workflows.py", + "target": "func:_execute_workflow", + "type": "contains", + "label": "定义函数 _execute_workflow" + }, + { + "id": "edge:bca6bbfe", + "source": "file:src/agentkit/server/routes/workflows.py", + "target": "func:_evaluate_condition", + "type": "contains", + "label": "定义函数 _evaluate_condition" + }, + { + "id": "edge:f1e30263", + "source": "file:src/agentkit/server/routes/workflows.py", + "target": "func:_broadcast_ws", + "type": "contains", + "label": "定义函数 _broadcast_ws" + }, + { + "id": "edge:38b0a330", + "source": "file:src/agentkit/server/routes/workflows.py", + "target": "func:list_workflows", + "type": "contains", + "label": "定义函数 list_workflows" + }, + { + "id": "edge:76284b23", + "source": "file:src/agentkit/server/routes/workflows.py", + "target": "func:create_workflow", + "type": "contains", + "label": "定义函数 create_workflow" + }, + { + "id": "edge:0fce1373", + "source": "file:src/agentkit/server/routes/workflows.py", + "target": "func:get_workflow", + "type": "contains", + "label": "定义函数 get_workflow" + }, + { + "id": "edge:4beaa741", + "source": "file:src/agentkit/server/routes/workflows.py", + "target": "func:list_workflow_executions", + "type": "contains", + "label": "定义函数 list_workflow_executions" + }, + { + "id": "edge:560b6bc4", + "source": "file:src/agentkit/server/routes/workflows.py", + "target": "func:update_workflow", + "type": "contains", + "label": "定义函数 update_workflow" + }, + { + "id": "edge:0974e432", + "source": "file:src/agentkit/server/routes/workflows.py", + "target": "func:delete_workflow", + "type": "contains", + "label": "定义函数 delete_workflow" + }, + { + "id": "edge:b029197b", + "source": "file:src/agentkit/server/routes/workflows.py", + "target": "func:execute_workflow", + "type": "contains", + "label": "定义函数 execute_workflow" + }, + { + "id": "edge:46f494c0", + "source": "file:src/agentkit/server/routes/workflows.py", + "target": "func:get_execution", + "type": "contains", + "label": "定义函数 get_execution" + }, + { + "id": "edge:5d70a747", + "source": "file:src/agentkit/server/routes/workflows.py", + "target": "func:approve_execution", + "type": "contains", + "label": "定义函数 approve_execution" + }, + { + "id": "edge:6aa262bc", + "source": "file:src/agentkit/server/routes/workflows.py", + "target": "func:cancel_execution", + "type": "contains", + "label": "定义函数 cancel_execution" + }, + { + "id": "edge:0b4c747e", + "source": "file:src/agentkit/server/routes/workflows.py", + "target": "func:workflow_websocket", + "type": "contains", + "label": "定义函数 workflow_websocket" + }, + { + "id": "edge:a0d82d1f", + "source": "file:src/agentkit/server/routes/ws.py", + "target": "func:_authenticate", + "type": "contains", + "label": "定义函数 _authenticate" + }, + { + "id": "edge:e931a4fa", + "source": "file:src/agentkit/server/routes/ws.py", + "target": "func:task_websocket", + "type": "contains", + "label": "定义函数 task_websocket" + }, + { + "id": "edge:8da9dc52", + "source": "file:src/agentkit/server/routes/ws.py", + "target": "func:_resolve_agent", + "type": "contains", + "label": "定义函数 _resolve_agent" + }, + { + "id": "edge:a76cdaf0", + "source": "file:src/agentkit/server/routes/ws.py", + "target": "func:_run_react_and_stream", + "type": "contains", + "label": "定义函数 _run_react_and_stream" + }, + { + "id": "edge:24d184a4", + "source": "file:src/agentkit/server/routes/ws.py", + "target": "func:_listen_client_messages", + "type": "contains", + "label": "定义函数 _listen_client_messages" + }, + { + "id": "edge:4abf5d2d", + "source": "file:src/agentkit/server/task_store.py", + "target": "func:create_task_store", + "type": "contains", + "label": "定义函数 create_task_store" + }, + { + "id": "edge:5efba9d4", + "source": "file:src/agentkit/server/task_store.py", + "target": "func:_sanitize_redis_url", + "type": "contains", + "label": "定义函数 _sanitize_redis_url" + }, + { + "id": "edge:8dfde61f", + "source": "file:src/agentkit/session/store.py", + "target": "func:create_session_store", + "type": "contains", + "label": "定义函数 create_session_store" + }, + { + "id": "edge:792ff066", + "source": "file:src/agentkit/skills/geo_pipeline.py", + "target": "func:create_geo_pipeline_steps", + "type": "contains", + "label": "定义函数 create_geo_pipeline_steps" + }, + { + "id": "edge:4b1e3487", + "source": "file:src/agentkit/telemetry/metrics.py", + "target": "func:get_meter", + "type": "contains", + "label": "定义函数 get_meter" + }, + { + "id": "edge:b9c5b00d", + "source": "file:src/agentkit/telemetry/metrics.py", + "target": "func:_get_counter", + "type": "contains", + "label": "定义函数 _get_counter" + }, + { + "id": "edge:46882b28", + "source": "file:src/agentkit/telemetry/metrics.py", + "target": "func:_get_histogram", + "type": "contains", + "label": "定义函数 _get_histogram" + }, + { + "id": "edge:28315975", + "source": "file:src/agentkit/telemetry/metrics.py", + "target": "func:agent_request_counter", + "type": "contains", + "label": "定义函数 agent_request_counter" + }, + { + "id": "edge:3c27a2f2", + "source": "file:src/agentkit/telemetry/metrics.py", + "target": "func:agent_duration_histogram", + "type": "contains", + "label": "定义函数 agent_duration_histogram" + }, + { + "id": "edge:5c3b735b", + "source": "file:src/agentkit/telemetry/metrics.py", + "target": "func:llm_token_histogram", + "type": "contains", + "label": "定义函数 llm_token_histogram" + }, + { + "id": "edge:c0ecfae2", + "source": "file:src/agentkit/telemetry/metrics.py", + "target": "func:tool_duration_histogram", + "type": "contains", + "label": "定义函数 tool_duration_histogram" + }, + { + "id": "edge:2b2d1232", + "source": "file:src/agentkit/telemetry/metrics.py", + "target": "func:pipeline_step_histogram", + "type": "contains", + "label": "定义函数 pipeline_step_histogram" + }, + { + "id": "edge:07c3e22a", + "source": "file:src/agentkit/telemetry/setup.py", + "target": "func:setup_telemetry", + "type": "contains", + "label": "定义函数 setup_telemetry" + }, + { + "id": "edge:1b0b1de5", + "source": "file:src/agentkit/telemetry/tracer.py", + "target": "func:get_tracer", + "type": "contains", + "label": "定义函数 get_tracer" + }, + { + "id": "edge:92988f77", + "source": "file:src/agentkit/telemetry/tracer.py", + "target": "func:init_telemetry", + "type": "contains", + "label": "定义函数 init_telemetry" + }, + { + "id": "edge:48cd5101", + "source": "file:src/agentkit/telemetry/tracing.py", + "target": "func:get_tracer", + "type": "contains", + "label": "定义函数 get_tracer" + }, + { + "id": "edge:0a1cf7a6", + "source": "file:src/agentkit/telemetry/tracing.py", + "target": "func:start_span", + "type": "contains", + "label": "定义函数 start_span" + }, + { + "id": "edge:3c812766", + "source": "file:src/agentkit/telemetry/tracing.py", + "target": "func:trace_agent", + "type": "contains", + "label": "定义函数 trace_agent" + }, + { + "id": "edge:dee4e06e", + "source": "file:src/agentkit/telemetry/tracing.py", + "target": "func:trace_tool", + "type": "contains", + "label": "定义函数 trace_tool" + }, + { + "id": "edge:ec45c30b", + "source": "file:src/agentkit/telemetry/tracing.py", + "target": "func:trace_llm", + "type": "contains", + "label": "定义函数 trace_llm" + }, + { + "id": "edge:edfceddc", + "source": "file:src/agentkit/telemetry/tracing.py", + "target": "func:trace_pipeline_step", + "type": "contains", + "label": "定义函数 trace_pipeline_step" + }, + { + "id": "edge:c7f74d0b", + "source": "file:src/agentkit/utils/security.py", + "target": "func:is_safe_url", + "type": "contains", + "label": "定义函数 is_safe_url" + }, + { + "id": "edge:59dd5ab1", + "source": "file:src/agentkit/utils/security.py", + "target": "func:_is_unsafe_ip", + "type": "contains", + "label": "定义函数 _is_unsafe_ip" + }, + { + "id": "edge:7611e31a", + "source": "file:src/agentkit/utils/security.py", + "target": "func:is_safe_url_async", + "type": "contains", + "label": "定义函数 is_safe_url_async" + }, + { + "id": "edge:396fc39b", + "source": "file:src/agentkit/utils/vector_math.py", + "target": "func:compute_cosine_similarity", + "type": "contains", + "label": "定义函数 compute_cosine_similarity" + }, + { + "id": "edge:8d0954b8", + "source": "file:configs/geo_handlers.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 TaskMessage" + }, + { + "id": "edge:8fe1373c", + "source": "file:configs/geo_server.py", + "target": "file:src/agentkit/core/agent_pool.py", + "type": "imports", + "label": "导入 AgentPool" + }, + { + "id": "edge:eb993e45", + "source": "file:configs/geo_server.py", + "target": "file:src/agentkit/llm/config.py", + "type": "imports", + "label": "导入 LLMConfig" + }, + { + "id": "edge:211a3e9b", + "source": "file:configs/geo_server.py", + "target": "file:src/agentkit/llm/gateway.py", + "type": "imports", + "label": "导入 LLMGateway" + }, + { + "id": "edge:3c9dac5e", + "source": "file:configs/geo_server.py", + "target": "file:src/agentkit/llm/providers/openai.py", + "type": "imports", + "label": "导入 OpenAICompatibleProvider" + }, + { + "id": "edge:a654afc6", + "source": "file:configs/geo_server.py", + "target": "file:src/agentkit/quality/gate.py", + "type": "imports", + "label": "导入 QualityGate" + }, + { + "id": "edge:c5d58516", + "source": "file:configs/geo_server.py", + "target": "file:src/agentkit/quality/output.py", + "type": "imports", + "label": "导入 OutputStandardizer" + }, + { + "id": "edge:81c6d863", + "source": "file:configs/geo_server.py", + "target": "file:src/agentkit/router/intent.py", + "type": "imports", + "label": "导入 IntentRouter" + }, + { + "id": "edge:6030c1de", + "source": "file:configs/geo_server.py", + "target": "file:src/agentkit/server/app.py", + "type": "imports", + "label": "导入 create_app" + }, + { + "id": "edge:e6754e12", + "source": "file:configs/geo_server.py", + "target": "file:src/agentkit/skills/loader.py", + "type": "imports", + "label": "导入 SkillLoader" + }, + { + "id": "edge:326604cd", + "source": "file:configs/geo_server.py", + "target": "file:src/agentkit/skills/registry.py", + "type": "imports", + "label": "导入 SkillRegistry" + }, + { + "id": "edge:72584436", + "source": "file:configs/geo_server.py", + "target": "file:src/agentkit/tools/registry.py", + "type": "imports", + "label": "导入 ToolRegistry" + }, + { + "id": "edge:1a82804e", + "source": "file:configs/geo_server.py", + "target": "file:configs/geo_tools.py", + "type": "imports", + "label": "导入 register_geo_tools" + }, + { + "id": "edge:9389c489", + "source": "file:configs/geo_tools.py", + "target": "file:src/agentkit/tools/function_tool.py", + "type": "imports", + "label": "导入 FunctionTool" + }, + { + "id": "edge:ea058603", + "source": "file:configs/geo_tools.py", + "target": "file:src/agentkit/tools/registry.py", + "type": "imports", + "label": "导入 ToolRegistry" + }, + { + "id": "edge:8e64b77e", + "source": "file:src/agentkit/__init__.py", + "target": "file:src/agentkit/core/base.py", + "type": "imports", + "label": "导入 BaseAgent" + }, + { + "id": "edge:7e149f70", + "source": "file:src/agentkit/__init__.py", + "target": "file:src/agentkit/core/config_driven.py", + "type": "imports", + "label": "导入 AgentConfig" + }, + { + "id": "edge:be849581", + "source": "file:src/agentkit/__init__.py", + "target": "file:src/agentkit/core/config_driven.py", + "type": "imports", + "label": "导入 ConfigDrivenAgent" + }, + { + "id": "edge:2a69161a", + "source": "file:src/agentkit/__init__.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 AgentCapability" + }, + { + "id": "edge:f006da46", + "source": "file:src/agentkit/__init__.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 AgentStatus" + }, + { + "id": "edge:d3984611", + "source": "file:src/agentkit/__init__.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 HandoffMessage" + }, + { + "id": "edge:ebd1e482", + "source": "file:src/agentkit/__init__.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 TaskMessage" + }, + { + "id": "edge:20c486ca", + "source": "file:src/agentkit/__init__.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 TaskProgress" + }, + { + "id": "edge:90ad7760", + "source": "file:src/agentkit/__init__.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 TaskResult" + }, + { + "id": "edge:d11c54a3", + "source": "file:src/agentkit/__init__.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 TaskStatus" + }, + { + "id": "edge:8885e991", + "source": "file:src/agentkit/__init__.py", + "target": "file:src/agentkit/core/react.py", + "type": "imports", + "label": "导入 ReActEngine" + }, + { + "id": "edge:28242c32", + "source": "file:src/agentkit/__init__.py", + "target": "file:src/agentkit/core/react.py", + "type": "imports", + "label": "导入 ReActResult" + }, + { + "id": "edge:4a3dc053", + "source": "file:src/agentkit/__init__.py", + "target": "file:src/agentkit/core/react.py", + "type": "imports", + "label": "导入 ReActStep" + }, + { + "id": "edge:c2c7b478", + "source": "file:src/agentkit/__init__.py", + "target": "file:src/agentkit/llm/gateway.py", + "type": "imports", + "label": "导入 LLMGateway" + }, + { + "id": "edge:cdc9cdf0", + "source": "file:src/agentkit/__init__.py", + "target": "file:src/agentkit/llm/protocol.py", + "type": "imports", + "label": "导入 LLMProvider" + }, + { + "id": "edge:1beca61a", + "source": "file:src/agentkit/__init__.py", + "target": "file:src/agentkit/llm/protocol.py", + "type": "imports", + "label": "导入 LLMRequest" + }, + { + "id": "edge:c24b052e", + "source": "file:src/agentkit/__init__.py", + "target": "file:src/agentkit/llm/protocol.py", + "type": "imports", + "label": "导入 LLMResponse" + }, + { + "id": "edge:52a7a716", + "source": "file:src/agentkit/__init__.py", + "target": "file:src/agentkit/llm/protocol.py", + "type": "imports", + "label": "导入 TokenUsage" + }, + { + "id": "edge:da6a201a", + "source": "file:src/agentkit/__init__.py", + "target": "file:src/agentkit/llm/protocol.py", + "type": "imports", + "label": "导入 ToolCall" + }, + { + "id": "edge:10242231", + "source": "file:src/agentkit/__init__.py", + "target": "file:src/agentkit/skills/base.py", + "type": "imports", + "label": "导入 Skill" + }, + { + "id": "edge:8a06452c", + "source": "file:src/agentkit/__init__.py", + "target": "file:src/agentkit/skills/base.py", + "type": "imports", + "label": "导入 SkillConfig" + }, + { + "id": "edge:ee9c2e3c", + "source": "file:src/agentkit/__init__.py", + "target": "file:src/agentkit/skills/base.py", + "type": "imports", + "label": "导入 IntentConfig" + }, + { + "id": "edge:7d1c2222", + "source": "file:src/agentkit/__init__.py", + "target": "file:src/agentkit/skills/base.py", + "type": "imports", + "label": "导入 QualityGateConfig" + }, + { + "id": "edge:005d50a9", + "source": "file:src/agentkit/__init__.py", + "target": "file:src/agentkit/skills/registry.py", + "type": "imports", + "label": "导入 SkillRegistry" + }, + { + "id": "edge:e90b0000", + "source": "file:src/agentkit/__init__.py", + "target": "file:src/agentkit/router/intent.py", + "type": "imports", + "label": "导入 IntentRouter" + }, + { + "id": "edge:97f260f1", + "source": "file:src/agentkit/__init__.py", + "target": "file:src/agentkit/router/intent.py", + "type": "imports", + "label": "导入 RoutingResult" + }, + { + "id": "edge:b628bc96", + "source": "file:src/agentkit/__init__.py", + "target": "file:src/agentkit/quality/gate.py", + "type": "imports", + "label": "导入 QualityGate" + }, + { + "id": "edge:f2645c5e", + "source": "file:src/agentkit/__init__.py", + "target": "file:src/agentkit/quality/gate.py", + "type": "imports", + "label": "导入 QualityResult" + }, + { + "id": "edge:20223ca3", + "source": "file:src/agentkit/__init__.py", + "target": "file:src/agentkit/quality/gate.py", + "type": "imports", + "label": "导入 QualityCheck" + }, + { + "id": "edge:a2f50cb7", + "source": "file:src/agentkit/__init__.py", + "target": "file:src/agentkit/quality/output.py", + "type": "imports", + "label": "导入 OutputStandardizer" + }, + { + "id": "edge:09f4a238", + "source": "file:src/agentkit/__init__.py", + "target": "file:src/agentkit/quality/output.py", + "type": "imports", + "label": "导入 StandardOutput" + }, + { + "id": "edge:b6e3b3ce", + "source": "file:src/agentkit/__init__.py", + "target": "file:src/agentkit/quality/output.py", + "type": "imports", + "label": "导入 OutputMetadata" + }, + { + "id": "edge:512b8130", + "source": "file:src/agentkit/__main__.py", + "target": "file:src/agentkit/cli/main.py", + "type": "imports", + "label": "导入 app" + }, + { + "id": "edge:959206e8", + "source": "file:src/agentkit/bus/__init__.py", + "target": "file:src/agentkit/bus/message.py", + "type": "imports", + "label": "导入 AgentMessage" + }, + { + "id": "edge:47dcb559", + "source": "file:src/agentkit/bus/__init__.py", + "target": "file:src/agentkit/bus/interface.py", + "type": "imports", + "label": "导入 MessageBus" + }, + { + "id": "edge:bc7982b1", + "source": "file:src/agentkit/bus/__init__.py", + "target": "file:src/agentkit/bus/protocol.py", + "type": "imports", + "label": "导入 MessageBus" + }, + { + "id": "edge:95047c9a", + "source": "file:src/agentkit/bus/__init__.py", + "target": "file:src/agentkit/bus/memory_bus.py", + "type": "imports", + "label": "导入 InMemoryMessageBus" + }, + { + "id": "edge:c689db95", + "source": "file:src/agentkit/bus/__init__.py", + "target": "file:src/agentkit/bus/redis_bus.py", + "type": "imports", + "label": "导入 RedisMessageBus" + }, + { + "id": "edge:cddb865b", + "source": "file:src/agentkit/bus/__init__.py", + "target": "file:src/agentkit/bus/redis_bus.py", + "type": "imports", + "label": "导入 create_message_bus" + }, + { + "id": "edge:85c17f21", + "source": "file:src/agentkit/bus/interface.py", + "target": "file:src/agentkit/bus/message.py", + "type": "imports", + "label": "导入 AgentMessage" + }, + { + "id": "edge:ec770026", + "source": "file:src/agentkit/bus/memory_bus.py", + "target": "file:src/agentkit/bus/message.py", + "type": "imports", + "label": "导入 AgentMessage" + }, + { + "id": "edge:5a07daa1", + "source": "file:src/agentkit/bus/protocol.py", + "target": "file:src/agentkit/bus/message.py", + "type": "imports", + "label": "导入 AgentMessage" + }, + { + "id": "edge:795cea1c", + "source": "file:src/agentkit/bus/redis_bus.py", + "target": "file:src/agentkit/bus/message.py", + "type": "imports", + "label": "导入 AgentMessage" + }, + { + "id": "edge:bf730b6a", + "source": "file:src/agentkit/bus/redis_bus.py", + "target": "file:src/agentkit/bus/memory_bus.py", + "type": "imports", + "label": "导入 InMemoryMessageBus" + }, + { + "id": "edge:c5d5723d", + "source": "file:src/agentkit/chat/skill_routing.py", + "target": "file:src/agentkit/marketplace/auction.py", + "type": "imports", + "label": "导入 AuctionHouse" + }, + { + "id": "edge:2e963eca", + "source": "file:src/agentkit/chat/skill_routing.py", + "target": "file:src/agentkit/marketplace/auction.py", + "type": "imports", + "label": "导入 Bid" + }, + { + "id": "edge:32d0b8bf", + "source": "file:src/agentkit/chat/skill_routing.py", + "target": "file:src/agentkit/telemetry/tracer.py", + "type": "imports", + "label": "导入 get_tracer" + }, + { + "id": "edge:ba276769", + "source": "file:src/agentkit/cli/chat.py", + "target": "file:src/agentkit/cli/onboarding.py", + "type": "imports", + "label": "导入 run_onboarding" + }, + { + "id": "edge:af5e6831", + "source": "file:src/agentkit/cli/chat.py", + "target": "file:src/agentkit/server/config.py", + "type": "imports", + "label": "导入 ServerConfig" + }, + { + "id": "edge:00be1e46", + "source": "file:src/agentkit/cli/chat.py", + "target": "file:src/agentkit/server/config.py", + "type": "imports", + "label": "导入 find_config_path" + }, + { + "id": "edge:76bde917", + "source": "file:src/agentkit/cli/chat.py", + "target": "file:src/agentkit/session/manager.py", + "type": "imports", + "label": "导入 SessionManager" + }, + { + "id": "edge:adf5fa27", + "source": "file:src/agentkit/cli/chat.py", + "target": "file:src/agentkit/session/store.py", + "type": "imports", + "label": "导入 InMemorySessionStore" + }, + { + "id": "edge:71e7416f", + "source": "file:src/agentkit/cli/chat.py", + "target": "file:src/agentkit/session/models.py", + "type": "imports", + "label": "导入 MessageRole" + }, + { + "id": "edge:f325541d", + "source": "file:src/agentkit/cli/chat.py", + "target": "file:src/agentkit/core/react.py", + "type": "imports", + "label": "导入 ReActEngine" + }, + { + "id": "edge:b8d5ebf8", + "source": "file:src/agentkit/cli/chat.py", + "target": "file:src/agentkit/tools/base.py", + "type": "imports", + "label": "导入 Tool" + }, + { + "id": "edge:d36e943e", + "source": "file:src/agentkit/cli/chat.py", + "target": "file:src/agentkit/memory/profile.py", + "type": "imports", + "label": "导入 MemoryStore" + }, + { + "id": "edge:a20beacc", + "source": "file:src/agentkit/cli/chat.py", + "target": "file:src/agentkit/tools/memory_tool.py", + "type": "imports", + "label": "导入 MemoryTool" + }, + { + "id": "edge:7991e95b", + "source": "file:src/agentkit/cli/chat.py", + "target": "file:src/agentkit/tools/shell.py", + "type": "imports", + "label": "导入 ShellTool" + }, + { + "id": "edge:cc603724", + "source": "file:src/agentkit/cli/chat.py", + "target": "file:src/agentkit/tools/web_search.py", + "type": "imports", + "label": "导入 WebSearchTool" + }, + { + "id": "edge:588a3d01", + "source": "file:src/agentkit/cli/chat.py", + "target": "file:src/agentkit/tools/web_crawl.py", + "type": "imports", + "label": "导入 WebCrawlTool" + }, + { + "id": "edge:9ba0e5dc", + "source": "file:src/agentkit/cli/chat.py", + "target": "file:src/agentkit/tools/registry.py", + "type": "imports", + "label": "导入 ToolRegistry" + }, + { + "id": "edge:b36729aa", + "source": "file:src/agentkit/cli/chat.py", + "target": "file:src/agentkit/skills/registry.py", + "type": "imports", + "label": "导入 SkillRegistry" + }, + { + "id": "edge:392d7371", + "source": "file:src/agentkit/cli/chat.py", + "target": "file:src/agentkit/skills/loader.py", + "type": "imports", + "label": "导入 SkillLoader" + }, + { + "id": "edge:1f317475", + "source": "file:src/agentkit/cli/chat.py", + "target": "file:src/agentkit/router/intent.py", + "type": "imports", + "label": "导入 IntentRouter" + }, + { + "id": "edge:4cf3eca7", + "source": "file:src/agentkit/cli/chat.py", + "target": "file:src/agentkit/llm/gateway.py", + "type": "imports", + "label": "导入 LLMGateway" + }, + { + "id": "edge:b84ecb35", + "source": "file:src/agentkit/cli/chat.py", + "target": "file:src/agentkit/llm/providers/anthropic.py", + "type": "imports", + "label": "导入 AnthropicProvider" + }, + { + "id": "edge:01438a14", + "source": "file:src/agentkit/cli/chat.py", + "target": "file:src/agentkit/llm/providers/gemini.py", + "type": "imports", + "label": "导入 GeminiProvider" + }, + { + "id": "edge:52429f46", + "source": "file:src/agentkit/cli/chat.py", + "target": "file:src/agentkit/llm/providers/openai.py", + "type": "imports", + "label": "导入 OpenAICompatibleProvider" + }, + { + "id": "edge:456982a1", + "source": "file:src/agentkit/cli/chat.py", + "target": "file:src/agentkit/chat/skill_routing.py", + "type": "imports", + "label": "导入 resolve_skill_routing" + }, + { + "id": "edge:f4e32933", + "source": "file:src/agentkit/cli/init.py", + "target": "file:src/agentkit/cli/templates.py", + "type": "imports", + "label": "导入 AGENTKIT_YAML" + }, + { + "id": "edge:69efc675", + "source": "file:src/agentkit/cli/init.py", + "target": "file:src/agentkit/cli/templates.py", + "type": "imports", + "label": "导入 ENV_EXAMPLE" + }, + { + "id": "edge:7a8f67d1", + "source": "file:src/agentkit/cli/init.py", + "target": "file:src/agentkit/cli/templates.py", + "type": "imports", + "label": "导入 DOCKER_COMPOSE" + }, + { + "id": "edge:64c8f466", + "source": "file:src/agentkit/cli/init.py", + "target": "file:src/agentkit/cli/templates.py", + "type": "imports", + "label": "导入 EXAMPLE_SKILL" + }, + { + "id": "edge:43811b29", + "source": "file:src/agentkit/cli/main.py", + "target": "file:src/agentkit/cli/task.py", + "type": "imports", + "label": "导入 task_app" + }, + { + "id": "edge:55c519f9", + "source": "file:src/agentkit/cli/main.py", + "target": "file:src/agentkit/cli/skill.py", + "type": "imports", + "label": "导入 skill_app" + }, + { + "id": "edge:7fe6dcaf", + "source": "file:src/agentkit/cli/main.py", + "target": "file:src/agentkit/cli/init.py", + "type": "imports", + "label": "导入 init" + }, + { + "id": "edge:e7c5a6db", + "source": "file:src/agentkit/cli/main.py", + "target": "file:src/agentkit/cli/usage.py", + "type": "imports", + "label": "导入 usage" + }, + { + "id": "edge:14a9f0ea", + "source": "file:src/agentkit/cli/main.py", + "target": "file:src/agentkit/cli/pair.py", + "type": "imports", + "label": "导入 pair" + }, + { + "id": "edge:be18b5e9", + "source": "file:src/agentkit/cli/main.py", + "target": "file:src/agentkit/cli/chat.py", + "type": "imports", + "label": "导入 chat" + }, + { + "id": "edge:55995dc0", + "source": "file:src/agentkit/cli/main.py", + "target": "file:src/agentkit/server/config.py", + "type": "imports", + "label": "导入 ServerConfig" + }, + { + "id": "edge:611ad5e8", + "source": "file:src/agentkit/cli/main.py", + "target": "file:src/agentkit/server/config.py", + "type": "imports", + "label": "导入 find_config_path" + }, + { + "id": "edge:c34e9c9b", + "source": "file:src/agentkit/cli/main.py", + "target": "file:src/agentkit/cli/onboarding.py", + "type": "imports", + "label": "导入 run_onboarding" + }, + { + "id": "edge:83d9803b", + "source": "file:src/agentkit/cli/main.py", + "target": "file:src/agentkit/server/app.py", + "type": "imports", + "label": "导入 create_app" + }, + { + "id": "edge:98a43270", + "source": "file:src/agentkit/cli/main.py", + "target": "file:src/agentkit/server/config.py", + "type": "imports", + "label": "导入 ServerConfig" + }, + { + "id": "edge:d41ee0ec", + "source": "file:src/agentkit/cli/main.py", + "target": "file:src/agentkit/server/config.py", + "type": "imports", + "label": "导入 find_config_path" + }, + { + "id": "edge:7d65ed30", + "source": "file:src/agentkit/cli/main.py", + "target": "file:src/agentkit/cli/onboarding.py", + "type": "imports", + "label": "导入 needs_onboarding" + }, + { + "id": "edge:eb856d9c", + "source": "file:src/agentkit/cli/main.py", + "target": "file:src/agentkit/cli/onboarding.py", + "type": "imports", + "label": "导入 run_onboarding" + }, + { + "id": "edge:cd8a477f", + "source": "file:src/agentkit/cli/onboarding.py", + "target": "file:src/agentkit/server/config.py", + "type": "imports", + "label": "导入 find_config_path" + }, + { + "id": "edge:e9cdd749", + "source": "file:src/agentkit/cli/onboarding.py", + "target": "file:src/agentkit/memory/profile.py", + "type": "imports", + "label": "导入 MemoryStore" + }, + { + "id": "edge:5d34f283", + "source": "file:src/agentkit/cli/skill.py", + "target": "file:src/agentkit/skills/loader.py", + "type": "imports", + "label": "导入 SkillLoader" + }, + { + "id": "edge:1d560e0c", + "source": "file:src/agentkit/cli/skill.py", + "target": "file:src/agentkit/skills/registry.py", + "type": "imports", + "label": "导入 SkillRegistry" + }, + { + "id": "edge:6db4ae97", + "source": "file:src/agentkit/cli/skill.py", + "target": "file:src/agentkit/tools/registry.py", + "type": "imports", + "label": "导入 ToolRegistry" + }, + { + "id": "edge:e4985524", + "source": "file:src/agentkit/cli/skill.py", + "target": "file:src/agentkit/skills/loader.py", + "type": "imports", + "label": "导入 SkillLoader" + }, + { + "id": "edge:bdd73dca", + "source": "file:src/agentkit/cli/skill.py", + "target": "file:src/agentkit/skills/registry.py", + "type": "imports", + "label": "导入 SkillRegistry" + }, + { + "id": "edge:32e51a89", + "source": "file:src/agentkit/cli/skill.py", + "target": "file:src/agentkit/tools/registry.py", + "type": "imports", + "label": "导入 ToolRegistry" + }, + { + "id": "edge:a3ac0bfd", + "source": "file:src/agentkit/cli/skill.py", + "target": "file:src/agentkit/skills/registry.py", + "type": "imports", + "label": "导入 SkillRegistry" + }, + { + "id": "edge:9c0ec683", + "source": "file:src/agentkit/cli/task.py", + "target": "file:src/agentkit/server/client.py", + "type": "imports", + "label": "导入 AgentKitClient" + }, + { + "id": "edge:2623c028", + "source": "file:src/agentkit/cli/task.py", + "target": "file:src/agentkit/server/config.py", + "type": "imports", + "label": "导入 ServerConfig" + }, + { + "id": "edge:d24df1f9", + "source": "file:src/agentkit/cli/task.py", + "target": "file:src/agentkit/server/config.py", + "type": "imports", + "label": "导入 find_config_path" + }, + { + "id": "edge:f73bea8a", + "source": "file:src/agentkit/cli/task.py", + "target": "file:src/agentkit/server/app.py", + "type": "imports", + "label": "导入 create_app" + }, + { + "id": "edge:82b53894", + "source": "file:src/agentkit/cli/task.py", + "target": "file:src/agentkit/server/client.py", + "type": "imports", + "label": "导入 AgentKitClient" + }, + { + "id": "edge:b80a716d", + "source": "file:src/agentkit/cli/task.py", + "target": "file:src/agentkit/server/client.py", + "type": "imports", + "label": "导入 AgentKitClient" + }, + { + "id": "edge:40ce54b8", + "source": "file:src/agentkit/cli/task.py", + "target": "file:src/agentkit/server/client.py", + "type": "imports", + "label": "导入 AgentKitClient" + }, + { + "id": "edge:cfeb620b", + "source": "file:src/agentkit/cli/task.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 TaskMessage" + }, + { + "id": "edge:e939d8e9", + "source": "file:src/agentkit/cli/task.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 TaskStatus" + }, + { + "id": "edge:1310cfd0", + "source": "file:src/agentkit/cli/usage.py", + "target": "file:src/agentkit/llm/gateway.py", + "type": "imports", + "label": "导入 LLMGateway" + }, + { + "id": "edge:00a07d87", + "source": "file:src/agentkit/core/__init__.py", + "target": "file:src/agentkit/core/base.py", + "type": "imports", + "label": "导入 BaseAgent" + }, + { + "id": "edge:d9b05e1e", + "source": "file:src/agentkit/core/__init__.py", + "target": "file:src/agentkit/core/compressor.py", + "type": "imports", + "label": "导入 CompressionStrategy" + }, + { + "id": "edge:6396a367", + "source": "file:src/agentkit/core/__init__.py", + "target": "file:src/agentkit/core/compressor.py", + "type": "imports", + "label": "导入 ContextCompressor" + }, + { + "id": "edge:88e80f15", + "source": "file:src/agentkit/core/__init__.py", + "target": "file:src/agentkit/core/compressor.py", + "type": "imports", + "label": "导入 create_compressor" + }, + { + "id": "edge:d66024c2", + "source": "file:src/agentkit/core/__init__.py", + "target": "file:src/agentkit/core/config_driven.py", + "type": "imports", + "label": "导入 AgentConfig" + }, + { + "id": "edge:b860749e", + "source": "file:src/agentkit/core/__init__.py", + "target": "file:src/agentkit/core/config_driven.py", + "type": "imports", + "label": "导入 ConfigDrivenAgent" + }, + { + "id": "edge:7d9fdd17", + "source": "file:src/agentkit/core/__init__.py", + "target": "file:src/agentkit/core/exceptions.py", + "type": "imports", + "label": "导入 AgentAlreadyRegisteredError" + }, + { + "id": "edge:56034bdf", + "source": "file:src/agentkit/core/__init__.py", + "target": "file:src/agentkit/core/exceptions.py", + "type": "imports", + "label": "导入 AgentFrameworkError" + }, + { + "id": "edge:f14888a2", + "source": "file:src/agentkit/core/__init__.py", + "target": "file:src/agentkit/core/exceptions.py", + "type": "imports", + "label": "导入 AgentNotFoundError" + }, + { + "id": "edge:bfadda24", + "source": "file:src/agentkit/core/__init__.py", + "target": "file:src/agentkit/core/exceptions.py", + "type": "imports", + "label": "导入 AgentNotReadyError" + }, + { + "id": "edge:b0f32b72", + "source": "file:src/agentkit/core/__init__.py", + "target": "file:src/agentkit/core/exceptions.py", + "type": "imports", + "label": "导入 AgentUnavailableError" + }, + { + "id": "edge:0dbf5ab2", + "source": "file:src/agentkit/core/__init__.py", + "target": "file:src/agentkit/core/exceptions.py", + "type": "imports", + "label": "导入 ConfigValidationError" + }, + { + "id": "edge:55349842", + "source": "file:src/agentkit/core/__init__.py", + "target": "file:src/agentkit/core/exceptions.py", + "type": "imports", + "label": "导入 EvolutionError" + }, + { + "id": "edge:57783952", + "source": "file:src/agentkit/core/__init__.py", + "target": "file:src/agentkit/core/exceptions.py", + "type": "imports", + "label": "导入 HandoffError" + }, + { + "id": "edge:c4c448b1", + "source": "file:src/agentkit/core/__init__.py", + "target": "file:src/agentkit/core/exceptions.py", + "type": "imports", + "label": "导入 LLMError" + }, + { + "id": "edge:7c01400f", + "source": "file:src/agentkit/core/__init__.py", + "target": "file:src/agentkit/core/exceptions.py", + "type": "imports", + "label": "导入 LLMProviderError" + }, + { + "id": "edge:6b9a0667", + "source": "file:src/agentkit/core/__init__.py", + "target": "file:src/agentkit/core/exceptions.py", + "type": "imports", + "label": "导入 ModelNotFoundError" + }, + { + "id": "edge:7f03da3e", + "source": "file:src/agentkit/core/__init__.py", + "target": "file:src/agentkit/core/exceptions.py", + "type": "imports", + "label": "导入 NoAvailableAgentError" + }, + { + "id": "edge:a1d87112", + "source": "file:src/agentkit/core/__init__.py", + "target": "file:src/agentkit/core/exceptions.py", + "type": "imports", + "label": "导入 SchemaValidationError" + }, + { + "id": "edge:ebf8929a", + "source": "file:src/agentkit/core/__init__.py", + "target": "file:src/agentkit/core/exceptions.py", + "type": "imports", + "label": "导入 TaskCancelledError" + }, + { + "id": "edge:7f0ed62d", + "source": "file:src/agentkit/core/__init__.py", + "target": "file:src/agentkit/core/exceptions.py", + "type": "imports", + "label": "导入 TaskDispatchError" + }, + { + "id": "edge:58a56e8e", + "source": "file:src/agentkit/core/__init__.py", + "target": "file:src/agentkit/core/exceptions.py", + "type": "imports", + "label": "导入 TaskExecutionError" + }, + { + "id": "edge:c26e0eea", + "source": "file:src/agentkit/core/__init__.py", + "target": "file:src/agentkit/core/exceptions.py", + "type": "imports", + "label": "导入 TaskNotFoundError" + }, + { + "id": "edge:b390b713", + "source": "file:src/agentkit/core/__init__.py", + "target": "file:src/agentkit/core/exceptions.py", + "type": "imports", + "label": "导入 TaskTimeoutError" + }, + { + "id": "edge:6e3b8504", + "source": "file:src/agentkit/core/__init__.py", + "target": "file:src/agentkit/core/exceptions.py", + "type": "imports", + "label": "导入 ToolExecutionError" + }, + { + "id": "edge:8b0d15ab", + "source": "file:src/agentkit/core/__init__.py", + "target": "file:src/agentkit/core/exceptions.py", + "type": "imports", + "label": "导入 ToolNotFoundError" + }, + { + "id": "edge:8caa35e5", + "source": "file:src/agentkit/core/__init__.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 AgentCapability" + }, + { + "id": "edge:3f74d027", + "source": "file:src/agentkit/core/__init__.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 AgentStatus" + }, + { + "id": "edge:fac32171", + "source": "file:src/agentkit/core/__init__.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 CancellationToken" + }, + { + "id": "edge:662b67df", + "source": "file:src/agentkit/core/__init__.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 EvolutionEvent" + }, + { + "id": "edge:3d3850e0", + "source": "file:src/agentkit/core/__init__.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 HandoffMessage" + }, + { + "id": "edge:3fb6402d", + "source": "file:src/agentkit/core/__init__.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 TaskMessage" + }, + { + "id": "edge:ed63f904", + "source": "file:src/agentkit/core/__init__.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 TaskProgress" + }, + { + "id": "edge:6e464e5e", + "source": "file:src/agentkit/core/__init__.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 TaskResult" + }, + { + "id": "edge:6bda0c2d", + "source": "file:src/agentkit/core/__init__.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 TaskStatus" + }, + { + "id": "edge:a631310c", + "source": "file:src/agentkit/core/__init__.py", + "target": "file:src/agentkit/core/headroom_compressor.py", + "type": "imports", + "label": "导入 HeadroomCompressor" + }, + { + "id": "edge:5a09a8bb", + "source": "file:src/agentkit/core/agent_pool.py", + "target": "file:src/agentkit/core/config_driven.py", + "type": "imports", + "label": "导入 ConfigDrivenAgent" + }, + { + "id": "edge:68c651f0", + "source": "file:src/agentkit/core/agent_pool.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 AgentStatus" + }, + { + "id": "edge:f553ec04", + "source": "file:src/agentkit/core/agent_pool.py", + "target": "file:src/agentkit/core/react.py", + "type": "imports", + "label": "导入 ReActEngine" + }, + { + "id": "edge:23116850", + "source": "file:src/agentkit/core/agent_pool.py", + "target": "file:src/agentkit/llm/gateway.py", + "type": "imports", + "label": "导入 LLMGateway" + }, + { + "id": "edge:31c4b957", + "source": "file:src/agentkit/core/agent_pool.py", + "target": "file:src/agentkit/skills/registry.py", + "type": "imports", + "label": "导入 SkillRegistry" + }, + { + "id": "edge:8b8b5073", + "source": "file:src/agentkit/core/agent_pool.py", + "target": "file:src/agentkit/tools/registry.py", + "type": "imports", + "label": "导入 ToolRegistry" + }, + { + "id": "edge:a91900a5", + "source": "file:src/agentkit/core/agent_pool.py", + "target": "file:src/agentkit/core/compressor.py", + "type": "imports", + "label": "导入 CompressionStrategy" + }, + { + "id": "edge:2890eb30", + "source": "file:src/agentkit/core/base.py", + "target": "file:src/agentkit/core/exceptions.py", + "type": "imports", + "label": "导入 AgentNotReadyError" + }, + { + "id": "edge:c3e92dda", + "source": "file:src/agentkit/core/base.py", + "target": "file:src/agentkit/core/exceptions.py", + "type": "imports", + "label": "导入 SchemaValidationError" + }, + { + "id": "edge:c73d642f", + "source": "file:src/agentkit/core/base.py", + "target": "file:src/agentkit/core/exceptions.py", + "type": "imports", + "label": "导入 TaskCancelledError" + }, + { + "id": "edge:d36a0f7e", + "source": "file:src/agentkit/core/base.py", + "target": "file:src/agentkit/core/exceptions.py", + "type": "imports", + "label": "导入 TaskTimeoutError" + }, + { + "id": "edge:ce72e9d9", + "source": "file:src/agentkit/core/base.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 AgentCapability" + }, + { + "id": "edge:e67a8816", + "source": "file:src/agentkit/core/base.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 AgentStatus" + }, + { + "id": "edge:1452f21e", + "source": "file:src/agentkit/core/base.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 CancellationToken" + }, + { + "id": "edge:3410d05d", + "source": "file:src/agentkit/core/base.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 HandoffMessage" + }, + { + "id": "edge:ecc469b3", + "source": "file:src/agentkit/core/base.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 TaskMessage" + }, + { + "id": "edge:53df998c", + "source": "file:src/agentkit/core/base.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 TaskProgress" + }, + { + "id": "edge:670f0bc1", + "source": "file:src/agentkit/core/base.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 TaskResult" + }, + { + "id": "edge:71bc09e3", + "source": "file:src/agentkit/core/base.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 TaskStatus" + }, + { + "id": "edge:958d2837", + "source": "file:src/agentkit/core/base.py", + "target": "file:src/agentkit/memory/base.py", + "type": "imports", + "label": "导入 Memory" + }, + { + "id": "edge:091d52ca", + "source": "file:src/agentkit/core/base.py", + "target": "file:src/agentkit/tools/base.py", + "type": "imports", + "label": "导入 Tool" + }, + { + "id": "edge:714e3a37", + "source": "file:src/agentkit/core/base.py", + "target": "file:src/agentkit/llm/gateway.py", + "type": "imports", + "label": "导入 LLMGateway" + }, + { + "id": "edge:28caa9f2", + "source": "file:src/agentkit/core/base.py", + "target": "file:src/agentkit/skills/base.py", + "type": "imports", + "label": "导入 Skill" + }, + { + "id": "edge:095083e7", + "source": "file:src/agentkit/core/base.py", + "target": "file:src/agentkit/quality/gate.py", + "type": "imports", + "label": "导入 QualityGate" + }, + { + "id": "edge:65bfd6c8", + "source": "file:src/agentkit/core/base.py", + "target": "file:src/agentkit/quality/gate.py", + "type": "imports", + "label": "导入 QualityGate" + }, + { + "id": "edge:451b3b5e", + "source": "file:src/agentkit/core/compressor.py", + "target": "file:src/agentkit/core/headroom_compressor.py", + "type": "imports", + "label": "导入 HeadroomCompressor" + }, + { + "id": "edge:2b311ac0", + "source": "file:src/agentkit/core/config_driven.py", + "target": "file:src/agentkit/core/base.py", + "type": "imports", + "label": "导入 BaseAgent" + }, + { + "id": "edge:d7024497", + "source": "file:src/agentkit/core/config_driven.py", + "target": "file:src/agentkit/core/exceptions.py", + "type": "imports", + "label": "导入 ConfigValidationError" + }, + { + "id": "edge:e4244e73", + "source": "file:src/agentkit/core/config_driven.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 AgentCapability" + }, + { + "id": "edge:742f27de", + "source": "file:src/agentkit/core/config_driven.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 TaskMessage" + }, + { + "id": "edge:92095ea9", + "source": "file:src/agentkit/core/config_driven.py", + "target": "file:src/agentkit/evolution/lifecycle.py", + "type": "imports", + "label": "导入 EvolutionMixin" + }, + { + "id": "edge:4fcec067", + "source": "file:src/agentkit/core/config_driven.py", + "target": "file:src/agentkit/evolution/reflector.py", + "type": "imports", + "label": "导入 Reflector" + }, + { + "id": "edge:a698d772", + "source": "file:src/agentkit/core/config_driven.py", + "target": "file:src/agentkit/prompts/section.py", + "type": "imports", + "label": "导入 PromptSection" + }, + { + "id": "edge:cb6ffa9c", + "source": "file:src/agentkit/core/config_driven.py", + "target": "file:src/agentkit/prompts/template.py", + "type": "imports", + "label": "导入 PromptTemplate" + }, + { + "id": "edge:568284fa", + "source": "file:src/agentkit/core/config_driven.py", + "target": "file:src/agentkit/tools/base.py", + "type": "imports", + "label": "导入 Tool" + }, + { + "id": "edge:16067e55", + "source": "file:src/agentkit/core/config_driven.py", + "target": "file:src/agentkit/tools/registry.py", + "type": "imports", + "label": "导入 ToolRegistry" + }, + { + "id": "edge:68d0a9ba", + "source": "file:src/agentkit/core/config_driven.py", + "target": "file:src/agentkit/skills/base.py", + "type": "imports", + "label": "导入 SkillConfig" + }, + { + "id": "edge:b92a04a6", + "source": "file:src/agentkit/core/config_driven.py", + "target": "file:src/agentkit/skills/base.py", + "type": "imports", + "label": "导入 Skill" + }, + { + "id": "edge:94698590", + "source": "file:src/agentkit/core/config_driven.py", + "target": "file:src/agentkit/quality/gate.py", + "type": "imports", + "label": "导入 QualityGate" + }, + { + "id": "edge:47b42ee6", + "source": "file:src/agentkit/core/config_driven.py", + "target": "file:src/agentkit/quality/output.py", + "type": "imports", + "label": "导入 OutputStandardizer" + }, + { + "id": "edge:ff7a21d2", + "source": "file:src/agentkit/core/config_driven.py", + "target": "file:src/agentkit/evolution/prompt_optimizer.py", + "type": "imports", + "label": "导入 Module" + }, + { + "id": "edge:57a7602f", + "source": "file:src/agentkit/core/config_driven.py", + "target": "file:src/agentkit/evolution/prompt_optimizer.py", + "type": "imports", + "label": "导入 Signature" + }, + { + "id": "edge:dec8d4a5", + "source": "file:src/agentkit/core/config_driven.py", + "target": "file:src/agentkit/mcp/client.py", + "type": "imports", + "label": "导入 MCPClient" + }, + { + "id": "edge:d10ebcab", + "source": "file:src/agentkit/core/config_driven.py", + "target": "file:src/agentkit/core/rewoo.py", + "type": "imports", + "label": "导入 ReWOOEngine" + }, + { + "id": "edge:8c41121c", + "source": "file:src/agentkit/core/config_driven.py", + "target": "file:src/agentkit/core/plan_exec_engine.py", + "type": "imports", + "label": "导入 PlanExecEngine" + }, + { + "id": "edge:c82f1236", + "source": "file:src/agentkit/core/config_driven.py", + "target": "file:src/agentkit/core/reflexion.py", + "type": "imports", + "label": "导入 ReflexionEngine" + }, + { + "id": "edge:510f0b74", + "source": "file:src/agentkit/core/config_driven.py", + "target": "file:src/agentkit/llm/gateway.py", + "type": "imports", + "label": "导入 LLMGateway" + }, + { + "id": "edge:518e7b07", + "source": "file:src/agentkit/core/config_driven.py", + "target": "file:src/agentkit/llm/protocol.py", + "type": "imports", + "label": "导入 LLMProvider" + }, + { + "id": "edge:d90529aa", + "source": "file:src/agentkit/core/config_driven.py", + "target": "file:src/agentkit/llm/protocol.py", + "type": "imports", + "label": "导入 LLMRequest" + }, + { + "id": "edge:28c3ad52", + "source": "file:src/agentkit/core/config_driven.py", + "target": "file:src/agentkit/llm/protocol.py", + "type": "imports", + "label": "导入 LLMResponse" + }, + { + "id": "edge:a832110f", + "source": "file:src/agentkit/core/config_driven.py", + "target": "file:src/agentkit/llm/protocol.py", + "type": "imports", + "label": "导入 TokenUsage" + }, + { + "id": "edge:c5baa3d9", + "source": "file:src/agentkit/core/config_driven.py", + "target": "file:src/agentkit/core/react.py", + "type": "imports", + "label": "导入 ReActEngine" + }, + { + "id": "edge:ab868e6a", + "source": "file:src/agentkit/core/config_driven.py", + "target": "file:src/agentkit/memory/retriever.py", + "type": "imports", + "label": "导入 MemoryRetriever" + }, + { + "id": "edge:b7dad1fa", + "source": "file:src/agentkit/core/config_driven.py", + "target": "file:src/agentkit/memory/working.py", + "type": "imports", + "label": "导入 WorkingMemory" + }, + { + "id": "edge:006322e9", + "source": "file:src/agentkit/core/config_driven.py", + "target": "file:src/agentkit/memory/semantic.py", + "type": "imports", + "label": "导入 SemanticMemory" + }, + { + "id": "edge:1eefe5ba", + "source": "file:src/agentkit/core/config_driven.py", + "target": "file:src/agentkit/memory/http_rag.py", + "type": "imports", + "label": "导入 HttpRAGService" + }, + { + "id": "edge:2d22507a", + "source": "file:src/agentkit/core/config_driven.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 TaskResult" + }, + { + "id": "edge:f9c2e1dd", + "source": "file:src/agentkit/core/config_driven.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 TaskStatus" + }, + { + "id": "edge:65b18897", + "source": "file:src/agentkit/core/config_driven.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 TaskResult" + }, + { + "id": "edge:3fa3a2e3", + "source": "file:src/agentkit/core/config_driven.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 TaskStatus" + }, + { + "id": "edge:180f9ecb", + "source": "file:src/agentkit/core/config_driven.py", + "target": "file:src/agentkit/memory/episodic.py", + "type": "imports", + "label": "导入 EpisodicMemory" + }, + { + "id": "edge:0644574d", + "source": "file:src/agentkit/core/config_driven.py", + "target": "file:src/agentkit/memory/embedder.py", + "type": "imports", + "label": "导入 OpenAIEmbedder" + }, + { + "id": "edge:f67d3890", + "source": "file:src/agentkit/core/config_driven.py", + "target": "file:src/agentkit/memory/embedder.py", + "type": "imports", + "label": "导入 EmbeddingCache" + }, + { + "id": "edge:10c2895f", + "source": "file:src/agentkit/core/dispatcher.py", + "target": "file:src/agentkit/core/exceptions.py", + "type": "imports", + "label": "导入 NoAvailableAgentError" + }, + { + "id": "edge:1439c028", + "source": "file:src/agentkit/core/dispatcher.py", + "target": "file:src/agentkit/core/exceptions.py", + "type": "imports", + "label": "导入 TaskDispatchError" + }, + { + "id": "edge:9d3e6e27", + "source": "file:src/agentkit/core/dispatcher.py", + "target": "file:src/agentkit/core/exceptions.py", + "type": "imports", + "label": "导入 TaskNotFoundError" + }, + { + "id": "edge:81926049", + "source": "file:src/agentkit/core/dispatcher.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 AgentStatus" + }, + { + "id": "edge:483a8135", + "source": "file:src/agentkit/core/dispatcher.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 TaskMessage" + }, + { + "id": "edge:d8a7f2f0", + "source": "file:src/agentkit/core/dispatcher.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 TaskProgress" + }, + { + "id": "edge:3cafca13", + "source": "file:src/agentkit/core/dispatcher.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 TaskResult" + }, + { + "id": "edge:b5475ea7", + "source": "file:src/agentkit/core/dispatcher.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 TaskStatus" + }, + { + "id": "edge:fcdcaa3d", + "source": "file:src/agentkit/core/goal_planner.py", + "target": "file:src/agentkit/core/plan_schema.py", + "type": "imports", + "label": "导入 ExecutionPlan" + }, + { + "id": "edge:64a2dfdc", + "source": "file:src/agentkit/core/goal_planner.py", + "target": "file:src/agentkit/core/plan_schema.py", + "type": "imports", + "label": "导入 PlanStep" + }, + { + "id": "edge:18067e75", + "source": "file:src/agentkit/core/goal_planner.py", + "target": "file:src/agentkit/core/plan_schema.py", + "type": "imports", + "label": "导入 PlanStepStatus" + }, + { + "id": "edge:ca786e24", + "source": "file:src/agentkit/core/goal_planner.py", + "target": "file:src/agentkit/core/plan_schema.py", + "type": "imports", + "label": "导入 SkillGap" + }, + { + "id": "edge:b6df36bb", + "source": "file:src/agentkit/core/goal_planner.py", + "target": "file:src/agentkit/core/plan_schema.py", + "type": "imports", + "label": "导入 SkillGapLevel" + }, + { + "id": "edge:1ca22feb", + "source": "file:src/agentkit/core/headroom_compressor.py", + "target": "file:src/agentkit/core/compressor.py", + "type": "imports", + "label": "导入 CompressionStrategy" + }, + { + "id": "edge:327dd4f8", + "source": "file:src/agentkit/core/orchestrator.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 TaskMessage" + }, + { + "id": "edge:cbd209f7", + "source": "file:src/agentkit/core/orchestrator.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 TaskResult" + }, + { + "id": "edge:ddeff694", + "source": "file:src/agentkit/core/orchestrator.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 TaskStatus" + }, + { + "id": "edge:b96618aa", + "source": "file:src/agentkit/core/orchestrator.py", + "target": "file:src/agentkit/core/shared_workspace.py", + "type": "imports", + "label": "导入 SharedWorkspace" + }, + { + "id": "edge:4a4b026c", + "source": "file:src/agentkit/core/orchestrator.py", + "target": "file:src/agentkit/core/goal_planner.py", + "type": "imports", + "label": "导入 GoalPlanner" + }, + { + "id": "edge:d0ac1b17", + "source": "file:src/agentkit/core/orchestrator.py", + "target": "file:src/agentkit/core/plan_executor.py", + "type": "imports", + "label": "导入 PlanExecutor" + }, + { + "id": "edge:c94eedcb", + "source": "file:src/agentkit/core/orchestrator.py", + "target": "file:src/agentkit/core/plan_checker.py", + "type": "imports", + "label": "导入 PlanChecker" + }, + { + "id": "edge:14616bd1", + "source": "file:src/agentkit/core/orchestrator.py", + "target": "file:src/agentkit/bus/message.py", + "type": "imports", + "label": "导入 AgentMessage" + }, + { + "id": "edge:4a226018", + "source": "file:src/agentkit/core/orchestrator.py", + "target": "file:src/agentkit/bus/message.py", + "type": "imports", + "label": "导入 AgentMessage" + }, + { + "id": "edge:d74f2621", + "source": "file:src/agentkit/core/orchestrator.py", + "target": "file:src/agentkit/bus/message.py", + "type": "imports", + "label": "导入 AgentMessage" + }, + { + "id": "edge:b480c8f9", + "source": "file:src/agentkit/core/plan_checker.py", + "target": "file:src/agentkit/core/plan_schema.py", + "type": "imports", + "label": "导入 ExecutionPlan" + }, + { + "id": "edge:99a39c7b", + "source": "file:src/agentkit/core/plan_checker.py", + "target": "file:src/agentkit/core/plan_schema.py", + "type": "imports", + "label": "导入 PlanStep" + }, + { + "id": "edge:e85e5455", + "source": "file:src/agentkit/core/plan_checker.py", + "target": "file:src/agentkit/core/plan_schema.py", + "type": "imports", + "label": "导入 PlanStepStatus" + }, + { + "id": "edge:06e0a84b", + "source": "file:src/agentkit/core/plan_checker.py", + "target": "file:src/agentkit/core/plan_executor.py", + "type": "imports", + "label": "导入 PlanExecutionResult" + }, + { + "id": "edge:fc72c37d", + "source": "file:src/agentkit/core/plan_checker.py", + "target": "file:src/agentkit/core/plan_executor.py", + "type": "imports", + "label": "导入 StepExecutionResult" + }, + { + "id": "edge:308ab0df", + "source": "file:src/agentkit/core/plan_checker.py", + "target": "file:src/agentkit/skills/base.py", + "type": "imports", + "label": "导入 QualityGateConfig" + }, + { + "id": "edge:e1c99387", + "source": "file:src/agentkit/core/plan_checker.py", + "target": "file:src/agentkit/evolution/experience_schema.py", + "type": "imports", + "label": "导入 TaskExperience" + }, + { + "id": "edge:4ea06538", + "source": "file:src/agentkit/core/plan_exec_engine.py", + "target": "file:src/agentkit/core/exceptions.py", + "type": "imports", + "label": "导入 TaskCancelledError" + }, + { + "id": "edge:e7aa6395", + "source": "file:src/agentkit/core/plan_exec_engine.py", + "target": "file:src/agentkit/core/exceptions.py", + "type": "imports", + "label": "导入 TaskTimeoutError" + }, + { + "id": "edge:fb21607a", + "source": "file:src/agentkit/core/plan_exec_engine.py", + "target": "file:src/agentkit/core/goal_planner.py", + "type": "imports", + "label": "导入 GoalPlanner" + }, + { + "id": "edge:04507533", + "source": "file:src/agentkit/core/plan_exec_engine.py", + "target": "file:src/agentkit/core/plan_executor.py", + "type": "imports", + "label": "导入 PlanExecutor" + }, + { + "id": "edge:1d869964", + "source": "file:src/agentkit/core/plan_exec_engine.py", + "target": "file:src/agentkit/core/plan_executor.py", + "type": "imports", + "label": "导入 PlanExecutionResult" + }, + { + "id": "edge:09542c71", + "source": "file:src/agentkit/core/plan_exec_engine.py", + "target": "file:src/agentkit/core/plan_executor.py", + "type": "imports", + "label": "导入 StepExecutionResult" + }, + { + "id": "edge:6dd64eab", + "source": "file:src/agentkit/core/plan_exec_engine.py", + "target": "file:src/agentkit/core/plan_schema.py", + "type": "imports", + "label": "导入 ExecutionPlan" + }, + { + "id": "edge:405ab925", + "source": "file:src/agentkit/core/plan_exec_engine.py", + "target": "file:src/agentkit/core/plan_schema.py", + "type": "imports", + "label": "导入 PlanStep" + }, + { + "id": "edge:e704e631", + "source": "file:src/agentkit/core/plan_exec_engine.py", + "target": "file:src/agentkit/core/plan_schema.py", + "type": "imports", + "label": "导入 PlanStepStatus" + }, + { + "id": "edge:523fb594", + "source": "file:src/agentkit/core/plan_exec_engine.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 CancellationToken" + }, + { + "id": "edge:8e0d3543", + "source": "file:src/agentkit/core/plan_exec_engine.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 TaskMessage" + }, + { + "id": "edge:91a671b5", + "source": "file:src/agentkit/core/plan_exec_engine.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 TaskResult" + }, + { + "id": "edge:b9d45b99", + "source": "file:src/agentkit/core/plan_exec_engine.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 TaskStatus" + }, + { + "id": "edge:0debaafc", + "source": "file:src/agentkit/core/plan_exec_engine.py", + "target": "file:src/agentkit/core/react.py", + "type": "imports", + "label": "导入 ReActEvent" + }, + { + "id": "edge:2a2a8209", + "source": "file:src/agentkit/core/plan_exec_engine.py", + "target": "file:src/agentkit/core/react.py", + "type": "imports", + "label": "导入 ReActResult" + }, + { + "id": "edge:f42e314d", + "source": "file:src/agentkit/core/plan_exec_engine.py", + "target": "file:src/agentkit/core/react.py", + "type": "imports", + "label": "导入 ReActStep" + }, + { + "id": "edge:a172d1ba", + "source": "file:src/agentkit/core/plan_exec_engine.py", + "target": "file:src/agentkit/orchestrator/reflection.py", + "type": "imports", + "label": "导入 PipelineReflector" + }, + { + "id": "edge:b3f3be3c", + "source": "file:src/agentkit/core/plan_exec_engine.py", + "target": "file:src/agentkit/orchestrator/reflection.py", + "type": "imports", + "label": "导入 PipelineReplanner" + }, + { + "id": "edge:797d4bb6", + "source": "file:src/agentkit/core/plan_exec_engine.py", + "target": "file:src/agentkit/orchestrator/pipeline_schema.py", + "type": "imports", + "label": "导入 Pipeline" + }, + { + "id": "edge:0174ffc2", + "source": "file:src/agentkit/core/plan_exec_engine.py", + "target": "file:src/agentkit/orchestrator/pipeline_schema.py", + "type": "imports", + "label": "导入 PipelineResult" + }, + { + "id": "edge:6f1df149", + "source": "file:src/agentkit/core/plan_exec_engine.py", + "target": "file:src/agentkit/orchestrator/pipeline_schema.py", + "type": "imports", + "label": "导入 ReflectionReport" + }, + { + "id": "edge:3a6d80c5", + "source": "file:src/agentkit/core/plan_exec_engine.py", + "target": "file:src/agentkit/orchestrator/pipeline_schema.py", + "type": "imports", + "label": "导入 StageResult" + }, + { + "id": "edge:bf723715", + "source": "file:src/agentkit/core/plan_exec_engine.py", + "target": "file:src/agentkit/orchestrator/pipeline_schema.py", + "type": "imports", + "label": "导入 StageStatus" + }, + { + "id": "edge:de8a1b7f", + "source": "file:src/agentkit/core/plan_exec_engine.py", + "target": "file:src/agentkit/core/compressor.py", + "type": "imports", + "label": "导入 CompressionStrategy" + }, + { + "id": "edge:398e5f58", + "source": "file:src/agentkit/core/plan_exec_engine.py", + "target": "file:src/agentkit/core/compressor.py", + "type": "imports", + "label": "导入 ContextCompressor" + }, + { + "id": "edge:f9681034", + "source": "file:src/agentkit/core/plan_exec_engine.py", + "target": "file:src/agentkit/core/trace.py", + "type": "imports", + "label": "导入 TraceRecorder" + }, + { + "id": "edge:21a9da76", + "source": "file:src/agentkit/core/plan_exec_engine.py", + "target": "file:src/agentkit/memory/retriever.py", + "type": "imports", + "label": "导入 MemoryRetriever" + }, + { + "id": "edge:5e04a109", + "source": "file:src/agentkit/core/plan_exec_engine.py", + "target": "file:src/agentkit/llm/gateway.py", + "type": "imports", + "label": "导入 LLMGateway" + }, + { + "id": "edge:443b2e64", + "source": "file:src/agentkit/core/plan_exec_engine.py", + "target": "file:src/agentkit/tools/base.py", + "type": "imports", + "label": "导入 Tool" + }, + { + "id": "edge:954a5a57", + "source": "file:src/agentkit/core/plan_exec_engine.py", + "target": "file:src/agentkit/orchestrator/pipeline_schema.py", + "type": "imports", + "label": "导入 PipelineStage" + }, + { + "id": "edge:f77e2c6e", + "source": "file:src/agentkit/core/plan_executor.py", + "target": "file:src/agentkit/core/plan_schema.py", + "type": "imports", + "label": "导入 ExecutionPlan" + }, + { + "id": "edge:f5f6ddcf", + "source": "file:src/agentkit/core/plan_executor.py", + "target": "file:src/agentkit/core/plan_schema.py", + "type": "imports", + "label": "导入 PlanStep" + }, + { + "id": "edge:0944a49c", + "source": "file:src/agentkit/core/plan_executor.py", + "target": "file:src/agentkit/core/plan_schema.py", + "type": "imports", + "label": "导入 PlanStepStatus" + }, + { + "id": "edge:09691bde", + "source": "file:src/agentkit/core/plan_executor.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 TaskMessage" + }, + { + "id": "edge:f62687e2", + "source": "file:src/agentkit/core/plan_executor.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 TaskResult" + }, + { + "id": "edge:dfb8b506", + "source": "file:src/agentkit/core/plan_executor.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 TaskStatus" + }, + { + "id": "edge:7ccdd7a1", + "source": "file:src/agentkit/core/protocol.py", + "target": "file:src/agentkit/core/exceptions.py", + "type": "imports", + "label": "导入 TaskCancelledError" + }, + { + "id": "edge:4f512880", + "source": "file:src/agentkit/core/react.py", + "target": "file:src/agentkit/core/exceptions.py", + "type": "imports", + "label": "导入 TaskCancelledError" + }, + { + "id": "edge:c92a2808", + "source": "file:src/agentkit/core/react.py", + "target": "file:src/agentkit/core/exceptions.py", + "type": "imports", + "label": "导入 TaskTimeoutError" + }, + { + "id": "edge:93181301", + "source": "file:src/agentkit/core/react.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 CancellationToken" + }, + { + "id": "edge:92381d77", + "source": "file:src/agentkit/core/react.py", + "target": "file:src/agentkit/llm/gateway.py", + "type": "imports", + "label": "导入 LLMGateway" + }, + { + "id": "edge:618929b8", + "source": "file:src/agentkit/core/react.py", + "target": "file:src/agentkit/llm/protocol.py", + "type": "imports", + "label": "导入 LLMResponse" + }, + { + "id": "edge:b94873d6", + "source": "file:src/agentkit/core/react.py", + "target": "file:src/agentkit/tools/base.py", + "type": "imports", + "label": "导入 Tool" + }, + { + "id": "edge:5d68c1e0", + "source": "file:src/agentkit/core/react.py", + "target": "file:src/agentkit/telemetry/tracing.py", + "type": "imports", + "label": "导入 get_tracer" + }, + { + "id": "edge:fd459490", + "source": "file:src/agentkit/core/react.py", + "target": "file:src/agentkit/telemetry/tracing.py", + "type": "imports", + "label": "导入 start_span" + }, + { + "id": "edge:75c47599", + "source": "file:src/agentkit/core/react.py", + "target": "file:src/agentkit/telemetry/tracing.py", + "type": "imports", + "label": "导入 _OTEL_AVAILABLE" + }, + { + "id": "edge:fc23164a", + "source": "file:src/agentkit/core/react.py", + "target": "file:src/agentkit/telemetry/metrics.py", + "type": "imports", + "label": "导入 agent_request_counter" + }, + { + "id": "edge:d75398c7", + "source": "file:src/agentkit/core/react.py", + "target": "file:src/agentkit/telemetry/metrics.py", + "type": "imports", + "label": "导入 agent_duration_histogram" + }, + { + "id": "edge:a0ede96d", + "source": "file:src/agentkit/core/react.py", + "target": "file:src/agentkit/core/compressor.py", + "type": "imports", + "label": "导入 CompressionStrategy" + }, + { + "id": "edge:35f3431b", + "source": "file:src/agentkit/core/react.py", + "target": "file:src/agentkit/core/compressor.py", + "type": "imports", + "label": "导入 ContextCompressor" + }, + { + "id": "edge:7520f358", + "source": "file:src/agentkit/core/react.py", + "target": "file:src/agentkit/core/trace.py", + "type": "imports", + "label": "导入 TraceRecorder" + }, + { + "id": "edge:d48b80ec", + "source": "file:src/agentkit/core/react.py", + "target": "file:src/agentkit/memory/retriever.py", + "type": "imports", + "label": "导入 MemoryRetriever" + }, + { + "id": "edge:0a4838dd", + "source": "file:src/agentkit/core/react.py", + "target": "file:src/agentkit/llm/protocol.py", + "type": "imports", + "label": "导入 LLMResponse" + }, + { + "id": "edge:6ae24529", + "source": "file:src/agentkit/core/react.py", + "target": "file:src/agentkit/llm/protocol.py", + "type": "imports", + "label": "导入 TokenUsage" + }, + { + "id": "edge:355f0605", + "source": "file:src/agentkit/core/reflexion.py", + "target": "file:src/agentkit/core/exceptions.py", + "type": "imports", + "label": "导入 TaskCancelledError" + }, + { + "id": "edge:35c4855b", + "source": "file:src/agentkit/core/reflexion.py", + "target": "file:src/agentkit/core/exceptions.py", + "type": "imports", + "label": "导入 TaskTimeoutError" + }, + { + "id": "edge:983fb74d", + "source": "file:src/agentkit/core/reflexion.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 CancellationToken" + }, + { + "id": "edge:c7332057", + "source": "file:src/agentkit/core/reflexion.py", + "target": "file:src/agentkit/core/react.py", + "type": "imports", + "label": "导入 ReActEngine" + }, + { + "id": "edge:0c7bd048", + "source": "file:src/agentkit/core/reflexion.py", + "target": "file:src/agentkit/core/react.py", + "type": "imports", + "label": "导入 ReActEvent" + }, + { + "id": "edge:d04af720", + "source": "file:src/agentkit/core/reflexion.py", + "target": "file:src/agentkit/core/react.py", + "type": "imports", + "label": "导入 ReActResult" + }, + { + "id": "edge:940f7063", + "source": "file:src/agentkit/core/reflexion.py", + "target": "file:src/agentkit/core/react.py", + "type": "imports", + "label": "导入 ReActStep" + }, + { + "id": "edge:ba8b8408", + "source": "file:src/agentkit/core/reflexion.py", + "target": "file:src/agentkit/llm/gateway.py", + "type": "imports", + "label": "导入 LLMGateway" + }, + { + "id": "edge:f4b9d537", + "source": "file:src/agentkit/core/reflexion.py", + "target": "file:src/agentkit/tools/base.py", + "type": "imports", + "label": "导入 Tool" + }, + { + "id": "edge:d8ea80b8", + "source": "file:src/agentkit/core/reflexion.py", + "target": "file:src/agentkit/telemetry/tracing.py", + "type": "imports", + "label": "导入 start_span" + }, + { + "id": "edge:8189acaa", + "source": "file:src/agentkit/core/reflexion.py", + "target": "file:src/agentkit/telemetry/tracing.py", + "type": "imports", + "label": "导入 _OTEL_AVAILABLE" + }, + { + "id": "edge:9aff857c", + "source": "file:src/agentkit/core/reflexion.py", + "target": "file:src/agentkit/telemetry/metrics.py", + "type": "imports", + "label": "导入 agent_request_counter" + }, + { + "id": "edge:62419dd5", + "source": "file:src/agentkit/core/reflexion.py", + "target": "file:src/agentkit/telemetry/metrics.py", + "type": "imports", + "label": "导入 agent_duration_histogram" + }, + { + "id": "edge:d9943794", + "source": "file:src/agentkit/core/reflexion.py", + "target": "file:src/agentkit/core/compressor.py", + "type": "imports", + "label": "导入 CompressionStrategy" + }, + { + "id": "edge:2e6b5ec2", + "source": "file:src/agentkit/core/reflexion.py", + "target": "file:src/agentkit/core/trace.py", + "type": "imports", + "label": "导入 TraceRecorder" + }, + { + "id": "edge:3037259a", + "source": "file:src/agentkit/core/reflexion.py", + "target": "file:src/agentkit/memory/retriever.py", + "type": "imports", + "label": "导入 MemoryRetriever" + }, + { + "id": "edge:342694c7", + "source": "file:src/agentkit/core/registry.py", + "target": "file:src/agentkit/core/exceptions.py", + "type": "imports", + "label": "导入 AgentNotFoundError" + }, + { + "id": "edge:307ca36d", + "source": "file:src/agentkit/core/registry.py", + "target": "file:src/agentkit/core/exceptions.py", + "type": "imports", + "label": "导入 AgentUnavailableError" + }, + { + "id": "edge:d156588a", + "source": "file:src/agentkit/core/registry.py", + "target": "file:src/agentkit/core/exceptions.py", + "type": "imports", + "label": "导入 NoAvailableAgentError" + }, + { + "id": "edge:9c51c882", + "source": "file:src/agentkit/core/registry.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 AgentCapability" + }, + { + "id": "edge:461da51c", + "source": "file:src/agentkit/core/registry.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 AgentStatus" + }, + { + "id": "edge:ecee8ab1", + "source": "file:src/agentkit/core/rewoo.py", + "target": "file:src/agentkit/core/exceptions.py", + "type": "imports", + "label": "导入 TaskCancelledError" + }, + { + "id": "edge:4e51e106", + "source": "file:src/agentkit/core/rewoo.py", + "target": "file:src/agentkit/core/exceptions.py", + "type": "imports", + "label": "导入 TaskTimeoutError" + }, + { + "id": "edge:445f6afb", + "source": "file:src/agentkit/core/rewoo.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 CancellationToken" + }, + { + "id": "edge:b3e0dcb2", + "source": "file:src/agentkit/core/rewoo.py", + "target": "file:src/agentkit/core/react.py", + "type": "imports", + "label": "导入 ReActEngine" + }, + { + "id": "edge:46fd5b15", + "source": "file:src/agentkit/core/rewoo.py", + "target": "file:src/agentkit/core/react.py", + "type": "imports", + "label": "导入 ReActEvent" + }, + { + "id": "edge:bfe77cb6", + "source": "file:src/agentkit/core/rewoo.py", + "target": "file:src/agentkit/core/react.py", + "type": "imports", + "label": "导入 ReActResult" + }, + { + "id": "edge:ebc16293", + "source": "file:src/agentkit/core/rewoo.py", + "target": "file:src/agentkit/core/react.py", + "type": "imports", + "label": "导入 ReActStep" + }, + { + "id": "edge:9f6d53a7", + "source": "file:src/agentkit/core/rewoo.py", + "target": "file:src/agentkit/llm/gateway.py", + "type": "imports", + "label": "导入 LLMGateway" + }, + { + "id": "edge:65513f48", + "source": "file:src/agentkit/core/rewoo.py", + "target": "file:src/agentkit/llm/protocol.py", + "type": "imports", + "label": "导入 LLMResponse" + }, + { + "id": "edge:ab39ec13", + "source": "file:src/agentkit/core/rewoo.py", + "target": "file:src/agentkit/tools/base.py", + "type": "imports", + "label": "导入 Tool" + }, + { + "id": "edge:345a8a2f", + "source": "file:src/agentkit/core/rewoo.py", + "target": "file:src/agentkit/telemetry/tracing.py", + "type": "imports", + "label": "导入 get_tracer" + }, + { + "id": "edge:0e5f4d85", + "source": "file:src/agentkit/core/rewoo.py", + "target": "file:src/agentkit/telemetry/tracing.py", + "type": "imports", + "label": "导入 start_span" + }, + { + "id": "edge:472c965d", + "source": "file:src/agentkit/core/rewoo.py", + "target": "file:src/agentkit/telemetry/tracing.py", + "type": "imports", + "label": "导入 _OTEL_AVAILABLE" + }, + { + "id": "edge:049b6de8", + "source": "file:src/agentkit/core/rewoo.py", + "target": "file:src/agentkit/telemetry/metrics.py", + "type": "imports", + "label": "导入 agent_request_counter" + }, + { + "id": "edge:0e9cb0b6", + "source": "file:src/agentkit/core/rewoo.py", + "target": "file:src/agentkit/telemetry/metrics.py", + "type": "imports", + "label": "导入 agent_duration_histogram" + }, + { + "id": "edge:db899554", + "source": "file:src/agentkit/core/rewoo.py", + "target": "file:src/agentkit/core/compressor.py", + "type": "imports", + "label": "导入 CompressionStrategy" + }, + { + "id": "edge:7bc06af3", + "source": "file:src/agentkit/core/rewoo.py", + "target": "file:src/agentkit/core/compressor.py", + "type": "imports", + "label": "导入 ContextCompressor" + }, + { + "id": "edge:fe3f6935", + "source": "file:src/agentkit/core/rewoo.py", + "target": "file:src/agentkit/core/trace.py", + "type": "imports", + "label": "导入 TraceRecorder" + }, + { + "id": "edge:43a69a50", + "source": "file:src/agentkit/core/rewoo.py", + "target": "file:src/agentkit/memory/retriever.py", + "type": "imports", + "label": "导入 MemoryRetriever" + }, + { + "id": "edge:da4586ad", + "source": "file:src/agentkit/core/standalone.py", + "target": "file:src/agentkit/core/config_driven.py", + "type": "imports", + "label": "导入 AgentConfig" + }, + { + "id": "edge:af0099a2", + "source": "file:src/agentkit/core/standalone.py", + "target": "file:src/agentkit/core/config_driven.py", + "type": "imports", + "label": "导入 ConfigDrivenAgent" + }, + { + "id": "edge:d9f0a66f", + "source": "file:src/agentkit/core/standalone.py", + "target": "file:src/agentkit/tools/function_tool.py", + "type": "imports", + "label": "导入 FunctionTool" + }, + { + "id": "edge:76860be7", + "source": "file:src/agentkit/core/standalone.py", + "target": "file:src/agentkit/tools/registry.py", + "type": "imports", + "label": "导入 ToolRegistry" + }, + { + "id": "edge:c19d41c3", + "source": "file:src/agentkit/evaluation/__init__.py", + "target": "file:src/agentkit/evaluation/ragas_evaluator.py", + "type": "imports", + "label": "导入 EvalDatasetBuilder" + }, + { + "id": "edge:18ad54fb", + "source": "file:src/agentkit/evaluation/__init__.py", + "target": "file:src/agentkit/evaluation/ragas_evaluator.py", + "type": "imports", + "label": "导入 EvalMetrics" + }, + { + "id": "edge:b4e5e3f1", + "source": "file:src/agentkit/evaluation/__init__.py", + "target": "file:src/agentkit/evaluation/ragas_evaluator.py", + "type": "imports", + "label": "导入 EvalResult" + }, + { + "id": "edge:61d781f1", + "source": "file:src/agentkit/evaluation/__init__.py", + "target": "file:src/agentkit/evaluation/ragas_evaluator.py", + "type": "imports", + "label": "导入 EvalSample" + }, + { + "id": "edge:27509fc0", + "source": "file:src/agentkit/evaluation/__init__.py", + "target": "file:src/agentkit/evaluation/ragas_evaluator.py", + "type": "imports", + "label": "导入 RagasEvaluator" + }, + { + "id": "edge:f1dcae01", + "source": "file:src/agentkit/evaluation/ragas_evaluator.py", + "target": "file:src/agentkit/memory/relevance_scorer.py", + "type": "imports", + "label": "导入 RelevanceScorer" + }, + { + "id": "edge:f1075bc8", + "source": "file:src/agentkit/evolution/__init__.py", + "target": "file:src/agentkit/evolution/reflector.py", + "type": "imports", + "label": "导入 Reflector" + }, + { + "id": "edge:f1784f33", + "source": "file:src/agentkit/evolution/__init__.py", + "target": "file:src/agentkit/evolution/prompt_optimizer.py", + "type": "imports", + "label": "导入 BootstrapPromptOptimizer" + }, + { + "id": "edge:678f19df", + "source": "file:src/agentkit/evolution/__init__.py", + "target": "file:src/agentkit/evolution/prompt_optimizer.py", + "type": "imports", + "label": "导入 PromptOptimizer" + }, + { + "id": "edge:7397ecf3", + "source": "file:src/agentkit/evolution/__init__.py", + "target": "file:src/agentkit/evolution/prompt_optimizer.py", + "type": "imports", + "label": "导入 LLMPromptOptimizer" + }, + { + "id": "edge:8d88027c", + "source": "file:src/agentkit/evolution/__init__.py", + "target": "file:src/agentkit/evolution/prompt_optimizer.py", + "type": "imports", + "label": "导入 Signature" + }, + { + "id": "edge:9ed6e467", + "source": "file:src/agentkit/evolution/__init__.py", + "target": "file:src/agentkit/evolution/prompt_optimizer.py", + "type": "imports", + "label": "导入 Module" + }, + { + "id": "edge:a8e6e897", + "source": "file:src/agentkit/evolution/__init__.py", + "target": "file:src/agentkit/evolution/prompt_optimizer.py", + "type": "imports", + "label": "导入 create_prompt_optimizer" + }, + { + "id": "edge:c326f7c1", + "source": "file:src/agentkit/evolution/__init__.py", + "target": "file:src/agentkit/evolution/strategy_tuner.py", + "type": "imports", + "label": "导入 StrategyTuner" + }, + { + "id": "edge:6bb0f921", + "source": "file:src/agentkit/evolution/__init__.py", + "target": "file:src/agentkit/evolution/ab_tester.py", + "type": "imports", + "label": "导入 ABTester" + }, + { + "id": "edge:f21e4937", + "source": "file:src/agentkit/evolution/__init__.py", + "target": "file:src/agentkit/evolution/evolution_store.py", + "type": "imports", + "label": "导入 EvolutionStore" + }, + { + "id": "edge:42ee9843", + "source": "file:src/agentkit/evolution/__init__.py", + "target": "file:src/agentkit/evolution/evolution_store.py", + "type": "imports", + "label": "导入 InMemoryEvolutionStore" + }, + { + "id": "edge:efbe57f6", + "source": "file:src/agentkit/evolution/__init__.py", + "target": "file:src/agentkit/evolution/evolution_store.py", + "type": "imports", + "label": "导入 PersistentEvolutionStore" + }, + { + "id": "edge:9ec65294", + "source": "file:src/agentkit/evolution/__init__.py", + "target": "file:src/agentkit/evolution/evolution_store.py", + "type": "imports", + "label": "导入 create_evolution_store" + }, + { + "id": "edge:f5373850", + "source": "file:src/agentkit/evolution/__init__.py", + "target": "file:src/agentkit/evolution/lifecycle.py", + "type": "imports", + "label": "导入 EvolutionMixin" + }, + { + "id": "edge:0287ee46", + "source": "file:src/agentkit/evolution/__init__.py", + "target": "file:src/agentkit/evolution/lifecycle.py", + "type": "imports", + "label": "导入 EvolutionLogEntry" + }, + { + "id": "edge:0173ca21", + "source": "file:src/agentkit/evolution/ab_tester.py", + "target": "file:src/agentkit/evolution/evolution_store.py", + "type": "imports", + "label": "导入 InMemoryEvolutionStore" + }, + { + "id": "edge:7b1fea39", + "source": "file:src/agentkit/evolution/evolution_store.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 EvolutionEvent" + }, + { + "id": "edge:46eef218", + "source": "file:src/agentkit/evolution/evolution_store.py", + "target": "file:src/agentkit/evolution/models.py", + "type": "imports", + "label": "导入 ABTestResultModel" + }, + { + "id": "edge:355819ef", + "source": "file:src/agentkit/evolution/evolution_store.py", + "target": "file:src/agentkit/evolution/models.py", + "type": "imports", + "label": "导入 Base" + }, + { + "id": "edge:195aaebf", + "source": "file:src/agentkit/evolution/evolution_store.py", + "target": "file:src/agentkit/evolution/models.py", + "type": "imports", + "label": "导入 EvolutionEventModel" + }, + { + "id": "edge:9a9a5e57", + "source": "file:src/agentkit/evolution/evolution_store.py", + "target": "file:src/agentkit/evolution/models.py", + "type": "imports", + "label": "导入 SkillVersionModel" + }, + { + "id": "edge:6672ac9d", + "source": "file:src/agentkit/evolution/experience_store.py", + "target": "file:src/agentkit/evolution/experience_schema.py", + "type": "imports", + "label": "导入 EvolutionMetrics" + }, + { + "id": "edge:c599fffc", + "source": "file:src/agentkit/evolution/experience_store.py", + "target": "file:src/agentkit/evolution/experience_schema.py", + "type": "imports", + "label": "导入 TaskExperience" + }, + { + "id": "edge:cb506654", + "source": "file:src/agentkit/evolution/experience_store.py", + "target": "file:src/agentkit/memory/embedder.py", + "type": "imports", + "label": "导入 Embedder" + }, + { + "id": "edge:e13b6a90", + "source": "file:src/agentkit/evolution/experience_store.py", + "target": "file:src/agentkit/utils/vector_math.py", + "type": "imports", + "label": "导入 compute_cosine_similarity" + }, + { + "id": "edge:622d6437", + "source": "file:src/agentkit/evolution/fitness.py", + "target": "file:src/agentkit/evolution/genetic.py", + "type": "imports", + "label": "导入 FitnessScore" + }, + { + "id": "edge:eeeb2280", + "source": "file:src/agentkit/evolution/genetic.py", + "target": "file:src/agentkit/evolution/prompt_optimizer.py", + "type": "imports", + "label": "导入 Module" + }, + { + "id": "edge:fe50bf78", + "source": "file:src/agentkit/evolution/genetic.py", + "target": "file:src/agentkit/evolution/prompt_optimizer.py", + "type": "imports", + "label": "导入 Signature" + }, + { + "id": "edge:776fbd81", + "source": "file:src/agentkit/evolution/lifecycle.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 EvolutionEvent" + }, + { + "id": "edge:602fe432", + "source": "file:src/agentkit/evolution/lifecycle.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 TaskMessage" + }, + { + "id": "edge:52a16416", + "source": "file:src/agentkit/evolution/lifecycle.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 TaskResult" + }, + { + "id": "edge:166c4c65", + "source": "file:src/agentkit/evolution/lifecycle.py", + "target": "file:src/agentkit/evolution/ab_tester.py", + "type": "imports", + "label": "导入 ABTestConfig" + }, + { + "id": "edge:7d2d0313", + "source": "file:src/agentkit/evolution/lifecycle.py", + "target": "file:src/agentkit/evolution/ab_tester.py", + "type": "imports", + "label": "导入 ABTestResult" + }, + { + "id": "edge:7c059772", + "source": "file:src/agentkit/evolution/lifecycle.py", + "target": "file:src/agentkit/evolution/ab_tester.py", + "type": "imports", + "label": "导入 ABTester" + }, + { + "id": "edge:562f6a23", + "source": "file:src/agentkit/evolution/lifecycle.py", + "target": "file:src/agentkit/evolution/evolution_store.py", + "type": "imports", + "label": "导入 EvolutionStore" + }, + { + "id": "edge:2f3ecb1a", + "source": "file:src/agentkit/evolution/lifecycle.py", + "target": "file:src/agentkit/evolution/llm_reflector.py", + "type": "imports", + "label": "导入 LLMReflector" + }, + { + "id": "edge:f17757ef", + "source": "file:src/agentkit/evolution/lifecycle.py", + "target": "file:src/agentkit/evolution/prompt_optimizer.py", + "type": "imports", + "label": "导入 Module" + }, + { + "id": "edge:9ecad871", + "source": "file:src/agentkit/evolution/lifecycle.py", + "target": "file:src/agentkit/evolution/prompt_optimizer.py", + "type": "imports", + "label": "导入 PromptOptimizer" + }, + { + "id": "edge:05ae0e15", + "source": "file:src/agentkit/evolution/lifecycle.py", + "target": "file:src/agentkit/evolution/reflector.py", + "type": "imports", + "label": "导入 Reflection" + }, + { + "id": "edge:7d3fa3af", + "source": "file:src/agentkit/evolution/lifecycle.py", + "target": "file:src/agentkit/evolution/reflector.py", + "type": "imports", + "label": "导入 Reflector" + }, + { + "id": "edge:da91ad53", + "source": "file:src/agentkit/evolution/lifecycle.py", + "target": "file:src/agentkit/evolution/reflector.py", + "type": "imports", + "label": "导入 RuleBasedReflector" + }, + { + "id": "edge:95b3b236", + "source": "file:src/agentkit/evolution/lifecycle.py", + "target": "file:src/agentkit/evolution/strategy_tuner.py", + "type": "imports", + "label": "导入 StrategyConfig" + }, + { + "id": "edge:175758bb", + "source": "file:src/agentkit/evolution/lifecycle.py", + "target": "file:src/agentkit/evolution/strategy_tuner.py", + "type": "imports", + "label": "导入 StrategyTuner" + }, + { + "id": "edge:700f3d30", + "source": "file:src/agentkit/evolution/lifecycle.py", + "target": "file:src/agentkit/memory/profile.py", + "type": "imports", + "label": "导入 MemoryStore" + }, + { + "id": "edge:ce4a3286", + "source": "file:src/agentkit/evolution/lifecycle.py", + "target": "file:src/agentkit/evolution/prompt_optimizer.py", + "type": "imports", + "label": "导入 LLMPromptOptimizer" + }, + { + "id": "edge:f4339f10", + "source": "file:src/agentkit/evolution/lifecycle.py", + "target": "file:src/agentkit/tools/memory_tool.py", + "type": "imports", + "label": "导入 MemoryTool" + }, + { + "id": "edge:d7f67b07", + "source": "file:src/agentkit/evolution/llm_reflector.py", + "target": "file:src/agentkit/core/trace.py", + "type": "imports", + "label": "导入 ExecutionTrace" + }, + { + "id": "edge:6bfa53cf", + "source": "file:src/agentkit/evolution/llm_reflector.py", + "target": "file:src/agentkit/evolution/reflector.py", + "type": "imports", + "label": "导入 Reflection" + }, + { + "id": "edge:0f5d200e", + "source": "file:src/agentkit/evolution/path_optimizer.py", + "target": "file:src/agentkit/evolution/experience_store.py", + "type": "imports", + "label": "导入 InMemoryExperienceStore" + }, + { + "id": "edge:c5943e6d", + "source": "file:src/agentkit/evolution/reflector.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 TaskMessage" + }, + { + "id": "edge:f6e4e73d", + "source": "file:src/agentkit/evolution/reflector.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 TaskResult" + }, + { + "id": "edge:bd90dd84", + "source": "file:src/agentkit/evolution/reflector.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 TaskStatus" + }, + { + "id": "edge:809668d5", + "source": "file:src/agentkit/llm/__init__.py", + "target": "file:src/agentkit/llm/config.py", + "type": "imports", + "label": "导入 LLMConfig" + }, + { + "id": "edge:66a8deae", + "source": "file:src/agentkit/llm/__init__.py", + "target": "file:src/agentkit/llm/config.py", + "type": "imports", + "label": "导入 ProviderConfig" + }, + { + "id": "edge:63cd5b70", + "source": "file:src/agentkit/llm/__init__.py", + "target": "file:src/agentkit/llm/gateway.py", + "type": "imports", + "label": "导入 LLMGateway" + }, + { + "id": "edge:78c68d46", + "source": "file:src/agentkit/llm/__init__.py", + "target": "file:src/agentkit/llm/protocol.py", + "type": "imports", + "label": "导入 LLMProvider" + }, + { + "id": "edge:0df92e7c", + "source": "file:src/agentkit/llm/__init__.py", + "target": "file:src/agentkit/llm/protocol.py", + "type": "imports", + "label": "导入 LLMRequest" + }, + { + "id": "edge:2fba3082", + "source": "file:src/agentkit/llm/__init__.py", + "target": "file:src/agentkit/llm/protocol.py", + "type": "imports", + "label": "导入 LLMResponse" + }, + { + "id": "edge:d77d8288", + "source": "file:src/agentkit/llm/__init__.py", + "target": "file:src/agentkit/llm/protocol.py", + "type": "imports", + "label": "导入 TokenUsage" + }, + { + "id": "edge:2a078504", + "source": "file:src/agentkit/llm/__init__.py", + "target": "file:src/agentkit/llm/protocol.py", + "type": "imports", + "label": "导入 ToolCall" + }, + { + "id": "edge:edcad41d", + "source": "file:src/agentkit/llm/__init__.py", + "target": "file:src/agentkit/llm/providers/anthropic.py", + "type": "imports", + "label": "导入 AnthropicProvider" + }, + { + "id": "edge:8942381b", + "source": "file:src/agentkit/llm/__init__.py", + "target": "file:src/agentkit/llm/providers/openai.py", + "type": "imports", + "label": "导入 OpenAICompatibleProvider" + }, + { + "id": "edge:d7039533", + "source": "file:src/agentkit/llm/__init__.py", + "target": "file:src/agentkit/llm/providers/tracker.py", + "type": "imports", + "label": "导入 UsageRecord" + }, + { + "id": "edge:812c8d10", + "source": "file:src/agentkit/llm/__init__.py", + "target": "file:src/agentkit/llm/providers/tracker.py", + "type": "imports", + "label": "导入 UsageSummary" + }, + { + "id": "edge:d57363ac", + "source": "file:src/agentkit/llm/__init__.py", + "target": "file:src/agentkit/llm/providers/tracker.py", + "type": "imports", + "label": "导入 UsageTracker" + }, + { + "id": "edge:38d465db", + "source": "file:src/agentkit/llm/__init__.py", + "target": "file:src/agentkit/llm/retry.py", + "type": "imports", + "label": "导入 CircuitBreaker" + }, + { + "id": "edge:8cdeafdc", + "source": "file:src/agentkit/llm/__init__.py", + "target": "file:src/agentkit/llm/retry.py", + "type": "imports", + "label": "导入 CircuitBreakerConfig" + }, + { + "id": "edge:a3ec3c96", + "source": "file:src/agentkit/llm/__init__.py", + "target": "file:src/agentkit/llm/retry.py", + "type": "imports", + "label": "导入 CircuitOpenError" + }, + { + "id": "edge:a707ed12", + "source": "file:src/agentkit/llm/__init__.py", + "target": "file:src/agentkit/llm/retry.py", + "type": "imports", + "label": "导入 CircuitState" + }, + { + "id": "edge:022f834e", + "source": "file:src/agentkit/llm/__init__.py", + "target": "file:src/agentkit/llm/retry.py", + "type": "imports", + "label": "导入 RetryConfig" + }, + { + "id": "edge:37c7900e", + "source": "file:src/agentkit/llm/__init__.py", + "target": "file:src/agentkit/llm/retry.py", + "type": "imports", + "label": "导入 RetryPolicy" + }, + { + "id": "edge:0a65b5a5", + "source": "file:src/agentkit/llm/config.py", + "target": "file:src/agentkit/llm/retry.py", + "type": "imports", + "label": "导入 CircuitBreakerConfig" + }, + { + "id": "edge:294312ab", + "source": "file:src/agentkit/llm/config.py", + "target": "file:src/agentkit/llm/retry.py", + "type": "imports", + "label": "导入 RetryConfig" + }, + { + "id": "edge:85509ea0", + "source": "file:src/agentkit/llm/gateway.py", + "target": "file:src/agentkit/core/exceptions.py", + "type": "imports", + "label": "导入 LLMProviderError" + }, + { + "id": "edge:46b8a15e", + "source": "file:src/agentkit/llm/gateway.py", + "target": "file:src/agentkit/core/exceptions.py", + "type": "imports", + "label": "导入 ModelNotFoundError" + }, + { + "id": "edge:53035c03", + "source": "file:src/agentkit/llm/gateway.py", + "target": "file:src/agentkit/llm/config.py", + "type": "imports", + "label": "导入 LLMConfig" + }, + { + "id": "edge:d9416235", + "source": "file:src/agentkit/llm/gateway.py", + "target": "file:src/agentkit/llm/protocol.py", + "type": "imports", + "label": "导入 LLMProvider" + }, + { + "id": "edge:21a7cfce", + "source": "file:src/agentkit/llm/gateway.py", + "target": "file:src/agentkit/llm/protocol.py", + "type": "imports", + "label": "导入 LLMRequest" + }, + { + "id": "edge:410c3199", + "source": "file:src/agentkit/llm/gateway.py", + "target": "file:src/agentkit/llm/protocol.py", + "type": "imports", + "label": "导入 LLMResponse" + }, + { + "id": "edge:774e2df2", + "source": "file:src/agentkit/llm/gateway.py", + "target": "file:src/agentkit/llm/protocol.py", + "type": "imports", + "label": "导入 StreamChunk" + }, + { + "id": "edge:6031c16a", + "source": "file:src/agentkit/llm/gateway.py", + "target": "file:src/agentkit/llm/protocol.py", + "type": "imports", + "label": "导入 TokenUsage" + }, + { + "id": "edge:36fc6267", + "source": "file:src/agentkit/llm/gateway.py", + "target": "file:src/agentkit/llm/providers/tracker.py", + "type": "imports", + "label": "导入 UsageSummary" + }, + { + "id": "edge:feffabca", + "source": "file:src/agentkit/llm/gateway.py", + "target": "file:src/agentkit/llm/providers/tracker.py", + "type": "imports", + "label": "导入 UsageTracker" + }, + { + "id": "edge:5a666875", + "source": "file:src/agentkit/llm/gateway.py", + "target": "file:src/agentkit/telemetry/tracing.py", + "type": "imports", + "label": "导入 get_tracer" + }, + { + "id": "edge:490a7eac", + "source": "file:src/agentkit/llm/gateway.py", + "target": "file:src/agentkit/telemetry/tracing.py", + "type": "imports", + "label": "导入 _OTEL_AVAILABLE" + }, + { + "id": "edge:12128472", + "source": "file:src/agentkit/llm/gateway.py", + "target": "file:src/agentkit/telemetry/metrics.py", + "type": "imports", + "label": "导入 llm_token_histogram" + }, + { + "id": "edge:d365a1ef", + "source": "file:src/agentkit/llm/providers/__init__.py", + "target": "file:src/agentkit/llm/providers/anthropic.py", + "type": "imports", + "label": "导入 AnthropicProvider" + }, + { + "id": "edge:93f809cb", + "source": "file:src/agentkit/llm/providers/__init__.py", + "target": "file:src/agentkit/llm/providers/doubao.py", + "type": "imports", + "label": "导入 DoubaoProvider" + }, + { + "id": "edge:bdff593a", + "source": "file:src/agentkit/llm/providers/__init__.py", + "target": "file:src/agentkit/llm/providers/gemini.py", + "type": "imports", + "label": "导入 GeminiProvider" + }, + { + "id": "edge:1f95de8b", + "source": "file:src/agentkit/llm/providers/__init__.py", + "target": "file:src/agentkit/llm/providers/openai.py", + "type": "imports", + "label": "导入 OpenAICompatibleProvider" + }, + { + "id": "edge:3d4c2c67", + "source": "file:src/agentkit/llm/providers/__init__.py", + "target": "file:src/agentkit/llm/providers/tracker.py", + "type": "imports", + "label": "导入 UsageRecord" + }, + { + "id": "edge:46be8f9d", + "source": "file:src/agentkit/llm/providers/__init__.py", + "target": "file:src/agentkit/llm/providers/tracker.py", + "type": "imports", + "label": "导入 UsageSummary" + }, + { + "id": "edge:332d838f", + "source": "file:src/agentkit/llm/providers/__init__.py", + "target": "file:src/agentkit/llm/providers/tracker.py", + "type": "imports", + "label": "导入 UsageTracker" + }, + { + "id": "edge:5c0b2d6c", + "source": "file:src/agentkit/llm/providers/__init__.py", + "target": "file:src/agentkit/llm/providers/wenxin.py", + "type": "imports", + "label": "导入 WenxinProvider" + }, + { + "id": "edge:ad759f78", + "source": "file:src/agentkit/llm/providers/__init__.py", + "target": "file:src/agentkit/llm/providers/yuanbao.py", + "type": "imports", + "label": "导入 YuanbaoProvider" + }, + { + "id": "edge:570bd57e", + "source": "file:src/agentkit/llm/providers/anthropic.py", + "target": "file:src/agentkit/core/exceptions.py", + "type": "imports", + "label": "导入 LLMProviderError" + }, + { + "id": "edge:759624a4", + "source": "file:src/agentkit/llm/providers/anthropic.py", + "target": "file:src/agentkit/llm/protocol.py", + "type": "imports", + "label": "导入 LLMProvider" + }, + { + "id": "edge:2914d73d", + "source": "file:src/agentkit/llm/providers/anthropic.py", + "target": "file:src/agentkit/llm/protocol.py", + "type": "imports", + "label": "导入 LLMRequest" + }, + { + "id": "edge:a098aaf3", + "source": "file:src/agentkit/llm/providers/anthropic.py", + "target": "file:src/agentkit/llm/protocol.py", + "type": "imports", + "label": "导入 LLMResponse" + }, + { + "id": "edge:da1be1bd", + "source": "file:src/agentkit/llm/providers/anthropic.py", + "target": "file:src/agentkit/llm/protocol.py", + "type": "imports", + "label": "导入 StreamChunk" + }, + { + "id": "edge:d53aa953", + "source": "file:src/agentkit/llm/providers/anthropic.py", + "target": "file:src/agentkit/llm/protocol.py", + "type": "imports", + "label": "导入 TokenUsage" + }, + { + "id": "edge:5dd238f8", + "source": "file:src/agentkit/llm/providers/anthropic.py", + "target": "file:src/agentkit/llm/protocol.py", + "type": "imports", + "label": "导入 ToolCall" + }, + { + "id": "edge:70e01f1c", + "source": "file:src/agentkit/llm/providers/anthropic.py", + "target": "file:src/agentkit/llm/retry.py", + "type": "imports", + "label": "导入 CircuitBreaker" + }, + { + "id": "edge:c9abed94", + "source": "file:src/agentkit/llm/providers/anthropic.py", + "target": "file:src/agentkit/llm/retry.py", + "type": "imports", + "label": "导入 CircuitBreakerConfig" + }, + { + "id": "edge:fb6a5542", + "source": "file:src/agentkit/llm/providers/anthropic.py", + "target": "file:src/agentkit/llm/retry.py", + "type": "imports", + "label": "导入 RetryConfig" + }, + { + "id": "edge:9152c013", + "source": "file:src/agentkit/llm/providers/anthropic.py", + "target": "file:src/agentkit/llm/retry.py", + "type": "imports", + "label": "导入 RetryPolicy" + }, + { + "id": "edge:ad6f0767", + "source": "file:src/agentkit/llm/providers/doubao.py", + "target": "file:src/agentkit/llm/providers/openai.py", + "type": "imports", + "label": "导入 OpenAICompatibleProvider" + }, + { + "id": "edge:ff91e7db", + "source": "file:src/agentkit/llm/providers/gemini.py", + "target": "file:src/agentkit/core/exceptions.py", + "type": "imports", + "label": "导入 LLMProviderError" + }, + { + "id": "edge:fa1285d4", + "source": "file:src/agentkit/llm/providers/gemini.py", + "target": "file:src/agentkit/llm/protocol.py", + "type": "imports", + "label": "导入 LLMProvider" + }, + { + "id": "edge:156415f4", + "source": "file:src/agentkit/llm/providers/gemini.py", + "target": "file:src/agentkit/llm/protocol.py", + "type": "imports", + "label": "导入 LLMRequest" + }, + { + "id": "edge:7187db38", + "source": "file:src/agentkit/llm/providers/gemini.py", + "target": "file:src/agentkit/llm/protocol.py", + "type": "imports", + "label": "导入 LLMResponse" + }, + { + "id": "edge:d7d25325", + "source": "file:src/agentkit/llm/providers/gemini.py", + "target": "file:src/agentkit/llm/protocol.py", + "type": "imports", + "label": "导入 StreamChunk" + }, + { + "id": "edge:2ebfdb79", + "source": "file:src/agentkit/llm/providers/gemini.py", + "target": "file:src/agentkit/llm/protocol.py", + "type": "imports", + "label": "导入 TokenUsage" + }, + { + "id": "edge:18e8cd0e", + "source": "file:src/agentkit/llm/providers/gemini.py", + "target": "file:src/agentkit/llm/protocol.py", + "type": "imports", + "label": "导入 ToolCall" + }, + { + "id": "edge:ea4f886d", + "source": "file:src/agentkit/llm/providers/gemini.py", + "target": "file:src/agentkit/llm/retry.py", + "type": "imports", + "label": "导入 CircuitBreaker" + }, + { + "id": "edge:16029fff", + "source": "file:src/agentkit/llm/providers/gemini.py", + "target": "file:src/agentkit/llm/retry.py", + "type": "imports", + "label": "导入 CircuitBreakerConfig" + }, + { + "id": "edge:5b8d694f", + "source": "file:src/agentkit/llm/providers/gemini.py", + "target": "file:src/agentkit/llm/retry.py", + "type": "imports", + "label": "导入 RetryConfig" + }, + { + "id": "edge:5ee9683a", + "source": "file:src/agentkit/llm/providers/gemini.py", + "target": "file:src/agentkit/llm/retry.py", + "type": "imports", + "label": "导入 RetryPolicy" + }, + { + "id": "edge:77797a08", + "source": "file:src/agentkit/llm/providers/openai.py", + "target": "file:src/agentkit/core/exceptions.py", + "type": "imports", + "label": "导入 LLMProviderError" + }, + { + "id": "edge:f6a6facb", + "source": "file:src/agentkit/llm/providers/openai.py", + "target": "file:src/agentkit/llm/protocol.py", + "type": "imports", + "label": "导入 LLMProvider" + }, + { + "id": "edge:c5bf14fc", + "source": "file:src/agentkit/llm/providers/openai.py", + "target": "file:src/agentkit/llm/protocol.py", + "type": "imports", + "label": "导入 LLMRequest" + }, + { + "id": "edge:4c83d723", + "source": "file:src/agentkit/llm/providers/openai.py", + "target": "file:src/agentkit/llm/protocol.py", + "type": "imports", + "label": "导入 LLMResponse" + }, + { + "id": "edge:87f29b02", + "source": "file:src/agentkit/llm/providers/openai.py", + "target": "file:src/agentkit/llm/protocol.py", + "type": "imports", + "label": "导入 StreamChunk" + }, + { + "id": "edge:bcbc35cd", + "source": "file:src/agentkit/llm/providers/openai.py", + "target": "file:src/agentkit/llm/protocol.py", + "type": "imports", + "label": "导入 TokenUsage" + }, + { + "id": "edge:4112d821", + "source": "file:src/agentkit/llm/providers/openai.py", + "target": "file:src/agentkit/llm/protocol.py", + "type": "imports", + "label": "导入 ToolCall" + }, + { + "id": "edge:d7891198", + "source": "file:src/agentkit/llm/providers/openai.py", + "target": "file:src/agentkit/llm/retry.py", + "type": "imports", + "label": "导入 CircuitBreaker" + }, + { + "id": "edge:1f8bd672", + "source": "file:src/agentkit/llm/providers/openai.py", + "target": "file:src/agentkit/llm/retry.py", + "type": "imports", + "label": "导入 CircuitBreakerConfig" + }, + { + "id": "edge:9b484723", + "source": "file:src/agentkit/llm/providers/openai.py", + "target": "file:src/agentkit/llm/retry.py", + "type": "imports", + "label": "导入 RetryConfig" + }, + { + "id": "edge:d70200e5", + "source": "file:src/agentkit/llm/providers/openai.py", + "target": "file:src/agentkit/llm/retry.py", + "type": "imports", + "label": "导入 RetryPolicy" + }, + { + "id": "edge:cca4a16a", + "source": "file:src/agentkit/llm/providers/tracker.py", + "target": "file:src/agentkit/llm/protocol.py", + "type": "imports", + "label": "导入 TokenUsage" + }, + { + "id": "edge:1d8bd8c3", + "source": "file:src/agentkit/llm/providers/wenxin.py", + "target": "file:src/agentkit/llm/providers/openai.py", + "type": "imports", + "label": "导入 OpenAICompatibleProvider" + }, + { + "id": "edge:845e012d", + "source": "file:src/agentkit/llm/providers/wenxin.py", + "target": "file:src/agentkit/llm/protocol.py", + "type": "imports", + "label": "导入 LLMRequest" + }, + { + "id": "edge:c8126b95", + "source": "file:src/agentkit/llm/providers/wenxin.py", + "target": "file:src/agentkit/llm/protocol.py", + "type": "imports", + "label": "导入 LLMResponse" + }, + { + "id": "edge:9128b725", + "source": "file:src/agentkit/llm/providers/yuanbao.py", + "target": "file:src/agentkit/llm/providers/openai.py", + "type": "imports", + "label": "导入 OpenAICompatibleProvider" + }, + { + "id": "edge:69497efe", + "source": "file:src/agentkit/llm/providers/yuanbao.py", + "target": "file:src/agentkit/llm/protocol.py", + "type": "imports", + "label": "导入 LLMRequest" + }, + { + "id": "edge:a9ee0017", + "source": "file:src/agentkit/llm/providers/yuanbao.py", + "target": "file:src/agentkit/llm/protocol.py", + "type": "imports", + "label": "导入 LLMResponse" + }, + { + "id": "edge:43a43977", + "source": "file:src/agentkit/llm/retry.py", + "target": "file:src/agentkit/core/exceptions.py", + "type": "imports", + "label": "导入 LLMProviderError" + }, + { + "id": "edge:bae537c2", + "source": "file:src/agentkit/marketplace/__init__.py", + "target": "file:src/agentkit/marketplace/auction.py", + "type": "imports", + "label": "导入 AuctionHouse" + }, + { + "id": "edge:7ecda67e", + "source": "file:src/agentkit/marketplace/__init__.py", + "target": "file:src/agentkit/marketplace/auction.py", + "type": "imports", + "label": "导入 AuctionResult" + }, + { + "id": "edge:101c7da4", + "source": "file:src/agentkit/marketplace/__init__.py", + "target": "file:src/agentkit/marketplace/auction.py", + "type": "imports", + "label": "导入 Bid" + }, + { + "id": "edge:ae7588ca", + "source": "file:src/agentkit/marketplace/__init__.py", + "target": "file:src/agentkit/marketplace/wealth.py", + "type": "imports", + "label": "导入 WealthTracker" + }, + { + "id": "edge:e58ba23d", + "source": "file:src/agentkit/marketplace/auction.py", + "target": "file:src/agentkit/marketplace/wealth.py", + "type": "imports", + "label": "导入 WealthTracker" + }, + { + "id": "edge:5da8cfcd", + "source": "file:src/agentkit/mcp/__init__.py", + "target": "file:src/agentkit/mcp/client.py", + "type": "imports", + "label": "导入 MCPClient" + }, + { + "id": "edge:5da1a471", + "source": "file:src/agentkit/mcp/__init__.py", + "target": "file:src/agentkit/mcp/manager.py", + "type": "imports", + "label": "导入 MCPManager" + }, + { + "id": "edge:a39a7b02", + "source": "file:src/agentkit/mcp/__init__.py", + "target": "file:src/agentkit/mcp/server.py", + "type": "imports", + "label": "导入 MCPServer" + }, + { + "id": "edge:90fc6d5f", + "source": "file:src/agentkit/mcp/__init__.py", + "target": "file:src/agentkit/mcp/transport.py", + "type": "imports", + "label": "导入 HTTPTransport" + }, + { + "id": "edge:5d4514f2", + "source": "file:src/agentkit/mcp/__init__.py", + "target": "file:src/agentkit/mcp/transport.py", + "type": "imports", + "label": "导入 SSETransport" + }, + { + "id": "edge:7f9c1eb7", + "source": "file:src/agentkit/mcp/__init__.py", + "target": "file:src/agentkit/mcp/transport.py", + "type": "imports", + "label": "导入 StdioTransport" + }, + { + "id": "edge:dda91bca", + "source": "file:src/agentkit/mcp/__init__.py", + "target": "file:src/agentkit/mcp/transport.py", + "type": "imports", + "label": "导入 Transport" + }, + { + "id": "edge:49b9e0f8", + "source": "file:src/agentkit/mcp/__init__.py", + "target": "file:src/agentkit/mcp/transport.py", + "type": "imports", + "label": "导入 TransportError" + }, + { + "id": "edge:97da0fea", + "source": "file:src/agentkit/mcp/client.py", + "target": "file:src/agentkit/mcp/transport.py", + "type": "imports", + "label": "导入 HTTPTransport" + }, + { + "id": "edge:b3d4fc47", + "source": "file:src/agentkit/mcp/client.py", + "target": "file:src/agentkit/mcp/transport.py", + "type": "imports", + "label": "导入 SSETransport" + }, + { + "id": "edge:d2dd3198", + "source": "file:src/agentkit/mcp/client.py", + "target": "file:src/agentkit/mcp/transport.py", + "type": "imports", + "label": "导入 StdioTransport" + }, + { + "id": "edge:0f25f91f", + "source": "file:src/agentkit/mcp/client.py", + "target": "file:src/agentkit/mcp/transport.py", + "type": "imports", + "label": "导入 Transport" + }, + { + "id": "edge:55ccdece", + "source": "file:src/agentkit/mcp/client.py", + "target": "file:src/agentkit/tools/base.py", + "type": "imports", + "label": "导入 Tool" + }, + { + "id": "edge:dd45e0ef", + "source": "file:src/agentkit/mcp/manager.py", + "target": "file:src/agentkit/mcp/client.py", + "type": "imports", + "label": "导入 MCPClient" + }, + { + "id": "edge:5e5ae66d", + "source": "file:src/agentkit/mcp/manager.py", + "target": "file:src/agentkit/mcp/transport.py", + "type": "imports", + "label": "导入 HTTPTransport" + }, + { + "id": "edge:1e27dee0", + "source": "file:src/agentkit/mcp/manager.py", + "target": "file:src/agentkit/mcp/transport.py", + "type": "imports", + "label": "导入 SSETransport" + }, + { + "id": "edge:3ecc77e4", + "source": "file:src/agentkit/mcp/manager.py", + "target": "file:src/agentkit/mcp/transport.py", + "type": "imports", + "label": "导入 StdioTransport" + }, + { + "id": "edge:a396096a", + "source": "file:src/agentkit/mcp/manager.py", + "target": "file:src/agentkit/mcp/transport.py", + "type": "imports", + "label": "导入 Transport" + }, + { + "id": "edge:af7f1d2c", + "source": "file:src/agentkit/mcp/manager.py", + "target": "file:src/agentkit/tools/registry.py", + "type": "imports", + "label": "导入 ToolRegistry" + }, + { + "id": "edge:8c1f95ee", + "source": "file:src/agentkit/mcp/manager.py", + "target": "file:src/agentkit/server/config.py", + "type": "imports", + "label": "导入 MCPServerConfig" + }, + { + "id": "edge:4790d0c5", + "source": "file:src/agentkit/memory/__init__.py", + "target": "file:src/agentkit/memory/base.py", + "type": "imports", + "label": "导入 Memory" + }, + { + "id": "edge:cb25c244", + "source": "file:src/agentkit/memory/__init__.py", + "target": "file:src/agentkit/memory/base.py", + "type": "imports", + "label": "导入 MemoryItem" + }, + { + "id": "edge:fc2e1b79", + "source": "file:src/agentkit/memory/__init__.py", + "target": "file:src/agentkit/memory/working.py", + "type": "imports", + "label": "导入 WorkingMemory" + }, + { + "id": "edge:85bad874", + "source": "file:src/agentkit/memory/__init__.py", + "target": "file:src/agentkit/memory/episodic.py", + "type": "imports", + "label": "导入 EpisodicMemory" + }, + { + "id": "edge:6b9b5fb6", + "source": "file:src/agentkit/memory/__init__.py", + "target": "file:src/agentkit/memory/semantic.py", + "type": "imports", + "label": "导入 SemanticMemory" + }, + { + "id": "edge:6e67ea7c", + "source": "file:src/agentkit/memory/__init__.py", + "target": "file:src/agentkit/memory/http_rag.py", + "type": "imports", + "label": "导入 HttpRAGService" + }, + { + "id": "edge:8dee2a85", + "source": "file:src/agentkit/memory/__init__.py", + "target": "file:src/agentkit/memory/retriever.py", + "type": "imports", + "label": "导入 MemoryRetriever" + }, + { + "id": "edge:02127312", + "source": "file:src/agentkit/memory/__init__.py", + "target": "file:src/agentkit/memory/multi_source_retriever.py", + "type": "imports", + "label": "导入 MultiSourceRetriever" + }, + { + "id": "edge:37a0c941", + "source": "file:src/agentkit/memory/__init__.py", + "target": "file:src/agentkit/memory/query_transformer.py", + "type": "imports", + "label": "导入 QueryTransformerBase" + }, + { + "id": "edge:bcb672a4", + "source": "file:src/agentkit/memory/__init__.py", + "target": "file:src/agentkit/memory/query_transformer.py", + "type": "imports", + "label": "导入 LLMQueryTransformer" + }, + { + "id": "edge:1c806be0", + "source": "file:src/agentkit/memory/__init__.py", + "target": "file:src/agentkit/memory/query_transformer.py", + "type": "imports", + "label": "导入 RuleQueryTransformer" + }, + { + "id": "edge:47c53fd0", + "source": "file:src/agentkit/memory/__init__.py", + "target": "file:src/agentkit/memory/query_transformer.py", + "type": "imports", + "label": "导入 NoOpQueryTransformer" + }, + { + "id": "edge:315844cf", + "source": "file:src/agentkit/memory/__init__.py", + "target": "file:src/agentkit/memory/query_transformer.py", + "type": "imports", + "label": "导入 TransformedQuery" + }, + { + "id": "edge:632cc802", + "source": "file:src/agentkit/memory/__init__.py", + "target": "file:src/agentkit/memory/query_transformer.py", + "type": "imports", + "label": "导入 create_query_transformer" + }, + { + "id": "edge:83f5f8cc", + "source": "file:src/agentkit/memory/__init__.py", + "target": "file:src/agentkit/memory/profile.py", + "type": "imports", + "label": "导入 MemoryFile" + }, + { + "id": "edge:bb77f4ae", + "source": "file:src/agentkit/memory/__init__.py", + "target": "file:src/agentkit/memory/profile.py", + "type": "imports", + "label": "导入 MemoryStore" + }, + { + "id": "edge:444d7669", + "source": "file:src/agentkit/memory/__init__.py", + "target": "file:src/agentkit/memory/profile.py", + "type": "imports", + "label": "导入 MemorySnapshot" + }, + { + "id": "edge:d882600b", + "source": "file:src/agentkit/memory/adapters/__init__.py", + "target": "file:src/agentkit/memory/adapters/base.py", + "type": "imports", + "label": "导入 KBAdapter" + }, + { + "id": "edge:6dd753eb", + "source": "file:src/agentkit/memory/adapters/__init__.py", + "target": "file:src/agentkit/memory/adapters/feishu.py", + "type": "imports", + "label": "导入 FeishuKBAdapter" + }, + { + "id": "edge:1b509cf8", + "source": "file:src/agentkit/memory/adapters/__init__.py", + "target": "file:src/agentkit/memory/adapters/confluence.py", + "type": "imports", + "label": "导入 ConfluenceAdapter" + }, + { + "id": "edge:cf8b01ac", + "source": "file:src/agentkit/memory/adapters/__init__.py", + "target": "file:src/agentkit/memory/adapters/generic_http.py", + "type": "imports", + "label": "导入 GenericHTTPAdapter" + }, + { + "id": "edge:634f3422", + "source": "file:src/agentkit/memory/adapters/base.py", + "target": "file:src/agentkit/memory/knowledge_base.py", + "type": "imports", + "label": "导入 Document" + }, + { + "id": "edge:63ae6b48", + "source": "file:src/agentkit/memory/adapters/base.py", + "target": "file:src/agentkit/memory/knowledge_base.py", + "type": "imports", + "label": "导入 QueryResult" + }, + { + "id": "edge:8e0919a7", + "source": "file:src/agentkit/memory/adapters/base.py", + "target": "file:src/agentkit/memory/knowledge_base.py", + "type": "imports", + "label": "导入 SourceInfo" + }, + { + "id": "edge:faf95ecc", + "source": "file:src/agentkit/memory/adapters/confluence.py", + "target": "file:src/agentkit/memory/adapters/base.py", + "type": "imports", + "label": "导入 KBAdapter" + }, + { + "id": "edge:f916b1e2", + "source": "file:src/agentkit/memory/adapters/confluence.py", + "target": "file:src/agentkit/memory/knowledge_base.py", + "type": "imports", + "label": "导入 Document" + }, + { + "id": "edge:b6b4a375", + "source": "file:src/agentkit/memory/adapters/confluence.py", + "target": "file:src/agentkit/memory/knowledge_base.py", + "type": "imports", + "label": "导入 QueryResult" + }, + { + "id": "edge:acf1823f", + "source": "file:src/agentkit/memory/adapters/confluence.py", + "target": "file:src/agentkit/memory/knowledge_base.py", + "type": "imports", + "label": "导入 SourceInfo" + }, + { + "id": "edge:dbaccd71", + "source": "file:src/agentkit/memory/adapters/confluence.py", + "target": "file:src/agentkit/utils/security.py", + "type": "imports", + "label": "导入 is_safe_url" + }, + { + "id": "edge:466ed836", + "source": "file:src/agentkit/memory/adapters/feishu.py", + "target": "file:src/agentkit/memory/adapters/base.py", + "type": "imports", + "label": "导入 KBAdapter" + }, + { + "id": "edge:9f9a9f7c", + "source": "file:src/agentkit/memory/adapters/feishu.py", + "target": "file:src/agentkit/memory/knowledge_base.py", + "type": "imports", + "label": "导入 Document" + }, + { + "id": "edge:64083b0f", + "source": "file:src/agentkit/memory/adapters/feishu.py", + "target": "file:src/agentkit/memory/knowledge_base.py", + "type": "imports", + "label": "导入 QueryResult" + }, + { + "id": "edge:542d714f", + "source": "file:src/agentkit/memory/adapters/feishu.py", + "target": "file:src/agentkit/memory/knowledge_base.py", + "type": "imports", + "label": "导入 SourceInfo" + }, + { + "id": "edge:3760f952", + "source": "file:src/agentkit/memory/adapters/feishu.py", + "target": "file:src/agentkit/utils/security.py", + "type": "imports", + "label": "导入 is_safe_url" + }, + { + "id": "edge:1239bb37", + "source": "file:src/agentkit/memory/adapters/generic_http.py", + "target": "file:src/agentkit/memory/adapters/base.py", + "type": "imports", + "label": "导入 KBAdapter" + }, + { + "id": "edge:d5e2be45", + "source": "file:src/agentkit/memory/adapters/generic_http.py", + "target": "file:src/agentkit/memory/knowledge_base.py", + "type": "imports", + "label": "导入 Document" + }, + { + "id": "edge:1262f83f", + "source": "file:src/agentkit/memory/adapters/generic_http.py", + "target": "file:src/agentkit/memory/knowledge_base.py", + "type": "imports", + "label": "导入 QueryResult" + }, + { + "id": "edge:119f439a", + "source": "file:src/agentkit/memory/adapters/generic_http.py", + "target": "file:src/agentkit/memory/knowledge_base.py", + "type": "imports", + "label": "导入 SourceInfo" + }, + { + "id": "edge:4195089f", + "source": "file:src/agentkit/memory/adapters/generic_http.py", + "target": "file:src/agentkit/utils/security.py", + "type": "imports", + "label": "导入 is_safe_url" + }, + { + "id": "edge:877d427d", + "source": "file:src/agentkit/memory/contextual_retrieval.py", + "target": "file:src/agentkit/memory/embedder.py", + "type": "imports", + "label": "导入 EmbeddingCache" + }, + { + "id": "edge:267e565a", + "source": "file:src/agentkit/memory/episodic.py", + "target": "file:src/agentkit/memory/base.py", + "type": "imports", + "label": "导入 Memory" + }, + { + "id": "edge:c72ec23c", + "source": "file:src/agentkit/memory/episodic.py", + "target": "file:src/agentkit/memory/base.py", + "type": "imports", + "label": "导入 MemoryItem" + }, + { + "id": "edge:79ff26aa", + "source": "file:src/agentkit/memory/episodic.py", + "target": "file:src/agentkit/memory/embedder.py", + "type": "imports", + "label": "导入 Embedder" + }, + { + "id": "edge:0c4e492b", + "source": "file:src/agentkit/memory/episodic.py", + "target": "file:src/agentkit/utils/vector_math.py", + "type": "imports", + "label": "导入 compute_cosine_similarity" + }, + { + "id": "edge:d53db485", + "source": "file:src/agentkit/memory/http_rag.py", + "target": "file:src/agentkit/memory/contextual_retrieval.py", + "type": "imports", + "label": "导入 ContextualChunker" + }, + { + "id": "edge:8a651c37", + "source": "file:src/agentkit/memory/local_rag.py", + "target": "file:src/agentkit/memory/chunking.py", + "type": "imports", + "label": "导入 Chunk" + }, + { + "id": "edge:66a28625", + "source": "file:src/agentkit/memory/local_rag.py", + "target": "file:src/agentkit/memory/chunking.py", + "type": "imports", + "label": "导入 StructuralChunker" + }, + { + "id": "edge:4dc4eb3b", + "source": "file:src/agentkit/memory/local_rag.py", + "target": "file:src/agentkit/memory/chunking.py", + "type": "imports", + "label": "导入 TextChunker" + }, + { + "id": "edge:817133cf", + "source": "file:src/agentkit/memory/local_rag.py", + "target": "file:src/agentkit/memory/document_loader.py", + "type": "imports", + "label": "导入 Document" + }, + { + "id": "edge:51f708c8", + "source": "file:src/agentkit/memory/local_rag.py", + "target": "file:src/agentkit/memory/embedder.py", + "type": "imports", + "label": "导入 Embedder" + }, + { + "id": "edge:62018da5", + "source": "file:src/agentkit/memory/local_rag.py", + "target": "file:src/agentkit/memory/knowledge_base.py", + "type": "imports", + "label": "导入 Document" + }, + { + "id": "edge:1260da20", + "source": "file:src/agentkit/memory/local_rag.py", + "target": "file:src/agentkit/memory/knowledge_base.py", + "type": "imports", + "label": "导入 KnowledgeBase" + }, + { + "id": "edge:b3b2e51c", + "source": "file:src/agentkit/memory/local_rag.py", + "target": "file:src/agentkit/memory/knowledge_base.py", + "type": "imports", + "label": "导入 QueryResult" + }, + { + "id": "edge:def7ca53", + "source": "file:src/agentkit/memory/local_rag.py", + "target": "file:src/agentkit/memory/knowledge_base.py", + "type": "imports", + "label": "导入 SourceInfo" + }, + { + "id": "edge:cbe68a1a", + "source": "file:src/agentkit/memory/local_rag.py", + "target": "file:src/agentkit/utils/vector_math.py", + "type": "imports", + "label": "导入 compute_cosine_similarity" + }, + { + "id": "edge:2a468f10", + "source": "file:src/agentkit/memory/multi_source_retriever.py", + "target": "file:src/agentkit/memory/knowledge_base.py", + "type": "imports", + "label": "导入 KnowledgeBase" + }, + { + "id": "edge:04cc2609", + "source": "file:src/agentkit/memory/multi_source_retriever.py", + "target": "file:src/agentkit/memory/knowledge_base.py", + "type": "imports", + "label": "导入 QueryResult" + }, + { + "id": "edge:6d594824", + "source": "file:src/agentkit/memory/multi_source_retriever.py", + "target": "file:src/agentkit/memory/knowledge_base.py", + "type": "imports", + "label": "导入 SourceInfo" + }, + { + "id": "edge:f983d119", + "source": "file:src/agentkit/memory/rag_loop.py", + "target": "file:src/agentkit/memory/base.py", + "type": "imports", + "label": "导入 MemoryItem" + }, + { + "id": "edge:e442c5bd", + "source": "file:src/agentkit/memory/rag_loop.py", + "target": "file:src/agentkit/memory/query_transformer.py", + "type": "imports", + "label": "导入 QueryTransformerBase" + }, + { + "id": "edge:b04d5e3e", + "source": "file:src/agentkit/memory/rag_loop.py", + "target": "file:src/agentkit/memory/query_transformer.py", + "type": "imports", + "label": "导入 NoOpQueryTransformer" + }, + { + "id": "edge:09af4cfd", + "source": "file:src/agentkit/memory/rag_loop.py", + "target": "file:src/agentkit/memory/relevance_scorer.py", + "type": "imports", + "label": "导入 RelevanceScorer" + }, + { + "id": "edge:fc5793d9", + "source": "file:src/agentkit/memory/rag_loop.py", + "target": "file:src/agentkit/memory/relevance_scorer.py", + "type": "imports", + "label": "导入 RelevanceVerdict" + }, + { + "id": "edge:651aaa4a", + "source": "file:src/agentkit/memory/rag_loop.py", + "target": "file:src/agentkit/memory/relevance_scorer.py", + "type": "imports", + "label": "导入 RetrievalEvaluation" + }, + { + "id": "edge:483449ef", + "source": "file:src/agentkit/memory/relevance_scorer.py", + "target": "file:src/agentkit/memory/base.py", + "type": "imports", + "label": "导入 MemoryItem" + }, + { + "id": "edge:b7a52bde", + "source": "file:src/agentkit/memory/retriever.py", + "target": "file:src/agentkit/memory/base.py", + "type": "imports", + "label": "导入 Memory" + }, + { + "id": "edge:187e4405", + "source": "file:src/agentkit/memory/retriever.py", + "target": "file:src/agentkit/memory/base.py", + "type": "imports", + "label": "导入 MemoryItem" + }, + { + "id": "edge:9a084abc", + "source": "file:src/agentkit/memory/retriever.py", + "target": "file:src/agentkit/memory/working.py", + "type": "imports", + "label": "导入 WorkingMemory" + }, + { + "id": "edge:9efef676", + "source": "file:src/agentkit/memory/retriever.py", + "target": "file:src/agentkit/memory/episodic.py", + "type": "imports", + "label": "导入 EpisodicMemory" + }, + { + "id": "edge:dc2f2749", + "source": "file:src/agentkit/memory/retriever.py", + "target": "file:src/agentkit/memory/semantic.py", + "type": "imports", + "label": "导入 SemanticMemory" + }, + { + "id": "edge:06e76169", + "source": "file:src/agentkit/memory/retriever.py", + "target": "file:src/agentkit/memory/query_transformer.py", + "type": "imports", + "label": "导入 QueryTransformerBase" + }, + { + "id": "edge:d170877a", + "source": "file:src/agentkit/memory/retriever.py", + "target": "file:src/agentkit/memory/rag_loop.py", + "type": "imports", + "label": "导入 RAGSelfCorrectionLoop" + }, + { + "id": "edge:74c289a8", + "source": "file:src/agentkit/memory/retriever.py", + "target": "file:src/agentkit/memory/relevance_scorer.py", + "type": "imports", + "label": "导入 RelevanceScorer" + }, + { + "id": "edge:2b3a12a7", + "source": "file:src/agentkit/memory/retriever.py", + "target": "file:src/agentkit/memory/knowledge_base.py", + "type": "imports", + "label": "导入 KnowledgeBase" + }, + { + "id": "edge:06ee3071", + "source": "file:src/agentkit/memory/retriever.py", + "target": "file:src/agentkit/memory/knowledge_base.py", + "type": "imports", + "label": "导入 QueryResult" + }, + { + "id": "edge:b2e3779b", + "source": "file:src/agentkit/memory/retriever.py", + "target": "file:src/agentkit/memory/multi_source_retriever.py", + "type": "imports", + "label": "导入 MultiSourceRetriever" + }, + { + "id": "edge:551b7325", + "source": "file:src/agentkit/memory/retriever.py", + "target": "file:src/agentkit/tools/base.py", + "type": "imports", + "label": "导入 Tool" + }, + { + "id": "edge:8f16a1df", + "source": "file:src/agentkit/memory/semantic.py", + "target": "file:src/agentkit/memory/base.py", + "type": "imports", + "label": "导入 Memory" + }, + { + "id": "edge:6e5ece1c", + "source": "file:src/agentkit/memory/semantic.py", + "target": "file:src/agentkit/memory/base.py", + "type": "imports", + "label": "导入 MemoryItem" + }, + { + "id": "edge:a8aa7c5d", + "source": "file:src/agentkit/memory/working.py", + "target": "file:src/agentkit/memory/base.py", + "type": "imports", + "label": "导入 Memory" + }, + { + "id": "edge:976b0fd0", + "source": "file:src/agentkit/memory/working.py", + "target": "file:src/agentkit/memory/base.py", + "type": "imports", + "label": "导入 MemoryItem" + }, + { + "id": "edge:9a8180c6", + "source": "file:src/agentkit/orchestrator/__init__.py", + "target": "file:src/agentkit/orchestrator/pipeline_schema.py", + "type": "imports", + "label": "导入 Pipeline" + }, + { + "id": "edge:13a63e91", + "source": "file:src/agentkit/orchestrator/__init__.py", + "target": "file:src/agentkit/orchestrator/pipeline_schema.py", + "type": "imports", + "label": "导入 PipelineStage" + }, + { + "id": "edge:30d297d5", + "source": "file:src/agentkit/orchestrator/__init__.py", + "target": "file:src/agentkit/orchestrator/pipeline_schema.py", + "type": "imports", + "label": "导入 StageStatus" + }, + { + "id": "edge:66682061", + "source": "file:src/agentkit/orchestrator/__init__.py", + "target": "file:src/agentkit/orchestrator/pipeline_schema.py", + "type": "imports", + "label": "导入 AdaptiveConfig" + }, + { + "id": "edge:d50cf5a0", + "source": "file:src/agentkit/orchestrator/__init__.py", + "target": "file:src/agentkit/orchestrator/pipeline_schema.py", + "type": "imports", + "label": "导入 ReflectionReport" + }, + { + "id": "edge:c9ac1afd", + "source": "file:src/agentkit/orchestrator/__init__.py", + "target": "file:src/agentkit/orchestrator/pipeline_engine.py", + "type": "imports", + "label": "导入 PipelineEngine" + }, + { + "id": "edge:054e0013", + "source": "file:src/agentkit/orchestrator/__init__.py", + "target": "file:src/agentkit/orchestrator/pipeline_loader.py", + "type": "imports", + "label": "导入 PipelineLoader" + }, + { + "id": "edge:bcc9f54a", + "source": "file:src/agentkit/orchestrator/__init__.py", + "target": "file:src/agentkit/orchestrator/handoff.py", + "type": "imports", + "label": "导入 HandoffManager" + }, + { + "id": "edge:c08cfe81", + "source": "file:src/agentkit/orchestrator/__init__.py", + "target": "file:src/agentkit/orchestrator/dynamic_pipeline.py", + "type": "imports", + "label": "导入 DynamicPipeline" + }, + { + "id": "edge:b10dd91c", + "source": "file:src/agentkit/orchestrator/__init__.py", + "target": "file:src/agentkit/orchestrator/pipeline_state.py", + "type": "imports", + "label": "导入 PipelineStateMemory" + }, + { + "id": "edge:b2262d6d", + "source": "file:src/agentkit/orchestrator/__init__.py", + "target": "file:src/agentkit/orchestrator/pipeline_state.py", + "type": "imports", + "label": "导入 PipelineStateRedis" + }, + { + "id": "edge:598b0db4", + "source": "file:src/agentkit/orchestrator/__init__.py", + "target": "file:src/agentkit/orchestrator/pipeline_state.py", + "type": "imports", + "label": "导入 PipelineStatePG" + }, + { + "id": "edge:5e2ad3c4", + "source": "file:src/agentkit/orchestrator/__init__.py", + "target": "file:src/agentkit/orchestrator/pipeline_state.py", + "type": "imports", + "label": "导入 PipelineStateManager" + }, + { + "id": "edge:c0386a56", + "source": "file:src/agentkit/orchestrator/__init__.py", + "target": "file:src/agentkit/orchestrator/retry.py", + "type": "imports", + "label": "导入 StepRetryPolicy" + }, + { + "id": "edge:44d069de", + "source": "file:src/agentkit/orchestrator/__init__.py", + "target": "file:src/agentkit/orchestrator/retry.py", + "type": "imports", + "label": "导入 execute_with_retry" + }, + { + "id": "edge:f842aba8", + "source": "file:src/agentkit/orchestrator/__init__.py", + "target": "file:src/agentkit/orchestrator/compensation.py", + "type": "imports", + "label": "导入 CompletedStep" + }, + { + "id": "edge:3d53fe6a", + "source": "file:src/agentkit/orchestrator/__init__.py", + "target": "file:src/agentkit/orchestrator/compensation.py", + "type": "imports", + "label": "导入 CompensationResult" + }, + { + "id": "edge:d4c19150", + "source": "file:src/agentkit/orchestrator/__init__.py", + "target": "file:src/agentkit/orchestrator/compensation.py", + "type": "imports", + "label": "导入 SagaOrchestrator" + }, + { + "id": "edge:a3358e88", + "source": "file:src/agentkit/orchestrator/__init__.py", + "target": "file:src/agentkit/orchestrator/reflection.py", + "type": "imports", + "label": "导入 PipelineReflector" + }, + { + "id": "edge:f9f619e7", + "source": "file:src/agentkit/orchestrator/__init__.py", + "target": "file:src/agentkit/orchestrator/reflection.py", + "type": "imports", + "label": "导入 PipelineReplanner" + }, + { + "id": "edge:4fd2f7da", + "source": "file:src/agentkit/orchestrator/dynamic_pipeline.py", + "target": "file:src/agentkit/orchestrator/pipeline_engine.py", + "type": "imports", + "label": "导入 PipelineEngine" + }, + { + "id": "edge:80e5917a", + "source": "file:src/agentkit/orchestrator/dynamic_pipeline.py", + "target": "file:src/agentkit/orchestrator/pipeline_schema.py", + "type": "imports", + "label": "导入 Pipeline" + }, + { + "id": "edge:7099858b", + "source": "file:src/agentkit/orchestrator/dynamic_pipeline.py", + "target": "file:src/agentkit/orchestrator/pipeline_schema.py", + "type": "imports", + "label": "导入 PipelineResult" + }, + { + "id": "edge:d0eb3d91", + "source": "file:src/agentkit/orchestrator/dynamic_pipeline.py", + "target": "file:src/agentkit/orchestrator/pipeline_schema.py", + "type": "imports", + "label": "导入 StageStatus" + }, + { + "id": "edge:9c10ed21", + "source": "file:src/agentkit/orchestrator/handoff.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 HandoffMessage" + }, + { + "id": "edge:96a23b23", + "source": "file:src/agentkit/orchestrator/pipeline_engine.py", + "target": "file:src/agentkit/orchestrator/compensation.py", + "type": "imports", + "label": "导入 SagaOrchestrator" + }, + { + "id": "edge:f3f21d7a", + "source": "file:src/agentkit/orchestrator/pipeline_engine.py", + "target": "file:src/agentkit/orchestrator/pipeline_schema.py", + "type": "imports", + "label": "导入 AdversarialState" + }, + { + "id": "edge:e79d74f9", + "source": "file:src/agentkit/orchestrator/pipeline_engine.py", + "target": "file:src/agentkit/orchestrator/pipeline_schema.py", + "type": "imports", + "label": "导入 AdaptiveConfig" + }, + { + "id": "edge:ee41b3c8", + "source": "file:src/agentkit/orchestrator/pipeline_engine.py", + "target": "file:src/agentkit/orchestrator/pipeline_schema.py", + "type": "imports", + "label": "导入 Pipeline" + }, + { + "id": "edge:2d08c1da", + "source": "file:src/agentkit/orchestrator/pipeline_engine.py", + "target": "file:src/agentkit/orchestrator/pipeline_schema.py", + "type": "imports", + "label": "导入 PipelineResult" + }, + { + "id": "edge:a88c6dc6", + "source": "file:src/agentkit/orchestrator/pipeline_engine.py", + "target": "file:src/agentkit/orchestrator/pipeline_schema.py", + "type": "imports", + "label": "导入 PipelineStage" + }, + { + "id": "edge:5f1edfef", + "source": "file:src/agentkit/orchestrator/pipeline_engine.py", + "target": "file:src/agentkit/orchestrator/pipeline_schema.py", + "type": "imports", + "label": "导入 ReflectionReport" + }, + { + "id": "edge:4effbda8", + "source": "file:src/agentkit/orchestrator/pipeline_engine.py", + "target": "file:src/agentkit/orchestrator/pipeline_schema.py", + "type": "imports", + "label": "导入 ReviewFeedback" + }, + { + "id": "edge:0e3d3f54", + "source": "file:src/agentkit/orchestrator/pipeline_engine.py", + "target": "file:src/agentkit/orchestrator/pipeline_schema.py", + "type": "imports", + "label": "导入 ReviewIssue" + }, + { + "id": "edge:73e5dba1", + "source": "file:src/agentkit/orchestrator/pipeline_engine.py", + "target": "file:src/agentkit/orchestrator/pipeline_schema.py", + "type": "imports", + "label": "导入 StageResult" + }, + { + "id": "edge:0f0221bd", + "source": "file:src/agentkit/orchestrator/pipeline_engine.py", + "target": "file:src/agentkit/orchestrator/pipeline_schema.py", + "type": "imports", + "label": "导入 StageStatus" + }, + { + "id": "edge:8567f657", + "source": "file:src/agentkit/orchestrator/pipeline_engine.py", + "target": "file:src/agentkit/orchestrator/reflection.py", + "type": "imports", + "label": "导入 PipelineReflector" + }, + { + "id": "edge:3f2c189e", + "source": "file:src/agentkit/orchestrator/pipeline_engine.py", + "target": "file:src/agentkit/orchestrator/reflection.py", + "type": "imports", + "label": "导入 PipelineReplanner" + }, + { + "id": "edge:991e02b7", + "source": "file:src/agentkit/orchestrator/pipeline_engine.py", + "target": "file:src/agentkit/orchestrator/retry.py", + "type": "imports", + "label": "导入 StepRetryPolicy" + }, + { + "id": "edge:134d7f48", + "source": "file:src/agentkit/orchestrator/pipeline_engine.py", + "target": "file:src/agentkit/orchestrator/retry.py", + "type": "imports", + "label": "导入 execute_with_retry" + }, + { + "id": "edge:79828f8a", + "source": "file:src/agentkit/orchestrator/pipeline_engine.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 TaskMessage" + }, + { + "id": "edge:dc24f786", + "source": "file:src/agentkit/orchestrator/pipeline_engine.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 TaskMessage" + }, + { + "id": "edge:988cb518", + "source": "file:src/agentkit/orchestrator/pipeline_loader.py", + "target": "file:src/agentkit/orchestrator/pipeline_schema.py", + "type": "imports", + "label": "导入 Pipeline" + }, + { + "id": "edge:88dbee83", + "source": "file:src/agentkit/orchestrator/pipeline_loader.py", + "target": "file:src/agentkit/orchestrator/pipeline_schema.py", + "type": "imports", + "label": "导入 PipelineStage" + }, + { + "id": "edge:c57428e3", + "source": "file:src/agentkit/orchestrator/pipeline_schema.py", + "target": "file:src/agentkit/orchestrator/retry.py", + "type": "imports", + "label": "导入 StepRetryPolicy" + }, + { + "id": "edge:a18a9521", + "source": "file:src/agentkit/orchestrator/pipeline_state.py", + "target": "file:src/agentkit/orchestrator/pipeline_models.py", + "type": "imports", + "label": "导入 PipelineExecutionModel" + }, + { + "id": "edge:5aa2cb78", + "source": "file:src/agentkit/orchestrator/pipeline_state.py", + "target": "file:src/agentkit/orchestrator/pipeline_models.py", + "type": "imports", + "label": "导入 PipelineStepHistoryModel" + }, + { + "id": "edge:8805e6bd", + "source": "file:src/agentkit/orchestrator/reflection.py", + "target": "file:src/agentkit/orchestrator/pipeline_schema.py", + "type": "imports", + "label": "导入 Pipeline" + }, + { + "id": "edge:0ffe4f77", + "source": "file:src/agentkit/orchestrator/reflection.py", + "target": "file:src/agentkit/orchestrator/pipeline_schema.py", + "type": "imports", + "label": "导入 PipelineResult" + }, + { + "id": "edge:d75d50ca", + "source": "file:src/agentkit/orchestrator/reflection.py", + "target": "file:src/agentkit/orchestrator/pipeline_schema.py", + "type": "imports", + "label": "导入 PipelineStage" + }, + { + "id": "edge:6a8999f9", + "source": "file:src/agentkit/orchestrator/reflection.py", + "target": "file:src/agentkit/orchestrator/pipeline_schema.py", + "type": "imports", + "label": "导入 ReflectionReport" + }, + { + "id": "edge:a723b715", + "source": "file:src/agentkit/orchestrator/reflection.py", + "target": "file:src/agentkit/orchestrator/pipeline_schema.py", + "type": "imports", + "label": "导入 StageResult" + }, + { + "id": "edge:3b46f4c4", + "source": "file:src/agentkit/orchestrator/reflection.py", + "target": "file:src/agentkit/orchestrator/pipeline_schema.py", + "type": "imports", + "label": "导入 StageStatus" + }, + { + "id": "edge:5871baae", + "source": "file:src/agentkit/orchestrator/reflection.py", + "target": "file:src/agentkit/orchestrator/retry.py", + "type": "imports", + "label": "导入 StepRetryPolicy" + }, + { + "id": "edge:529f7061", + "source": "file:src/agentkit/orchestrator/reflection.py", + "target": "file:src/agentkit/orchestrator/retry.py", + "type": "imports", + "label": "导入 StepRetryPolicy" + }, + { + "id": "edge:4883ca21", + "source": "file:src/agentkit/orchestrator/workflow_schema.py", + "target": "file:src/agentkit/orchestrator/pipeline_schema.py", + "type": "imports", + "label": "导入 Pipeline" + }, + { + "id": "edge:6efced71", + "source": "file:src/agentkit/orchestrator/workflow_schema.py", + "target": "file:src/agentkit/orchestrator/pipeline_schema.py", + "type": "imports", + "label": "导入 PipelineStage" + }, + { + "id": "edge:ab88e842", + "source": "file:src/agentkit/org/__init__.py", + "target": "file:src/agentkit/org/context.py", + "type": "imports", + "label": "导入 AgentProfile" + }, + { + "id": "edge:e6532411", + "source": "file:src/agentkit/org/__init__.py", + "target": "file:src/agentkit/org/context.py", + "type": "imports", + "label": "导入 OrganizationContext" + }, + { + "id": "edge:ea4feb47", + "source": "file:src/agentkit/org/__init__.py", + "target": "file:src/agentkit/org/discovery.py", + "type": "imports", + "label": "导入 AgentDiscovery" + }, + { + "id": "edge:45fecc43", + "source": "file:src/agentkit/org/discovery.py", + "target": "file:src/agentkit/org/context.py", + "type": "imports", + "label": "导入 AgentProfile" + }, + { + "id": "edge:8d9d6bc0", + "source": "file:src/agentkit/org/discovery.py", + "target": "file:src/agentkit/org/context.py", + "type": "imports", + "label": "导入 OrganizationContext" + }, + { + "id": "edge:07a48178", + "source": "file:src/agentkit/prompts/__init__.py", + "target": "file:src/agentkit/prompts/template.py", + "type": "imports", + "label": "导入 PromptTemplate" + }, + { + "id": "edge:48f4c73f", + "source": "file:src/agentkit/prompts/__init__.py", + "target": "file:src/agentkit/prompts/section.py", + "type": "imports", + "label": "导入 PromptSection" + }, + { + "id": "edge:460e1152", + "source": "file:src/agentkit/prompts/template.py", + "target": "file:src/agentkit/prompts/section.py", + "type": "imports", + "label": "导入 PromptSection" + }, + { + "id": "edge:e933e600", + "source": "file:src/agentkit/quality/__init__.py", + "target": "file:src/agentkit/quality/alignment.py", + "type": "imports", + "label": "导入 AlignmentCheckResult" + }, + { + "id": "edge:9ab197d0", + "source": "file:src/agentkit/quality/__init__.py", + "target": "file:src/agentkit/quality/alignment.py", + "type": "imports", + "label": "导入 AlignmentConfig" + }, + { + "id": "edge:f0a1f9ce", + "source": "file:src/agentkit/quality/__init__.py", + "target": "file:src/agentkit/quality/alignment.py", + "type": "imports", + "label": "导入 AlignmentGuard" + }, + { + "id": "edge:821b7c44", + "source": "file:src/agentkit/quality/__init__.py", + "target": "file:src/agentkit/quality/alignment.py", + "type": "imports", + "label": "导入 CascadeAlert" + }, + { + "id": "edge:08c9f7db", + "source": "file:src/agentkit/quality/__init__.py", + "target": "file:src/agentkit/quality/alignment.py", + "type": "imports", + "label": "导入 ConstraintInjector" + }, + { + "id": "edge:9e8d0cc3", + "source": "file:src/agentkit/quality/__init__.py", + "target": "file:src/agentkit/quality/cascade_detector.py", + "type": "imports", + "label": "导入 CascadeDetector" + }, + { + "id": "edge:3b6bdf51", + "source": "file:src/agentkit/quality/__init__.py", + "target": "file:src/agentkit/quality/gate.py", + "type": "imports", + "label": "导入 QualityCheck" + }, + { + "id": "edge:8fa10bb5", + "source": "file:src/agentkit/quality/__init__.py", + "target": "file:src/agentkit/quality/gate.py", + "type": "imports", + "label": "导入 QualityGate" + }, + { + "id": "edge:9f813a7a", + "source": "file:src/agentkit/quality/__init__.py", + "target": "file:src/agentkit/quality/gate.py", + "type": "imports", + "label": "导入 QualityResult" + }, + { + "id": "edge:f5e3cffe", + "source": "file:src/agentkit/quality/__init__.py", + "target": "file:src/agentkit/quality/output.py", + "type": "imports", + "label": "导入 OutputMetadata" + }, + { + "id": "edge:20daf58d", + "source": "file:src/agentkit/quality/__init__.py", + "target": "file:src/agentkit/quality/output.py", + "type": "imports", + "label": "导入 OutputStandardizer" + }, + { + "id": "edge:08b865a0", + "source": "file:src/agentkit/quality/__init__.py", + "target": "file:src/agentkit/quality/output.py", + "type": "imports", + "label": "导入 StandardOutput" + }, + { + "id": "edge:0076f9de", + "source": "file:src/agentkit/quality/alignment.py", + "target": "file:src/agentkit/telemetry/tracer.py", + "type": "imports", + "label": "导入 get_tracer" + }, + { + "id": "edge:e977a5c5", + "source": "file:src/agentkit/quality/gate.py", + "target": "file:src/agentkit/skills/base.py", + "type": "imports", + "label": "导入 Skill" + }, + { + "id": "edge:6b56aa45", + "source": "file:src/agentkit/quality/output.py", + "target": "file:src/agentkit/quality/gate.py", + "type": "imports", + "label": "导入 QualityResult" + }, + { + "id": "edge:3fc4528f", + "source": "file:src/agentkit/quality/output.py", + "target": "file:src/agentkit/skills/base.py", + "type": "imports", + "label": "导入 Skill" + }, + { + "id": "edge:8f7f8a8f", + "source": "file:src/agentkit/router/__init__.py", + "target": "file:src/agentkit/router/intent.py", + "type": "imports", + "label": "导入 IntentRouter" + }, + { + "id": "edge:647e7d32", + "source": "file:src/agentkit/router/__init__.py", + "target": "file:src/agentkit/router/intent.py", + "type": "imports", + "label": "导入 RoutingResult" + }, + { + "id": "edge:f1fe2dab", + "source": "file:src/agentkit/router/intent.py", + "target": "file:src/agentkit/llm/gateway.py", + "type": "imports", + "label": "导入 LLMGateway" + }, + { + "id": "edge:a6a0b97f", + "source": "file:src/agentkit/router/intent.py", + "target": "file:src/agentkit/skills/base.py", + "type": "imports", + "label": "导入 Skill" + }, + { + "id": "edge:ad3adbf3", + "source": "file:src/agentkit/server/__init__.py", + "target": "file:src/agentkit/server/app.py", + "type": "imports", + "label": "导入 create_app" + }, + { + "id": "edge:c79ba7d8", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/core/agent_pool.py", + "type": "imports", + "label": "导入 AgentPool" + }, + { + "id": "edge:b249ade2", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/llm/gateway.py", + "type": "imports", + "label": "导入 LLMGateway" + }, + { + "id": "edge:6647e529", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/llm/providers/anthropic.py", + "type": "imports", + "label": "导入 AnthropicProvider" + }, + { + "id": "edge:7d3cc964", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/llm/providers/gemini.py", + "type": "imports", + "label": "导入 GeminiProvider" + }, + { + "id": "edge:f42d73c6", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/llm/providers/openai.py", + "type": "imports", + "label": "导入 OpenAICompatibleProvider" + }, + { + "id": "edge:df74aa8a", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/mcp/manager.py", + "type": "imports", + "label": "导入 MCPManager" + }, + { + "id": "edge:94456290", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/quality/gate.py", + "type": "imports", + "label": "导入 QualityGate" + }, + { + "id": "edge:d0b18bf2", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/quality/output.py", + "type": "imports", + "label": "导入 OutputStandardizer" + }, + { + "id": "edge:c02d2b6f", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/router/intent.py", + "type": "imports", + "label": "导入 IntentRouter" + }, + { + "id": "edge:6ae117c4", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/skills/base.py", + "type": "imports", + "label": "导入 Skill" + }, + { + "id": "edge:850e7c22", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/skills/base.py", + "type": "imports", + "label": "导入 SkillConfig" + }, + { + "id": "edge:9e40e870", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/skills/registry.py", + "type": "imports", + "label": "导入 SkillRegistry" + }, + { + "id": "edge:f955021a", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/tools/registry.py", + "type": "imports", + "label": "导入 ToolRegistry" + }, + { + "id": "edge:1c17b338", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/tools/skill_install.py", + "type": "imports", + "label": "导入 SkillInstallTool" + }, + { + "id": "edge:a68e7998", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/server/config.py", + "type": "imports", + "label": "导入 ServerConfig" + }, + { + "id": "edge:e72598c6", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/server/routes/__init__.py", + "type": "imports", + "label": "导入 agents" + }, + { + "id": "edge:35e3a63c", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/server/routes/__init__.py", + "type": "imports", + "label": "导入 tasks" + }, + { + "id": "edge:afced291", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/server/routes/__init__.py", + "type": "imports", + "label": "导入 skills" + }, + { + "id": "edge:1012f542", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/server/routes/__init__.py", + "type": "imports", + "label": "导入 llm" + }, + { + "id": "edge:2f24bf52", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/server/routes/__init__.py", + "type": "imports", + "label": "导入 health" + }, + { + "id": "edge:17cf68d4", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/server/routes/__init__.py", + "type": "imports", + "label": "导入 metrics" + }, + { + "id": "edge:0a815763", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/server/routes/__init__.py", + "type": "imports", + "label": "导入 ws" + }, + { + "id": "edge:8b66dbe5", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/server/routes/__init__.py", + "type": "imports", + "label": "导入 evolution" + }, + { + "id": "edge:8d705ebb", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/server/routes/__init__.py", + "type": "imports", + "label": "导入 memory" + }, + { + "id": "edge:e4521676", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/server/routes/__init__.py", + "type": "imports", + "label": "导入 portal" + }, + { + "id": "edge:a461d792", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/server/routes/__init__.py", + "type": "imports", + "label": "导入 evolution_dashboard" + }, + { + "id": "edge:9f31d5ca", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/server/routes/__init__.py", + "type": "imports", + "label": "导入 kb_management" + }, + { + "id": "edge:1a657047", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/server/routes/__init__.py", + "type": "imports", + "label": "导入 skill_management" + }, + { + "id": "edge:ec085e7c", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/server/routes/__init__.py", + "type": "imports", + "label": "导入 workflows" + }, + { + "id": "edge:a2df7973", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/server/routes/__init__.py", + "type": "imports", + "label": "导入 chat" + }, + { + "id": "edge:01f68054", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/server/routes/__init__.py", + "type": "imports", + "label": "导入 terminal" + }, + { + "id": "edge:83fbf580", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/server/routes/__init__.py", + "type": "imports", + "label": "导入 settings" + }, + { + "id": "edge:1138a8c9", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/server/middleware.py", + "type": "imports", + "label": "导入 APIKeyAuthMiddleware" + }, + { + "id": "edge:0128b5ba", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/server/middleware.py", + "type": "imports", + "label": "导入 RateLimitMiddleware" + }, + { + "id": "edge:fa28ca17", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/server/task_store.py", + "type": "imports", + "label": "导入 create_task_store" + }, + { + "id": "edge:91708aed", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/server/runner.py", + "type": "imports", + "label": "导入 BackgroundRunner" + }, + { + "id": "edge:7ccdd111", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/core/logging.py", + "type": "imports", + "label": "导入 setup_structured_logging" + }, + { + "id": "edge:11ef648b", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/telemetry/setup.py", + "type": "imports", + "label": "导入 setup_telemetry" + }, + { + "id": "edge:09d9f4e0", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/core/compressor.py", + "type": "imports", + "label": "导入 create_compressor" + }, + { + "id": "edge:bd69574e", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/bus/redis_bus.py", + "type": "imports", + "label": "导入 create_message_bus" + }, + { + "id": "edge:b1aafe7a", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/org/context.py", + "type": "imports", + "label": "导入 OrganizationContext" + }, + { + "id": "edge:559a3c1c", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/quality/alignment.py", + "type": "imports", + "label": "导入 AlignmentGuard" + }, + { + "id": "edge:457e46b4", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/quality/alignment.py", + "type": "imports", + "label": "导入 AlignmentConfig" + }, + { + "id": "edge:629262e8", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/chat/skill_routing.py", + "type": "imports", + "label": "导入 CostAwareRouter" + }, + { + "id": "edge:d3e19721", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/session/manager.py", + "type": "imports", + "label": "导入 SessionManager" + }, + { + "id": "edge:72163202", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/session/store.py", + "type": "imports", + "label": "导入 create_session_store" + }, + { + "id": "edge:3faf67da", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/core/config_driven.py", + "type": "imports", + "label": "导入 AgentConfig" + }, + { + "id": "edge:d44e7ed3", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/memory/profile.py", + "type": "imports", + "label": "导入 MemoryStore" + }, + { + "id": "edge:9aba14dd", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/tools/memory_tool.py", + "type": "imports", + "label": "导入 MemoryTool" + }, + { + "id": "edge:2d9ea182", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/tools/shell.py", + "type": "imports", + "label": "导入 ShellTool" + }, + { + "id": "edge:7474120e", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/tools/web_search.py", + "type": "imports", + "label": "导入 WebSearchTool" + }, + { + "id": "edge:ca790ff9", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/tools/web_crawl.py", + "type": "imports", + "label": "导入 WebCrawlTool" + }, + { + "id": "edge:eca5c78e", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/tools/baidu_search.py", + "type": "imports", + "label": "导入 BaiduSearchTool" + }, + { + "id": "edge:d4d8d5f0", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/skills/loader.py", + "type": "imports", + "label": "导入 SkillLoader" + }, + { + "id": "edge:856f9170", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/core/headroom_compressor.py", + "type": "imports", + "label": "导入 HeadroomCompressor" + }, + { + "id": "edge:df017662", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/evolution/evolution_store.py", + "type": "imports", + "label": "导入 create_evolution_store" + }, + { + "id": "edge:a92062d4", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/memory/retriever.py", + "type": "imports", + "label": "导入 MemoryRetriever" + }, + { + "id": "edge:5999e28b", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/memory/working.py", + "type": "imports", + "label": "导入 WorkingMemory" + }, + { + "id": "edge:9eb3d1d6", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/memory/semantic.py", + "type": "imports", + "label": "导入 SemanticMemory" + }, + { + "id": "edge:2b5390a9", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/memory/http_rag.py", + "type": "imports", + "label": "导入 HttpRAGService" + }, + { + "id": "edge:5c7f582d", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/memory/profile.py", + "type": "imports", + "label": "导入 MemoryStore" + }, + { + "id": "edge:e80260db", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/tools/headroom_retrieve.py", + "type": "imports", + "label": "导入 HeadroomRetrieveTool" + }, + { + "id": "edge:0035a592", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/memory/episodic.py", + "type": "imports", + "label": "导入 EpisodicMemory" + }, + { + "id": "edge:20483fde", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/memory/embedder.py", + "type": "imports", + "label": "导入 OpenAIEmbedder" + }, + { + "id": "edge:132cd516", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/memory/embedder.py", + "type": "imports", + "label": "导入 EmbeddingCache" + }, + { + "id": "edge:41a123fc", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/memory/models.py", + "type": "imports", + "label": "导入 EpisodeModel" + }, + { + "id": "edge:797fbf3e", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/memory/models.py", + "type": "imports", + "label": "导入 create_episodic_session_factory" + }, + { + "id": "edge:b51cdc65", + "source": "file:src/agentkit/server/app.py", + "target": "file:src/agentkit/skills/loader.py", + "type": "imports", + "label": "导入 SkillLoader" + }, + { + "id": "edge:941f0850", + "source": "file:src/agentkit/server/config.py", + "target": "file:src/agentkit/llm/config.py", + "type": "imports", + "label": "导入 LLMConfig" + }, + { + "id": "edge:f1ab8188", + "source": "file:src/agentkit/server/config.py", + "target": "file:src/agentkit/llm/config.py", + "type": "imports", + "label": "导入 ProviderConfig" + }, + { + "id": "edge:9bdfe035", + "source": "file:src/agentkit/server/config.py", + "target": "file:src/agentkit/skills/base.py", + "type": "imports", + "label": "导入 SkillConfig" + }, + { + "id": "edge:dd4946ce", + "source": "file:src/agentkit/server/routes/__init__.py", + "target": "file:src/agentkit/server/routes/__init__.py", + "type": "imports", + "label": "导入 agents" + }, + { + "id": "edge:0d9b0688", + "source": "file:src/agentkit/server/routes/__init__.py", + "target": "file:src/agentkit/server/routes/__init__.py", + "type": "imports", + "label": "导入 tasks" + }, + { + "id": "edge:fb279ec2", + "source": "file:src/agentkit/server/routes/__init__.py", + "target": "file:src/agentkit/server/routes/__init__.py", + "type": "imports", + "label": "导入 skills" + }, + { + "id": "edge:a7c40543", + "source": "file:src/agentkit/server/routes/__init__.py", + "target": "file:src/agentkit/server/routes/__init__.py", + "type": "imports", + "label": "导入 llm" + }, + { + "id": "edge:e67e3324", + "source": "file:src/agentkit/server/routes/__init__.py", + "target": "file:src/agentkit/server/routes/__init__.py", + "type": "imports", + "label": "导入 health" + }, + { + "id": "edge:560741f1", + "source": "file:src/agentkit/server/routes/__init__.py", + "target": "file:src/agentkit/server/routes/__init__.py", + "type": "imports", + "label": "导入 metrics" + }, + { + "id": "edge:00ac9935", + "source": "file:src/agentkit/server/routes/__init__.py", + "target": "file:src/agentkit/server/routes/__init__.py", + "type": "imports", + "label": "导入 ws" + }, + { + "id": "edge:f3353c89", + "source": "file:src/agentkit/server/routes/__init__.py", + "target": "file:src/agentkit/server/routes/__init__.py", + "type": "imports", + "label": "导入 evolution" + }, + { + "id": "edge:7c5e4c86", + "source": "file:src/agentkit/server/routes/__init__.py", + "target": "file:src/agentkit/server/routes/__init__.py", + "type": "imports", + "label": "导入 memory" + }, + { + "id": "edge:bd9fc594", + "source": "file:src/agentkit/server/routes/__init__.py", + "target": "file:src/agentkit/server/routes/__init__.py", + "type": "imports", + "label": "导入 portal" + }, + { + "id": "edge:2867996f", + "source": "file:src/agentkit/server/routes/__init__.py", + "target": "file:src/agentkit/server/routes/__init__.py", + "type": "imports", + "label": "导入 evolution_dashboard" + }, + { + "id": "edge:4aa49388", + "source": "file:src/agentkit/server/routes/__init__.py", + "target": "file:src/agentkit/server/routes/__init__.py", + "type": "imports", + "label": "导入 kb_management" + }, + { + "id": "edge:a909044d", + "source": "file:src/agentkit/server/routes/__init__.py", + "target": "file:src/agentkit/server/routes/__init__.py", + "type": "imports", + "label": "导入 skill_management" + }, + { + "id": "edge:dd70984f", + "source": "file:src/agentkit/server/routes/__init__.py", + "target": "file:src/agentkit/server/routes/__init__.py", + "type": "imports", + "label": "导入 workflows" + }, + { + "id": "edge:5bdbe616", + "source": "file:src/agentkit/server/routes/__init__.py", + "target": "file:src/agentkit/server/routes/__init__.py", + "type": "imports", + "label": "导入 terminal" + }, + { + "id": "edge:5e58b8b3", + "source": "file:src/agentkit/server/routes/agents.py", + "target": "file:src/agentkit/core/config_driven.py", + "type": "imports", + "label": "导入 AgentConfig" + }, + { + "id": "edge:2860dcde", + "source": "file:src/agentkit/server/routes/agents.py", + "target": "file:src/agentkit/skills/base.py", + "type": "imports", + "label": "导入 SkillConfig" + }, + { + "id": "edge:b35d1677", + "source": "file:src/agentkit/server/routes/chat.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 CancellationToken" + }, + { + "id": "edge:a83ff725", + "source": "file:src/agentkit/server/routes/chat.py", + "target": "file:src/agentkit/core/react.py", + "type": "imports", + "label": "导入 ReActEngine" + }, + { + "id": "edge:90ba1864", + "source": "file:src/agentkit/server/routes/chat.py", + "target": "file:src/agentkit/session/manager.py", + "type": "imports", + "label": "导入 SessionManager" + }, + { + "id": "edge:75e1ef82", + "source": "file:src/agentkit/server/routes/chat.py", + "target": "file:src/agentkit/session/models.py", + "type": "imports", + "label": "导入 MessageRole" + }, + { + "id": "edge:e60eb897", + "source": "file:src/agentkit/server/routes/chat.py", + "target": "file:src/agentkit/session/models.py", + "type": "imports", + "label": "导入 SessionStatus" + }, + { + "id": "edge:2ce7edeb", + "source": "file:src/agentkit/server/routes/chat.py", + "target": "file:src/agentkit/chat/skill_routing.py", + "type": "imports", + "label": "导入 resolve_skill_routing" + }, + { + "id": "edge:291c77e5", + "source": "file:src/agentkit/server/routes/evolution.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 EvolutionEvent" + }, + { + "id": "edge:5db0a408", + "source": "file:src/agentkit/server/routes/evolution.py", + "target": "file:src/agentkit/evolution/models.py", + "type": "imports", + "label": "导入 ABTestResultModel" + }, + { + "id": "edge:7b4082e8", + "source": "file:src/agentkit/server/routes/kb_management.py", + "target": "file:src/agentkit/memory/document_loader.py", + "type": "imports", + "label": "导入 DocumentLoader" + }, + { + "id": "edge:649a75b1", + "source": "file:src/agentkit/server/routes/portal.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 TaskMessage" + }, + { + "id": "edge:38b4f2dc", + "source": "file:src/agentkit/server/routes/portal.py", + "target": "file:src/agentkit/core/react.py", + "type": "imports", + "label": "导入 ReActEngine" + }, + { + "id": "edge:a9f3e1e9", + "source": "file:src/agentkit/server/routes/portal.py", + "target": "file:src/agentkit/chat/skill_routing.py", + "type": "imports", + "label": "导入 ExecutionMode" + }, + { + "id": "edge:b8737fe8", + "source": "file:src/agentkit/server/routes/portal.py", + "target": "file:src/agentkit/router/intent.py", + "type": "imports", + "label": "导入 IntentRouter" + }, + { + "id": "edge:491c8531", + "source": "file:src/agentkit/server/routes/portal.py", + "target": "file:src/agentkit/server/routes/evolution_dashboard.py", + "type": "imports", + "label": "导入 _experiences" + }, + { + "id": "edge:0ec55821", + "source": "file:src/agentkit/server/routes/portal.py", + "target": "file:src/agentkit/server/routes/evolution_dashboard.py", + "type": "imports", + "label": "导入 DashboardExperience" + }, + { + "id": "edge:973770f7", + "source": "file:src/agentkit/server/routes/portal.py", + "target": "file:src/agentkit/server/routes/evolution_dashboard.py", + "type": "imports", + "label": "导入 _broadcast_event" + }, + { + "id": "edge:542ae9af", + "source": "file:src/agentkit/server/routes/skills.py", + "target": "file:src/agentkit/skills/base.py", + "type": "imports", + "label": "导入 Skill" + }, + { + "id": "edge:e0e7dcc6", + "source": "file:src/agentkit/server/routes/skills.py", + "target": "file:src/agentkit/skills/base.py", + "type": "imports", + "label": "导入 SkillConfig" + }, + { + "id": "edge:fa3eb83c", + "source": "file:src/agentkit/server/routes/skills.py", + "target": "file:src/agentkit/skills/pipeline.py", + "type": "imports", + "label": "导入 SkillPipeline" + }, + { + "id": "edge:e76a181e", + "source": "file:src/agentkit/server/routes/skills.py", + "target": "file:src/agentkit/skills/loader.py", + "type": "imports", + "label": "导入 SkillLoader" + }, + { + "id": "edge:77d222d7", + "source": "file:src/agentkit/server/routes/tasks.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 TaskMessage" + }, + { + "id": "edge:9a321558", + "source": "file:src/agentkit/server/routes/tasks.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 TaskStatus" + }, + { + "id": "edge:e1cc73ca", + "source": "file:src/agentkit/server/routes/tasks.py", + "target": "file:src/agentkit/core/exceptions.py", + "type": "imports", + "label": "导入 LLMProviderError" + }, + { + "id": "edge:8d3e55cd", + "source": "file:src/agentkit/server/routes/tasks.py", + "target": "file:src/agentkit/core/react.py", + "type": "imports", + "label": "导入 ReActEngine" + }, + { + "id": "edge:c152024a", + "source": "file:src/agentkit/server/routes/terminal.py", + "target": "file:src/agentkit/tools/pty_session.py", + "type": "imports", + "label": "导入 PTYSession" + }, + { + "id": "edge:a6dec17c", + "source": "file:src/agentkit/server/routes/terminal.py", + "target": "file:src/agentkit/tools/shell.py", + "type": "imports", + "label": "导入 _SAFE_COMMAND_PREFIXES" + }, + { + "id": "edge:fc877c71", + "source": "file:src/agentkit/server/routes/terminal.py", + "target": "file:src/agentkit/tools/shell.py", + "type": "imports", + "label": "导入 _DANGEROUS_BINARIES" + }, + { + "id": "edge:21e4aa79", + "source": "file:src/agentkit/server/routes/terminal.py", + "target": "file:src/agentkit/tools/shell.py", + "type": "imports", + "label": "导入 _DANGEROUS_BINARY_FLAGS" + }, + { + "id": "edge:eeb9eaa0", + "source": "file:src/agentkit/server/routes/terminal.py", + "target": "file:src/agentkit/tools/shell.py", + "type": "imports", + "label": "导入 _DANGEROUS_ARG_PATTERNS" + }, + { + "id": "edge:36de98e0", + "source": "file:src/agentkit/server/routes/terminal.py", + "target": "file:src/agentkit/tools/shell.py", + "type": "imports", + "label": "导入 _SHELL_PIPE_OPERATORS" + }, + { + "id": "edge:26154cc5", + "source": "file:src/agentkit/server/routes/terminal.py", + "target": "file:src/agentkit/tools/shell.py", + "type": "imports", + "label": "导入 _SHELL_CHAIN_OPERATORS" + }, + { + "id": "edge:2bcde323", + "source": "file:src/agentkit/server/routes/workflows.py", + "target": "file:src/agentkit/orchestrator/workflow_schema.py", + "type": "imports", + "label": "导入 ApproveRequest" + }, + { + "id": "edge:be8e24f5", + "source": "file:src/agentkit/server/routes/workflows.py", + "target": "file:src/agentkit/orchestrator/workflow_schema.py", + "type": "imports", + "label": "导入 CreateWorkflowRequest" + }, + { + "id": "edge:3dc42bc5", + "source": "file:src/agentkit/server/routes/workflows.py", + "target": "file:src/agentkit/orchestrator/workflow_schema.py", + "type": "imports", + "label": "导入 ExecuteWorkflowRequest" + }, + { + "id": "edge:4771edbf", + "source": "file:src/agentkit/server/routes/workflows.py", + "target": "file:src/agentkit/orchestrator/workflow_schema.py", + "type": "imports", + "label": "导入 WorkflowDefinition" + }, + { + "id": "edge:78ba391c", + "source": "file:src/agentkit/server/routes/workflows.py", + "target": "file:src/agentkit/orchestrator/workflow_schema.py", + "type": "imports", + "label": "导入 WorkflowExecution" + }, + { + "id": "edge:58eff70d", + "source": "file:src/agentkit/server/routes/workflows.py", + "target": "file:src/agentkit/orchestrator/workflow_schema.py", + "type": "imports", + "label": "导入 WorkflowStage" + }, + { + "id": "edge:7ce7ad6a", + "source": "file:src/agentkit/server/routes/workflows.py", + "target": "file:src/agentkit/orchestrator/workflow_schema.py", + "type": "imports", + "label": "导入 WorkflowSummary" + }, + { + "id": "edge:157f2a1a", + "source": "file:src/agentkit/server/routes/workflows.py", + "target": "file:src/agentkit/core/config_driven.py", + "type": "imports", + "label": "导入 ConfigDrivenAgent" + }, + { + "id": "edge:c663614a", + "source": "file:src/agentkit/server/routes/workflows.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 TaskMessage" + }, + { + "id": "edge:5c1900ee", + "source": "file:src/agentkit/server/routes/workflows.py", + "target": "file:src/agentkit/core/config_driven.py", + "type": "imports", + "label": "导入 ConfigDrivenAgent" + }, + { + "id": "edge:f4ea8ce5", + "source": "file:src/agentkit/server/routes/workflows.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 TaskMessage" + }, + { + "id": "edge:5d5d7ad7", + "source": "file:src/agentkit/server/routes/ws.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 CancellationToken" + }, + { + "id": "edge:cc491138", + "source": "file:src/agentkit/server/routes/ws.py", + "target": "file:src/agentkit/core/react.py", + "type": "imports", + "label": "导入 ReActEngine" + }, + { + "id": "edge:e8952934", + "source": "file:src/agentkit/server/runner.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 TaskMessage" + }, + { + "id": "edge:fdfde7e0", + "source": "file:src/agentkit/server/runner.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 TaskStatus" + }, + { + "id": "edge:54a647d3", + "source": "file:src/agentkit/server/runner.py", + "target": "file:src/agentkit/server/task_store.py", + "type": "imports", + "label": "导入 TaskStore" + }, + { + "id": "edge:3bbc7bb0", + "source": "file:src/agentkit/server/task_store.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 TaskStatus" + }, + { + "id": "edge:85e34dac", + "source": "file:src/agentkit/session/__init__.py", + "target": "file:src/agentkit/session/models.py", + "type": "imports", + "label": "导入 Message" + }, + { + "id": "edge:e5c80114", + "source": "file:src/agentkit/session/__init__.py", + "target": "file:src/agentkit/session/models.py", + "type": "imports", + "label": "导入 MessageRole" + }, + { + "id": "edge:8d6f5961", + "source": "file:src/agentkit/session/__init__.py", + "target": "file:src/agentkit/session/models.py", + "type": "imports", + "label": "导入 Session" + }, + { + "id": "edge:72a74b60", + "source": "file:src/agentkit/session/__init__.py", + "target": "file:src/agentkit/session/models.py", + "type": "imports", + "label": "导入 SessionStatus" + }, + { + "id": "edge:de79c914", + "source": "file:src/agentkit/session/__init__.py", + "target": "file:src/agentkit/session/manager.py", + "type": "imports", + "label": "导入 SessionManager" + }, + { + "id": "edge:d1897bc3", + "source": "file:src/agentkit/session/__init__.py", + "target": "file:src/agentkit/session/store.py", + "type": "imports", + "label": "导入 InMemorySessionStore" + }, + { + "id": "edge:85ffe4d0", + "source": "file:src/agentkit/session/__init__.py", + "target": "file:src/agentkit/session/store.py", + "type": "imports", + "label": "导入 RedisSessionStore" + }, + { + "id": "edge:44a5c258", + "source": "file:src/agentkit/session/__init__.py", + "target": "file:src/agentkit/session/store.py", + "type": "imports", + "label": "导入 create_session_store" + }, + { + "id": "edge:eb6e6a13", + "source": "file:src/agentkit/session/manager.py", + "target": "file:src/agentkit/session/models.py", + "type": "imports", + "label": "导入 Message" + }, + { + "id": "edge:ae507dd5", + "source": "file:src/agentkit/session/manager.py", + "target": "file:src/agentkit/session/models.py", + "type": "imports", + "label": "导入 MessageRole" + }, + { + "id": "edge:b43165d3", + "source": "file:src/agentkit/session/manager.py", + "target": "file:src/agentkit/session/models.py", + "type": "imports", + "label": "导入 Session" + }, + { + "id": "edge:ad0d1d34", + "source": "file:src/agentkit/session/manager.py", + "target": "file:src/agentkit/session/models.py", + "type": "imports", + "label": "导入 SessionStatus" + }, + { + "id": "edge:0f6408d8", + "source": "file:src/agentkit/session/manager.py", + "target": "file:src/agentkit/session/store.py", + "type": "imports", + "label": "导入 InMemorySessionStore" + }, + { + "id": "edge:fd3356dd", + "source": "file:src/agentkit/session/manager.py", + "target": "file:src/agentkit/session/store.py", + "type": "imports", + "label": "导入 SessionStore" + }, + { + "id": "edge:0b26cc60", + "source": "file:src/agentkit/session/store.py", + "target": "file:src/agentkit/session/models.py", + "type": "imports", + "label": "导入 Message" + }, + { + "id": "edge:2de5d339", + "source": "file:src/agentkit/session/store.py", + "target": "file:src/agentkit/session/models.py", + "type": "imports", + "label": "导入 Session" + }, + { + "id": "edge:1b21913f", + "source": "file:src/agentkit/session/store.py", + "target": "file:src/agentkit/session/models.py", + "type": "imports", + "label": "导入 SessionStatus" + }, + { + "id": "edge:d54a5162", + "source": "file:src/agentkit/skills/__init__.py", + "target": "file:src/agentkit/skills/base.py", + "type": "imports", + "label": "导入 IntentConfig" + }, + { + "id": "edge:047a9b2a", + "source": "file:src/agentkit/skills/__init__.py", + "target": "file:src/agentkit/skills/base.py", + "type": "imports", + "label": "导入 QualityGateConfig" + }, + { + "id": "edge:f3c5f931", + "source": "file:src/agentkit/skills/__init__.py", + "target": "file:src/agentkit/skills/base.py", + "type": "imports", + "label": "导入 Skill" + }, + { + "id": "edge:2194945c", + "source": "file:src/agentkit/skills/__init__.py", + "target": "file:src/agentkit/skills/base.py", + "type": "imports", + "label": "导入 SkillConfig" + }, + { + "id": "edge:2f0365dd", + "source": "file:src/agentkit/skills/__init__.py", + "target": "file:src/agentkit/skills/loader.py", + "type": "imports", + "label": "导入 SkillLoader" + }, + { + "id": "edge:7bc00382", + "source": "file:src/agentkit/skills/__init__.py", + "target": "file:src/agentkit/skills/pipeline.py", + "type": "imports", + "label": "导入 SkillPipeline" + }, + { + "id": "edge:18515efc", + "source": "file:src/agentkit/skills/__init__.py", + "target": "file:src/agentkit/skills/registry.py", + "type": "imports", + "label": "导入 SkillRegistry" + }, + { + "id": "edge:c54b4baa", + "source": "file:src/agentkit/skills/__init__.py", + "target": "file:src/agentkit/skills/schema.py", + "type": "imports", + "label": "导入 CapabilityTag" + }, + { + "id": "edge:f7f55909", + "source": "file:src/agentkit/skills/__init__.py", + "target": "file:src/agentkit/skills/schema.py", + "type": "imports", + "label": "导入 DependencyDecl" + }, + { + "id": "edge:993e50a9", + "source": "file:src/agentkit/skills/__init__.py", + "target": "file:src/agentkit/skills/schema.py", + "type": "imports", + "label": "导入 HealthCheckResult" + }, + { + "id": "edge:8b70cdb9", + "source": "file:src/agentkit/skills/__init__.py", + "target": "file:src/agentkit/skills/schema.py", + "type": "imports", + "label": "导入 SkillSpec" + }, + { + "id": "edge:3554562f", + "source": "file:src/agentkit/skills/base.py", + "target": "file:src/agentkit/core/config_driven.py", + "type": "imports", + "label": "导入 AgentConfig" + }, + { + "id": "edge:caf1d8ec", + "source": "file:src/agentkit/skills/base.py", + "target": "file:src/agentkit/core/exceptions.py", + "type": "imports", + "label": "导入 ConfigValidationError" + }, + { + "id": "edge:7f6c70c1", + "source": "file:src/agentkit/skills/base.py", + "target": "file:src/agentkit/skills/schema.py", + "type": "imports", + "label": "导入 CapabilityTag" + }, + { + "id": "edge:f0ab5a03", + "source": "file:src/agentkit/skills/base.py", + "target": "file:src/agentkit/skills/schema.py", + "type": "imports", + "label": "导入 DependencyDecl" + }, + { + "id": "edge:93996ef8", + "source": "file:src/agentkit/skills/base.py", + "target": "file:src/agentkit/tools/base.py", + "type": "imports", + "label": "导入 Tool" + }, + { + "id": "edge:8cc43013", + "source": "file:src/agentkit/skills/base.py", + "target": "file:src/agentkit/quality/alignment.py", + "type": "imports", + "label": "导入 AlignmentConfig" + }, + { + "id": "edge:5b17e9c3", + "source": "file:src/agentkit/skills/geo_pipeline.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 TaskMessage" + }, + { + "id": "edge:29725d05", + "source": "file:src/agentkit/skills/geo_pipeline.py", + "target": "file:src/agentkit/core/shared_workspace.py", + "type": "imports", + "label": "导入 SharedWorkspace" + }, + { + "id": "edge:b27b540f", + "source": "file:src/agentkit/skills/geo_pipeline.py", + "target": "file:src/agentkit/orchestrator/compensation.py", + "type": "imports", + "label": "导入 SagaOrchestrator" + }, + { + "id": "edge:648d2c6e", + "source": "file:src/agentkit/skills/geo_pipeline.py", + "target": "file:src/agentkit/orchestrator/retry.py", + "type": "imports", + "label": "导入 StepRetryPolicy" + }, + { + "id": "edge:d64ec189", + "source": "file:src/agentkit/skills/geo_pipeline.py", + "target": "file:src/agentkit/orchestrator/retry.py", + "type": "imports", + "label": "导入 execute_with_retry" + }, + { + "id": "edge:8c66a4bf", + "source": "file:src/agentkit/skills/geo_pipeline.py", + "target": "file:src/agentkit/skills/registry.py", + "type": "imports", + "label": "导入 SkillRegistry" + }, + { + "id": "edge:23efac9f", + "source": "file:src/agentkit/skills/geo_pipeline.py", + "target": "file:src/agentkit/core/config_driven.py", + "type": "imports", + "label": "导入 ConfigDrivenAgent" + }, + { + "id": "edge:d98ebe49", + "source": "file:src/agentkit/skills/loader.py", + "target": "file:src/agentkit/skills/base.py", + "type": "imports", + "label": "导入 Skill" + }, + { + "id": "edge:f0255062", + "source": "file:src/agentkit/skills/loader.py", + "target": "file:src/agentkit/skills/base.py", + "type": "imports", + "label": "导入 SkillConfig" + }, + { + "id": "edge:6291781b", + "source": "file:src/agentkit/skills/loader.py", + "target": "file:src/agentkit/skills/registry.py", + "type": "imports", + "label": "导入 SkillRegistry" + }, + { + "id": "edge:ec382ab3", + "source": "file:src/agentkit/skills/loader.py", + "target": "file:src/agentkit/tools/registry.py", + "type": "imports", + "label": "导入 ToolRegistry" + }, + { + "id": "edge:58ad6bc7", + "source": "file:src/agentkit/skills/loader.py", + "target": "file:src/agentkit/skills/skill_md.py", + "type": "imports", + "label": "导入 SkillMdParser" + }, + { + "id": "edge:0717d522", + "source": "file:src/agentkit/skills/pipeline.py", + "target": "file:src/agentkit/skills/base.py", + "type": "imports", + "label": "导入 Skill" + }, + { + "id": "edge:6d79c5cb", + "source": "file:src/agentkit/skills/pipeline.py", + "target": "file:src/agentkit/skills/base.py", + "type": "imports", + "label": "导入 SkillConfig" + }, + { + "id": "edge:a889eb46", + "source": "file:src/agentkit/skills/pipeline.py", + "target": "file:src/agentkit/skills/registry.py", + "type": "imports", + "label": "导入 SkillRegistry" + }, + { + "id": "edge:0b141ac3", + "source": "file:src/agentkit/skills/pipeline.py", + "target": "file:src/agentkit/core/config_driven.py", + "type": "imports", + "label": "导入 ConfigDrivenAgent" + }, + { + "id": "edge:f043a46c", + "source": "file:src/agentkit/skills/pipeline.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 TaskMessage" + }, + { + "id": "edge:26c14081", + "source": "file:src/agentkit/skills/registry.py", + "target": "file:src/agentkit/core/exceptions.py", + "type": "imports", + "label": "导入 SkillNotFoundError" + }, + { + "id": "edge:a8e6c364", + "source": "file:src/agentkit/skills/registry.py", + "target": "file:src/agentkit/skills/base.py", + "type": "imports", + "label": "导入 Skill" + }, + { + "id": "edge:b580be9e", + "source": "file:src/agentkit/skills/registry.py", + "target": "file:src/agentkit/skills/base.py", + "type": "imports", + "label": "导入 SkillConfig" + }, + { + "id": "edge:bab68dad", + "source": "file:src/agentkit/skills/registry.py", + "target": "file:src/agentkit/skills/schema.py", + "type": "imports", + "label": "导入 DependencyDecl" + }, + { + "id": "edge:837ced01", + "source": "file:src/agentkit/skills/registry.py", + "target": "file:src/agentkit/skills/schema.py", + "type": "imports", + "label": "导入 HealthCheckResult" + }, + { + "id": "edge:e36eb5d0", + "source": "file:src/agentkit/skills/registry.py", + "target": "file:src/agentkit/skills/pipeline.py", + "type": "imports", + "label": "导入 SkillPipeline" + }, + { + "id": "edge:74b0daf0", + "source": "file:src/agentkit/skills/skill_md.py", + "target": "file:src/agentkit/core/exceptions.py", + "type": "imports", + "label": "导入 ConfigValidationError" + }, + { + "id": "edge:1a00d1e2", + "source": "file:src/agentkit/skills/skill_md.py", + "target": "file:src/agentkit/skills/base.py", + "type": "imports", + "label": "导入 SkillConfig" + }, + { + "id": "edge:0ded3d96", + "source": "file:src/agentkit/telemetry/__init__.py", + "target": "file:src/agentkit/telemetry/tracing.py", + "type": "imports", + "label": "导入 get_tracer" + }, + { + "id": "edge:9b9af6c0", + "source": "file:src/agentkit/telemetry/__init__.py", + "target": "file:src/agentkit/telemetry/tracing.py", + "type": "imports", + "label": "导入 start_span" + }, + { + "id": "edge:b11f7658", + "source": "file:src/agentkit/telemetry/__init__.py", + "target": "file:src/agentkit/telemetry/tracing.py", + "type": "imports", + "label": "导入 trace_agent" + }, + { + "id": "edge:0d17e33f", + "source": "file:src/agentkit/telemetry/__init__.py", + "target": "file:src/agentkit/telemetry/tracing.py", + "type": "imports", + "label": "导入 trace_tool" + }, + { + "id": "edge:b336b746", + "source": "file:src/agentkit/telemetry/__init__.py", + "target": "file:src/agentkit/telemetry/tracing.py", + "type": "imports", + "label": "导入 trace_llm" + }, + { + "id": "edge:b6a500e8", + "source": "file:src/agentkit/telemetry/__init__.py", + "target": "file:src/agentkit/telemetry/tracing.py", + "type": "imports", + "label": "导入 trace_pipeline_step" + }, + { + "id": "edge:b3e7bb60", + "source": "file:src/agentkit/telemetry/__init__.py", + "target": "file:src/agentkit/telemetry/tracing.py", + "type": "imports", + "label": "导入 _OTEL_AVAILABLE" + }, + { + "id": "edge:73d3408a", + "source": "file:src/agentkit/telemetry/__init__.py", + "target": "file:src/agentkit/telemetry/metrics.py", + "type": "imports", + "label": "导入 agent_request_counter" + }, + { + "id": "edge:ff6ebecd", + "source": "file:src/agentkit/telemetry/__init__.py", + "target": "file:src/agentkit/telemetry/metrics.py", + "type": "imports", + "label": "导入 agent_duration_histogram" + }, + { + "id": "edge:eb09c224", + "source": "file:src/agentkit/telemetry/__init__.py", + "target": "file:src/agentkit/telemetry/metrics.py", + "type": "imports", + "label": "导入 llm_token_histogram" + }, + { + "id": "edge:e08a6ed8", + "source": "file:src/agentkit/telemetry/__init__.py", + "target": "file:src/agentkit/telemetry/metrics.py", + "type": "imports", + "label": "导入 tool_duration_histogram" + }, + { + "id": "edge:4fc00b64", + "source": "file:src/agentkit/telemetry/__init__.py", + "target": "file:src/agentkit/telemetry/metrics.py", + "type": "imports", + "label": "导入 pipeline_step_histogram" + }, + { + "id": "edge:9a27e806", + "source": "file:src/agentkit/telemetry/__init__.py", + "target": "file:src/agentkit/telemetry/setup.py", + "type": "imports", + "label": "导入 setup_telemetry" + }, + { + "id": "edge:7e72e6c4", + "source": "file:src/agentkit/telemetry/__init__.py", + "target": "file:src/agentkit/telemetry/tracer.py", + "type": "imports", + "label": "导入 TelemetryConfig" + }, + { + "id": "edge:350a46db", + "source": "file:src/agentkit/telemetry/__init__.py", + "target": "file:src/agentkit/telemetry/tracer.py", + "type": "imports", + "label": "导入 NoOpTracer" + }, + { + "id": "edge:fd96d282", + "source": "file:src/agentkit/tools/__init__.py", + "target": "file:src/agentkit/tools/base.py", + "type": "imports", + "label": "导入 Tool" + }, + { + "id": "edge:c213cf0d", + "source": "file:src/agentkit/tools/__init__.py", + "target": "file:src/agentkit/tools/function_tool.py", + "type": "imports", + "label": "导入 FunctionTool" + }, + { + "id": "edge:bfe01f17", + "source": "file:src/agentkit/tools/__init__.py", + "target": "file:src/agentkit/tools/agent_tool.py", + "type": "imports", + "label": "导入 AgentTool" + }, + { + "id": "edge:776454d7", + "source": "file:src/agentkit/tools/__init__.py", + "target": "file:src/agentkit/tools/mcp_tool.py", + "type": "imports", + "label": "导入 MCPTool" + }, + { + "id": "edge:2358282d", + "source": "file:src/agentkit/tools/__init__.py", + "target": "file:src/agentkit/tools/registry.py", + "type": "imports", + "label": "导入 ToolRegistry" + }, + { + "id": "edge:ca43d95a", + "source": "file:src/agentkit/tools/__init__.py", + "target": "file:src/agentkit/tools/composition.py", + "type": "imports", + "label": "导入 SequentialChain" + }, + { + "id": "edge:1a757d78", + "source": "file:src/agentkit/tools/__init__.py", + "target": "file:src/agentkit/tools/composition.py", + "type": "imports", + "label": "导入 ParallelFanOut" + }, + { + "id": "edge:ccf9d137", + "source": "file:src/agentkit/tools/__init__.py", + "target": "file:src/agentkit/tools/composition.py", + "type": "imports", + "label": "导入 DynamicSelector" + }, + { + "id": "edge:abab7e7b", + "source": "file:src/agentkit/tools/__init__.py", + "target": "file:src/agentkit/tools/web_crawl.py", + "type": "imports", + "label": "导入 WebCrawlTool" + }, + { + "id": "edge:25f9484f", + "source": "file:src/agentkit/tools/__init__.py", + "target": "file:src/agentkit/tools/schema_tools.py", + "type": "imports", + "label": "导入 SchemaExtractTool" + }, + { + "id": "edge:4ecaf846", + "source": "file:src/agentkit/tools/__init__.py", + "target": "file:src/agentkit/tools/schema_tools.py", + "type": "imports", + "label": "导入 SchemaGenerateTool" + }, + { + "id": "edge:5ac83c1c", + "source": "file:src/agentkit/tools/__init__.py", + "target": "file:src/agentkit/tools/baidu_search.py", + "type": "imports", + "label": "导入 BaiduSearchTool" + }, + { + "id": "edge:8798e86e", + "source": "file:src/agentkit/tools/__init__.py", + "target": "file:src/agentkit/tools/shell.py", + "type": "imports", + "label": "导入 ShellTool" + }, + { + "id": "edge:e93250a6", + "source": "file:src/agentkit/tools/__init__.py", + "target": "file:src/agentkit/tools/terminal_session.py", + "type": "imports", + "label": "导入 TerminalSession" + }, + { + "id": "edge:507d6a9a", + "source": "file:src/agentkit/tools/__init__.py", + "target": "file:src/agentkit/tools/terminal_session.py", + "type": "imports", + "label": "导入 TerminalSessionManager" + }, + { + "id": "edge:24e7e623", + "source": "file:src/agentkit/tools/__init__.py", + "target": "file:src/agentkit/tools/pty_session.py", + "type": "imports", + "label": "导入 PTYSession" + }, + { + "id": "edge:2390b91a", + "source": "file:src/agentkit/tools/__init__.py", + "target": "file:src/agentkit/tools/output_parser.py", + "type": "imports", + "label": "导入 OutputParser" + }, + { + "id": "edge:bac21b82", + "source": "file:src/agentkit/tools/__init__.py", + "target": "file:src/agentkit/tools/output_parser.py", + "type": "imports", + "label": "导入 ParsedOutput" + }, + { + "id": "edge:2e9fee9c", + "source": "file:src/agentkit/tools/__init__.py", + "target": "file:src/agentkit/tools/output_parser.py", + "type": "imports", + "label": "导入 ErrorType" + }, + { + "id": "edge:e2c2714f", + "source": "file:src/agentkit/tools/__init__.py", + "target": "file:src/agentkit/tools/ask_human.py", + "type": "imports", + "label": "导入 AskHumanTool" + }, + { + "id": "edge:50fbf1bf", + "source": "file:src/agentkit/tools/__init__.py", + "target": "file:src/agentkit/tools/memory_tool.py", + "type": "imports", + "label": "导入 MemoryTool" + }, + { + "id": "edge:fae059b7", + "source": "file:src/agentkit/tools/__init__.py", + "target": "file:src/agentkit/tools/web_search.py", + "type": "imports", + "label": "导入 WebSearchTool" + }, + { + "id": "edge:88f668be", + "source": "file:src/agentkit/tools/__init__.py", + "target": "file:src/agentkit/tools/headroom_retrieve.py", + "type": "imports", + "label": "导入 HeadroomRetrieveTool" + }, + { + "id": "edge:c5ff362b", + "source": "file:src/agentkit/tools/agent_tool.py", + "target": "file:src/agentkit/tools/base.py", + "type": "imports", + "label": "导入 Tool" + }, + { + "id": "edge:02f1256e", + "source": "file:src/agentkit/tools/agent_tool.py", + "target": "file:src/agentkit/core/protocol.py", + "type": "imports", + "label": "导入 TaskMessage" + }, + { + "id": "edge:64e2bdfe", + "source": "file:src/agentkit/tools/ask_human.py", + "target": "file:src/agentkit/tools/base.py", + "type": "imports", + "label": "导入 Tool" + }, + { + "id": "edge:0807c78a", + "source": "file:src/agentkit/tools/baidu_search.py", + "target": "file:src/agentkit/tools/base.py", + "type": "imports", + "label": "导入 Tool" + }, + { + "id": "edge:da627cc3", + "source": "file:src/agentkit/tools/base.py", + "target": "file:src/agentkit/telemetry/tracing.py", + "type": "imports", + "label": "导入 start_span" + }, + { + "id": "edge:8f92ed1e", + "source": "file:src/agentkit/tools/base.py", + "target": "file:src/agentkit/telemetry/metrics.py", + "type": "imports", + "label": "导入 tool_duration_histogram" + }, + { + "id": "edge:884f60a2", + "source": "file:src/agentkit/tools/composition.py", + "target": "file:src/agentkit/tools/base.py", + "type": "imports", + "label": "导入 Tool" + }, + { + "id": "edge:e37cb0eb", + "source": "file:src/agentkit/tools/computer_use.py", + "target": "file:src/agentkit/tools/base.py", + "type": "imports", + "label": "导入 Tool" + }, + { + "id": "edge:2dc884f8", + "source": "file:src/agentkit/tools/computer_use.py", + "target": "file:src/agentkit/tools/computer_use_session.py", + "type": "imports", + "label": "导入 ComputerUseSession" + }, + { + "id": "edge:7d247ed8", + "source": "file:src/agentkit/tools/computer_use.py", + "target": "file:src/agentkit/tools/computer_use_session.py", + "type": "imports", + "label": "导入 InMemoryComputerUseSession" + }, + { + "id": "edge:9ccf7c2b", + "source": "file:src/agentkit/tools/computer_use.py", + "target": "file:src/agentkit/tools/computer_use_session.py", + "type": "imports", + "label": "导入 ComputerUseSessionManager" + }, + { + "id": "edge:742b52c0", + "source": "file:src/agentkit/tools/computer_use.py", + "target": "file:src/agentkit/tools/computer_use_session.py", + "type": "imports", + "label": "导入 ActionResult" + }, + { + "id": "edge:aad5d1ca", + "source": "file:src/agentkit/tools/computer_use.py", + "target": "file:src/agentkit/tools/computer_use_recorder.py", + "type": "imports", + "label": "导入 ComputerUseRecorder" + }, + { + "id": "edge:c93ebd9b", + "source": "file:src/agentkit/tools/computer_use.py", + "target": "file:src/agentkit/utils/security.py", + "type": "imports", + "label": "导入 is_safe_url" + }, + { + "id": "edge:a87aa3e4", + "source": "file:src/agentkit/tools/computer_use_recorder.py", + "target": "file:src/agentkit/tools/computer_use_session.py", + "type": "imports", + "label": "导入 ComputerUseSession" + }, + { + "id": "edge:1a413ee8", + "source": "file:src/agentkit/tools/computer_use_recorder.py", + "target": "file:src/agentkit/tools/computer_use_session.py", + "type": "imports", + "label": "导入 ActionResult" + }, + { + "id": "edge:b09afeab", + "source": "file:src/agentkit/tools/function_tool.py", + "target": "file:src/agentkit/tools/base.py", + "type": "imports", + "label": "导入 Tool" + }, + { + "id": "edge:6a797867", + "source": "file:src/agentkit/tools/headroom_retrieve.py", + "target": "file:src/agentkit/tools/base.py", + "type": "imports", + "label": "导入 Tool" + }, + { + "id": "edge:34eba040", + "source": "file:src/agentkit/tools/mcp_tool.py", + "target": "file:src/agentkit/tools/base.py", + "type": "imports", + "label": "导入 Tool" + }, + { + "id": "edge:117f3e28", + "source": "file:src/agentkit/tools/memory_tool.py", + "target": "file:src/agentkit/memory/profile.py", + "type": "imports", + "label": "导入 MemoryFile" + }, + { + "id": "edge:43a1837f", + "source": "file:src/agentkit/tools/memory_tool.py", + "target": "file:src/agentkit/memory/profile.py", + "type": "imports", + "label": "导入 MemoryStore" + }, + { + "id": "edge:bd2a0997", + "source": "file:src/agentkit/tools/memory_tool.py", + "target": "file:src/agentkit/tools/base.py", + "type": "imports", + "label": "导入 Tool" + }, + { + "id": "edge:46cc9956", + "source": "file:src/agentkit/tools/registry.py", + "target": "file:src/agentkit/core/exceptions.py", + "type": "imports", + "label": "导入 ToolNotFoundError" + }, + { + "id": "edge:8b4b924b", + "source": "file:src/agentkit/tools/registry.py", + "target": "file:src/agentkit/tools/base.py", + "type": "imports", + "label": "导入 Tool" + }, + { + "id": "edge:3d3c9a10", + "source": "file:src/agentkit/tools/schema_tools.py", + "target": "file:src/agentkit/tools/base.py", + "type": "imports", + "label": "导入 Tool" + }, + { + "id": "edge:bbab8e6c", + "source": "file:src/agentkit/tools/shell.py", + "target": "file:src/agentkit/tools/base.py", + "type": "imports", + "label": "导入 Tool" + }, + { + "id": "edge:6746c254", + "source": "file:src/agentkit/tools/shell.py", + "target": "file:src/agentkit/tools/output_parser.py", + "type": "imports", + "label": "导入 OutputParser" + }, + { + "id": "edge:f2042cb8", + "source": "file:src/agentkit/tools/shell.py", + "target": "file:src/agentkit/tools/output_parser.py", + "type": "imports", + "label": "导入 ParsedOutput" + }, + { + "id": "edge:2d75cf36", + "source": "file:src/agentkit/tools/shell.py", + "target": "file:src/agentkit/tools/terminal_session.py", + "type": "imports", + "label": "导入 TerminalSession" + }, + { + "id": "edge:3422b8cb", + "source": "file:src/agentkit/tools/shell.py", + "target": "file:src/agentkit/tools/terminal_session.py", + "type": "imports", + "label": "导入 TerminalSessionManager" + }, + { + "id": "edge:9cdfd9ee", + "source": "file:src/agentkit/tools/shell.py", + "target": "file:src/agentkit/tools/pty_session.py", + "type": "imports", + "label": "导入 PTYSession" + }, + { + "id": "edge:39620589", + "source": "file:src/agentkit/tools/skill_install.py", + "target": "file:src/agentkit/tools/base.py", + "type": "imports", + "label": "导入 Tool" + }, + { + "id": "edge:8493e97b", + "source": "file:src/agentkit/tools/skill_install.py", + "target": "file:src/agentkit/skills/loader.py", + "type": "imports", + "label": "导入 SkillLoader" + }, + { + "id": "edge:76a84934", + "source": "file:src/agentkit/tools/terminal_session.py", + "target": "file:src/agentkit/tools/output_parser.py", + "type": "imports", + "label": "导入 OutputParser" + }, + { + "id": "edge:be608b85", + "source": "file:src/agentkit/tools/terminal_session.py", + "target": "file:src/agentkit/tools/output_parser.py", + "type": "imports", + "label": "导入 ParsedOutput" + }, + { + "id": "edge:d4b61da0", + "source": "file:src/agentkit/tools/web_crawl.py", + "target": "file:src/agentkit/tools/base.py", + "type": "imports", + "label": "导入 Tool" + }, + { + "id": "edge:ee66e481", + "source": "file:src/agentkit/tools/web_search.py", + "target": "file:src/agentkit/tools/base.py", + "type": "imports", + "label": "导入 Tool" + } + ], + "tours": [ + { + "id": "tour:entry-points", + "name": "入口点导览", + "description": "从项目入口开始,了解如何启动和使用AgentKit", + "steps": [ + { + "nodeId": "file:src/agentkit/__main__.py", + "why": "Python模块入口,python -m agentkit" + }, + { + "nodeId": "file:src/agentkit/__init__.py", + "why": "包入口,导出核心公共API" + }, + { + "nodeId": "file:src/agentkit/cli/main.py", + "why": "CLI主入口,Typer应用定义" + }, + { + "nodeId": "file:src/agentkit/server/app.py", + "why": "HTTP服务入口,FastAPI应用创建" + } + ] + }, + { + "id": "tour:agent-lifecycle", + "name": "Agent生命周期导览", + "description": "深入理解Agent从创建到执行任务的完整生命周期", + "steps": [ + { + "nodeId": "class:BaseAgent", + "why": "Agent基类,定义标准生命周期和可插拔能力" + }, + { + "nodeId": "func:BaseAgent.start", + "why": "Agent启动流程:连接Redis→注册→心跳→监听" + }, + { + "nodeId": "func:BaseAgent.execute", + "why": "任务执行框架方法:on_task_start→handle_task→quality_gate→on_task_complete" + }, + { + "nodeId": "func:BaseAgent.handle_task", + "why": "抽象方法,子类实现业务逻辑" + }, + { + "nodeId": "class:ConfigDrivenAgent", + "why": "配置驱动Agent,从YAML自动组装" + }, + { + "nodeId": "func:ConfigDrivenAgent.handle_task", + "why": "根据execution_mode路由到react/direct/custom模式" + }, + { + "nodeId": "class:AgentConfig", + "why": "Agent配置模型,支持YAML/Dict构建" + } + ] + }, + { + "id": "tour:react-engine", + "name": "ReAct引擎导览", + "description": "理解ReAct推理-行动循环的核心实现", + "steps": [ + { + "nodeId": "class:ReActEngine", + "why": "ReAct引擎核心,Think→Act→Observe循环" + }, + { + "nodeId": "func:ReActEngine.execute", + "why": "执行ReAct循环,支持超时和取消" + }, + { + "nodeId": "func:ReActEngine.execute_stream", + "why": "流式执行,逐步yield事件" + }, + { + "nodeId": "func:ReActEngine._execute_tool", + "why": "工具调用执行,处理成功和失败" + }, + { + "nodeId": "func:ReActEngine._parse_text_tool_calls", + "why": "文本解析模式,支持Action和代码块格式" + }, + { + "nodeId": "class:ReActStep", + "why": "单步记录数据结构" + }, + { + "nodeId": "class:ReActResult", + "why": "ReAct执行结果数据结构" + }, + { + "nodeId": "class:ReActEvent", + "why": "流式执行事件数据结构" + } + ] + }, + { + "id": "tour:llm-gateway", + "name": "LLM网关导览", + "description": "了解多Provider统一网关的设计和实现", + "steps": [ + { + "nodeId": "class:LLMGateway", + "why": "LLM网关核心,统一多Provider调用接口" + }, + { + "nodeId": "file:src/agentkit/llm/protocol.py", + "why": "LLM协议定义,LLMProvider/LLMRequest/LLMResponse" + }, + { + "nodeId": "file:src/agentkit/llm/config.py", + "why": "模型别名和Provider配置" + }, + { + "nodeId": "file:src/agentkit/llm/providers/openai.py", + "why": "OpenAI Provider实现" + }, + { + "nodeId": "file:src/agentkit/llm/providers/anthropic.py", + "why": "Anthropic Provider实现" + }, + { + "nodeId": "file:src/agentkit/llm/retry.py", + "why": "LLM重试策略" + } + ] + }, + { + "id": "tour:memory-system", + "name": "记忆系统导览", + "description": "理解多层记忆系统的架构和实现", + "steps": [ + { + "nodeId": "file:src/agentkit/memory/base.py", + "why": "记忆基类接口定义" + }, + { + "nodeId": "file:src/agentkit/memory/retriever.py", + "why": "统一记忆检索器,整合工作/情景/语义记忆" + }, + { + "nodeId": "file:src/agentkit/memory/working.py", + "why": "工作记忆 - 基于Redis的短期记忆" + }, + { + "nodeId": "file:src/agentkit/memory/episodic.py", + "why": "情景记忆 - 基于向量的长期记忆" + }, + { + "nodeId": "file:src/agentkit/memory/semantic.py", + "why": "语义记忆 - RAG服务集成" + }, + { + "nodeId": "file:src/agentkit/memory/embedder.py", + "why": "文本向量化嵌入器" + } + ] + }, + { + "id": "tour:orchestration", + "name": "编排系统导览", + "description": "了解多Agent协作编排和Pipeline引擎", + "steps": [ + { + "nodeId": "class:Orchestrator", + "why": "多Agent协作编排器,Orchestrator-Worker模式" + }, + { + "nodeId": "func:Orchestrator.execute", + "why": "编排执行:分解→执行→汇总" + }, + { + "nodeId": "func:Orchestrator.execute_adaptive", + "why": "自适应编排:执行→评估→再分解循环" + }, + { + "nodeId": "file:src/agentkit/orchestrator/pipeline_engine.py", + "why": "Pipeline引擎,执行DAG工作流" + }, + { + "nodeId": "file:src/agentkit/orchestrator/pipeline_schema.py", + "why": "Pipeline配置模型" + }, + { + "nodeId": "file:src/agentkit/orchestrator/reflection.py", + "why": "执行后反思模块" + } + ] + }, + { + "id": "tour:skills-router", + "name": "技能与路由导览", + "description": "了解技能定义、注册和意图路由机制", + "steps": [ + { + "nodeId": "file:src/agentkit/skills/base.py", + "why": "技能基类和配置定义" + }, + { + "nodeId": "class:SkillRegistry", + "why": "技能注册中心" + }, + { + "nodeId": "file:src/agentkit/skills/loader.py", + "why": "从YAML加载技能定义" + }, + { + "nodeId": "class:IntentRouter", + "why": "意图路由器,匹配用户输入到技能" + }, + { + "nodeId": "file:src/agentkit/router/intent.py", + "why": "意图路由实现" + } + ] + }, + { + "id": "tour:evolution", + "name": "进化系统导览", + "description": "了解Agent自我进化的机制和实现", + "steps": [ + { + "nodeId": "file:src/agentkit/evolution/lifecycle.py", + "why": "进化生命周期Mixin" + }, + { + "nodeId": "file:src/agentkit/evolution/reflector.py", + "why": "反思器 - 分析结果生成改进建议" + }, + { + "nodeId": "file:src/agentkit/evolution/prompt_optimizer.py", + "why": "Prompt自动优化" + }, + { + "nodeId": "file:src/agentkit/evolution/genetic.py", + "why": "遗传算法进化" + }, + { + "nodeId": "file:src/agentkit/evolution/ab_tester.py", + "why": "A/B测试对比" + } + ] + }, + { + "id": "tour:infrastructure", + "name": "基础设施导览", + "description": "了解消息总线、会话管理、遥测等基础设施", + "steps": [ + { + "nodeId": "file:src/agentkit/bus/protocol.py", + "why": "消息总线协议接口" + }, + { + "nodeId": "file:src/agentkit/bus/redis_bus.py", + "why": "Redis Pub/Sub消息总线" + }, + { + "nodeId": "file:src/agentkit/bus/memory_bus.py", + "why": "进程内消息总线" + }, + { + "nodeId": "file:src/agentkit/session/manager.py", + "why": "会话管理器" + }, + { + "nodeId": "file:src/agentkit/telemetry/tracing.py", + "why": "OpenTelemetry追踪集成" + }, + { + "nodeId": "file:src/agentkit/telemetry/metrics.py", + "why": "运行指标收集" + } + ] + } + ] +} \ No newline at end of file diff --git a/.understand-anything/meta.json b/.understand-anything/meta.json new file mode 100644 index 0000000..b810a20 --- /dev/null +++ b/.understand-anything/meta.json @@ -0,0 +1,6 @@ +{ + "lastAnalyzedAt": "2026-06-12T17:39:05.023556+00:00", + "gitCommitHash": "09698d7a06c8d77b411e5a34ea27343ce9e8b42c", + "version": "1.0.0", + "analyzedFiles": 248 +} \ No newline at end of file diff --git a/README.md b/README.md index 4480168..c4a5711 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,20 @@ # Fischer AgentKit -统一 Agent 开发框架 -- 将 LLM、Tool、Prompt 组装为可执行的 Skill,通过 ReAct 推理引擎自主完成任务。 +统一 AI Agent 开发框架 -- 将 LLM、Tool、Prompt 组装为可执行的 Skill,通过 ReAct 推理引擎自主完成任务,支持记忆持久化、自进化、Pipeline 编排和桌面客户端。 ## 项目简介 AgentKit 解决的核心问题:**从写 150 行 Agent 代码降为 10-20 行 YAML 配置**。 -传统方式下,每新增一个 Agent 需要编写子类、处理 LLM 调用、管理工具绑定、校验输出质量。AgentKit 将这些能力标准化为 8 个可组合模块,开发者只需编写 YAML 配置即可定义一个完整的 Skill(Prompt + Tool + 质量门禁),框架自动完成 ReAct 推理循环、模型路由降级、产出质量检查和标准化输出。 +传统方式下,每新增一个 Agent 需要编写子类、处理 LLM 调用、管理工具绑定、校验输出质量。AgentKit 将这些能力标准化为可组合模块,开发者只需编写 YAML 配置即可定义一个完整的 Skill(Prompt + Tool + 质量门禁),框架自动完成 ReAct 推理循环、模型路由降级、产出质量检查和标准化输出。 核心定位: - **配置驱动** -- YAML 定义 Skill,无需写 Agent 子类 - **生产就绪** -- 内置质量门禁、模型降级、用量统计 -- **三种使用** -- Python 库引用、CLI 聊天、Web GUI 界面 +- **四种使用** -- Python 库引用、CLI 聊天、Web GUI、桌面客户端 +- **记忆持久化** -- SOUL/USER/MEMORY/DAILY 四层记忆,写入即生效 +- **自进化** -- 反思驱动 Soul 更新,经验积累与陷阱检测 - **工具丰富** -- 内置 Shell、搜索、爬虫、记忆等工具,支持 MCP 扩展 - **Pipeline 编排** -- 多 Agent 协同、Saga 补偿、动态流水线 @@ -34,15 +36,53 @@ Skill = SkillConfig + 绑定 Tools。一个 Skill 代表一个可执行技能, 两级路由:Level 1 关键词匹配(零成本,~0ms),Level 2 LLM 分类(回退方案,~200 tokens)。自动将用户输入路由到最佳匹配的 Skill。 -### 5. 产出质量管理 +### 5. 记忆系统 + +四层持久化记忆,写入即生效(无需重启): + +| 层级 | 文件 | 说明 | +|------|------|------| +| 身份 | `SOUL.md` | Agent 身份、性格、做事准则、版本追踪 | +| 用户 | `USER.md` | 用户基本信息和偏好 | +| 笔记 | `MEMORY.md` | Agent 主动记录的重要信息 | +| 日志 | `DAILY/` | 按日期归档的交互摘要 | + +- **Section-based CRUD**:每个记忆文件按 `## Section` 组织,支持原子读写 +- **容量保护**:`trim_to_budget` 按 section 边界裁剪,保护"版本"和"更新历史" +- **即时刷新**:MemoryTool 写入后自动触发 `notify_change()`,所有 Agent 的 system_prompt 实时更新 +- **RAG 检索**:向量嵌入 + 多源检索器,支持飞书/Confluence 适配器 + +### 6. 自进化系统 + +反思驱动的 Agent 自我改进: + +- **Reflector** -- 任务完成后自动反思,生成质量评分和改进建议 +- **Soul Evolution** -- 累积反思触发阈值后自动更新 SOUL.md,版本追踪 +- **经验存储** -- 成功/失败经验持久化,陷阱检测避免重复错误 +- **Prompt 优化** -- 遗传算法 + A/B 测试自动优化 Prompt +- **路径优化** -- 分析工具调用路径,推荐更优执行策略 + +### 7. 三层意图路由 + +CostAwareRouter 三层路由,从零成本到高成本逐层升级: + +| Layer | 方法 | 延迟 | Token 消耗 | 说明 | +|-------|------|------|-----------|------| +| 0 | 正则规则 | ~0ms | 0 | 问候/简单对话直接回复 | +| 1 | 启发式分类 | ~0ms | 0 | 关键词 + 模式匹配 | +| 2 | LLM 分类 | ~500ms | ~200 | 回退方案,LLM 判断意图 | + +路由结果携带 `ExecutionMode` 枚举(`DIRECT_CHAT` / `REACT` / `SKILL_REACT`),作为路由层与执行层的架构契约,杜绝硬编码。 + +### 8. 产出质量管理 四维质量检查:必填字段、最低字数、JSON Schema 校验、自定义验证器。检查不通过时自动重试(可配置 max_retries),重试时携带质量反馈信息。 -### 6. 标准化输出 +### 9. 标准化输出 Schema 验证 + 字段类型归一化(str -> int/float/bool)+ 元数据附加(version、produced_at、quality_score)。所有 Skill 产出统一为 StandardOutput 格式。 -### 7. 内置工具集 +### 10. 内置工具集 开箱即用的工具插件,覆盖常见 Agent 需求: @@ -60,7 +100,7 @@ Schema 验证 + 字段类型归一化(str -> int/float/bool)+ 元数据附 工具组合:`SequentialChain`(顺序链)、`ParallelFanOut`(并行扇出)、`DynamicSelector`(动态选择)。 -### 8. Pipeline 编排 +### 11. Pipeline 编排 多 Agent 协同编排,支持复杂工作流: @@ -73,73 +113,63 @@ Schema 验证 + 字段类型归一化(str -> int/float/bool)+ 元数据附 ## 架构图 ``` - +-------------------+ +-------------------+ - | Web GUI Chat | | CLI Chat | - | (WebSocket) | | (agentkit chat) | - +--------+----------+ +--------+----------+ - | | - +----------+----------+ - | - +----------v----------+ - | Skill Routing | - | (keyword -> LLM) | - +----------+----------+ - | - matched_skill - | - +-------------------v-------------------+ - | ConfigDrivenAgent | - | (SkillConfig-driven) | - +-------------------+------------------+ - | - +--------------+--------------+ - | | - v v - +---------+--------+ +----------+---------+ - | ReActEngine | | Traditional Mode | - | Think->Act->Observe| | llm_generate/ | - +---------+--------+ | tool_call/custom | - | +---------------------+ - v - +----------+----------+ - | LLM Gateway | - | resolve -> chat | - | fallback -> track | - +----------+----------+ - | - +------+------+ - | | - v v - +-----+----+ +-----+-----+ - | DashScope | | OpenAI | ... - +-----+----+ +-----+-----+ - | - +----------+----------+ - | Tool Registry | - | shell / search / | - | crawl / memory / ... | - +----------+----------+ - | - v - +----------+----------+ - | Quality Gate | - | required_fields | - | min_word_count | - | schema validation | - | custom validator | - +----------+----------+ - | - v - +----------+----------+ - | OutputStandardizer | - | schema + normalize | - | + metadata | - +----------+----------+ - | - v - StandardOutput + ┌──────────────────────────────────────────────────────────────┐ + │ 桌面客户端 (Tauri 2.x) │ + │ splash → main窗口 → sidecar进程管理 → 系统托盘 │ + └──────────────────────────┬───────────────────────────────────┘ + │ + ┌──────────────────────────┼───────────────────────────────────┐ + │ 前端 (Vue 3 + Ant Design Vue) │ + │ ChatView · EvolutionView · WorkflowView · TerminalView │ + │ KnowledgeBase · SkillsView · SettingsView · ComputerUse │ + └──────────────────────────┼───────────────────────────────────┘ + │ WebSocket / SSE / HTTP + ┌──────────────────────────┼───────────────────────────────────┐ + │ 服务端 (FastAPI + Uvicorn) │ + │ portal.py · chat.py · evolution.py · workflows.py · ... │ + │ 17个路由模块 · Agent Pool · Memory Store │ + └──────────────────────────┼───────────────────────────────────┘ + │ + ┌──────────────┼──────────────┐ + │ CostAwareRouter │ + │ Layer 0: 正则规则 (0ms) │ + │ Layer 1: 启发式分类 (0ms) │ + │ Layer 2: LLM分类 (~500ms) │ + │ → ExecutionMode 枚举契约 │ + └──────┬───────────────┬───────┘ + │ │ + DIRECT_CHAT │ │ REACT / SKILL_REACT + ▼ ▼ + ┌─────────────┐ ┌──────────────────┐ + │ Direct LLM │ │ ConfigDrivenAgent│ + │ (简单对话) │ │ (ReAct Engine) │ + └─────────────┘ └────────┬─────────┘ + │ + ┌────────────────┼────────────────┐ + │ │ │ + ▼ ▼ ▼ + ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ + │ LLM Gateway │ │ Tool Registry│ │ Memory System│ + │ resolve→chat │ │ shell/search │ │ SOUL/USER │ + │ fallback→track│ │ crawl/memory │ │ MEMORY/DAILY │ + └──────┬───────┘ └──────────────┘ └──────────────┘ + │ + ┌─────────┼─────────┐ + ▼ ▼ ▼ + ┌─────────┐ ┌────────┐ ┌──────────┐ + │DashScope│ │ OpenAI │ │ DeepSeek │ ... + └─────────┘ └────────┘ └──────────┘ ``` +### 模块分层 + +| 层级 | 模块 | 说明 | +|------|------|------| +| **API** | `server/` `cli/` | 服务端路由 + 命令行入口 | +| **Service** | `core/` `chat/` `skills/` | Agent 引擎、路由、技能系统 | +| **Data** | `memory/` `session/` `bus/` | 记忆持久化、会话管理、消息总线 | +| **Utility** | `llm/` `tools/` `evolution/` `quality/` `mcp/` | LLM 网关、工具、进化、质量、MCP | + ## 快速开始 ### 安装 @@ -372,6 +402,81 @@ if __name__ == "__main__": python server.py ``` +### Docker 部署 + +```bash +# 启动完整环境(AgentKit + Redis + PostgreSQL + pgvector) +docker-compose up -d + +# 查看日志 +docker-compose logs -f agentkit + +# 健康检查 +docker-compose exec agentkit agentkit doctor + +# 停止 +docker-compose down +``` + +`docker-compose.yaml` 包含三个服务: + +| 服务 | 镜像 | 端口 | 说明 | +|------|------|------|------| +| `agentkit` | 自建 (python:3.11-slim) | 8001 | AgentKit 服务端 | +| `redis` | redis:7-alpine | 6379 | 消息总线 + 缓存 | +| `postgres` | pgvector/pgvector:pg15 | 5432 | 语义记忆向量存储 | + +### 桌面客户端 (Tauri 2.x) + +跨平台桌面应用,Rust Shell + Vue 3 前端 + Python Sidecar。 + +**前置条件**:Rust 工具链 + Node.js 18+ + Python 3.11+ + +```bash +# 1. 构建 Python sidecar +pip install pyinstaller +pyinstaller --onefile --name agentkit-server src/agentkit/__main__.py + +# 2. 放置 sidecar(带平台后缀) +# macOS Apple Silicon: +cp dist/agentkit-server src-tauri/binaries/agentkit-server-aarch64-apple-darwin +# macOS Intel: +cp dist/agentkit-server src-tauri/binaries/agentkit-server-x86_64-apple-darwin +# Linux: +cp dist/agentkit-server src-tauri/binaries/agentkit-server-x86_64-unknown-linux-gnu +# Windows: +copy dist\agentkit-server.exe src-tauri\binaries\agentkit-server-x86_64-pc-windows-msvc.exe + +# 3. 构建前端 +cd src/agentkit/server/frontend +npm install +npm run build:frontend + +# 4. 开发模式(热重载) +npm run tauri dev + +# 5. 生产构建 +npm run tauri build +# 产物: +# macOS: src-tauri/target/release/bundle/dmg/Fischer AgentKit.dmg +# macOS: src-tauri/target/release/bundle/macos/Fischer AgentKit.app +# Windows: src-tauri/target/release/bundle/msi/ +# Linux: src-tauri/target/release/bundle/deb/ +``` + +**架构**: + +``` +Tauri Shell (Rust) +├── 窗口管理(splash + main) +├── 系统托盘(显示窗口 / 退出) +└── Sidecar 进程管理 + └── agentkit-server(PyInstaller 打包的 Python 服务端) + └── Uvicorn + FastAPI (--port 0 动态分配) +``` + +Tauri 启动时以 `--port 0` 启动 sidecar,解析 stdout 获取实际端口,前端通过该端口连接后端。 + ## 调用方式 ### Import 模式示例 @@ -830,6 +935,20 @@ ReActEngine 实现 Think -> Act -> Observe 循环: 停止条件:LLM 不返回 tool_calls,或达到 max_steps。 +危险工具确认流:非白名单命令触发 `needs_confirmation`,用户确认后以 `_skip_dangerous_check=True` 重新执行,避免无限循环。 + +### chat/skill_routing -- CostAwareRouter 三层路由 + +三层路由从零成本到高成本逐层升级: + +| Layer | 组件 | 延迟 | Token | +|-------|------|------|-------| +| 0 | `RegexRules` | ~0ms | 0 | +| 1 | `HeuristicClassifier` | ~0ms | 0 | +| 2 | `LLMClassifier` | ~500ms | ~200 | + +路由结果包含 `ExecutionMode` 枚举(`DIRECT_CHAT` / `REACT` / `SKILL_REACT`),作为路由层与执行层的架构契约。`complexity` 评分使用 `if is not None` 判断,避免 `0.0 or default` 误覆盖。 + ### llm/gateway -- LLM Gateway 统一 LLM 调用入口,核心能力: @@ -851,16 +970,9 @@ Skill = SkillConfig + 绑定 Tools。SkillConfig 扩展自 AgentConfig,新增 SkillRegistry 管理 Skill 的注册、发现、更新。 -### router/intent -- 意图路由 +### router/intent -- 意图路由(已升级为 chat/skill_routing) -两级路由策略: - -| Level | 方法 | 延迟 | Token 消耗 | 置信度 | -|-------|------|------|-----------|--------| -| 1 | 关键词匹配 | ~0ms | 0 | 1.0 | -| 2 | LLM 分类 | ~500ms | ~200 | 0.0-1.0 | - -关键词匹配对 input_data 中所有字符串值(包括嵌套)进行大小写不敏感匹配。LLM 分类构建 prompt 列出所有 Skill 的名称、描述和示例,让 LLM 返回 JSON 格式的匹配结果。 +原两级路由已升级为 CostAwareRouter 三层路由(详见 chat/skill_routing 模块详解)。 ### quality/gate -- 产出质量管理 @@ -909,6 +1021,62 @@ v2 增强:接受 SkillConfig 时自动创建 Skill 并启用 ReAct 模式,Qu 运行时 Agent 实例池,管理 Agent 的创建、获取、删除。支持从已注册的 Skill 创建 Agent。 +### memory -- 记忆系统 + +四层持久化记忆,基于 Markdown section 的 CRUD 操作: + +- **MemoryFile** -- 单个记忆文件(SOUL/USER/MEMORY/DAILY),支持 `read_section`/`write_section`/`add_section`/`remove_section` +- **MemoryStore** -- 管理所有记忆文件,`build_system_prompt()` 将记忆注入 system_prompt +- **即时刷新** -- `notify_change()` 回调机制,MemoryTool 写入后自动刷新所有 Agent 的 system_prompt +- **容量保护** -- `trim_to_budget` 按 section 边界裁剪,`protected_sections` 确保版本/更新历史不被裁剪 +- **原子写入** -- `_update_soul` 在内存中构建完整内容后一次性写入,避免先删后加导致数据丢失 +- **RAG** -- 向量嵌入 + 多源检索器,支持飞书/Confluence 适配器 + +记忆注入格式: + +``` + +## 身份 +我是AK,一个专业的 AI 助手。 + + + +## 基本信息 +- 姓名:张三 + + + +## 重要事项 +... + + + +## 2026-06-14 +... + + +[base_prompt 行为指令] +``` + +### evolution -- 自进化系统 + +反思驱动的 Agent 自我改进: + +- **Reflector** -- 任务完成后自动反思,生成 quality_score 和 suggestions +- **evolve_soul** -- 累积反思达到阈值后触发 SOUL.md 更新,汇总所有反思建议(去重取 top 5) +- **ExperienceStore** -- 成功/失败经验持久化 +- **PitfallDetector** -- 陷阱检测,避免重复错误 +- **PromptOptimizer** -- 遗传算法优化 Prompt +- **PathOptimizer** -- 分析工具调用路径,推荐更优策略 +- **ABTester** -- A/B 测试验证优化效果 + +### bus -- 消息总线 + +进程内/跨进程消息传递: + +- **MemoryBus** -- 进程内同步消息总线,集成 CascadeDetector 和 AlignmentGuard 进行消息质量管控 +- **RedisBus** -- 基于 Redis Pub/Sub 的分布式消息总线,支持多实例部署 + ### server -- FastAPI Server 独立部署模式,提供 RESTful API 和 Web GUI: @@ -927,16 +1095,28 @@ v2 增强:接受 SkillConfig 时自动创建 Skill 并启用 ReAct 模式,Qu | `/api/v1/llm/usage` | GET | 查询 LLM 用量 | | `/api/v1/health` | GET | 健康检查 | -### Web GUI 聊天界面 +### Web GUI -通过 `agentkit gui` 启动,特性: +通过 `agentkit gui` 启动,8 个页面视图: -- **实时对话** -- WebSocket 流式传输,逐 token 显示 -- **Markdown 渲染** -- 自动检测并渲染标题、列表、代码块、表格等 -- **工具确认卡片** -- 危险命令(如 `rm`)执行前弹出确认卡片,用户批准后才执行 -- **Loading 动画** -- 等待 AI 响应时显示思考动画 -- **Skill 路由** -- 输入 `@skill_name:` 前缀可指定使用特定 Skill -- **会话管理** -- 多会话并行,历史记录持久化 +| 视图 | 说明 | +|------|------| +| ChatView | 实时对话,WebSocket 流式传输,代码高亮,工具调用卡片 | +| EvolutionView | 自进化仪表盘,任务/经验/指标/优化面板 | +| WorkflowView | 工作流编辑器,Vue Flow 可视化编排 | +| TerminalView | 终端模拟器,PTY 会话 | +| KnowledgeBaseView | 知识库管理,文档上传/搜索/源配置 | +| SkillsView | 技能市场,技能卡片/详情 | +| SettingsView | 系统设置 | +| ComputerUseView | 计算机使用,桌面操控 | + +### 桌面客户端 (Tauri 2.x) + +跨平台桌面应用,架构: + +- **Rust Shell** -- 窗口管理(splash + main)、系统托盘、单实例锁 +- **Sidecar 管理** -- 以 `--port 0` 启动 Python 后端,解析 stdout 获取动态端口 +- **前端** -- Vue 3 SPA,通过动态端口连接后端 ### orchestrator -- Pipeline 编排 @@ -1087,26 +1267,70 @@ async def generate_content(keyword: str, brand: str) -> dict: ## 开发指南 -### 运行测试 +### 项目结构 + +``` +fischer-agentkit/ +├── src/agentkit/ # Python 后端 +│ ├── bus/ # 消息总线(MemoryBus + RedisBus) +│ ├── chat/ # 聊天路由(CostAwareRouter + ExecutionMode) +│ ├── cli/ # CLI 命令(Typer) +│ ├── core/ # 核心引擎(ReAct/Reflexion/ReWOO/ConfigDriven) +│ ├── evaluation/ # 评估系统(RAGAS) +│ ├── evolution/ # 自进化(反思/优化/陷阱检测/A/B测试) +│ ├── llm/ # LLM 网关(多供应商适配) +│ ├── marketplace/ # 多Agent市场(拍卖/财富) +│ ├── mcp/ # MCP 协议 +│ ├── memory/ # 记忆系统(SOUL/USER/MEMORY/DAILY + RAG) +│ ├── orchestrator/ # Pipeline 编排(Saga/动态流水线) +│ ├── org/ # 组织发现 +│ ├── prompts/ # Prompt 模板 +│ ├── quality/ # 质量保障(对齐/级联检测/门控) +│ ├── router/ # 意图路由 +│ ├── server/ # FastAPI 服务端 + Vue 3 前端 +│ ├── session/ # 会话管理 +│ ├── skills/ # 技能系统 +│ ├── telemetry/ # 遥测追踪 +│ ├── tools/ # 工具插件(21个) +│ └── utils/ # 工具函数 +├── src-tauri/ # Tauri 桌面客户端(Rust) +│ ├── src/ # main.rs + lib.rs + sidecar.rs + tray.rs +│ └── binaries/ # Sidecar 二进制(平台相关) +├── configs/ # 配置文件(技能/LLM/GEO) +├── tests/ # 测试(unit + integration) +├── docs/ # 文档(brainstorms + plans) +├── Dockerfile # Docker 镜像构建 +├── docker-compose.yaml # 生产编排 +└── pyproject.toml # Python 项目配置 +``` + +### 常用开发命令 ```bash -# 安装开发依赖 -pip install -e ".[dev]" +# 后端 +pip install -e ".[dev]" # 安装开发依赖 +agentkit gui --port 8002 # 启动 Web GUI +agentkit serve --port 8001 # 启动 API 服务器 +pytest # 运行全部测试 +pytest -m "not integration" # 仅单元测试 +pytest --cov=agentkit # 覆盖率 +ruff check src/ && ruff format src/ # 代码检查和格式化 -# 运行全部测试 -pytest +# 前端 +cd src/agentkit/server/frontend +npm install # 安装依赖 +npm run dev # Vite 开发服务器 +npm run build:frontend # 生产构建 +npm run typecheck # TypeScript 类型检查 -# 运行单元测试(跳过集成测试) -pytest -m "not integration" +# 桌面客户端 +cd src/agentkit/server/frontend +npm run tauri dev # Tauri 开发模式 +npm run tauri build # Tauri 生产构建 -# 运行并查看覆盖率 -pytest --cov=agentkit --cov-report=term-missing - -# 仅运行 Redis 相关测试 -pytest -m redis - -# 仅运行 PostgreSQL 相关测试 -pytest -m postgres +# Docker +docker-compose up -d # 启动完整环境 +docker-compose logs -f agentkit # 查看日志 ``` ### 添加新 Skill diff --git a/docs/GEO-INTEGRATION-GUIDE.md b/docs/GEO-INTEGRATION-GUIDE.md index 0a92557..f2e3cbc 100644 --- a/docs/GEO-INTEGRATION-GUIDE.md +++ b/docs/GEO-INTEGRATION-GUIDE.md @@ -9,10 +9,11 @@ AgentKit 是一个**统一 Agent 开发框架**,核心能力: | **ReAct 推理引擎** | Think → Act → Observe 循环,LLM 自主选择工具、决定何时输出 | | **LLM Gateway** | 统一 LLM 调用入口,管理 API Key、模型路由、降级策略、用量统计 | | **Skill 系统** | YAML 配置定义技能(Prompt + Tool + 质量门禁),无需写代码 | -| **意图路由** | 关键词匹配(零成本)+ LLM 分类(兜底),自动路由到最佳 Skill | +| **意图路由** | CostAwareRouter 三层路由:正则规则(0ms) → 启发式分类(0ms) → LLM分类(~500ms),ExecutionMode 枚举契约 | | **产出质量管理** | 必填字段、最低字数、Schema 校验、自定义验证器,不通过自动重试 | | **标准化输出** | Schema 验证 + 类型归一化 + 元数据附加,所有 Skill 产出格式统一 | -| **记忆系统** | 语义记忆(pgvector)+ 情景记忆(Redis)+ 工作记忆 | +| **记忆系统** | SOUL/USER/MEMORY/DAILY 四层持久化记忆,写入即生效 + RAG 检索 | +| **自进化** | 反思驱动 Soul 更新,经验积累与陷阱检测 | | **MCP 协议** | 支持 Model Context Protocol,可连接外部工具服务器 | | **CLI 工具** | `agentkit` 命令行,支持 init/serve/task/skill/pair/doctor/usage | | **独立部署** | FastAPI Server + Docker,业务系统通过 HTTP API 调用 | diff --git a/docs/brainstorms/2026-06-09-agentkit-capability-matrix/plan.md b/docs/brainstorms/2026-06-09-agentkit-capability-matrix/plan.md new file mode 100644 index 0000000..277584c --- /dev/null +++ b/docs/brainstorms/2026-06-09-agentkit-capability-matrix/plan.md @@ -0,0 +1,765 @@ +--- +date: 2026-06-09 +deepened: 2026-06-09 +status: active +origin: docs/brainstorms/2026-06-09-agentkit-capability-matrix/requirements.md +--- + +## Summary + +基于内核+插件架构,为 AgentKit 构建 7 项企业级能力:自主闭环执行引擎(内核)、Skill 标准规范升级、知识库与 RAG 增强、智能终端交互、Computer Use 集成、可视化 Workflow、自进化经验积累。分 6 个阶段交付,先建内核再逐步接入插件能力,最终通过端到端企业场景验证。 + +## Problem Frame + +企业想用 AI Agent 但不会落地。AgentKit 已具备 Skill/ReAct/Pipeline/RAG/Shell 等基础能力,但缺少自主闭环执行、Computer Use、可视化 Workflow、任务经验积累等高级能力,且各能力之间缺乏统一调度中枢。需要以自主闭环执行引擎为内核,其他能力作为 Skill 插件接入,形成企业综合门户。 + +--- + +## Key Technical Decisions + +**KTD-1. GoalPlanner 包装 Orchestrator._decompose_task(),而非独立实现** + +现有 `Orchestrator._decompose_task()`(`src/agentkit/core/orchestrator.py`)已实现 LLM 驱动任务分解 + `_build_parallel_groups()` 并行组构建 + 单任务 fallback。GoalPlanner 作为前置增强层包装此方法:先通过结构化目标分解(规则/模板)生成初始方案,再让 LLM 细化调整;如果 GoalPlanner 返回了有效方案可直接跳过 LLM 调用。保持 fallback 机制不变,确保向后兼容。PlanExecutor 同理扩展 `Orchestrator.execute()`,注入执行策略,保留默认 `_execute_plan` 作为 fallback。 + +**KTD-2. 经验库使用 PostgreSQL + pgvector 混合存储** + +结构化字段(task_type, outcome, duration)存 PostgreSQL 表,语义向量存 pgvector,全文检索用 tsvector。与现有 `EpisodicMemory` 共享基础设施,无需引入新依赖(ChromaDB/FAISS)。 + +**KTD-3. Computer Use 作为 Tool 插件集成** + +新增 `ComputerUseTool`(继承 `Tool` 基类),内部调用 Anthropic Computer Use API。与 `ShellTool` 形成降级链:ComputerUseTool 失败 → ShellTool/API → AskHumanTool。符合 Skill 插件架构,无需修改核心引擎。 + +**KTD-4. Vue Flow 作为 Workflow 可视化编辑器** + +Vue Flow 是 Vue3 原生组件,轻量(~60KB gzip),DAG 天然支持,自定义节点丰富。与现有 `PipelineEngine` 的 DAG 模型完美对应。Vue Flow JSON 可直接映射为 `PipelineStage` 配置。 + +**KTD-5. 智能终端增强现有 ShellTool** + +在现有 `ShellTool` 基础上增加 `TerminalSession`(会话状态管理)和 `PTYSession`(交互式命令支持),而非替换。保持向后兼容,新功能通过配置开关启用。 + +**KTD-6. 前端独立 SPA,通过 API 与后端交互** + +Vue3 前端作为独立 SPA,通过 FastAPI REST API + WebSocket 与后端通信。前端代码放在 `src/agentkit/server/frontend/` 目录,构建产物输出到 `src/agentkit/server/static/`。与现有 Server 架构无缝集成。 + +**KTD-7. KBAdapter 使用独立 KnowledgeBase 协议,不直接实现 Memory 接口** + +Memory 接口的 `retrieve(key)`/`delete(key)` 是精确 key-value 语义,与知识库的语义检索模型不匹配。创建独立的 `KnowledgeBase` 协议(`ingest`/`query`/`delete_by_id`/`list_sources`/`health_check`),`SemanticMemory` 内部组合使用 `KnowledgeBase`,而非强制适配。这避免了 `retrieve(key)` 的人为映射和性能损失。 + +**KTD-8. PipelineStage 扩展 type/config 字段,WorkflowDefinition 继承 Pipeline** + +现有 `PipelineStage` 没有 `type` 字段,`action` 隐含类型语义。新增 `type: str = "skill"`(默认值不破坏现有数据)和 `config: dict = {}`(类型特定配置)。`WorkflowDefinition` 继承 `Pipeline`(而非 `PipelineStage`),新增 `workflow_id`/`triggers`/`variables_schema`/`output_schema` 字段。 + +--- + +## High-Level Technical Design + +```mermaid +flowchart TB + subgraph Portal["企业 Agent 门户 (Vue3 SPA)"] + Chat["统一对话界面"] + WF["Workflow 编辑器"] + KB["知识库管理"] + Term["智能终端"] + CU["Computer Use"] + EVO["自进化仪表盘"] + end + + subgraph Kernel["自主闭环执行引擎"] + GP["GoalPlanner
目标→计划"] + PE["PlanExecutor
并行执行"] + PC["PlanChecker
检查+复盘"] + end + + subgraph Plugins["Skill 插件"] + RAG["RAG Skill
本地+外部"] + ST["TerminalSkill
智能终端"] + CUT["ComputerUseSkill
UI自动化"] + end + + subgraph Foundation["现有基础设施"] + RE["ReActEngine"] + ORC["Orchestrator"] + PL["PipelineEngine"] + SR["SkillRegistry"] + TR["ToolRegistry"] + MR["MemoryRetriever"] + ES["ExperienceStore
(新增)"] + end + + Chat --> GP + GP --> PE + PE --> PC + PC --> ES + + PE --> RAG + PE --> ST + PE --> CUT + + RAG --> MR + ST --> TR + CUT --> TR + PE --> ORC + PE --> PL + GP --> SR + + WF --> PL + EVO --> ES +``` + +--- + +## Requirements Traceability + +| Origin R-ID | Plan Coverage | +|---|---| +| R1-R6 | U1 (GoalPlanner), U2 (PlanExecutor), U3 (PlanChecker) | +| R7-R10 | U4 (Skill 标准规范升级) | +| R11-R14 | U9 (本地文档摄取), U10 (外部知识库适配器), U11 (多源 RAG) | +| R15-R18 | U8 (智能终端交互) | +| R19-R22 | U12 (Computer Use 集成) | +| R24-R28 | U14 (Workflow 可视化编辑器) | +| R29-R33 | U5 (ExperienceStore), U6 (PitfallDetector), U7 (PathOptimizer) | +| R34 | U13a (对话界面与路由) | +| R35 | U13b (管理页面) | +| R36 | U13c (自进化仪表盘) | + +--- + +## Implementation Units + +### Phase 1: 核心内核与经验基础 + +### U1. GoalPlanner — 目标分析与计划生成 + +**Goal:** 用户给定自然语言目标后,自动生成结构化执行计划,包含任务拆解、依赖关系、并行度识别。 + +**Requirements:** R1, R2 + +**Dependencies:** 无 + +**Files:** +- `src/agentkit/core/goal_planner.py` (新建) +- `src/agentkit/core/plan_schema.py` (新建) +- `src/agentkit/core/orchestrator.py` (修改 — 增加 GoalPlanner 分支) +- `tests/unit/core/test_goal_planner.py` (新建) + +**Approach:** +- 新增 `GoalPlanner` 类,包装 `Orchestrator._decompose_task()` 作为前置增强层(见 KTD-1) +- `GoalPlanner.generate_plan(goal, context, available_skills)` → `ExecutionPlan` +- 执行流程:GoalPlanner 先通过结构化目标分解(规则/模板)生成初始方案 → 如果有效则跳过 LLM 调用 → 否则将初始方案作为上下文注入 `_decompose_task()` 的 LLM prompt → LLM 细化调整 +- `ExecutionPlan` 包含 `PlanStep` 列表,每个 step 有 name/description/dependencies/parallel_group/required_skills +- 依赖识别:复用 `_build_parallel_groups()` 的拓扑排序逻辑 +- 人工确认:`ExecutionPlan` 序列化为可读格式,通过 `AskHumanTool` 请求确认/修改 +- 修改 `Orchestrator._decompose_task()`:增加 `if self._goal_planner:` 分支 + +**Patterns to follow:** `Orchestrator._decompose_task()` 的 LLM 调用模式(`src/agentkit/core/orchestrator.py`) + +**Test scenarios:** +- 简单目标(单步任务)→ 生成单步计划 +- 复杂目标(多步任务)→ 生成多步计划,正确识别依赖和并行关系 +- 无可用 Skill 的目标 → 计划标注能力缺口,请求人工介入 +- 用户修改计划 → 更新后重新验证依赖关系 +- Covers AE1: 3 个竞品调研自动识别为并行步骤 + +**Verification:** `GoalPlanner` 能将"调研 3 个竞品 SEO 策略并生成对比报告"分解为包含并行步骤的结构化计划 + +### U2. PlanExecutor — 计划执行与并行调度 + +**Goal:** 按确认后的 ExecutionPlan 执行,自动并行调度无依赖步骤,支持执行中调整。 + +**Requirements:** R3, R5 + +**Dependencies:** U1 + +**Files:** +- `src/agentkit/core/plan_executor.py` (新建) +- `tests/unit/core/test_plan_executor.py` (新建) + +**Approach:** +- 新增 `PlanExecutor` 类,扩展 `Orchestrator.execute()` 的执行策略(见 KTD-1) +- 在 `Orchestrator.execute()` 中注入 PlanExecutor:`if self._plan_executor: await self._plan_executor.execute(plan, task) else: await self._execute_plan(plan, task)` +- 按 `parallel_group` 分组执行:复用 `_execute_plan()` 的 `asyncio.gather` 并行模式 +- 执行状态机:PENDING → RUNNING → COMPLETED/FAILED → CHECKING → RETRYING +- 失败处理:检查步骤失败时,根据失败类型决定重试/调整计划/请求人工 +- 与 `AgentPool` 集成:每个步骤通过 `AgentPool.create_agent_from_skill()` 创建 Agent 执行 +- 兼容现有的 `subtask_results` 累积模式 + +**Patterns to follow:** `Orchestrator.execute()` 的并行组执行模式(`src/agentkit/core/orchestrator.py`) + +**Test scenarios:** +- 3 个并行步骤全部成功 → 结果正确汇总 +- 并行步骤中 1 个失败 → 其他步骤继续,失败步骤进入检查 +- 步骤失败后自动重试成功 +- 步骤失败后调整计划(跳过/替换)继续执行 +- 执行中请求人工介入后继续 + +**Verification:** PlanExecutor 能并行执行无依赖步骤,失败步骤正确处理 + +### U3. PlanChecker — 检查与复盘闭环 + +**Goal:** 每步执行后检查产出质量,全部完成后复盘总结并写入经验库。 + +**Requirements:** R4, R5, R6 + +**Dependencies:** U2, U5 + +**Files:** +- `src/agentkit/core/plan_checker.py` (新建) +- `tests/unit/core/test_plan_checker.py` (新建) + +**Approach:** +- 新增 `PlanChecker` 类,集成 `QualityGate` 和 `LLMReflector` +- 检查环节:每步完成后,`QualityGate` 验证产出 + LLM 评估是否达标 +- 复盘环节:全部完成后,`LLMReflector` 生成复盘报告(成功路径、失败原因、耗时分布) +- 经验写入:复盘结果写入 `ExperienceStore`(U5) +- 闭环:检查不通过 → 触发重试或计划调整(与 U2 的失败处理联动) + +**Patterns to follow:** `EvolutionMixin.evolve_after_task()` 的反思-优化流程(`src/agentkit/evolution/lifecycle.py`) + +**Test scenarios:** +- 所有步骤通过检查 → 生成复盘报告,经验写入 ExperienceStore +- 某步骤检查不通过 → 触发重试 +- 重试后仍不通过 → 请求人工介入 +- 复盘报告包含成功路径和失败原因 +- Covers AE3: 错误经验写入后,后续任务能检索到避坑预警 + +**Verification:** 完整的 分析→计划→执行→检查→复盘→总结 闭环可运行 + +### U4. Skill 标准规范升级 + +**Goal:** 定义 Skill 标准接口规范,支持动态注册、版本管理、能力查询,确保 7 项能力以 Skill 插件形式接入。 + +**Requirements:** R7, R8, R9, R10 + +**Dependencies:** 无 + +**Files:** +- `src/agentkit/skills/base.py` (修改) +- `src/agentkit/skills/registry.py` (修改) +- `src/agentkit/skills/loader.py` (修改) +- `src/agentkit/skills/schema.py` (新建) +- `tests/unit/skills/test_skill_registry_v2.py` (新建) + +**Approach:** +- 扩展 `SkillConfig`:新增 `version`(语义版本)、`dependencies`(依赖的 Skill/Tool 声明)、`capabilities`(能力标签,用于查询) +- 新增 `SkillSpec` schema:定义 Skill 的标准接口规范(元数据、输入输出 Schema、依赖声明、质量门禁配置) +- 增强 `SkillRegistry`:新增 `query_by_capability()`(按能力标签查询)、`get_versions()`(版本管理)、`health_check()`(依赖检查) +- 增强 `SkillLoader`:支持从 Python 包自动发现 Skill(entry_points 机制) +- RAG/Terminal/ComputerUse 等新能力均以 Skill 插件形式注册 + +**Patterns to follow:** 现有 `SkillConfig` 的 Pydantic 模型模式(`src/agentkit/skills/base.py`) + +**Test scenarios:** +- 注册带版本和依赖的 Skill → 成功注册,依赖检查通过 +- 注册缺少依赖的 Skill → 依赖检查失败,返回错误信息 +- 按能力标签查询 → 返回匹配的 Skill 列表 +- 同名 Skill 注册新版本 → 版本历史保留,默认使用最新版 +- 从 Python 包自动发现 Skill → 正确加载 + +**Verification:** 开发者可用 10-20 行 YAML 定义一个 Skill 并注册到平台(SC2) + +### U5. ExperienceStore — 任务经验库 + +**Goal:** 存储任务执行经验(成功路径、失败原因、耗时分布),支持按任务类型检索和语义搜索。 + +**Requirements:** R29, R30, R33 + +**Dependencies:** U4 + +**Files:** +- `src/agentkit/evolution/experience_store.py` (新建) +- `src/agentkit/evolution/experience_schema.py` (新建) +- `tests/unit/evolution/test_experience_store.py` (新建) + +**Approach:** +- 新增 `ExperienceStore` 类,独立于现有 `EvolutionStore` +- `TaskExperience` 数据模型:task_type, goal, steps, outcome, duration, success_rate, failure_reasons, optimization_tips, embedding, created_at +- 存储:PostgreSQL 表 + pgvector 向量索引 + tsvector 全文索引 +- 检索:精确匹配 task_type + 语义相似度排序 + 时效性衰减 +- 与 `EvolutionMixin` 集成:`evolve_after_task()` 完成后自动调用 `ExperienceStore.record_experience()` +- 指标追踪:`EvolutionMetrics` 追踪完成率/耗时/重试率趋势(R33) + +**Patterns to follow:** `EpisodicMemory` 的 pgvector + PostgreSQL 存储模式(`src/agentkit/memory/episodic.py`) + +**Test scenarios:** +- 记录成功任务经验 → 正确存储,可按 task_type 检索 +- 记录失败任务经验 → failure_reasons 正确存储 +- 语义检索 → 返回与查询语义相似的经验 +- 时效性衰减 → 近期经验权重高于旧经验 +- 指标趋势查询 → 返回完成率/耗时/重试率变化 + +**Verification:** 任务完成后经验自动写入,新任务可检索到相关经验 + +--- + +### Phase 2: 智能终端与自进化增强 + +### U6. PitfallDetector — 避坑预警 + +**Goal:** 新任务启动时检索错误经验,匹配当前计划步骤,自动预警。 + +**Requirements:** R32 + +**Dependencies:** U5 + +**Files:** +- `src/agentkit/evolution/pitfall_detector.py` (新建) +- `tests/unit/evolution/test_pitfall_detector.py` (新建) + +**Approach:** +- 新增 `PitfallDetector` 类 +- `check_pitfalls(task_type, planned_steps)` → `list[PitfallWarning]` +- 匹配逻辑:检索同类任务的失败经验,将失败步骤与当前计划步骤进行语义匹配 +- 预警级别:HIGH(历史高失败率步骤)、MEDIUM(有失败记录但频率低)、LOW(仅提示) +- 集成到 `GoalPlanner`:计划生成后可选调用 `PitfallDetector`,预警信息附加到计划中(GoalPlanner 在 Phase 1 已可独立运行,PitfallDetector 是 Phase 2 的可选增强) + +**Patterns to follow:** `RuleBasedReflector` 的规则匹配模式(`src/agentkit/evolution/reflector.py`) + +**Test scenarios:** +- 计划包含历史高失败率步骤 → 返回 HIGH 级别预警 +- 计划无历史失败记录 → 返回空列表 +- 多个步骤有风险 → 按严重程度排序返回 +- Covers AE3: "调用 X 系统 API 在高峰期超时率 60%" → 新任务调用时自动预警 + +**Verification:** 新任务计划包含历史失败步骤时,自动返回避坑预警 + +### U7. PathOptimizer — 执行路径优化 + +**Goal:** 发现更优执行路径时自动更新经验库中的推荐路径。 + +**Requirements:** R31 + +**Dependencies:** U5 + +**Files:** +- `src/agentkit/evolution/path_optimizer.py` (新建) +- `tests/unit/evolution/test_path_optimizer.py` (新建) + +**Approach:** +- 新增 `PathOptimizer` 类 +- `ExecutionPath` 数据模型:steps, total_duration, success_rate, sample_count +- 对比逻辑:新路径与现有最优路径比较(综合耗时和成功率),决定是否更新 +- 更新策略:新路径成功率更高或同成功率但耗时更短 → 更新推荐路径 +- 集成到 `PlanChecker`:复盘时可选调用 `PathOptimizer.evaluate_and_update()`(PlanChecker 在 Phase 1 已可独立运行,PathOptimizer 是 Phase 2 的可选增强) + +**Patterns to follow:** `ABTester` 的统计比较模式(`src/agentkit/evolution/ab_tester.py`) + +**Test scenarios:** +- 新路径耗时更短 → 更新推荐路径 +- 新路径成功率更高 → 更新推荐路径 +- 新路径无明显优势 → 保留现有推荐路径 +- 样本量不足 → 不更新,记录待观察 + +**Verification:** 同类任务执行多次后,推荐路径自动优化 + +### U8. TerminalSession — 智能终端交互 + +**Goal:** 增强现有 ShellTool,支持会话状态维护、交互式命令、输出理解。 + +**Requirements:** R15, R16, R17, R18 + +**Dependencies:** U4 + +**Files:** +- `src/agentkit/tools/terminal_session.py` (新建) +- `src/agentkit/tools/pty_session.py` (新建) +- `src/agentkit/tools/shell.py` (修改) +- `src/agentkit/tools/output_parser.py` (新建) +- `tests/unit/tools/test_terminal_session.py` (新建) +- `tests/unit/tools/test_pty_session.py` (新建) + +**Approach:** +- 新增 `TerminalSession` 类:维护 cwd/env/history,跨命令保持状态 +- 新增 `PTYSession` 类:基于 `pexpect` 或 `asyncio` + `os.openpty()` 实现伪终端,支持交互式命令 +- 增强 `ShellTool`:新增 `session_id` 参数,指定会话执行;无 session_id 时保持现有行为(向后兼容) +- 新增 `OutputParser`:结构化解析命令输出(错误类型、退出码含义、可操作建议) +- 安全控制:危险操作通过 `AskHumanTool` 请求确认,所有操作记录审计日志 + +**Patterns to follow:** 现有 `ShellTool` 的白名单 + 危险命令拦截模式(`src/agentkit/tools/shell.py`) + +**Test scenarios:** +- 跨命令保持 cwd → cd 后执行 pwd 返回正确目录 +- 跨命令保持 env → export 后执行 echo 返回正确值 +- 交互式命令自动应答 → 命令等待输入时自动提供 +- 危险命令需确认 → rm 命令触发 AskHumanTool +- 输出解析 → 错误输出结构化为错误类型+建议 +- 无 session_id 时保持现有行为 + +**Verification:** Agent 能在终端会话中跨命令保持状态,处理交互式命令 + +--- + +### Phase 3: 知识库与 RAG 增强 + +### U9. LocalDocumentIngestion — 本地文档摄取 + +**Goal:** 支持上传文档(PDF/Word/Markdown 等),自动分块、向量化、索引。 + +**Requirements:** R11 + +**Dependencies:** U4 + +**Files:** +- `src/agentkit/memory/document_loader.py` (新建) +- `src/agentkit/memory/local_rag.py` (新建) +- `src/agentkit/memory/chunking.py` (新建) +- `tests/unit/memory/test_document_loader.py` (新建) +- `tests/unit/memory/test_local_rag.py` (新建) + +**Approach:** +- 新增 `DocumentLoader`:支持 PDF(PyMuPDF/pdfplumber)、Word(python-docx)、Markdown(mistune)、HTML(BeautifulSoup)、纯文本 +- 新增 `LocalRAGService`:实现 `KnowledgeBase` 协议(见 KTD-7),使用 pgvector 存储 + 检索(复用 `EpisodicMemory` 的 pgvector 基础设施) +- 分块策略:复用 `ContextualChunker`(`src/agentkit/memory/contextual_retrieval.py`),新增按文档结构的分块(按标题/段落) +- 嵌入:复用 `OpenAIEmbedder`(`src/agentkit/memory/embedder.py`) +- 摄取 Pipeline:上传 → 解析 → 分块 → 嵌入 → 写入 pgvector + +**Patterns to follow:** `HttpRAGService` 的 HTTP 客户端模式(`src/agentkit/memory/http_rag.py`),`KnowledgeBase` 协议(KTD-7) + +**Test scenarios:** +- 上传 PDF → 正确解析、分块、向量化、可检索 +- 上传 Markdown → 按标题结构分块 +- 上传 Word → 正确解析文本和表格 +- 检索上传的文档 → 返回相关内容+来源追溯 +- 大文件分块 → 块大小在配置范围内 + +**Verification:** 上传企业文档后可通过 RAG 检索到相关内容 + +### U10. ExternalKBAdapters — 外部知识库适配器 + +**Goal:** 对接飞书知识库、Confluence、企业 Wiki 等外部知识库,统一检索接口。 + +**Requirements:** R12 + +**Dependencies:** U4 + +**Files:** +- `src/agentkit/memory/knowledge_base.py` (新建 — KnowledgeBase 协议定义) +- `src/agentkit/memory/adapters/base.py` (新建) +- `src/agentkit/memory/adapters/feishu.py` (新建) +- `src/agentkit/memory/adapters/confluence.py` (新建) +- `src/agentkit/memory/adapters/generic_http.py` (新建) +- `tests/unit/memory/test_adapters.py` (新建) + +**Approach:** +- 定义独立 `KnowledgeBase` 协议(见 KTD-7):`ingest(docs)`/`query(text, top_k)`/`delete_by_id(id)`/`list_sources()`/`health_check()` +- 定义 `KBAdapter` 抽象基类实现 `KnowledgeBase` 协议:`search()`, `get_document()`, `list_sources()`, `health_check()` +- `FeishuKBAdapter`:对接飞书知识库 API +- `ConfluenceAdapter`:对接 Confluence REST API +- `GenericHTTPAdapter`:通用 HTTP 适配器,配置 API endpoint + auth 即可对接任意 HTTP 知识库 +- 所有适配器实现 `KnowledgeBase` 协议(非 `Memory` 接口),可被 `MultiSourceRetriever` 统一调度 +- `SemanticMemory` 内部组合使用 `KnowledgeBase`,而非强制适配 `Memory` 的 `retrieve(key)` 语义 + +**Patterns to follow:** `HttpRAGService` 的 HTTP 客户端模式(`src/agentkit/memory/http_rag.py`) + +**Test scenarios:** +- FeishuKBAdapter 检索 → 返回飞书知识库内容 +- ConfluenceAdapter 检索 → 返回 Confluence 页面内容 +- GenericHTTPAdapter 检索 → 返回配置的 HTTP API 内容 +- 适配器健康检查 → 正确报告连接状态 +- 认证失败 → 返回明确错误信息 + +**Verification:** 可通过统一接口检索飞书知识库和 Confluence 内容 + +### U11. MultiSourceRAG — 多源 RAG 与信息源指定 + +**Goal:** 用户可在任务级别指定信息源,支持多源混合检索,结果包含来源追溯。 + +**Requirements:** R13, R14 + +**Dependencies:** U9, U10 + +**Files:** +- `src/agentkit/memory/multi_source_retriever.py` (新建) +- `src/agentkit/memory/retriever.py` (修改) +- `tests/unit/memory/test_multi_source_rag.py` (新建) + +**Approach:** +- 新增 `MultiSourceRetriever`:管理多个 `KnowledgeBase` 协议实现(LocalRAGService、各 KBAdapter、HttpRAGService 适配器) +- 信息源指定:`search(query, sources=["feishu", "local:合规文档"])` → 仅从指定源检索 +- 混合检索:并行查询多个源,按权重融合排序 +- 来源追溯:每个检索结果附带 `source_id` + `document_title` + `chunk_location` +- 集成到 `MemoryRetriever`:新增 `sources` 参数,传递给 `MultiSourceRetriever` +- 所有 RAG 源统一实现 `KnowledgeBase` 协议(KTD-7),`MultiSourceRetriever` 不再区分 Memory 和 KBAdapter 接口 + +**Patterns to follow:** `MemoryRetriever` 的混合检索模式(`src/agentkit/memory/retriever.py`) + +**Test scenarios:** +- 指定单个信息源 → 仅从该源检索 +- 指定多个信息源 → 并行检索,结果融合排序 +- 不指定信息源 → 从所有可用源检索 +- 来源追溯 → 每个结果包含来源信息 +- Covers AE4: 指定"合规文档库"和"法务知识库" → 仅从这两个源检索 + +**Verification:** 用户可指定信息源检索,结果包含来源追溯 + +--- + +### Phase 4: Computer Use 集成 + +### U12. ComputerUseTool — Computer Use 集成 + +**Goal:** 集成 Anthropic Computer Use API,支持截屏识别、UI 操作、降级策略、录制回放。 + +**Requirements:** R19, R20, R21, R22 + +**Dependencies:** U4 + +**Files:** +- `src/agentkit/tools/computer_use.py` (新建) +- `src/agentkit/tools/computer_use_session.py` (新建) +- `src/agentkit/tools/computer_use_recorder.py` (新建) +- `tests/unit/tools/test_computer_use.py` (新建) + +**Approach:** +- 新增 `ComputerUseTool`(继承 `Tool`):封装 Anthropic Computer Use API 调用 +- 新增 `ComputerUseSession`:管理虚拟桌面会话(Docker 沙箱),维护操作上下文 +- 操作类型:screenshot → click → type → scroll → drag → key → wait +- 降级链:ComputerUseTool 失败 → 检查是否有 API/CLI 替代 → ShellTool → AskHumanTool +- 新增 `ComputerUseRecorder`:记录每次截屏和操作,支持回放和审核 +- 注册为 Skill 插件:`computer_use` Skill,可被自主执行引擎调用 + +**Patterns to follow:** `ShellTool` 的 Tool 基类实现 + 安全控制模式(`src/agentkit/tools/shell.py`) + +**Test scenarios:** +- 截屏并识别 UI 元素 → 返回可操作区域列表 +- 点击指定坐标 → 操作成功 +- 输入文本到输入框 → 操作成功 +- 多步骤 UI 操作 → 每步根据结果决定下一步 +- API 不可用时降级到 ShellTool → 正确降级 +- Covers AE2: Computer Use 失败 → 降级到 OA 系统 API +- 操作录制回放 → 可回放操作序列 + +**Verification:** Computer Use 可在企业 Web 系统上完成基本操作(登录、填表、提交)(SC4) + +--- + +### Phase 5: 前端门户 + +### U13a. Vue3 门户基础 — 对话界面与路由 + +**Goal:** 搭建 Vue3 SPA 骨架,实现统一对话界面作为 7 项能力的入口,IntentRouter 自动路由到对应能力。 + +**Requirements:** R34 + +**Dependencies:** U1, U2, U3 + +**Files:** +- `src/agentkit/server/frontend/` (新建目录) +- `src/agentkit/server/frontend/src/App.vue` (新建) +- `src/agentkit/server/frontend/src/views/ChatView.vue` (新建) +- `src/agentkit/server/frontend/src/components/chat/` (新建目录) +- `src/agentkit/server/frontend/src/stores/` (新建目录) +- `src/agentkit/server/frontend/src/api/` (新建目录) +- `src/agentkit/server/frontend/src/router/index.ts` (新建) +- `src/agentkit/server/routes/portal.py` (新建) +- `tests/unit/server/test_portal_routes.py` (新建) + +**Approach:** +- Vue3 + TypeScript + Pinia + Vue Router + Ant Design Vue +- 对话界面为主入口,IntentRouter 自动路由到对应能力 +- 侧边导航骨架:对话/工作流/知识库/技能/终端/Computer Use/自进化/设置 +- API 层:封装 FastAPI REST API + WebSocket 调用 +- 新增 Portal API 路由:对话消息、意图路由、能力状态查询 +- 构建产物输出到 `src/agentkit/server/static/`,替换现有 `index.html` + +**Patterns to follow:** 现有 FastAPI 路由结构(`src/agentkit/server/routes/`) + +**Test scenarios:** +- 对话界面发送消息 → 正确路由到对应能力 +- 侧边导航切换 → 正确加载对应视图 +- WebSocket 实时推送 → 执行进度正确显示 +- 意图路由 → "帮我查知识库"路由到 RAG 能力 + +**Verification:** 用户通过对话界面发送消息,系统能正确识别意图并路由到对应能力 + +### U13b. 管理页面 — 知识库/技能/终端/设置 + +**Goal:** 实现知识库管理、技能浏览、终端交互、系统设置等管理页面。 + +**Requirements:** R35 + +**Dependencies:** U13a, U9, U10, U8 + +**Files:** +- `src/agentkit/server/frontend/src/views/KnowledgeBaseView.vue` (新建) +- `src/agentkit/server/frontend/src/views/SkillsView.vue` (新建) +- `src/agentkit/server/frontend/src/views/TerminalView.vue` (新建) +- `src/agentkit/server/frontend/src/views/SettingsView.vue` (新建) +- `src/agentkit/server/frontend/src/components/kb/` (新建目录) +- `src/agentkit/server/frontend/src/components/skills/` (新建目录) +- `src/agentkit/server/frontend/src/components/terminal/` (新建目录) +- `src/agentkit/server/routes/kb_management.py` (新建) +- `src/agentkit/server/routes/skill_management.py` (新建) + +**Approach:** +- 知识库管理页:文档上传、信息源配置、检索测试、来源追溯展示 +- 技能浏览页:已注册 Skill 列表、能力标签筛选、版本管理、依赖检查 +- 终端交互页:WebSocket 终端会话、命令历史、输出高亮 +- 设置页:LLM 配置、Skill 配置、知识库连接配置 +- 各页面通过 Pinia store 管理状态,API 层统一封装 + +**Patterns to follow:** U13a 的 API 层和 Store 模式 + +**Test scenarios:** +- 知识库管理页面上传文档 → 文档正确摄取 +- 技能浏览页按能力标签筛选 → 返回匹配 Skill +- 终端交互页发送命令 → 输出正确显示 +- 设置页面配置 LLM → 配置生效 + +**Verification:** 管理员可通过管理页面完成知识库管理、技能浏览、终端交互、系统配置 + +### U13c. 自进化仪表盘 — 经验可视化与指标监控 + +**Goal:** 实现自进化经验的可视化展示和指标监控,让用户了解 Agent 的进化状态。 + +**Requirements:** R36 + +**Dependencies:** U13a, U5, U6, U7 + +**Files:** +- `src/agentkit/server/frontend/src/views/EvolutionView.vue` (新建) +- `src/agentkit/server/frontend/src/components/evolution/` (新建目录) +- `src/agentkit/server/routes/evolution_dashboard.py` (新建) +- `tests/unit/server/test_evolution_dashboard.py` (新建) + +**Approach:** +- 经验时间线:展示任务经验积累历程,成功/失败分布 +- 指标趋势图:完成率、耗时、重试率变化曲线(ECharts/AntV) +- 避坑预警面板:当前任务的风险提示,历史失败步骤高亮 +- 路径优化记录:推荐路径变更历史,新旧路径对比 +- 实时更新:WebSocket 推送新经验和指标变化 + +**Patterns to follow:** U13a 的 WebSocket 实时推送模式 + +**Test scenarios:** +- 经验时间线展示 → 正确显示成功/失败分布 +- 指标趋势图 → 完成率/耗时曲线正确渲染 +- 避坑预警面板 → 当前任务风险提示正确显示 +- 实时更新 → 新经验写入后仪表盘自动刷新 + +**Verification:** 用户可通过仪表盘直观了解 Agent 的经验积累和进化状态 + +### U14. Workflow 可视化编辑器 + +**Goal:** 基于 Vue Flow 构建可视化拖拽编排界面,支持条件分支、并行执行、人工审批、动态调整。 + +**Requirements:** R24, R25, R26, R27, R28 + +**Dependencies:** U13a + +**Files:** +- `src/agentkit/server/frontend/src/views/WorkflowEditorView.vue` (新建) +- `src/agentkit/server/frontend/src/components/workflow/FlowCanvas.vue` (新建) +- `src/agentkit/server/frontend/src/components/workflow/NodePalette.vue` (新建) +- `src/agentkit/server/frontend/src/components/workflow/PropertyPanel.vue` (新建) +- `src/agentkit/server/frontend/src/components/workflow/SkillNode.vue` (新建) +- `src/agentkit/server/frontend/src/components/workflow/ConditionNode.vue` (新建) +- `src/agentkit/server/frontend/src/components/workflow/ApprovalNode.vue` (新建) +- `src/agentkit/server/frontend/src/utils/workflowSerializer.ts` (新建) +- `src/agentkit/server/routes/workflows.py` (新建) +- `src/agentkit/orchestrator/workflow_schema.py` (新建) +- `tests/unit/server/test_workflow_routes.py` (新建) + +**Approach:** +- Vue Flow 画布:拖拽节点构建 Workflow +- 自定义节点类型:SkillNode(引用已注册 Skill)、ConditionNode(条件分支)、ApprovalNode(人工审批)、ParallelNode(并行分组) +- 序列化:Vue Flow JSON → `WorkflowDefinition`(继承 `Pipeline`,见 KTD-8),其中每个节点映射为扩展后的 `PipelineStage`(含 `type`/`config` 字段) +- 后端 API:Workflow CRUD + 执行 + 状态查询 + WebSocket 进度推送 +- `WorkflowDefinition` 继承 `Pipeline`,新增 `workflow_id`/`triggers`/`variables_schema`/`output_schema` 字段 +- `PipelineStage` 扩展 `type: str = "skill"` 和 `config: dict = {}`,默认值不破坏现有数据 +- 人工审批:执行到 ApprovalNode 时暂停,通知审批人,确认后继续 +- 动态调整:执行中可通过 API 增删节点或切换分支 + +**Patterns to follow:** `PipelineEngine` 的 DAG 执行模式(`src/agentkit/orchestrator/pipeline_engine.py`) + +**Test scenarios:** +- 拖拽 Skill 节点到画布 → 节点正确渲染 +- 连接节点建立依赖 → 边正确创建 +- 添加条件分支节点 → 条件配置正确 +- 添加人工审批节点 → 审批流程正确 +- 序列化为 YAML → 与 PipelineEngine 格式兼容 +- Covers AE5: Workflow 包含审批节点 → 执行到该节点暂停等待确认 + +**Verification:** 用户可通过拖拽构建 Workflow 并执行 + +--- + +### Phase 6: 端到端验证 + +### U15. 端到端企业场景验证 + +**Goal:** 用"目标驱动的复杂任务"场景端到端验证 7 项能力集成。 + +**Requirements:** R1-R36 (集成验证) + +**Dependencies:** U1-U14 全部完成(含 U13a/U13b/U13c) + +**Files:** +- `tests/integration/test_goal_driven_scenario.py` (新建) +- `configs/skills/goal_driven_agent.yaml` (新建) +- `configs/pipelines/goal_driven_pipeline.yaml` (新建) + +**Approach:** +- 验证场景:"分析竞品 SEO 策略并生成优化方案" +- 覆盖能力:自主闭环(目标→计划→执行→检查→复盘)+ RAG(检索企业知识库)+ Skill 调度(调用搜索/分析/生成 Skill) +- 验证指标:端到端完成率、并行执行效率、经验积累效果 +- 补充验证:知识库问答+系统操作场景、Workflow 编排场景 + +**Test scenarios:** +- 目标驱动场景端到端执行 → 生成完整优化方案 +- 并行步骤自动调度 → 3 个竞品调研并行执行 +- 经验积累 → 第二次执行同类任务耗时减少 +- 知识库指定信息源 → 仅从指定源检索 +- Workflow 人工审批 → 执行到审批节点暂停 + +**Verification:** 一个完整企业场景端到端走通,覆盖自主闭环+RAG+Skill 调度(SC1) + +--- + +## Scope Boundaries + +**Deferred for later:** +- Skill 市场/社区 +- 多租户隔离 +- 企业级认证/权限体系(RBAC/LDAP/SSO) +- 移动端适配 +- Workflow 模板市场 +- Computer Use 自研视觉识别(替代第三方 API) +- 经验库跨组织共享 + +**Outside this product's identity:** +- LLM 训练/微调平台 +- 数据标注平台 +- 低代码应用开发平台 + +--- + +## Risks & Dependencies + +| Risk | Impact | Mitigation | +|------|--------|-----------| +| Anthropic Computer Use API 可靠性有限 | Computer Use 能力不稳定 | 降级链(API → ShellTool → AskHuman),Docker 沙箱隔离 | +| Vue3 前端重构工作量大 | 延迟 Phase 5 交付 | 后端 API 先行,前端可分批交付(先对话界面,再 Workflow 编辑器) | +| 经验库初期数据为空 | 自进化效果不明显 | 预置种子经验(从测试和文档中提取),冷启动策略 | +| pgvector 性能瓶颈 | 大规模知识库检索慢 | 分区索引、查询优化、缓存层 | +| PipelineEngine 强依赖 Redis+SQLAlchemy | 无 Redis/PG 环境无法运行 | 提供 LocalRAGService 和内存 PipelineState 降级方案 | + +--- + +## Outstanding Questions + +**Deferred to implementation:** +- OQ1. 经验库的精确表结构和索引策略——实现时根据数据量调整 +- OQ2. PTY 实现选型:pexpect vs asyncio+openpty——U8 实现时根据跨平台需求决定 +- OQ3. HttpRAGService 如何适配 KnowledgeBase 协议——U10 实现时决定是包装适配还是重构 + +--- + +## Sources & Research + +- 现有架构分析:`src/agentkit/core/`, `src/agentkit/skills/`, `src/agentkit/orchestrator/`, `src/agentkit/memory/`, `src/agentkit/tools/`, `src/agentkit/evolution/` +- Anthropic Computer Use API 文档:beta API,支持 computer/text_editor/bash 三种工具类型 +- Vue Flow:Vue3 原生流程图库,6k+ stars,DAG 支持,自定义节点 +- Agent 自进化模式:Reflexion(反思-修正)、Experience Replay(经验回放)、Genetic Evolution(遗传进化) +- 企业门户架构:Dify/Coze/FastGPT 的对话驱动+能力面板模式 +- 智能终端模式:Claude Code 的执行-观察-决策循环 + PTY 会话模式 diff --git a/docs/brainstorms/2026-06-09-agentkit-capability-matrix/requirements.md b/docs/brainstorms/2026-06-09-agentkit-capability-matrix/requirements.md new file mode 100644 index 0000000..54ca9d2 --- /dev/null +++ b/docs/brainstorms/2026-06-09-agentkit-capability-matrix/requirements.md @@ -0,0 +1,212 @@ +--- +date: 2026-06-09 +topic: agentkit-capability-matrix +--- + +## Summary + +构建企业级 AI Agent 门户,采用内核+插件架构:自主闭环执行引擎作为调度中枢,RAG、智能终端、Computer Use、可视化 Workflow、自进化作为可插拔能力接入,Skill 标准规范作为统一接口。内外统一平台,解决企业"想用 AI Agent 但不会落地"的核心痛点。 + +## Problem Frame + +企业对 AI Agent 的需求明确但落地困难。当前市场上,低代码平台(Dify/Coze)擅长可视化编排但自主性弱,自主 Agent 框架(AutoGPT/CrewAI)擅长自主规划但集成能力差,Computer Use 类产品(Anthropic/Operator)擅长 UI 自动化但场景窄,编排框架(LangChain/LlamaIndex)擅长工具链但门槛高。企业需要的是一个统一入口,能同时覆盖知识问答、系统操作、复杂任务编排、桌面自动化等全场景,而不是在多个工具间切换。 + +AgentKit 已具备 Skill 系统、ReAct 引擎、Pipeline 编排、RAG 服务、ShellTool 等基础能力,但各能力之间缺乏统一调度中枢,缺少 Computer Use 和智能终端交互,Workflow 不可视化且不支持动态编排,自主闭环执行能力尚未形成,自进化停留在 Prompt 优化层面而非任务经验积累。 + +## Key Decisions + +**内核+插件架构,而非能力矩阵同步建设** +自主闭环执行引擎是所有能力的调度中枢,其他能力作为 Skill 插件接入。这避免了 6+1 项能力各自为政的集成问题——自主执行引擎天然就是集成点,每个能力接入后立即可被调用。 + +**计划驱动+人工确认,而非完全自主循环** +用户给定目标后,Agent 自动生成计划,人工确认后执行。完全自主循环在企业场景下风险过高,计划驱动既保证可控性又保留灵活性。 + +**Workflow 与自主闭环执行作为两种独立编排模式** +Workflow 是人工设计的固定流程(可视化+动态编排),自主闭环是 Agent 动态生成的流程。两者独立使用,互不替代,满足不同场景需求。 + +**Computer Use 调用第三方 API** +调用第三方 Computer Use API(如 Anthropic),最快实现,依赖外部服务但避免自研视觉识别的可靠性问题。 + +**Vue3 重构整体 UI 并集成 Workflow 编辑器** +现有 Web UI 是纯 HTML,用 Vue3 重构整体 UI 并集成可视化 Workflow 编辑器,统一技术栈。 + +**自进化从 Prompt 优化升级为任务经验积累** +现有 evolution 模块聚焦 Prompt 优化(Reflector/PromptOptimizer/ABTester),新增任务经验积累能力:记住错误避免重犯、总结正确路径、发现更优解时更新经验。两者并存,服务不同目的。 + +**Skill 标准规范+注册调度,而非 Skill 市场** +定义 Skill 的标准接口和规范,任何人都按规范开发 Skill,平台负责注册和调度。不做社区市场,降低运营复杂度。 + +## Actors + +- A1. **企业开发者** — 使用 AgentKit SDK/框架构建 Agent 应用的技术人员,通过 YAML 配置和 Python API 使用 7 项能力 +- A2. **企业终端用户** — 通过 AgentKit 门户直接使用 Agent 完成工作的非技术人员,给定目标获取结果 +- A3. **AgentKit 平台** — 自主闭环执行引擎,作为调度中枢协调 7 项能力 +- A4. **企业系统** — ERP/CRM/OA 等企业后台系统,Agent 通过 API 或 Computer Use 操作 + +## Requirements + +### 自主闭环执行引擎(内核) + +- R1. 用户给定自然语言目标后,Agent 自动生成结构化执行计划,包含任务拆解、依赖关系、预估步骤和并行度识别 +- R2. 执行计划需经人工确认后方可执行,用户可修改计划、调整步骤顺序、增删步骤 +- R3. 执行过程中支持自动并行——当识别到多个步骤无依赖关系时,自动调度多个 Agent 并行执行 +- R4. 执行过程遵循 分析→计划→执行→检查→复盘→总结 的闭环框架,每步的具体内容由 Agent 动态决定 +- R5. 检查环节发现问题时,Agent 可自动重试、调整计划或请求人工介入,而非直接失败 +- R6. 复盘环节将执行经验写入经验库,供后续任务参考 + +### Skill 标准规范与注册调度 + +- R7. 定义 Skill 标准接口规范,包含元数据(名称/描述/版本/作者)、输入输出 Schema、依赖声明、质量门禁配置 +- R8. Skill 注册中心支持动态注册、发现、版本管理和能力查询 +- R9. 内置 Skill 加载器支持从 YAML、Python 函数、Markdown 文件加载 Skill +- R10. RAG、智能终端、Computer Use 等能力均以 Skill 插件形式注册,可被自主执行引擎和其他 Skill 调用 + +### 知识库与 RAG + +- R11. 支持本地文档摄取(PDF/Word/网页/Markdown 等),自动分块、向量化、索引 +- R12. 支持对接外部知识库系统(飞书知识库、Confluence、企业 Wiki 等),通过标准适配器统一检索 +- R13. 用户可在任务级别指定信息源——选择使用哪些知识库或文档集合,支持多源混合检索 +- R14. RAG 检索结果包含来源追溯,用户可验证信息出处 + +### 智能终端交互 + +- R15. Agent 能理解终端命令输出,根据输出内容决定下一步操作,而非仅执行预设命令 +- R16. 支持交互式命令的自动应答——当命令等待用户输入时,Agent 根据上下文自动提供输入 +- R17. 维护终端会话状态,跨命令保持工作目录、环境变量、进程状态 +- R18. 安全控制:危险操作需人工确认,支持操作审计日志 + +### Computer Use + +- R19. 集成第三方 Computer Use API(如 Anthropic),支持截屏识别 UI 元素和模拟用户操作 +- R20. 支持多步骤 UI 操作流程,Agent 根据每步结果决定下一步操作 +- R21. 当第三方 API 不可用或操作失败时,自动降级到 API/CLI 方式(如有可用),或请求人工介入 +- R22. 操作过程可录制回放,支持人工审核和纠错 + +### 可视化 Workflow + +- R24. 提供可视化拖拽编排界面,用户可通过拖拽节点构建 Workflow +- R25. 支持条件分支、循环、并行执行、子流程调用等动态编排能力 +- R26. 支持人工审批节点——Workflow 执行到审批节点时暂停,等待人工确认后继续 +- R27. Workflow 可引用已注册的 Skill 作为节点,Skill 更新后 Workflow 自动使用最新版本 +- R28. 支持运行时动态调整——执行中可根据条件动态增删节点或切换分支 + +### 自进化(任务经验积累) + +- R29. 每次任务完成后,Agent 自动总结执行经验:成功路径、失败原因、耗时分布 +- R30. 经验库按任务类型组织,新任务启动时自动检索相关经验作为参考 +- R31. 当发现更优执行路径时(如更少的步骤、更高的成功率),自动更新经验库中的推荐路径 +- R32. 错误经验标记为避坑指南,后续任务遇到类似场景时自动预警 +- R33. 经验积累效果可量化——展示任务完成率、平均耗时、重试率等指标的变化趋势 + +### 企业门户集成 + +- R34. 统一入口:终端用户通过一个对话界面即可使用全部 7 项能力,无需切换工具 +- R35. 开发者入口:提供 SDK 和 API,开发者可将 AgentKit 集成到自己的应用中 +- R36. 支持接入企业系统获取操作权限和数据,通过标准适配器对接 ERP/CRM/OA 等 + +## Key Flows + +- F1. 目标驱动的复杂任务 + - **Trigger:** 用户输入自然语言目标(如"分析竞品并生成优化方案") + - **Actors:** A2, A3 + - **Steps:** + 1. Agent 分析目标,识别所需能力和信息源 + 2. 生成结构化执行计划,标注并行步骤 + 3. 用户确认或修改计划 + 4. Agent 按计划执行,并行步骤自动调度多 Agent + 5. 检查环节验证每步产出,发现问题自动调整 + 6. 复盘总结,经验写入经验库 + 7. 输出最终结果 + - **Covered by:** R1, R2, R3, R4, R5, R6 + +- F2. 知识库问答+系统操作 + - **Trigger:** 用户提问涉及企业知识或需操作企业系统 + - **Actors:** A2, A3, A4 + - **Steps:** + 1. Agent 识别问题需要知识检索还是系统操作 + 2. 检索指定知识库获取相关信息(R11-R14) + 3. 如需操作企业系统,通过 Computer Use API 或 API/CLI 执行(R19-R21) + 4. 组合信息生成回答或确认操作结果 + - **Covered by:** R11, R12, R13, R14, R19, R22 + +- F3. 可视化 Workflow 编排 + - **Trigger:** 用户需要设计可复用的固定流程 + - **Actors:** A1, A2 + - **Steps:** + 1. 用户在可视化界面拖拽节点构建 Workflow + 2. 配置条件分支、审批节点、并行执行等 + 3. 引用已注册 Skill 作为节点 + 4. 保存并发布 Workflow + 5. 触发执行,运行时可动态调整 + - **Covered by:** R24, R25, R26, R27, R28 + +## Acceptance Examples + +- AE1. **目标驱动任务——并行执行** + - **Covers R3, R5.** + - **Given:** 用户目标"调研 3 个竞品的 SEO 策略并生成对比报告" + - **When:** Agent 生成计划后识别 3 个竞品调研无依赖关系 + - **Then:** 自动调度 3 个 Agent 并行调研,汇总后生成对比报告 + +- AE2. **Computer Use 降级** + - **Covers R21.** + - **Given:** Agent 尝试通过第三方 Computer Use API 在企业 OA 系统提交审批 + - **When:** API 不可用或操作失败 + - **Then:** 自动降级到 OA 系统 API 提交审批,或暂停请求人工介入 + +- AE3. **经验积累与避坑** + - **Covers R30, R32.** + - **Given:** 经验库中记录"调用 X 系统 API 在高峰期超时率 60%" + - **When:** 新任务需要调用 X 系统 API + - **Then:** Agent 自动预警并建议错峰调用或使用重试策略 + +- AE4. **知识库指定信息源** + - **Covers R13.** + - **Given:** 用户提问"我们公司对数据导出有什么合规要求" + - **When:** 用户指定信息源为"合规文档库"和"法务知识库" + - **Then:** Agent 仅从指定知识库检索,不检索无关信息源 + +- AE5. **Workflow 人工审批** + - **Covers R26.** + - **Given:** Workflow 包含"发送客户报价"步骤 + - **When:** 执行到该步骤 + - **Then:** Workflow 暂停,通知审批人确认,确认后继续执行 + +## Success Criteria + +- SC1. 一个完整企业场景(目标驱动的复杂任务)端到端走通,覆盖自主闭环+RAG+Skill 调度 +- SC2. 开发者可用 10-20 行 YAML 配置定义一个 Skill 并注册到平台 +- SC3. 终端用户通过一个对话界面完成知识问答、系统操作、复杂任务编排,无需切换工具 +- SC4. Computer Use 在 3 个以上企业 Web 系统上完成基本操作(登录、填表、提交) +- SC5. 自进化使同类任务的平均完成时间随执行次数递减 + +## Scope Boundaries + +**Deferred for later:** +- Skill 市场/社区——先做标准规范和注册调度,社区生态后续再建 +- 多租户隔离——企业门户隐含需要,但 v1 先做单租户 +- 企业级认证/权限体系——v1 先做基础 API Key 认证 +- 移动端适配——先做 Web 端,移动端后续扩展 +- Workflow 模板市场——先支持自建 Workflow,模板市场后续再建 + +**Outside this product's identity:** +- LLM 训练/微调平台——AgentKit 使用 LLM,不训练 LLM +- 数据标注平台——AgentKit 消费数据,不标注数据 +- 低代码应用开发平台——AgentKit 是 Agent 平台,不是通用应用开发平台 + +## Dependencies / Assumptions + +- D1. Computer Use 依赖第三方 API(如 Anthropic)的可用性和稳定性,需要 API Key 和网络访问 +- D2. 外部知识库对接依赖各系统的 API 开放程度,部分企业系统可能无 API 需通过 Computer Use 操作 +- D3. 自进化的经验积累效果依赖任务执行量,初期经验库为空时效果有限 +- D4. Vue3 重构整体 UI 需要前端开发能力,当前项目后端为主(Python/FastAPI),前端资源可能不足 + +## Outstanding Questions + +**Resolve Before Planning:** +- (All resolved — see Key Decisions below) + +**Deferred to Planning:** +- OQ1. 经验库的存储和检索方案——向量数据库 vs 结构化存储 vs 混合 +- OQ2. 自主闭环执行引擎与现有 ReAct 引擎的关系——增强还是替换 +- OQ3. 智能终端交互与现有 ShellTool 的关系——增强还是替换 diff --git a/docs/brainstorms/2026-06-09-clawith-research-prompt.md b/docs/brainstorms/2026-06-09-clawith-research-prompt.md new file mode 100644 index 0000000..ffe1fa5 --- /dev/null +++ b/docs/brainstorms/2026-06-09-clawith-research-prompt.md @@ -0,0 +1,183 @@ +# Clawith 架构研究与 AgentKit 改进分析 + +## 研究背景 + +Clawith (clawith.ai) 是一个开源的多智能体协作平台,基于 OpenClaw 构建,旨在将 AI 代理从简单的聊天机器人提升为组织的"数字员工"。 + +GitHub: https://github.com/dataelement/Clawith +许可证: MIT +技术栈: React 19 + TypeScript / FastAPI + PostgreSQL + Redis + +--- + +## Clawith 核心架构 + +### 1. Agent Plaza — 协作知识流 +**设计理念**:代理共享的社交空间,代理在其中发布更新、分享发现、评论彼此的工作,实现知识流动而非被动查询。 + +**核心组件**: +- `PlazaFeed`:类似社交 feed,支持 post、comment、tag 过滤 +- `KnowledgeBase`:组织级共享知识池 +- 代理可订阅相关领域 feed,实现"被动发现" + +### 2. Persistent Identity — Soul & Memory +**设计理念**:每个代理有跨会话的持久身份,而非每次会话从头开始。 + +**核心组件**: +- `soul.md`:代理的个性、价值观、工作风格(持久存储) +- `memory.md`:长期上下文和学习到的偏好 +- 代理启动时加载 Soul,用于 Prompt 注入 + +### 3. Organization Awareness — 组织感知 +**设计理念**:代理理解完整组织结构,知道谁是同事,能自主建立工作关系和委派任务。 + +**核心组件**: +- `OrganizationContext`:组织架构、代理能力矩阵 +- 代理之间可以自发 `handoff`,而非只能通过中央编排器 +- 像新员工加入团队一样自然融入 + +### 4. Supervision Tasks — 主动跟进 +**设计理念**:代理可以代表组织主动跟进同事,确保待办事项完成。 + +**核心组件**: +- `SupervisorAgent`:可配置自动跟进规则 +- `deadline`、`reminder`、`escalation` 机制 + +### 5. Self-Evolution — 自我进化 +**设计理念**:代理遇到无法处理的任务时,主动搜索 MCP 注册表发现并安装新工具。 + +**核心组件**: +- 从 Smithery + ModelScope MCP 注册表搜索工具 +- 代理可为自己或同事创建新 Skill +- `SkillCreator` 工具 + +### 6. Enterprise Governance — 企业治理 +**设计理念**:组织级控制能力。 + +**核心组件**: +- `UsageQuota`:每个用户/代理的消息限制、Token 配额、代理 TTL +- `ApprovalWorkflow`:危险操作需人工审批 +- `AuditLog`:全链路操作可追溯 +- RBAC + 多租户隔离 + +--- + +## AgentKit 当前架构 + +### 项目结构 +``` +src/agentkit/ +├── core/ # BaseAgent、Orchestrator、Dispatcher、Registry +├── skills/ # SkillConfig、Skill、SkillRegistry、SkillLoader +├── memory/ # WorkingMemory、EpisodicMemory、SemanticMemory、RAG +├── evolution/ # EvolutionMixin、Reflector、PromptOptimizer、ABTester +├── llm/ # LLMGateway、Provider(OpenAI/Anthropic/Gemini/DeepSeek/国产) +├── orchestrator/ # PipelineEngine、HandoffManager、DynamicPipeline +├── mcp/ # MCPClient、MCPServer、MCPManager +├── tools/ # Tool基类、FunctionTool、AgentTool、MCPTool +├── server/ # FastAPI Server、routes、middleware +└── telemetry/ # OpenTelemetry tracing + metrics +``` + +### 已实现的核心能力 +- **ReAct Engine**:`react.py` 实现推理-行动循环 +- **LLM Gateway**:`llm/gateway.py` 统一调用、路由、计量 +- **Intent Router**:`router/intent.py` 三级路由(关键词+LLM) +- **Quality Gate**:`quality/gate.py` 产出质量管理 +- **Skill System**:`skills/base.py` SkillConfig + Skill + SkillRegistry +- **Evolution System**:`evolution/lifecycle.py` 反思→优化→A/B测试→应用 +- **Pipeline**:`orchestrator/pipeline_engine.py` 多步骤编排+重试+补偿 + +--- + +## 差距分析 + +### 功能对比表 + +| 功能 | Clawith | AgentKit | 差距 | +|------|---------|----------|------| +| Agent Plaza | ✅ | ❌ | 需要新增 plaza/ 模块 | +| Soul/Memory 持久身份 | ✅ | ⚠️ 部分 | Soul 缺失,memory 是会话级非代理级 | +| 组织感知 | ✅ | ❌ | Agent 不知道可以向谁求助 | +| Supervision Tasks | ✅ | ❌ | 任务即结束,无跟进机制 | +| 主动 Self-Evolution | ✅ | ⚠️ 被动 | evolve_after_task 是完成后触发 | +| Enterprise Governance | ✅ | ⚠️ 部分 | QualityGate 有,Quota/审批/RBAC 无 | +| 多渠道 Gateway | ✅ | ⚠️ MCP | 当前是 Agent 平台,Clawith 是 Channel | +| 意图路由 | ✅ | ✅ | 已有 Intent Router | + +--- + +## 建议优先实现的功能 + +### P0 — 组织感知 + 主动进化 + +**1. OrganizationContext(组织上下文)** +- 新增 `src/agentkit/org/context.py` +- `OrganizationModel`:组织架构、代理能力注册表 +- `Agent.on_task_start()` 自动注入组织上下文 +- 支持代理主动 `handoff` 给合适的同事 + +**2. 主动工具发现** +- 当 ReAct 循环遇到未知任务时,触发 MCP 注册表搜索 +- 新增 `ToolDiscovery` 类 +- 集成 Smithery + ModelScope MCP 注册表 + +### P1 — Agent Plaza + Persistent Identity + +**3. Agent Plaza** +- 新增 `src/agentkit/plaza/` 模块 +- `PlazaFeed`、`KnowledgeShare`、`SubscriptionManager` +- 代理可发布状态、评论、发现 + +**4. Soul & LongTermMemory** +- 新增 `src/agentkit/identity/` 模块 +- `SoulManager`:管理代理 soul.md +- `LongTermMemory`:跨任务的持续记忆 + +### P2 — Supervision + Enterprise Governance + +**5. Supervision Tasks** +- 新增 `SupervisionTask` 类型 +- `SupervisorAgent` 主动跟进机制 + +**6. Enterprise Governance 补齐** +- `UsageQuota` +- `ApprovalWorkflow` +- 完善 RBAC + +--- + +## 深入分析任务 + +请在另一个会话中完成以下分析: + +1. **OrganizationContext 详细设计** + - 如何表示组织架构和代理能力 + - Agent 如何感知可用的同事 + - handoff 协议如何扩展支持自发协作 + +2. **Agent Plaza 技术方案** + - Feed 数据模型设计 + - 与现有 Memory 系统如何集成 + - 订阅/推送机制实现 + +3. **Persistent Identity 实现路径** + - soul.md 的 Schema 设计 + - LongTermMemory 与 WorkingMemory/EpisodicMemory 的关系 + - 跨会话记忆如何注入 Prompt + +4. **Self-Evolution 主动性增强** + - 何时触发工具发现 + - 如何平衡探索成本和任务需求 + - 发现新工具后如何学习使用 + +5. **与现有 Phase 6/7/8 规划的关系** + - Layered Memory(Phase 8) + - Adaptive Chat(Phase 8) + - Headroom(Phase 7) + - 如何避免重复建设 + +6. **实现优先级和依赖关系** + - 哪些功能可以并行开发 + - 哪些必须依赖其他模块先完成 + - 建议的迭代顺序 diff --git a/docs/brainstorms/2026-06-13-agentkit-platform-experience-upgrade-requirements.md b/docs/brainstorms/2026-06-13-agentkit-platform-experience-upgrade-requirements.md new file mode 100644 index 0000000..f41398c --- /dev/null +++ b/docs/brainstorms/2026-06-13-agentkit-platform-experience-upgrade-requirements.md @@ -0,0 +1,191 @@ +--- +date: "2026-06-13" +topic: "agentkit-platform-experience-upgrade" +--- + +## Summary + +Fischer AgentKit 平台体验全面升级——布局重构为左对话+右双栏、对话体验深化(首 Token 即渲染+消息格式增强+@-mention 四类引用)、响应速度核心优化(启发式路由+合并 LLM 调用)、暗色主题与交互增强、Computer Use MVP——分三个冲击波迭代交付。 + +## Problem Frame + +当前 AgentKit 处于"后端能力丰富、前端体验粗糙"的失衡状态。后端已实现 ReAct 推理、Skill 系统、Pipeline 编排、三层记忆、自进化、多 Agent 市场等完整能力,但 GUI 仍停留在功能可用层面:四象限等分布局让对话空间被压缩到 1/4 屏幕;消息仅支持纯文本渲染,代码块无高亮、工具调用无可视化;用户输入后需等待 5-10 秒才看到首个响应 Token;无暗色主题、无过渡动画、无操作反馈;Computer Use 前后端均为占位状态。 + +竞品(Devin、Cursor、v0.dev)已普遍采用 Agent-First 布局 + 统一设计系统 + 流式渲染 + 视觉操作能力。AgentKit 需要对齐这一标准,将"能用"升级为"好用"。 + +## Key Decisions + +**冲击波迭代策略。** 三个迭代各聚焦一个体验质变:迭代 1 解决对话"快且宽敞"(布局+速度+格式),迭代 2 解决"丰富且精准"(双主题+@-mention+交互),迭代 3 解决"专业且全能"(Computer Use+剩余优化)。每个迭代交付后用户都能感受到明确的体验提升。 + +**四线并行。** GUI 产品化、Chat 体验深化、响应速度优化、Computer Use 四条线并行推进,每个迭代从每条线各取一部分,交叉组合为端到端可交付的体验升级。 + +**Computer Use MVP 先截屏后容器。** 先实现截屏查看+简单点击操作的前后端闭环,Docker 容器化隔离延后。MVP 让用户能通过对话让 Agent"看到"屏幕并执行简单操作,验证价值后再投入容器化成本。 + +**@-mention 四类全覆盖。** 支持 @文件、@技能、@工作流、@Agent 四类引用,在对话输入框中通过 autocomplete 下拉选择,选中后作为上下文注入 Agent 推理。 + +**Cmd+K 内联编辑延后。** AgentKit 当前没有代码编辑器,Cmd+K 的场景定义不清,延后到代码预览集成完成后再评估。 + +## Actors + +- A1. **开发者/运维工程师** — 通过对话面板与 Agent 交互,使用 @-mention 引用上下文,通过 Computer Use 让 Agent 操作远程环境 +- A2. **Agent** — 接收用户消息,执行推理和工具调用,流式返回结果,响应 @-mention 注入的上下文 + +## Requirements + +### 迭代 1:对话体验质变 + +#### 布局重构 + +R1. 左对话 + 右双栏布局 — AgentLayout 从四象限等分布局重构为左半屏对话面板 + 右半屏上下双栏(上:代码/工作流/知识库,下:监控/技能/设置),左右分割默认 55:45,右侧上下分割默认 60:40,分割比例保存到 localStorage + +R2. 面板折叠为 Tab 栏 — 每个面板可独立折叠为约 38px 的 Tab 栏,折叠状态保存到 localStorage,折叠/展开有 200ms ease 过渡动画 + +R3. 侧边导航精简为图标模式 — 32px 宽图标导航栏,点击图标切换右侧面板 Tab 并展开,当前激活图标高亮,导航栏可通过 TopNav 按钮折叠/展开 + +R4. 小屏幕适配 — <1024px 显示提示,1024-1280px 右下面板默认折叠,≥1280px 完整展示 + +#### 响应速度核心 + +R5. 启发式分类器替代 LLM quick_classify — 用零成本的本地启发式规则(消息长度、关键词密度、工具提示检测)替代 `CostAwareRouter.quick_classify()` 的 LLM 调用,通过配置开关可回退到 LLM 模式 + +R6. 合并路由 LLM 调用 — 当启发式不确定需要 LLM 路由时,将复杂度评分和意图分类合并为单次 LLM 调用,而非两次串行调用 + +R7. 首 Token 即渲染 — 前端 WebSocket 接收到首个流式 Token 即开始渲染,不等完整块;后端 ReActEngine 流式输出与前端渲染对齐 + +#### 消息格式增强 + +R8. 代码块语法高亮 — 消息中的代码块自动识别语言并语法高亮,支持复制按钮 + +R9. 工具调用可视化 — 工具调用显示为可折叠的步骤卡片,展示工具名称、参数摘要、执行状态、结果预览,替代当前的纯文本标签 + +R10. 图片和文件预览 — 消息中的图片内联显示缩略图,文件显示为可下载卡片(文件名+大小+类型图标) + +### 迭代 2:专业感 + 精准度 + +#### 设计系统 + +R11. 暗色主题 — 在浅色 Token 基础上新增暗色主题 Token 变体,TopNav 增加主题切换按钮,偏好保存到 localStorage,暗色配色为深色背景+荧光强调色+终端原生感 + +R12. 组件样式统一 — 所有组件统一引用 Design Token,消除硬编码值,Ant Design 全局覆盖通过 Token 驱动 + +#### @-mention 上下文引用 + +R13. @-mention Autocomplete — 对话输入框中输入 `@` 触发下拉选择器,支持 @文件(知识库文档)、@技能(已注册技能)、@工作流(已有工作流)、@Agent(已配置 Agent),支持模糊搜索 + +R14. @-mention 上下文注入 — 选中的引用项作为结构化上下文注入 Agent 推理,后端解析引用类型和 ID,将对应内容(文档片段、技能描述、工作流定义、Agent 配置)加入对话上下文 + +R15. @-mention 引用标签 — 输入框中已选引用显示为可删除的标签(类似 ContextPill),发送后消息中显示为可点击的引用链接 + +#### 交互增强 + +R16. 过渡动画 — 面板折叠/展开 200ms ease、Tab 切换 150ms 淡入淡出、列表项交错渐入 stagger 50ms、路由切换 200ms 淡入淡出 + +R17. 操作反馈 — 按钮点击波纹/缩放反馈、加载状态骨架屏替代 `a-spin`、成功/失败 Toast 提示、WebSocket 断连顶部横幅 + +R18. 空状态设计 — 对话/工作流/监控/知识库/技能空状态各有品牌化插图和引导文案 + +### 迭代 3:能力扩展 + +#### Computer Use MVP + +R19. 截屏查看 — Agent 可对目标环境执行截屏操作,截图实时显示在 Computer Use 面板中,支持缩放和滚动 + +R20. 简单点击操作 — Agent 可在截屏上执行点击操作(指定坐标),操作结果通过新的截屏反馈 + +R21. Computer Use 面板 — 右上面板新增 Computer Use Tab,展示截屏画面和操作历史,支持手动截屏触发 + +#### 响应速度剩余优化 + +R22. 并行工具执行 — ReActEngine 中多个独立 tool_calls 使用 `asyncio.gather()` 并行执行,结果按 tool_call_id 顺序追加,通过配置开关可回退串行模式 + +R23. 异步会话写入 — SessionManager 的 `append_message()` 改为非阻塞,使用写前缓冲区防止消息丢失,优雅关闭时 flush + +#### 拖拽交互增强 + +R24. 分割线拖拽增强 — 拖拽时高亮分割线,显示当前比例百分比 + +R25. 面板折叠缩略预览 — 面板折叠时显示缩略内容预览 + +## Key Flows + +- F1. 对话为主的工作流 + - **Trigger:** 用户打开 AgentKit + - **Steps:** 左侧对话面板占满左半屏 → 用户输入消息 → 启发式分类器即时判断复杂度 → ReActEngine 流式推理 → 首 Token 即渲染 → 工具调用显示为步骤卡片 → 代码块语法高亮 → 右侧按需展示辅助信息 + - **Covered by:** R1, R5, R7, R8, R9 + +- F2. @-mention 上下文引用 + - **Trigger:** 用户在对话输入框输入 `@` + - **Steps:** 下拉选择器弹出 → 用户输入关键词模糊搜索 → 选择引用项 → 引用显示为标签 → 发送消息 → 后端解析引用 → 对应内容注入 Agent 上下文 → Agent 基于引用内容推理 + - **Covered by:** R13, R14, R15 + +- F3. Computer Use 操作 + - **Trigger:** 用户让 Agent 执行视觉操作(如"帮我点击屏幕上的保存按钮") + - **Steps:** Agent 调用截屏工具 → 截图显示在 Computer Use 面板 → Agent 分析截图定位目标 → 执行点击操作 → 新截屏反馈操作结果 → 用户可在面板中查看操作历史 + - **Covered by:** R19, R20, R21 + +- F4. 主题切换 + - **Trigger:** 用户点击 TopNav 主题切换按钮 + - **Steps:** 点击月亮/太阳图标 → 所有 Token 变量切换 → 界面平滑过渡 → 偏好保存到 localStorage + - **Covered by:** R11 + +## Scope Boundaries + +**在范围内:** +- 布局重构(左对话 + 右双栏) +- Design Token 体系 + 双主题 +- 组件样式统一 +- 首 Token 即渲染 +- 消息格式增强(代码高亮、工具调用卡片、图片/文件预览) +- @-mention 四类引用(文件、技能、工作流、Agent) +- 响应速度优化(启发式路由、合并调用、并行工具、异步写入) +- Computer Use MVP(截屏+点击,不含 Docker 容器化) +- 过渡动画、操作反馈、空状态、拖拽增强 +- 侧边导航精简 +- 小屏幕适配 + +**延迟到后续迭代:** +- Cmd+K 内联编辑 +- Computer Use Docker 容器化隔离 +- 代码 Diff 查看器实现(右上「代码」Tab 仍为占位) +- 代码 Diff 的 Accept/Reject 实际回滚功能 +- 响应式移动端适配 +- httpx 连接池配置优化 +- A/B 测试框架和性能基准 CI + +**不在本产品身份内:** +- 多用户协作/实时协同编辑 +- 插件市场 +- 代码编辑器(只读预览,不提供编辑能力) + +## Success Criteria + +1. **布局合理** — 对话面板占左半屏,右侧辅助信息可按需折叠 +2. **首 Token <1s** — 简单对话(问候、Q&A)首 Token 延迟低于 1 秒 +3. **消息丰富** — 代码块有语法高亮,工具调用有可视化卡片,图片/文件有预览 +4. **@-mention 可用** — 四类引用均可 autocomplete 选择并注入上下文 +5. **双主题可用** — 浅色/暗色一键切换,所有组件在两种主题下正常显示 +6. **Computer Use MVP** — Agent 能截屏查看并执行点击操作 +7. **交互流畅** — 所有过渡动画 ≤200ms,操作有即时反馈 +8. **渐进交付** — 分 3 个迭代完成,每个迭代可独立部署 + +## Dependencies / Assumptions + +- 现有 SplitPane 和 QuadrantPanel 组件支持水平和垂直分割,可直接复用 +- Ant Design Vue 4.x 的 ConfigProvider 支持 CSS 变量主题注入 +- ChatView 的 ChatSidebar 默认折叠,不影响左侧对话面板的空间利用 +- Vue 3 的 `` 和 `` 可满足过渡动画需求 +- `CostAwareRouter` 已有 `_tokenize_content()` 和 `_match_layer0()` 规则基础,启发式分类器可复用 +- `IntentRouter._classify_with_llm()` 的 prompt 结构可扩展为同时返回复杂度评分 +- Computer Use MVP 不依赖 Docker,可直接在宿主环境执行截屏和点击 +- 现有 `tools/computer_use_session.py` 的 TODO 占位需要替换为实际实现 +- 响应速度优化已有详细实施计划(docs/plans/2026-06-12-021-feat-chat-response-speed-optimization-plan.md),U1-U6 可直接沿用 + +## Outstanding Questions + +**Resolved:** +- Computer Use MVP 的截屏实现方式:使用 OpenCLI + +**Deferred to Planning:** +- @-mention 后端解析的具体协议:引用项如何在 WebSocket 消息中编码,与现有 `chat` 消息类型如何兼容 +- 工具调用步骤卡片的折叠/展开交互细节 +- 骨架屏的具体形状和占位内容 diff --git a/docs/brainstorms/2026-06-13-gui-productization-requirements.md b/docs/brainstorms/2026-06-13-gui-productization-requirements.md new file mode 100644 index 0000000..58cc940 --- /dev/null +++ b/docs/brainstorms/2026-06-13-gui-productization-requirements.md @@ -0,0 +1,190 @@ +--- +date: "2026-06-13" +topic: "gui-productization" +status: active +--- + +## Summary + +对 Fischer AgentKit GUI 进行产品级提升,三线并行推进:布局重构为「左对话 + 右双栏」、建立双主题设计系统、增强交互体验。分 3 个迭代交付,每个迭代可独立部署。 + +## Problem Frame + +当前 GUI 处于"功能可用但体验粗糙"状态:四象限等分布局让对话空间被压缩到 1/4 屏幕,终端面板大多时间空闲浪费空间;颜色/间距/圆角全部硬编码散落在 30+ 组件中,视觉不统一;无过渡动画、操作无反馈、空状态单调、加载态简陋。竞品(Devin、Cursor、v0.dev)已普遍采用 Agent-First 布局 + 统一设计系统,AgentKit 需要对齐这一标准。 + +## Key Decisions + +**左对话 + 右双栏布局。** 对话是用户 80% 时间停留的区域,应占据左半屏全部空间。右侧上下分割为代码/工作流(右上)和监控(右下),提供辅助信息。 + +**全面设计系统重构 + 双主题。** 建立 CSS 变量体系(颜色/间距/圆角/字体/阴影),所有组件统一引用。同时支持浅色极简和暗色科技两种主题,用户可一键切换。 + +**三线并行,分迭代交付。** 布局/视觉/交互三线并行推进,分 3 个迭代交付:迭代 1 布局骨架 + 设计 Token 基础,迭代 2 双主题 + 组件样式统一,迭代 3 交互增强。 + +## Actors + +- A1. **开发者/运维工程师** — 通过对话面板与 Agent 交互,右侧面板提供工作流编辑、监控数据等辅助信息 + +## Requirements + +### 迭代 1:布局骨架 + 设计 Token 基础 + +#### R1. 左对话 + 右双栏布局 + +将 AgentLayout 从四象限等分布局重构为「左对话 + 右双栏」布局。 + +- 左半屏:对话面板(ChatView),占满左侧全部高度 +- 右半屏上半:代码/工作流面板,Tab 切换代码(占位)/工作流/知识库 +- 右半屏下半:监控面板,Tab 切换监控/技能/设置 +- 左右分割线可拖拽调整宽度,默认比例 55:45 +- 右侧上下分割线可拖拽调整高度,默认比例 60:40 +- 分割比例保存到 localStorage,刷新后恢复 +- 最小比例 20%,最大比例 80% + +#### R2. 面板折叠为 Tab 栏 + +每个面板可独立折叠,折叠后仅显示 Tab 栏(约 38px 高度)。 + +- 右上面板折叠后仅显示 Tab 栏(代码/工作流/知识库 图标+文字) +- 右下面板折叠后仅显示 Tab 栏(监控/技能/设置 图标+文字) +- 折叠状态保存到 localStorage +- 折叠/展开有平滑过渡动画(200ms ease) +- 两个面板可同时折叠,对话面板获得最大空间 + +#### R3. 侧边导航精简为图标模式 + +侧边导航栏精简为 32px 宽的图标导航,点击图标切换右侧面板 Tab 内容。 + +- 导航项:对话、工作流、知识库、技能、监控、设置 +- 点击导航图标:对应面板切换到指定 Tab 并展开 +- 当前激活的导航图标高亮显示 +- 导航栏可通过 TopNav 按钮折叠/展开 + +#### R4. Design Token 体系基础 + +建立 CSS 变量体系,定义所有设计令牌。 + +- 创建 `src/styles/tokens.css`,定义浅色主题 Token:颜色、间距、圆角、字体、阴影 +- Ant Design Vue 主题通过 ConfigProvider 注入 Token 值 +- 所有组件引用 Token 变量,不再硬编码颜色/间距值 +- 主色统一为一种(消除 `#1677ff`/`#1890ff` 混用) + +#### R5. 小屏幕适配 + +- 屏幕宽度 < 1024px 时显示提示"请使用更大的屏幕" +- 屏幕宽度 1024-1280px 时右侧下面板默认折叠 +- 屏幕宽度 ≥ 1280px 时完整展示所有面板 + +### 迭代 2:双主题 + 组件样式统一 + +#### R6. 暗色主题 + +在浅色主题基础上新增暗色主题 Token 变体。 + +- `src/styles/tokens-dark.css` 定义暗色主题 Token +- TopNav 增加主题切换按钮(太阳/月亮图标) +- 主题偏好保存到 localStorage +- 暗色主题配色:深色背景(#1a1a2e)、荧光强调色、终端原生感 +- 代码/终端区域在浅色主题下也使用深色背景(One Dark Pro 配色) + +#### R7. 组件样式统一 + +所有组件统一引用 Design Token,消除硬编码值。 + +- 对话面板:消息气泡、工具调用标签、流式输出样式 +- 工作流面板:节点卡片、属性面板、画布样式 +- 监控面板:指标卡片、图表容器、时间线样式 +- 通用:按钮、输入框、标签、徽章、模态框统一圆角和间距 +- Ant Design 全局覆盖通过 Token 驱动,而非逐组件 `!important` + +### 迭代 3:交互增强 + +#### R8. 过渡动画 + +为所有交互添加过渡动画。 + +- 象限折叠/展开:平滑过渡(200ms ease) +- Tab 切换:淡入淡出(150ms) +- 列表项加载:交错渐入(stagger 50ms) +- 路由切换:淡入淡出(200ms) + +#### R9. 操作反馈 + +为用户操作提供即时反馈。 + +- 按钮点击:波纹效果或缩放反馈 +- 加载状态:骨架屏替代 `` +- 成功/失败:Toast 提示(替代 `alert`) +- WebSocket 断连:顶部横幅提示 + +#### R10. 空状态设计 + +为所有空状态提供品牌化插图和引导文案。 + +- 对话空状态:引导用户输入第一条消息 +- 工作流空状态:引导创建第一个工作流 +- 监控空状态:说明数据来源和更新频率 +- 知识库空状态:引导上传文档或配置信息源 +- 技能空状态:说明如何注册技能 + +#### R11. 拖拽交互增强 + +优化拖拽操作的视觉反馈。 + +- 分割线拖拽:拖拽时高亮分割线,显示当前比例百分比 +- 工作流节点拖拽:放置预览指示,对齐网格 +- 面板折叠:折叠时显示缩略预览 + +## Key Flows + +- F1. 对话为主的工作流 + - **Trigger:** 用户打开 AgentKit + - **Steps:** 左侧对话面板占满左半屏 → 右侧显示工作流/监控 Tab 栏 → 用户在对话面板输入 → Agent 回复 → 右侧按需展示辅助信息 + - **Covered by:** R1 + +- F2. 主题切换 + - **Trigger:** 用户点击 TopNav 主题切换按钮 + - **Steps:** 点击月亮图标 → 所有 Token 变量切换为暗色值 → 界面平滑过渡到暗色主题 → 偏好保存到 localStorage + - **Covered by:** R6 + +- F3. 面板折叠获取最大对话空间 + - **Trigger:** 用户需要专注对话 + - **Steps:** 点击右上面板折叠按钮 → 面板折叠为 Tab 栏(200ms 动画)→ 点击右下面板折叠按钮 → 同样折叠 → 对话面板获得最大空间 + - **Covered by:** R2, R8 + +## Scope Boundaries + +**在范围内:** +- 布局重构(左对话 + 右双栏) +- Design Token 体系 + 双主题 +- 组件样式统一 +- 过渡动画、操作反馈、空状态、拖拽增强 +- 侧边导航精简 +- 小屏幕适配 + +**延迟到后续迭代:** +- 代码 Diff 查看器实现(右上「代码」Tab 仍为占位) +- Cmd+K 内联编辑(类似 Cursor) +- @-mention 上下文引用 +- 代码 Diff 的 Accept/Reject 实际回滚功能 +- 响应式移动端适配 + +**不在本产品身份内:** +- 多用户协作/实时协同编辑 +- 插件市场 +- 代码编辑器(只读预览,不提供编辑能力) + +## Success Criteria + +1. **布局合理** — 对话面板占左半屏,右侧辅助信息可按需折叠 +2. **视觉一致** — 零硬编码颜色值,所有样式通过 Design Token 引用 +3. **双主题可用** — 浅色/暗色一键切换,所有组件在两种主题下正常显示 +4. **交互流畅** — 所有过渡动画 ≤200ms,操作有即时反馈 +5. **渐进交付** — 分 3 个迭代完成,每个迭代可独立部署 + +## Dependencies / Assumptions + +- 现有 SplitPane 组件支持水平和垂直分割,可直接复用 +- 现有 QuadrantPanel 组件支持 Tab 切换和折叠,可直接复用 +- Ant Design Vue 4.x 的 ConfigProvider 支持 CSS 变量主题注入 +- ChatView 的 ChatSidebar 默认折叠(collapsed = true),不影响左侧对话面板的空间利用 +- Vue 3 的 `` 和 `` 组件可满足过渡动画需求 diff --git a/docs/brainstorms/2026-06-13-gui-redesign-requirements.md b/docs/brainstorms/2026-06-13-gui-redesign-requirements.md new file mode 100644 index 0000000..cb9b7fc --- /dev/null +++ b/docs/brainstorms/2026-06-13-gui-redesign-requirements.md @@ -0,0 +1,220 @@ +# Fischer AgentKit GUI 重构需求文档 + +**日期:** 2026-06-13 +**状态:** Active +**范围:** Deep — Feature + +--- + +## 1. 问题陈述 + +当前 Fischer AgentKit GUI 处于"功能可用但视觉粗糙"状态,存在以下核心问题: + +1. **布局范式落后** — SideNav 多页面布局无法同时展示 Agent 的对话、代码修改、终端执行和预览结果,用户需要频繁切换页面才能理解 Agent 在做什么 +2. **设计系统缺失** — 无 Design Token,颜色(`#1677ff`/`#1890ff` 混用)、间距、圆角、字体大小全部硬编码散落在 30+ 组件中 +3. **视觉质量低** — 无过渡动画、空状态单调、加载态粗糙、信息层级平铺 +4. **响应式完全缺失** — 所有面板宽度固定,小屏幕下内容被严重挤压 + +竞品(Devin、Cursor、Trae、v0.dev)已普遍采用 Agent-First 全屏布局 + 统一设计系统,Fischer AgentKit 需要对齐这一标准。 + +## 2. 目标用户 + +**主要用户:** 使用 Fischer AgentKit 执行自动化任务的开发者和运维工程师。他们提交任务后需要实时观察 Agent 执行过程,并在必要时干预。 + +**核心场景:** 用户提交一个多步任务(如"部署新版本到测试环境"),Agent 自主执行,用户在四象限界面中实时观察对话推理、代码修改、终端执行和结果预览,随时可以点击干预。 + +## 3. 设计方向 + +### 3.1 布局范式:Agent-First 全屏 + +采用类似 Devin 的四象限布局,Agent 执行过程全屏实时展示: + +``` +┌──────────────────────────────────────────────────────┐ +│ 顶部导航栏 (48px) — Logo / 任务选择 / 状态 / 设置 │ +├──────────────────────┬───────────────────────────────┤ +│ │ │ +│ 对话面板 │ 代码/预览面板 │ +│ (Chat + Agent │ (代码 Diff / 文件树 / │ +│ 推理过程) │ 工作流画布 / 知识库) │ +│ │ │ +│ │ │ +├──────────────────────┼───────────────────────────────┤ +│ │ │ +│ 终端面板 │ 状态/监控面板 │ +│ (实时终端输出 │ (执行进度 / 节点状态 / │ +│ + 命令确认) │ 指标图表 / 日志) │ +│ │ │ +└──────────────────────┴───────────────────────────────┘ +``` + +**四象限可独立缩放和折叠**,象限之间的分隔线可拖拽调整比例。 + +### 3.2 视觉风格:浅色极简 + +- **主背景:** 白色 / 极浅灰(`#fafafa`) +- **强调色:** 紫黑渐变(类似 v0.dev 的 Vercel 品牌色) +- **代码/终端区域:** 深色背景(One Dark Pro 配色),与浅色主界面形成对比 +- **设计语言:** 大量留白、细线条、柔和阴影、圆角 8px +- **字体:** 系统字体栈(UI)+ 等宽字体栈(代码/终端) + +### 3.3 交互模式 + +- **任务提交:** 顶部输入栏或对话面板底部输入 +- **实时观察:** 四象限同步更新,WebSocket 推送 +- **干预机制:** 每个象限内的操作可暂停/审批/接管 +- **模式切换:** 对话模式(Chat-First)↔ 代理模式(Agent-First)一键切换 + +## 4. 功能需求 + +### R1: Design Token 体系 + +建立统一的设计令牌系统,替代当前硬编码散落的样式值。 + +**完成标准:** +- 创建 `src/styles/tokens.css`,定义所有 Design Token(颜色、间距、圆角、字体、阴影) +- Ant Design Vue 主题通过 ConfigProvider 注入 Token 值 +- 所有组件引用 Token 变量,不再硬编码颜色/间距值 +- 主色统一为一种(消除 `#1677ff`/`#1890ff` 混用) + +### R2: Agent-First 全屏布局 + +将 SideNav 多页面布局重构为四象限全屏布局。 + +**完成标准:** +- 顶部导航栏(48px):Logo、任务选择器、Agent 状态指示、模式切换、设置入口 +- 四象限可拖拽调整比例,每个象限可折叠 +- 象限内容根据当前任务动态切换(对话/代码/终端/状态) +- 保留 Vue Router,但页面切换变为象限内容切换而非整页跳转 +- 侧边导航改为顶部极简导航 + 下拉菜单 + +### R3: 对话面板重构 + +将 ChatView 重构为对话面板,作为四象限的左上象限。 + +**完成标准:** +- 支持 Markdown 渲染(替代当前 `v-html`) +- 流式输出 + 打字机效果 +- 工具调用指示器(类似 Claude Code 的 `[Read]`/`[Edit]`/`[Bash]` 彩色标签) +- 上下文胶囊(Context Pills):显示当前关联的文件、技能 +- 对话历史侧栏可折叠 + +### R4: 代码/预览面板 + +新增代码 Diff 查看和文件预览能力,作为右上象限。 + +**完成标准:** +- 代码 Diff 查看器:逐行 diff 高亮,支持 Accept/Reject +- 文件树浏览器:展示 Agent 修改的文件列表 +- 工作流画布:当前 FlowCanvas 集成为此象限的一个 Tab +- 知识库管理:当前 KnowledgeBaseView 集成为此象限的一个 Tab +- Tab 切换:代码 / 工作流 / 知识库 + +### R5: 终端面板重构 + +将 TerminalView 重构为终端面板,作为左下象限。 + +**完成标准:** +- 暗色背景终端(One Dark Pro 配色) +- 命令确认弹窗使用 Ant Design Modal(替代当前原生 HTML) +- 命令历史可折叠侧栏 +- ANSI 颜色完整支持 + +### R6: 状态/监控面板 + +将 EvolutionView 精简后集成为右下象限。 + +**完成标准:** +- 进化面板从 6 个精简为 2-3 个核心面板:概览+指标、经验+坑点、用量 +- 执行进度条:顶部显示当前任务完成度估算 +- 节点状态动画:运行中节点脉冲动画 +- 技能卡片网格:当前 SkillsView 集成为此象限的一个 Tab +- 设置页:当前 SettingsView 集成为此象限的一个 Tab(分组化) +- Tab 切换:监控 / 技能 / 设置 + +### R7: 工作流单页化 + +将工作流列表和编辑合并为单页 Tab 切换。 + +**完成标准:** +- 列表和编辑在同一象限内通过 Tab 切换,无需整页跳转 +- 编辑模式:NodePalette + FlowCanvas + PropertyPanel 保留 +- 执行历史面板可折叠 + +### R8: 设置分组化 + +将设置页从平铺长表单拆分为 Tab 分组。 + +**完成标准:** +- 4 个分组 Tab:LLM 配置、技能管理、知识库设置、系统设置 +- 每组最大宽度 600px,居中布局 +- 保存按钮每组独立 + +### R9: 过渡动画与微交互 + +为所有交互添加过渡动画。 + +**完成标准:** +- 象限折叠/展开:平滑过渡(200ms ease) +- Tab 切换:淡入淡出(150ms) +- 列表项加载:交错渐入(stagger 50ms) +- 空状态:品牌化插图 + 引导文案 +- 加载态:骨架屏替代 `` + +### R10: 响应式断点 + +支持 1280px+ 桌面端断点。 + +**完成标准:** +- ≥1440px:四象限完整展示 +- 1280-1440px:右下象限自动折叠为 Tab 栏 +- <1280px:显示提示"请使用更大屏幕" +- 象限比例记忆:localStorage 保存用户调整的比例 + +## 5. 范围边界 + +### 在范围内 +- Design Token 体系建立 +- 四象限全屏布局重构 +- 所有现有功能的迁移(对话、工作流、知识库、技能、终端、进化、设置) +- 浅色极简视觉风格实现 +- 过渡动画和微交互 +- 1280px+ 响应式断点 + +### 延迟到后续迭代 +- 暗色模式(需 Design Token 暗色变体) +- 移动端适配 +- Computer Use 功能实现(保留路由,显示"即将推出") +- Cmd+K 内联编辑(类似 Cursor) +- @-mention 上下文引用 +- 代码 Diff 的 Accept/Reject 实际回滚功能 + +### 不在本产品身份内 +- 多用户协作/实时协同编辑 +- 插件市场 +- 代码编辑器(只读预览,不提供编辑能力) + +## 6. 成功标准 + +1. **视觉一致性** — 零硬编码颜色值,所有样式通过 Design Token 引用 +2. **信息密度** — 四象限同时展示 Agent 全部活动,无需切换页面 +3. **交互流畅度** — 所有过渡动画 ≤200ms,无卡顿 +4. **响应式** — 1280px+ 屏幕正常使用,象限比例可调 +5. **渐进式交付** — 分 2-3 个迭代完成,每个迭代可独立部署 + +## 7. 依赖与假设 + +- **假设** Vue Flow 和 ECharts 可在象限内正常渲染(需验证尺寸变化时的 resize) +- **假设** Ant Design Vue 4.x 的 ConfigProvider 主题注入满足 Design Token 需求 +- **依赖** 后端 WebSocket 推送已就绪(上一轮已实现) +- **依赖** 后端 API 路径不变,前端仅重构 UI 层 + +## 8. 竞品参考 + +| 参考工具 | 借鉴要素 | +|----------|----------| +| Devin | 四象限布局、Action Timeline、Intervention Button | +| v0.dev | 浅色极简风格、紫黑渐变强调色、Preview-First | +| Cursor | Cmd+K 交互理念(后续迭代)、Chat Panel 设计 | +| Claude Code | Tool Use Indicators、Permission Prompts | +| Trae Solo | Chat-First 全屏布局、Agent Mode Toggle | diff --git a/docs/plans/2026-06-07-015-feat-agentkit-phase8-chat-adaptive-plan.md b/docs/plans/2026-06-07-015-feat-agentkit-phase8-chat-adaptive-plan.md new file mode 100644 index 0000000..e90259c --- /dev/null +++ b/docs/plans/2026-06-07-015-feat-agentkit-phase8-chat-adaptive-plan.md @@ -0,0 +1,550 @@ +--- +title: "feat: AgentKit Phase 8 — 对话式 Agent 与自适应编排" +status: completed +created: 2026-06-07 +plan_type: feat +depth: deep +origin: Phase 1-7 完成后架构能力评估 — 对话模式(20%)、多Agent协作(70%)、自适应规划(10%)三大差距 +branch: feat/agentkit-phase8-chat-adaptive +--- + +# AgentKit Phase 8 — 对话式 Agent 与自适应编排 + +## Summary + +Phase 8 将 AgentKit 从"任务执行框架"演进为"对话式 Agent 平台",补齐三大核心差距:Chat 模式(多轮对话 + Human-in-the-Loop)、自适应编排(反思-重规划闭环)、高级多 Agent 协作(Agent 间直接通信 + 动态角色协商)。分三个阶段交付:先建立对话基础设施(U1-U3),再实现自适应编排(U4-U5),最后补齐多 Agent 协作(U6-U8)。 + +## Problem Frame + +Phase 1-7 构建了完整的 Agent 执行框架:ReAct 引擎、三层记忆、Pipeline 编排、MCP 协议、上下文压缩、自进化系统。但当前架构是 **"计划-执行"** 模式,存在三大差距: + +1. **对话能力缺失(20%)**:无会话管理、无多轮对话、无 Human-in-the-Loop。`conversation_id` 字段存在但从未使用。每次任务提交是独立的,ReAct 引擎不保留对话历史。 +2. **自适应规划缺失(10%)**:Pipeline 定义是静态的,执行失败后无"分析原因→修改计划→重新执行"闭环。Orchestrator 分解一次执行一次,无迭代优化。 +3. **多 Agent 高级协作不足(70%)**:Worker 之间只能通过 SharedWorkspace 间接传递数据,无直接通信。角色固定,无运行时协商。无 Supervisor 监控。 + +## Requirements + +- R1: 支持多轮对话:用户可在同一会话中持续与 Agent 交互,对话历史自动持久化 +- R2: 支持 Human-in-the-Loop:Agent 可主动向用户提问并等待回复,用户可在执行中追问/打断 +- R3: 支持流式 LLM 输出:ReAct 引擎的 LLM 调用支持 token-by-token streaming +- R4: 支持自适应编排:Pipeline 执行失败后可触发反思→重规划→重新执行闭环 +- R5: 支持 Agent 间直接通信:Worker Agent 之间可发送消息,无需通过 SharedWorkspace 间接传递 +- R6: 支持动态角色协商:Agent 可在运行时协商分工,而非固定角色分配 +- R7: 所有新功能向后兼容,现有 Task 模式不受影响 +- R8: Chat 模式和 Task 模式可共存,同一 Agent 实例可同时服务两种模式 + +--- + +## Key Technical Decisions + +### KTD-1: 会话模型设计 — Session + Message 双层模型 + +**决策**:采用 `Session`(会话)+ `Message`(消息)双层模型,Session 持有对话元数据和 Agent 绑定,Message 持有单条消息内容和角色。 + +**理由**: +- Session 管理生命周期(创建/活跃/暂停/关闭),支持超时自动归档 +- Message 按 role 分类(user/assistant/tool/system),与 ReAct 引擎的 messages 列表自然映射 +- Session 可关联多个 Agent(Orchestrator 模式下),Message 可标注来源 Agent + +**替代方案**: +- 单层 Conversation 模型:简单但无法表达多 Agent 参与、会话状态管理 +- 纯 Redis 存储:高性能但无持久化保证,重启丢失 + +### KTD-2: Human-in-the-Loop 实现 — AskHumanTool + WebSocket 双向通信 + +**决策**:注册 `AskHumanTool` 作为 ReAct 可调用工具,Agent 调用时通过 WebSocket 向客户端推送问题并等待回复。 + +**理由**: +- 工具化实现与现有 ReAct 循环无缝集成,无需修改引擎核心 +- WebSocket 已有基础设施,只需扩展为双向通信 +- 非对话模式下 AskHumanTool 不注册,零侵入 + +**替代方案**: +- 特殊消息类型:需要修改 ReAct 引擎核心循环,侵入性高 +- HTTP 轮询:延迟高,用户体验差 + +### KTD-3: 流式 LLM 输出 — LLMGateway.chat_stream() + ReActEvent 扩展 + +**决策**:在 LLMGateway 新增 `chat_stream()` 方法返回 `AsyncIterator[str]`,ReAct 引擎在 `execute_stream()` 中消费并包装为 `token` 类型 ReActEvent。 + +**理由**: +- 流式输出是 Chat 模式的基本要求,用户需要实时看到 Agent 的"思考过程" +- 在 LLM Gateway 层实现流式,所有 Provider 统一接口 +- ReActEvent 已有 streaming 机制,只需新增 `token` 事件类型 + +### KTD-4: 自适应编排 — Reflect-then-Replan 模式 + +**决策**:在 PipelineEngine 执行失败时,触发 LLM 反思分析失败原因,生成修正后的 Pipeline 重新执行,最多重试 N 次。 + +**理由**: +- 与现有 PipelineEngine 的重试机制互补:重试处理瞬态错误,反思处理结构性错误 +- LLM 反思可利用执行上下文(哪步失败、错误信息、已完成步骤的输出)做出更智能的调整 +- 可配置开关,默认关闭,不影响现有 Pipeline 行为 + +### KTD-5: Agent 间通信 — MessageBus 抽象层 + +**决策**:新增 `MessageBus` 抽象层,基于 Redis Streams 实现,支持 Agent 间点对点和广播通信。 + +**理由**: +- Redis Streams 比 Pub/Sub 可靠(消息持久化 + 消费者组),比 Queue 灵活(多消费者) +- 抽象层解耦底层实现,未来可替换为 Kafka/NATS +- 与现有 SharedWorkspace 互补:Workspace 用于共享状态,MessageBus 用于事件通知 + +--- + +## High-Level Technical Design + +```mermaid +flowchart TB + subgraph Chat["Chat 模式(新增)"] + Client[客户端] <-->|WebSocket 双向| WS[WS Handler] + WS -->|发送消息| SM[SessionManager] + SM -->|加载会话| SP[Session + Messages] + SM -->|调用 Agent| Agent[ReAct Engine] + Agent -->|AskHumanTool| WS + Agent -->|token streaming| WS + end + + subgraph Task["Task 模式(现有)"] + API[REST API] -->|提交任务| Dispatcher[TaskDispatcher] + Dispatcher -->|分发| Agent + end + + subgraph Adaptive["自适应编排(新增)"] + PE[PipelineEngine] -->|执行失败| Reflector[LLM Reflector] + Reflector -->|分析原因| Replanner[Replanner] + Replanner -->|生成新计划| PE + end + + subgraph MultiAgent["多 Agent 协作(增强)"] + Orch[Orchestrator] -->|分配任务| W1[Worker 1] + Orch -->|分配任务| W2[Worker 2] + W1 <-->|MessageBus| W2 + Orch -->|动态协商| Negotiator[Role Negotiator] + end + + Agent --> PE + Agent --> Orch + + style Chat fill:#c8e6c9,color:#1a5e20 + style Adaptive fill:#bbdefb,color:#0d47a1 + style MultiAgent fill:#fff3e0,color:#e65100 +``` + +--- + +## Scope Boundaries + +### In Scope +- Session/Message 模型与持久化 +- Chat API(REST + WebSocket 双向通信) +- AskHumanTool 实现 +- LLMGateway.chat_stream() 流式输出 +- ReAct 引擎 token streaming +- PipelineEngine 反思-重规划闭环 +- MessageBus 抽象层与 Redis Streams 实现 +- Agent 间点对点通信 + +### Deferred to Follow-Up Work +- 多租户隔离与用户认证(OAuth/JWT) +- Agent 沙箱与工具权限控制 +- 声明式 Pipeline YAML 定义 +- Pipeline 运行时监控/可视化 +- 跨 Agent 记忆共享 +- 记忆主动遗忘/压缩策略 +- 性能基准测试与混沌测试 +- 动态角色协商(Phase 8 仅实现基础通信,协商逻辑留待 Phase 9) + +--- + +## Implementation Units + +### U1. Session/Message 模型与持久化 + +**Goal:** 建立对话基础设施 — Session 生命周期管理 + Message 持久化存储 + +**Requirements:** R1, R7 + +**Dependencies:** 无 + +**Files:** +- `src/agentkit/session/__init__.py` (新建) +- `src/agentkit/session/models.py` (新建) — Session + Message 数据模型 +- `src/agentkit/session/manager.py` (新建) — SessionManager 会话管理器 +- `src/agentkit/session/store.py` (新建) — 会话存储(InMemory + Redis 双后端) +- `tests/unit/test_session_models.py` (新建) +- `tests/unit/test_session_manager.py` (新建) +- `tests/unit/test_session_store.py` (新建) + +**Approach:** +- `Session` 模型:`session_id`, `agent_name`, `status` (active/paused/closed), `metadata`, `created_at`, `updated_at`, `ttl` +- `Message` 模型:`message_id`, `session_id`, `role` (user/assistant/tool/system), `content`, `tool_call_id` (可选), `agent_name` (可选,多 Agent 场景), `created_at` +- `SessionManager`:创建/获取/暂停/关闭会话,追加消息,加载对话历史,超时归档 +- `SessionStore`:InMemory(测试用)+ Redis(生产用)双后端,接口统一 +- Session 与 Agent 绑定:创建时指定 `agent_name`,后续消息自动路由到该 Agent +- 对话历史加载:`get_messages(session_id)` 返回完整消息列表,可直接传入 ReAct 引擎 + +**Patterns to follow:** `TaskStore` 的 InMemory + Redis 双后端模式(`src/agentkit/server/task_store.py`) + +**Test scenarios:** +- 创建 Session 返回有效 session_id,状态为 active +- 追加 Message 后通过 get_messages 获取完整历史 +- Session 状态转换:active → paused → active → closed +- 关闭的 Session 不接受新 Message +- InMemory 和 Redis Store 行为一致 +- Session TTL 过期后自动归档为 closed +- 获取不存在的 Session 返回 None +- 大量消息的会话加载性能(1000+ messages) + +**Verification:** Session 模型可创建、持久化、加载,Message 可追加和查询,状态转换正确 + +--- + +### U2. Chat API 与 WebSocket 双向通信 + +**Goal:** 暴露 Chat 模式的 REST + WebSocket API,支持多轮对话和实时交互 + +**Requirements:** R1, R2, R7, R8 + +**Dependencies:** U1 + +**Files:** +- `src/agentkit/server/routes/chat.py` (新建) — Chat REST + WebSocket 路由 +- `src/agentkit/server/app.py` (修改) — 注册 Chat 路由,注入 SessionManager +- `src/agentkit/server/config.py` (修改) — 新增 session 配置 +- `tests/unit/test_chat_routes.py` (新建) +- `tests/integration/test_chat_e2e.py` (新建) + +**Approach:** +- REST 端点: + - `POST /api/v1/chat/sessions` — 创建会话 + - `GET /api/v1/chat/sessions/{id}` — 获取会话信息 + - `POST /api/v1/chat/sessions/{id}/messages` — 发送消息(同步模式,等待 Agent 完整回复) + - `GET /api/v1/chat/sessions/{id}/messages` — 获取对话历史 + - `DELETE /api/v1/chat/sessions/{id}` — 关闭会话 +- WebSocket 端点:`/ws/chat/{session_id}` — 双向通信 + - 客户端 → 服务端:`{"type": "message", "content": "..."}`, `{"type": "cancel"}` + - 服务端 → 客户端:`{"type": "token", "content": "..."}`, `{"type": "tool_call", ...}`, `{"type": "ask_human", "question": "..."}`, `{"type": "final_answer", ...}` +- Chat 路由与现有 Task 路由共存,同一 Agent 实例可同时服务两种模式 +- WebSocket handler 接收用户消息后,加载 Session 历史 + 新消息,调用 Agent.execute_stream() + +**Patterns to follow:** 现有 `routes/tasks.py` 的 stream 端点 + `routes/ws.py` 的 WebSocket handler + +**Test scenarios:** +- POST /chat/sessions 创建会话返回 session_id +- POST /chat/sessions/{id}/messages 发送消息获得 Agent 回复 +- GET /chat/sessions/{id}/messages 返回完整对话历史 +- WebSocket 连接后发送消息收到 token 流式事件 +- WebSocket 发送 cancel 消息取消 Agent 执行 +- 关闭的 Session 发送消息返回 400 错误 +- 不存在的 Session 返回 404 +- 同一 Agent 同时服务 Chat 和 Task 模式 + +**Verification:** Chat API 端到端可用,WebSocket 双向通信正常,多轮对话历史持久化 + +--- + +### U3. AskHumanTool + 流式 LLM 输出 + +**Goal:** 实现 Human-in-the-Loop 和 token-by-token 流式输出 + +**Requirements:** R2, R3, R7 + +**Dependencies:** U1, U2 + +**Files:** +- `src/agentkit/tools/ask_human.py` (新建) — AskHumanTool +- `src/agentkit/tools/__init__.py` (修改) — 导出 AskHumanTool +- `src/agentkit/llm/gateway.py` (修改) — 新增 chat_stream() 方法 +- `src/agentkit/llm/protocol.py` (修改) — 新增 LLMStreamResponse +- `src/agentkit/core/react.py` (修改) — execute_stream() 支持 token 事件 +- `src/agentkit/core/config_driven.py` (修改) — Chat 模式下注册 AskHumanTool +- `tests/unit/test_ask_human_tool.py` (新建) +- `tests/unit/test_llm_streaming.py` (新建) +- `tests/unit/test_react_token_streaming.py` (新建) + +**Approach:** +- `AskHumanTool`: + - 参数:`question: str`, `options: list[str] | None` + - 执行时通过 `context` 获取 WebSocket 连接,向客户端推送问题 + - 使用 `asyncio.Future` 等待用户回复,设置超时(默认 60s) + - 超时返回默认回复或取消当前 ReAct 循环 + - 仅在 Chat 模式下注册(通过 ConfigDrivenAgent 的 mode 参数判断) +- `LLMGateway.chat_stream()`: + - 新增方法,签名与 `chat()` 一致,返回 `AsyncIterator[LLMStreamChunk]` + - `LLMStreamChunk`:`content: str`, `finish_reason: str | None`, `usage: dict | None` + - 各 Provider 实现 `_stream_chat()` 方法,调用底层 SDK 的 stream API + - 优先实现 OpenAI 和 Anthropic 的流式(覆盖 80% 用例) +- ReAct token streaming: + - `execute_stream()` 中调用 `llm_gateway.chat_stream()` 替代 `chat()` + - 新增 `ReActEvent` 类型:`type="token", content=str` + - token 事件直接透传到 WebSocket 客户端 + +**Patterns to follow:** `HeadroomRetrieveTool` 的条件注册模式;现有 Provider 的 `chat()` 实现模式 + +**Test scenarios:** +- AskHumanTool 执行后向客户端推送问题 +- AskHumanTool 收到用户回复后返回结果 +- AskHumanTool 超时后返回默认回复 +- 非 Chat 模式下 AskHumanTool 不注册 +- LLMGateway.chat_stream() 返回 AsyncIterator +- 流式输出的内容拼接后与完整输出一致 +- ReAct execute_stream() 产出 token 类型事件 +- 流式输出中断(取消)时正确清理资源 + +**Verification:** Agent 可在执行中向用户提问并等待回复,LLM 输出以 token 粒度流式推送 + +--- + +### U4. PipelineEngine 反思-重规划闭环 + +**Goal:** Pipeline 执行失败后自动反思分析原因,生成修正计划重新执行 + +**Requirements:** R4, R7 + +**Dependencies:** 无(独立于 U1-U3) + +**Files:** +- `src/agentkit/orchestrator/reflection.py` (新建) — PipelineReflector + PipelineReplanner +- `src/agentkit/orchestrator/pipeline_engine.py` (修改) — 集成反思-重规划 +- `src/agentkit/orchestrator/pipeline_schema.py` (修改) — 新增 AdaptiveConfig +- `tests/unit/test_pipeline_reflection.py` (新建) +- `tests/integration/test_adaptive_pipeline.py` (新建) + +**Approach:** +- `PipelineReflector`: + - 输入:失败的 Pipeline + 执行上下文(哪步失败、错误信息、已完成步骤输出) + - 调用 LLM 分析失败原因,输出结构化反思报告(failure_type, root_cause, suggested_fix) + - failure_type 分类:`input_error`(输入问题)、`resource_error`(资源不可用)、`logic_error`(步骤逻辑错误)、`timeout`(超时) +- `PipelineReplanner`: + - 输入:原始 Pipeline + 反思报告 + - 调用 LLM 生成修正后的 Pipeline(调整步骤顺序、替换失败步骤、增加前置检查) + - 保留已完成步骤的结果,仅重新执行失败及后续步骤 +- `AdaptiveConfig`: + - `enabled: bool = False` — 默认关闭 + - `max_reflections: int = 3` — 最大反思次数 + - `reflection_model: str = "default"` — 反思使用的 LLM 模型 + - `skip_stages: list[str] = []` — 不参与反思的步骤 +- PipelineEngine 集成: + - 执行失败时检查 AdaptiveConfig.enabled + - 启用则触发反思→重规划→重新执行循环 + - 每次反思记录到 PipelineResult.metadata + +**Patterns to follow:** `StepRetryPolicy` 的配置模式;`SagaOrchestrator` 的补偿追踪模式 + +**Test scenarios:** +- Pipeline 执行失败且 adaptive 未启用时,行为与现有一致 +- Pipeline 执行失败且 adaptive 启用时,触发反思 +- 反思报告包含 failure_type 和 root_cause +- 重规划生成的新 Pipeline 保留已完成步骤结果 +- 达到 max_reflections 后停止重试 +- 反思-重规划成功后 Pipeline 最终完成 +- 连续反思仍失败时返回最终失败结果 +- 集成测试:模拟资源错误→反思→调整→成功 + +**Verification:** Pipeline 执行失败后可自动反思并重规划,最终完成或达到最大重试次数 + +--- + +### U5. Orchestrator 自适应任务分解 + +**Goal:** Orchestrator 支持迭代式任务分解 — 执行→评估→再分解 + +**Requirements:** R4, R7 + +**Dependencies:** U4 + +**Files:** +- `src/agentkit/core/orchestrator.py` (修改) — 新增 execute_adaptive() 方法 +- `tests/unit/test_orchestrator_adaptive.py` (新建) +- `tests/integration/test_orchestrator_adaptive.py` (新建) + +**Approach:** +- `execute_adaptive()` 方法: + - 第一轮:与现有 execute() 一致,分解任务并执行 + - 评估:LLM 评估子任务结果质量(0-1 评分 + 改进建议) + - 如果评估不通过且未达 max_iterations: + - 基于评估反馈重新分解未达标的子任务 + - 保留已完成的子任务结果 + - 执行新分解的子任务 + - 如果评估通过或达到 max_iterations:汇总结果返回 +- 新增 `OrchestratorConfig`: + - `adaptive: bool = False` + - `max_iterations: int = 3` + - `quality_threshold: float = 0.7` + +**Patterns to follow:** `DynamicPipeline.execute_loop()` 的迭代模式 + +**Test scenarios:** +- adaptive=False 时行为与现有 execute() 一致 +- 第一轮评估通过时直接返回结果 +- 第一轮评估不通过时触发再分解 +- 再分解保留已完成子任务结果 +- 达到 max_iterations 时返回当前最佳结果 +- 评估反馈正确传递给 LLM 用于再分解 +- 集成测试:复杂任务经两轮分解后完成 + +**Verification:** Orchestrator 可根据执行结果迭代优化任务分解 + +--- + +### U6. MessageBus 抽象层与 Redis Streams 实现 + +**Goal:** 新增 Agent 间通信基础设施 — MessageBus 抽象 + Redis Streams 实现 + +**Requirements:** R5, R7 + +**Dependencies:** 无(独立于 U1-U5) + +**Files:** +- `src/agentkit/bus/__init__.py` (新建) +- `src/agentkit/bus/protocol.py` (新建) — MessageBus Protocol 定义 +- `src/agentkit/bus/message.py` (新建) — AgentMessage 消息模型 +- `src/agentkit/bus/redis_bus.py` (新建) — Redis Streams 实现 +- `src/agentkit/bus/memory_bus.py` (新建) — InMemory 实现(测试用) +- `tests/unit/test_bus_protocol.py` (新建) +- `tests/unit/test_redis_bus.py` (新建) +- `tests/unit/test_memory_bus.py` (新建) + +**Approach:** +- `AgentMessage` 模型: + - `message_id: str` — UUID + - `sender: str` — 发送者 Agent 名称 + - `recipient: str | None` — 接收者(None 为广播) + - `topic: str` — 消息主题(如 "task.result", "agent.status") + - `payload: dict[str, Any]` — 消息内容 + - `timestamp: datetime` — 发送时间 + - `correlation_id: str | None` — 关联 ID(请求-响应模式) +- `MessageBus` Protocol: + - `publish(message: AgentMessage) -> None` — 发布消息 + - `subscribe(agent_name: str, handler: Callable) -> None` — 订阅消息 + - `unsubscribe(agent_name: str) -> None` — 取消订阅 + - `request(message: AgentMessage, timeout: float) -> AgentMessage` — 请求-响应模式 + - `broadcast(message: AgentMessage) -> None` — 广播消息 +- `RedisMessageBus`: + - 使用 Redis Streams(XADD/XREADGROUP)实现 + - 每个 Agent 一个 Consumer Group,支持多消费者 + - 消息确认机制(XACK),防止消息丢失 + - 死信队列:超过重试次数的消息转入死信 +- `InMemoryMessageBus`: + - asyncio.Queue 实现,测试用 + - 行为与 Redis 实现一致 + +**Patterns to follow:** `SharedWorkspace` 的 Redis + InMemory 双模式;`TaskDispatcher` 的 Redis Queue 模式 + +**Test scenarios:** +- 点对点消息:Agent A 发送消息给 Agent B,B 收到 +- 广播消息:Agent A 广播,所有订阅者收到 +- 请求-响应:Agent A 发送请求,Agent B 回复,A 收到响应 +- 请求超时:Agent A 发送请求,无响应,超时后抛出异常 +- 取消订阅后不再收到消息 +- InMemory 和 Redis 实现行为一致 +- 消息确认:消费者处理完消息后 XACK +- 死信队列:消息重试 3 次后转入死信 + +**Verification:** Agent 间可通过 MessageBus 点对点和广播通信,请求-响应模式正常工作 + +--- + +### U7. Orchestrator 集成 MessageBus + +**Goal:** Orchestrator 通过 MessageBus 协调 Worker,支持 Worker 间直接通信 + +**Requirements:** R5, R7 + +**Dependencies:** U6 + +**Files:** +- `src/agentkit/core/orchestrator.py` (修改) — 注入 MessageBus,Worker 间通信 +- `src/agentkit/core/agent_pool.py` (修改) — Agent 注册到 MessageBus +- `src/agentkit/server/app.py` (修改) — 初始化 MessageBus +- `tests/unit/test_orchestrator_bus.py` (新建) +- `tests/integration/test_multi_agent_communication.py` (新建) + +**Approach:** +- Orchestrator 注入 MessageBus: + - 创建 Orchestrator 时传入可选的 MessageBus + - Worker 执行子任务时,通过 MessageBus 发布进度和中间结果 + - Worker 之间可直接通信(如 Agent A 请求 Agent B 的中间结果) +- AgentPool 集成: + - Agent 创建时自动注册到 MessageBus(订阅自己的消息) + - Agent 销毁时取消订阅 + - Agent 的 `handle_message()` 方法处理收到的消息 +- 消息路由: + - 点对点:`recipient="agent_name"` + - 广播:`topic="task.progress"` + - Orchestrator 订阅所有 Worker 的进度和结果 + +**Patterns to follow:** `MCPManager` 的生命周期管理模式 + +**Test scenarios:** +- Worker 通过 MessageBus 发布进度,Orchestrator 收到 +- Worker A 直接请求 Worker B 的中间结果 +- Agent 创建时自动注册到 MessageBus +- Agent 销毁时取消订阅 +- 无 MessageBus 时 Orchestrator 行为不变(向后兼容) +- 集成测试:两 Worker 协作完成需要中间结果交换的任务 + +**Verification:** Orchestrator 可通过 MessageBus 协调 Worker,Worker 间可直接通信 + +--- + +### U8. Chat 模式集成测试与文档更新 + +**Goal:** 端到端验证 Chat 模式 + 自适应编排 + 多 Agent 通信的集成 + +**Requirements:** R1-R8 + +**Dependencies:** U1-U7 + +**Files:** +- `tests/integration/test_chat_adaptive_e2e.py` (新建) — Chat + 自适应编排 E2E +- `tests/integration/test_chat_multi_agent_e2e.py` (新建) — Chat + 多 Agent 协作 E2E +- `configs/llm_config.yaml` (修改) — 新增 session/bus/adaptive 配置段 + +**Approach:** +- Chat + 自适应 E2E: + - 创建会话 → 发送复杂任务 → Agent 执行 Pipeline → 失败触发反思 → 重规划 → 成功 → 多轮对话继续 +- Chat + 多 Agent E2E: + - 创建会话 → 发送多 Agent 任务 → Orchestrator 分解 → Worker 通过 MessageBus 协作 → 结果汇总 → 用户追问 +- 配置更新: + - `session` 段:`backend: redis`, `ttl: 3600` + - `bus` 段:`backend: redis_streams` + - `adaptive` 段:`enabled: true`, `max_reflections: 3` + +**Test scenarios:** +- Chat + 自适应:多轮对话中 Pipeline 失败后自动反思重规划 +- Chat + 多 Agent:用户通过 Chat 模式触发多 Agent 协作 +- AskHumanTool:Agent 在执行中向用户提问,用户回复后继续 +- 流式输出:Chat 模式下 token-by-token 推送 +- 配置加载:新配置段正确解析 + +**Verification:** 所有新功能端到端可用,配置正确加载 + +--- + +## Risks & Mitigations + +| 风险 | 影响 | 缓解 | +|------|------|------| +| WebSocket 双向通信复杂度高 | 中 | 先实现 REST 同步模式,WebSocket 作为增强 | +| LLM 流式输出 Provider 适配工作量大 | 中 | 优先适配 OpenAI/Anthropic,其余 Provider 降级为非流式 | +| 反思-重规划 LLM 调用增加成本 | 低 | 默认关闭,可配置;反思使用低成本模型 | +| Redis Streams 运维复杂度 | 低 | InMemory 实现可用于开发/测试,生产用 Redis | +| Session 大量消息加载性能 | 中 | 分页加载 + 摘要压缩(长期消息自动摘要) | + +## Open Questions + +- Q1: Session 消息的分页策略?默认按时间倒序分页,还是按 ReAct 循环分页? +- Q2: AskHumanTool 超时后的默认行为?返回默认回复还是抛出异常让 ReAct 处理? +- Q3: 反思-重规划是否需要人工确认?自动执行还是需要用户审批后才能重规划? + +## System-Wide Impact + +- **API 层**:新增 5 个 REST 端点 + 1 个 WebSocket 端点 +- **ReAct 引擎**:execute_stream() 扩展 token 事件类型,非破坏性变更 +- **LLM Gateway**:新增 chat_stream() 方法,所有 Provider 需实现(可降级为非流式) +- **Orchestrator**:新增 execute_adaptive(),现有 execute() 不变 +- **PipelineEngine**:反思-重规划为可选增强,默认关闭 +- **新模块**:`session/`, `bus/` — 两个新子包 +- **配置**:新增 session/bus/adaptive 配置段 diff --git a/docs/plans/2026-06-08-016-feat-agentkit-layered-memory-plan.md b/docs/plans/2026-06-08-016-feat-agentkit-layered-memory-plan.md new file mode 100644 index 0000000..06c1513 --- /dev/null +++ b/docs/plans/2026-06-08-016-feat-agentkit-layered-memory-plan.md @@ -0,0 +1,308 @@ +--- +title: "feat: AgentKit 分层记忆系统 — SOUL/USER/MEMORY/DAILY 注入" +status: completed +created: 2026-06-08 +plan_type: feat +depth: standard +--- + +## Summary + +为 AgentKit 实现分层记忆注入系统,参考 Hermes/OpenClaw 架构,在每次会话启动时将 SOUL.md(Agent 人格)、USER.md(用户档案)、MEMORY.md(Agent 工作笔记)、DAILY.md(最近日志)注入 system prompt,并提供 MemoryTool 让 Agent 在对话中读写记忆。采用 TDD 方式开发。 + +## Problem Frame + +当前 `agentkit chat` 的 system prompt 是硬编码的一句话,Agent 无法: +1. 拥有持久人格(名字、性格、说话方式) +2. 记住用户信息(称呼、习惯、职业) +3. 跨会话保留工作笔记 +4. 回顾近期决策和对话摘要 + +虽然已有 `memory/` 模块(Working/Episodic/Semantic),但这些是面向 Pipeline 编排的底层记忆,不是面向 Chat 场景的"人格+档案+笔记"注入。 + +## Requirements + +- **R1**: SOUL.md — Agent 人格定义,每次会话必须加载 +- **R2**: USER.md — 用户档案,每次会话必须加载 +- **R3**: MEMORY.md — Agent 工作笔记,每次会话必须加载,Agent 可通过工具修改 +- **R4**: DAILY.md — 最近 2 天日志,每次会话自动加载,Agent 可通过工具追加 +- **R5**: MemoryTool — Agent 可在对话中 add/replace/remove 记忆条目 +- **R6**: 文件存储在 `~/.agentkit/` 目录下,首次运行自动创建默认 SOUL.md +- **R7**: 容量上限 — SOUL ~2000 字符、USER ~1400 字符、MEMORY ~2200 字符、DAILY ~1000 字符/天 +- **R8**: 注入方式 — 会话开始时一次性注入 system prompt,会话内不变(利于 KV 缓存) +- **R9**: 与现有 `agentkit chat` 命令集成 + +## Key Technical Decisions + +### KTD1: 记忆文件格式 — Markdown sections + +每个 .md 文件使用 `## Section` 格式组织内容,方便 Agent 通过 MemoryTool 的 `replace` 操作精确替换某个 section,而非重写整个文件。 + +``` +## 身份 +我是小王,一个专业的 AI 助手。 + +## 性格 +友好、耐心、注重细节 + +## 说话方式 +简洁专业,偶尔使用比喻 +``` + +### KTD2: 注入格式 — 分段注入 system prompt + +将记忆内容作为 system prompt 的结构化段落注入,每段用明确的标记分隔: + +``` + +[SOUL.md content] + + + +[USER.md content] + + + +[MEMORY.md content] + + + +[DAILY.md content] + + +[原始 system prompt 或默认指令] +``` + +### KTD3: MemoryTool 操作模型 — section 级别 CRUD + +- `memory_add(section, content)` — 追加内容到指定 section(不存在则创建) +- `memory_replace(file, section, old_text, new_text)` — 精确替换 section 内的文本 +- `memory_remove(file, section)` — 删除整个 section +- `memory_read(file)` — 读取整个文件内容 + +file 参数: `soul` | `user` | `memory` | `daily` + +### KTD4: 日志自动生成 — 会话结束时摘要 + +会话结束时(用户 /quit 或 Ctrl+C),自动调用 LLM 生成当天日志摘要追加到 DAILY.md。保留最近 2 天日志,更早的自动归档。 + +### KTD5: 存储路径 — `~/.agentkit/memories/` + +``` +~/.agentkit/ +├── SOUL.md # Agent 人格 +├── memories/ +│ ├── USER.md # 用户档案 +│ ├── MEMORY.md # 工作笔记 +│ └── daily/ +│ ├── 2026-06-07.md +│ └── 2026-06-08.md +└── agentkit.yaml # 配置文件(已存在) +``` + +## Implementation Units + +### U1. MemoryFile — 记忆文件读写与容量管理 + +**Goal:** 实现记忆文件的读写、容量限制、section 级别操作 + +**Dependencies:** None + +**Files:** +- `src/agentkit/memory/profile.py` — MemoryFile 类 +- `tests/unit/test_memory_profile.py` — 测试 + +**Approach:** +- `MemoryFile` 类:封装单个 .md 文件的读写、section 解析、容量检查 +- `read()` / `write()` — 读写整个文件 +- `read_section(name)` / `add_section(name, content)` / `replace_section(name, old, new)` / `remove_section(name)` — section 级别操作 +- `trim_to_budget(char_budget)` — 超出容量时从末尾裁剪(保留前面的 section) +- 文件不存在时返回空字符串,不抛异常 + +**Execution note:** TDD — 先写测试再实现 + +**Test scenarios:** +- 读取不存在的文件返回空字符串 +- 写入并读回完整内容 +- 解析 `## Section` 格式,read_section 返回指定 section 内容 +- add_section 追加新 section +- replace_section 精确替换 section 内文本 +- remove_section 删除指定 section +- 超出 char_budget 时 trim_to_budget 裁剪 +- 空文件 read_section 返回空 + +**Verification:** 所有测试通过 + +--- + +### U2. MemoryStore — 多文件记忆管理器 + +**Goal:** 管理 SOUL/USER/MEMORY/DAILY 四类记忆文件,提供统一的加载和注入接口 + +**Dependencies:** U1 + +**Files:** +- `src/agentkit/memory/profile.py` — MemoryStore 类(同文件) +- `tests/unit/test_memory_profile.py` — 追加测试 + +**Approach:** +- `MemoryStore(base_dir)` — 接受 `~/.agentkit` 路径 +- `load_all()` — 加载所有记忆文件,返回 `MemorySnapshot` dataclass +- `build_system_prompt(snapshot, base_prompt)` — 将记忆注入 system prompt +- `get_file(file_key)` — 返回指定 MemoryFile(file_key: soul/user/memory/daily) +- `load_daily_logs(days=2)` — 加载最近 N 天日志 +- `archive_old_dailies(days=2)` — 归档超过 N 天的日志 +- `ensure_defaults()` — 首次运行创建默认 SOUL.md +- `MemorySnapshot` dataclass: soul, user, memory, daily, total_chars + +**Execution note:** TDD + +**Test scenarios:** +- MemoryStore 初始化,目录不存在时自动创建 +- load_all() 返回 MemorySnapshot +- build_system_prompt() 正确注入所有段落 +- build_system_prompt() 无记忆文件时只返回 base_prompt +- ensure_defaults() 创建默认 SOUL.md +- load_daily_logs() 加载最近 2 天日志 +- archive_old_dailies() 归档旧日志 +- 容量超限时 build_system_prompt 仍能工作(trim) + +**Verification:** 所有测试通过 + +--- + +### U3. MemoryTool — Agent 可调用的记忆操作工具 + +**Goal:** 实现 Agent 在对话中读写记忆的工具 + +**Dependencies:** U1, U2 + +**Files:** +- `src/agentkit/tools/memory_tool.py` — MemoryTool 类 +- `tests/unit/test_memory_tool.py` — 测试 + +**Approach:** +- 继承 `Tool` 基类 +- `memory_add(file, section, content)` — 追加内容 +- `memory_replace(file, section, old_text, new_text)` — 替换内容 +- `memory_remove(file, section)` — 删除 section +- `memory_read(file)` — 读取文件 +- file 参数限定为 `soul` | `user` | `memory` | `daily` +- 操作后自动 trim 到容量上限 +- 返回操作结果和当前文件内容摘要 + +**Execution note:** TDD + +**Test scenarios:** +- memory_add 创建新 section +- memory_add 追加到已有 section +- memory_replace 精确替换文本 +- memory_replace old_text 不存在时返回错误 +- memory_remove 删除 section +- memory_read 返回文件内容 +- 无效 file 参数返回错误 +- 操作后内容不超容量上限 + +**Verification:** 所有测试通过 + +--- + +### U4. Chat 集成 — 记忆注入 + MemoryTool + 日志生成 + +**Goal:** 将记忆系统集成到 `agentkit chat` 命令 + +**Dependencies:** U2, U3 + +**Files:** +- `src/agentkit/cli/chat.py` — 修改 +- `tests/unit/test_chat_memory_integration.py` — 测试 + +**Approach:** +- `_chat_async()` 启动时: + 1. 初始化 `MemoryStore(base_dir=~/.agentkit)` + 2. 调用 `ensure_defaults()` 创建默认文件 + 3. `load_all()` 加载记忆 + 4. `build_system_prompt(snapshot, base_prompt)` 构建完整 system prompt + 5. 将 `MemoryTool(memory_store)` 加入 tools 列表 +- 会话结束时: + 1. 调用 LLM 生成当天对话摘要 + 2. 追加到 DAILY.md + 3. 归档旧日志 +- `/clear` 命令不清除记忆文件,只清除会话历史 + +**Execution note:** TDD + +**Test scenarios:** +- chat 启动时自动加载记忆注入 system prompt +- 无记忆文件时使用默认 SOUL.md +- MemoryTool 在对话中可用 +- 会话结束时生成日志摘要 +- /clear 不影响记忆文件 +- 记忆跨 /clear 会话持久化 + +**Verification:** 所有测试通过,手动 `agentkit chat` 验证 + +--- + +### U5. Onboarding 集成 — 首次引导创建 SOUL.md + +**Goal:** 在 onboarding 向导中增加 Agent 人格配置步骤 + +**Dependencies:** U2 + +**Files:** +- `src/agentkit/cli/onboarding.py` — 修改 +- `tests/unit/test_onboarding.py` — 追加测试 + +**Approach:** +- onboarding 最后一步增加可选的 Agent 人格配置: + - Agent 名字(默认 "AgentKit") + - 性格描述(默认 "专业、友好、注重细节") + - 说话方式(默认 "简洁清晰") +- 写入默认 SOUL.md +- 可跳过(使用默认值) + +**Execution note:** TDD + +**Test scenarios:** +- onboarding 生成默认 SOUL.md +- 自定义名字写入 SOUL.md +- 跳过时使用默认值 + +**Verification:** 所有测试通过 + +## Scope Boundaries + +### In Scope +- SOUL/USER/MEMORY/DAILY 四层记忆文件 +- MemoryFile section 级别 CRUD +- MemoryStore 统一加载和注入 +- MemoryTool Agent 可调用工具 +- Chat 命令集成 +- Onboarding 集成 +- 日志自动生成 + +### Out of Scope +- 向量检索记忆(已有 EpisodicMemory) +- Redis/PostgreSQL 后端(已有 WorkingMemory/SemanticMemory) +- 多 Agent 共享记忆(后续) +- 记忆版本控制(后续) +- 记忆加密(后续) + +### Deferred to Follow-Up Work +- 记忆导入/导出命令 +- 记忆搜索(在大量笔记中搜索) +- 与 EpisodicMemory 的整合(将 DAILY 日志同步到 Episodic) + +## Open Questions + +None — 所有设计决策已在 KTD 中明确。 + +## Risks & Mitigations + +| 风险 | 缓解措施 | +|------|---------| +| system prompt 过长占用 token | 容量上限 + trim_to_budget | +| Agent 恶意修改 SOUL.md | SOUL.md 可设为只读(后续),当前信任 Agent | +| 日志文件无限增长 | archive_old_dailies 自动归档,保留最近 2 天 | +| 文件并发写入冲突 | 单进程 chat 场景无并发问题 | diff --git a/docs/plans/2026-06-09-017-feat-agentkit-multi-agent-marketplace-plan.md b/docs/plans/2026-06-09-017-feat-agentkit-multi-agent-marketplace-plan.md new file mode 100644 index 0000000..150b537 --- /dev/null +++ b/docs/plans/2026-06-09-017-feat-agentkit-multi-agent-marketplace-plan.md @@ -0,0 +1,597 @@ +--- +title: "feat: AgentKit Multi-Agent Marketplace 架构演进(修订版)" +status: active +date: 2026-06-09 +depth: deep +origin: docs/brainstorms/2026-06-09-clawith-research-prompt.md +revision: v2 +revision_reason: "基于 2026-06-10 代码增量分析(+36863 行,161 文件),修正原方案中与现有代码重叠/冲突/不适用的部分" +--- + +# AgentKit Multi-Agent Marketplace 架构演进方案(修订版) + +## 修订说明 + +原方案(v1)基于 Phase 1-8 代码编写,但代码库在 2026-06-10 有大量新增(161 files, +36863 lines),包含多个与原方案重叠的实现。本次修订基于最新代码逐项评估,修正不适用的部分。 + +--- + +## 原方案问题评估 + +### 问题 1:U6 Plan-and-Execute 引擎 — 与现有代码大量重叠 + +**现有实现**: +- `core/goal_planner.py`(594 行):GoalPlanner 已实现目标→结构化执行计划的分解,含规则/模板+LLM 双模式 +- `core/plan_executor.py`(518 行):PlanExecutor 已实现按计划逐步执行 +- `core/plan_checker.py`(739 行):PlanChecker 已实现计划检查和复盘 +- `core/plan_schema.py`(148 行):ExecutionPlan/PlanStep/PlanStepStatus/SkillGap 数据模型 +- `orchestrator/reflection.py`(370 行):PipelineReflector + PipelineReplanner 已实现反思-重规划 + +**原方案 U6 的问题**:计划"新增 `core/plan_exec.py`",但 `core/plan_executor.py` 已存在且功能完整。GoalPlanner + PlanExecutor + PipelineReplanner 三者组合已覆盖 Plan-and-Execute 的核心流程。 + +**修正**:U6 不再新建引擎,而是将现有 GoalPlanner/PlanExecutor/PipelineReplanner 封装为 `plan_exec` execution_mode 的执行引擎适配器。 + +### 问题 2:U7 Reflexion 引擎 — 与现有代码部分重叠 + +**现有实现**: +- `orchestrator/reflection.py`:PipelineReflector 已实现 LLM 反思分析 +- `evolution/reflector.py` + `evolution/llm_reflector.py`:LLMReflector 已实现反思 +- `evolution/lifecycle.py`:EvolutionMixin 已实现反思→优化→A/B测试闭环 + +**原方案 U7 的问题**:Reflexion 的核心逻辑(反思+重试)在 EvolutionMixin 和 PipelineReflector 中已有实现,但缺少"执行中自我评估+重试"的循环。 + +**修正**:U7 简化为在 ReActEngine 基础上增加 Evaluate→Reflect→Retry 循环节点,复用 LLMReflector。 + +### 问题 3:U1 Concierge — 与现有 Chat 系统重叠 + +**现有实现**: +- `chat/skill_routing.py`(168 行):SkillRoutingResult + parse_skill_prefix() + route_to_skill() +- `cli/chat.py`(422 行):CLI Chat 界面,含 @skill: 前缀路由 +- `server/routes/chat.py`:REST + WebSocket Chat API +- `session/store.py`:Session/Message 管理 + +**原方案 U1 的问题**:Concierge 的"统一入口+对话上下文+路由"功能在现有 Chat 系统中已部分实现。skill_routing.py 已实现 @skill: 前缀路由,chat.py 已实现对话上下文管理。 + +**修正**:U1 不再新建 Concierge 模块,而是在现有 Chat 系统上扩展 CostAwareRouter 能力。Concierge 的对话管理复用 SessionManager,路由扩展复用 skill_routing.py。 + +### 问题 4:U2 CostAwareRouter — 与现有路由重叠 + +**现有实现**: +- `chat/skill_routing.py`:已实现 Skill 路由(@skill: 前缀 + 关键词匹配) +- `router/intent.py`:IntentRouter 三级路由(关键词+LLM) +- `skills/registry.py`(259 行):SkillRegistry 已实现 Skill 查找和匹配 + +**原方案 U2 的问题**:Layer 0 的 Skill 匹配和 Layer 1 的 LLM 分类在现有路由中已有实现。 + +**修正**:U2 简化为在 skill_routing.py 基础上增加 complexity 评估和拍卖触发逻辑,不新建独立模块。 + +### 问题 5:U10 Soul — 与现有 Memory 系统重叠 + +**现有实现**: +- `tools/memory_tool.py`(117 行):MemoryTool 已实现 SOUL/USER/MEMORY/DAILY 四层记忆操作 +- `memory/profile.py`(294 行):MemoryProfile 已实现记忆配置和注入 + +**原方案 U10 的问题**:Soul 的 CRUD 已通过 MemoryTool 实现,不需要新建 SoulManager。 + +**修正**:U10 简化为扩展 MemoryTool 的 SOUL section 支持动态演变(版本号+反思触发更新),不新建 identity/ 模块。 + +### 问题 6:拍卖机制的适用性存疑 + +**原方案 KTD1**:用拍卖机制替代中央编排器。 + +**问题**: +1. 拍卖机制需要每个 Agent 都能"竞标"——但当前 ConfigDrivenAgent 没有 `bid()` 方法,需要给所有 Agent 增加竞标能力 +2. Economy of Minds 论文的环境是"弱 Agent 群体",而 AgentKit 的 Agent 是"强 Agent + 工具",场景不同 +3. 拍卖机制的"财富积累"概念在单用户场景下意义不大——谁给 Agent 发工资? +4. 拍卖增加了系统复杂度,但实际收益不确定——大多数场景下,基于能力的路由(OrganizationContext.find_best_agent)比拍卖更直接有效 + +**修正**:拍卖机制降级为可选实验特性。默认使用"能力匹配路由"(基于 OrganizationContext),拍卖作为高级模式可启用。 + +### 问题 7:对齐护栏的边界不清 + +**原方案 KTD3**:AlignmentGuard 包含全局约束注入、输出审计、级联失败检测。 + +**问题**: +1. "全局约束"由谁定义?用户?开发者?运维?——需要约束配置机制 +2. "输出审计"用 LLM 检查输出——这本身又是一次 LLM 调用,增加成本和延迟 +3. "级联失败检测"的阈值(10 次交互、3 层循环)是经验值,需要可配置 +4. 对齐护栏与现有 QualityGate 的关系不清——是替代还是补充? + +**修正**:AlignmentGuard 明确为 QualityGate 的扩展,约束来源为 YAML 配置,级联检测阈值可配置,LLM 审计默认关闭(仅高风险场景启用)。 + +--- + +## 修订后的需求 + +| ID | 需求 | 变更说明 | +|----|------|---------| +| R1 | 用户通过现有 Chat 系统对话,路由层自动选择 Agent | 从"新建 Concierge"改为"扩展现有 Chat" | +| R2 | 简单任务走单 Agent 直连,零额外开销 | 不变 | +| R3 | 中等任务走能力匹配路由,可选拍卖模式 | 从"必须拍卖"改为"默认能力匹配,拍卖可选" | +| R4 | 复杂任务支持多 Agent 协作,需成本论证 | 不变 | +| R5 | 多 Agent 协作时注入全局约束 | 不变,约束来源明确为 YAML 配置 | +| R6 | 检测级联失败,自动中断 | 不变,阈值可配置 | +| R7 | 不同 Agent 可配置不同 LLM 模型 | 不变,已有 llm.model 配置支持 | +| R8 | 支持 ReAct/ReWOO/Plan-and-Execute/Reflexion/Direct 五种执行架构 | Plan-and-Execute 改为适配器模式 | +| R9 | Agent 具备持久身份(Soul),跨会话保持个性 | 从"新建 identity 模块"改为"扩展 MemoryTool" | +| R10 | Agent 具备组织感知 | 不变 | +| R11 | Agent 可主动发现新工具 | 降级为 Out of Scope(依赖 Marketplace 先就绪) | +| R12 | 执行透明度可调 | 不变 | + +--- + +## 修订后的 Key Technical Decisions + +### KTD1(修订): 扩展现有 Chat 系统,不新建 Concierge + +**决策**:在现有 `chat/skill_routing.py` + `server/routes/chat.py` 基础上扩展 CostAwareRouter 能力,不新建 Concierge 模块。 + +**理由**: +- `chat/skill_routing.py` 已实现 @skill: 前缀路由和 Skill 匹配 +- `server/routes/chat.py` 已实现 REST + WebSocket Chat API +- `session/store.py` 已实现对话上下文管理 +- 新建 Concierge 会与现有 Chat 系统功能重复,增加维护成本 + +### KTD2(不变): 分层路由 — 80% 场景单 Agent 直连 + +### KTD3(修订): AlignmentGuard 作为 QualityGate 扩展 + +**决策**:AlignmentGuard 不作为独立模块,而是扩展现有 QualityGate,增加约束注入和级联检测能力。 + +**理由**: +- QualityGate 已在 ConfigDrivenAgent.execute() 中集成 +- 独立模块需要额外的集成点,增加复杂度 +- 约束来源明确为 YAML 配置(alignment.constraints 字段) + +### KTD4(修订): Plan-and-Execute 使用适配器模式 + +**决策**:不新建 Plan-and-Execute 引擎,而是创建适配器将现有 GoalPlanner + PlanExecutor + PipelineReplanner 封装为 `plan_exec` execution_mode。 + +**理由**: +- GoalPlanner(594 行)已实现目标分解 +- PlanExecutor(518 行)已实现计划执行 +- PipelineReplanner(370 行)已实现反思-重规划 +- 重新实现是重复建设 + +### KTD5(不变): 分层模型配置 + +### KTD6(修订): Soul 扩展基于现有 MemoryTool + +**决策**:不新建 identity/ 模块,而是扩展现有 MemoryTool 的 SOUL section 支持动态演变。 + +**理由**: +- MemoryTool 已实现 SOUL section CRUD +- MemoryProfile 已实现记忆注入 +- 新建 identity/ 模块与现有 Memory 系统重复 + +### KTD7(新增): 拍卖机制降级为可选实验特性 + +**决策**:默认使用"能力匹配路由"(基于 OrganizationContext),拍卖作为可选高级模式。 + +**理由**: +- Economy of Minds 论文场景(弱 Agent 群体)与 AgentKit 场景(强 Agent + 工具)不同 +- 拍卖的"财富积累"在单用户场景下意义不大 +- 基于能力的路由更直接、更可预测 +- 拍卖增加系统复杂度,收益不确定 + +--- + +## 修订后的 Implementation Units + +### U1. CostAwareRouter — 扩展现有 Chat 路由 + +**Goal**:在现有 `chat/skill_routing.py` 基础上增加 complexity 评估和分层路由能力。 + +**Dependencies**:无 + +**Files**: +- `src/agentkit/chat/skill_routing.py` (modify — 增加 complexity 评估和拍卖触发) +- `src/agentkit/chat/__init__.py` (modify — 导出新增类) +- `tests/unit/test_cost_aware_router.py` (create) + +**Approach**: +- 在 `skill_routing.py` 中新增 `CostAwareRouter` 类 +- Layer 0:复用现有 `parse_skill_prefix()` 和 `route_to_skill()`,新增聊天模式正则匹配 +- Layer 1:新增 `quick_classify()` 方法,LLM 评估 complexity 0-1 +- Layer 2:complexity > 0.7 触发能力匹配路由(默认)或拍卖(可选) +- 透明度控制:在 SkillRoutingResult 中新增 `transparency_level` 和 `execution_trace` 字段 + +**Patterns to follow**:`chat/skill_routing.py` SkillRoutingResult + `router/intent.py` IntentRouter + +**Test scenarios**: +- 问候语 "你好" 命中 Layer 0 规则,零 token 开销 +- "搜索XX" 命中现有 Skill 路由,零 token 开销 +- "分析下这个数据" 走 Layer 1 LLM 分类 +- "做市场调研+竞品分析" complexity > 0.7,走能力匹配路由 +- 透明度从 SILENT 切换到 TRACE + +**Verification**:三层路由正确分流,与现有 Chat 系统兼容 + +--- + +### U2. ReWOO 执行引擎 + +**Goal**:实现 ReWOO 执行引擎,一次性规划所有工具调用后批量执行。 + +**Dependencies**:无 + +**Files**: +- `src/agentkit/core/rewoo.py` (create) +- `tests/unit/test_rewoo_engine.py` (create) + +**Approach**: +- Phase 1 Planning:LLM 生成完整工具调用计划(JSON 格式 steps 列表) +- Phase 2 Execution:按计划顺序执行工具调用(可并行执行无依赖步骤) +- Phase 3 Synthesis:LLM 综合所有工具结果生成最终输出 +- 参考 ReActEngine 的接口设计(execute/execute_stream),保持 API 一致性 +- 复用 LLMGateway、Tool、CancellationToken 等现有组件 + +**Patterns to follow**:`core/react.py` ReActEngine 接口模式 + +**Test scenarios**: +- 单步骤计划:规划 1 个工具调用,执行,综合 +- 多步骤计划:规划 3 个工具调用,顺序执行,综合 +- 工具调用失败时的错误处理 +- 与 ReActEngine 接口兼容(可替换使用) + +**Verification**:ReWOO 引擎能完成规划→执行→综合的完整流程 + +--- + +### U3. Plan-and-Execute 适配器 + +**Goal**:将现有 GoalPlanner + PlanExecutor + PipelineReplanner 封装为 `plan_exec` execution_mode 的执行引擎适配器。 + +**Dependencies**:无 + +**Files**: +- `src/agentkit/core/plan_exec_engine.py` (create) +- `tests/unit/test_plan_exec_engine.py` (create) + +**Approach**: +- PlanExecEngine 作为适配器,内部组合 GoalPlanner + PlanExecutor + PipelineReplanner +- 实现 ReActEngine 兼容的 execute()/execute_stream() 接口 +- Planner 阶段:调用 GoalPlanner.generate_plan() 分解任务 +- Executor 阶段:调用 PlanExecutor.execute_plan() 逐步执行 +- Replanner 阶段:执行偏离时调用 PipelineReplanner.replan() 重规划 +- 每个子步骤可选择不同执行策略(react/direct/rewoo) + +**Patterns to follow**:`core/react.py` ReActEngine 接口 + `core/goal_planner.py` + `core/plan_executor.py` + +**Test scenarios**: +- 3 步骤任务:规划 → 逐步执行 → 汇总 +- 执行偏离时触发重规划(PipelineReplanner) +- 子步骤使用不同执行策略 +- 与 ReActEngine 接口兼容 + +**Verification**:PlanExecEngine 能完成规划→执行→重规划的完整流程,复用现有组件 + +--- + +### U4. Reflexion 执行引擎 + +**Goal**:在 ReActEngine 基础上增加 Evaluate→Reflect→Retry 循环。 + +**Dependencies**:无 + +**Files**: +- `src/agentkit/core/reflexion.py` (create) +- `tests/unit/test_reflexion_engine.py` (create) + +**Approach**: +- 继承/组合 ReActEngine,在 ReAct 循环结束后增加评估步骤 +- Evaluate:LLM 评估当前结果质量(0-1 分),复用 LLMReflector 的评估逻辑 +- Reflect:评估分低于阈值时,LLM 反思失败原因,复用 evolution/reflector.py +- Retry:基于反思结果重新执行 ReAct 循环 +- 最多重试 max_reflections 次(默认 3 次) +- 分层模型:act 用中模型,evaluate/reflect 用大模型 + +**Patterns to follow**:`core/react.py` ReActEngine + `evolution/llm_reflector.py` LLMReflector + +**Test scenarios**: +- 首次执行即达标,不触发重试 +- 评估分低于阈值触发反思+重试 +- 重试后达标,返回最终结果 +- 超过 max_reflections 次重试后返回最后结果 +- 分层模型验证 + +**Verification**:Reflexion 引擎能完成执行→评估→反思→重试的完整循环 + +--- + +### U5. SkillConfig 扩展 + 专业 Agent 定义 + +**Goal**:扩展 SkillConfig 支持新执行模式,定义五种专业 Agent 的 YAML 配置。 + +**Dependencies**:U2, U3, U4 + +**Files**: +- `src/agentkit/skills/base.py` (modify — VALID_EXECUTION_MODES 扩展) +- `src/agentkit/core/config_driven.py` (modify — handle_task 路由扩展) +- `configs/skills/react_agent.yaml` (create) +- `configs/skills/rewoo_agent.yaml` (create) +- `configs/skills/plan_exec_agent.yaml` (create) +- `configs/skills/reflexion_agent.yaml` (create) +- `configs/skills/direct_agent.yaml` (create) +- `tests/unit/test_execution_modes.py` (create) + +**Approach**: +- SkillConfig.VALID_EXECUTION_MODES 新增 "rewoo", "plan_exec", "reflexion" +- ConfigDrivenAgent.handle_task() 新增 _handle_rewoo/_handle_plan_exec/_handle_reflexion 路由 +- 每种专业 Agent 的 YAML 配置指定不同的 llm.model +- 复用现有 SkillLoader 和 SkillRegistry 的加载逻辑 + +**Patterns to follow**:`skills/base.py` SkillConfig + `skills/loader.py` SkillLoader + +**Test scenarios**: +- SkillConfig 验证 "rewoo"/"plan_exec"/"reflexion" 为合法 execution_mode +- ConfigDrivenAgent 根据 execution_mode 路由到正确引擎 +- 五种专业 Agent YAML 配置加载成功 +- 不同 Agent 配置不同 llm.model + +**Verification**:五种执行模式均可通过配置启用,路由正确 + +--- + +### U6. OrganizationContext 组织感知 + +**Goal**:实现组织上下文,Agent 知道可以向谁求助,支持基于能力的 Agent 发现。 + +**Dependencies**:U5 + +**Files**: +- `src/agentkit/org/__init__.py` (create) +- `src/agentkit/org/context.py` (create) +- `src/agentkit/org/discovery.py` (create) +- `tests/unit/test_org_context.py` (create) + +**Approach**: +- AgentProfile:name, agent_type, capabilities, skills, current_load, max_concurrency, availability, specializations +- OrganizationContext:agents dict, capability_matrix(能力→Agent 映射), find_best_agent() 方法 +- AgentDiscovery:基于能力的 Agent 发现,考虑负载均衡 +- 与现有 AgentPool 集成:从 AgentPool 自动构建 OrganizationContext +- 与现有 SkillRegistry 集成:从 SkillConfig.capabilities 构建能力矩阵 +- 注入到 BaseAgent.on_task_start():Agent 启动时自动获得组织上下文 + +**Patterns to follow**:`core/agent_pool.py` AgentPool + `skills/schema.py` CapabilityTag + +**Test scenarios**: +- 根据 required_capabilities 找到匹配的 Agent +- 负载均衡:选择当前负载最低的 Agent +- 无匹配 Agent 时返回 None +- OrganizationContext 从 AgentPool + SkillRegistry 自动构建 + +**Verification**:Agent 能通过 OrganizationContext 发现合适的协作 Agent + +--- + +### U7. AlignmentGuard — QualityGate 扩展 + +**Goal**:扩展现有 QualityGate,增加全局约束注入和级联失败检测能力。 + +**Dependencies**:U6 + +**Files**: +- `src/agentkit/quality/alignment.py` (create) +- `src/agentkit/quality/cascade_detector.py` (create) +- `src/agentkit/skills/base.py` (modify — 新增 AlignmentConfig) +- `tests/unit/test_alignment_guard.py` (create) + +**Approach**: +- AlignmentConfig:constraints(全局约束列表)、cascade_threshold(级联检测阈值)、audit_enabled(LLM 审计开关,默认关闭) +- ConstraintInjector:在任务分发前注入全局约束到每个子任务的 input_data +- CascadeDetector:检测 Agent 间交互次数超限和循环深度超限,触发中断 +- LLM 审计默认关闭,仅高风险场景(标记 alignment.audit_enabled: true)启用 +- 与现有 QualityGate 集成:在 QualityGate.validate() 之后执行对齐检查 + +**Patterns to follow**:`quality/gate.py` QualityGate + `skills/base.py` QualityGateConfig + +**Test scenarios**: +- 全局约束被注入到子任务 +- 级联检测:Agent 间交互超过阈值触发中断 +- LLM 审计关闭时无额外 LLM 调用 +- LLM 审计开启时检查输出是否违反约束 + +**Verification**:对齐护栏能检测约束违反和级联失败,与 QualityGate 兼容 + +--- + +### U8. Soul 动态演变 — 扩展 MemoryTool + +**Goal**:扩展现有 MemoryTool 的 SOUL section 支持动态演变(版本号+反思触发更新)。 + +**Dependencies**:U5 + +**Files**: +- `src/agentkit/tools/memory_tool.py` (modify — SOUL section 增加版本号和更新逻辑) +- `src/agentkit/evolution/lifecycle.py` (modify — 反思结果触发 Soul 更新) +- `tests/unit/test_soul_evolution.py` (create) + +**Approach**: +- SOUL section 新增 `version` 和 `updated_at` 字段 +- MemoryTool 新增 `update_soul()` 方法:基于反思结果更新 Soul +- EvolutionMixin 新增 `evolve_soul()` 钩子:反思完成后检查是否需要更新 Soul +- Soul 更新条件:反思发现新的行为模式/偏好/能力变化 +- Soul 注入:复用现有 MemoryProfile 的 SOUL section 注入逻辑 + +**Patterns to follow**:`tools/memory_tool.py` MemoryTool + `evolution/lifecycle.py` EvolutionMixin + +**Test scenarios**: +- Soul 版本号初始为 1,更新后递增 +- 反思结果触发 Soul 更新(新增 strength/value) +- 无反思结果时不触发更新 +- Soul 信息正确注入到 System Prompt(复用现有逻辑) + +**Verification**:Agent 具备跨会话的持久身份,Soul 可动态演变 + +--- + +### U9. 拍卖机制(可选实验特性) + +**Goal**:实现拍卖机制作为可选的高级路由模式,默认不启用。 + +**Dependencies**:U6 + +**Files**: +- `src/agentkit/marketplace/__init__.py` (create) +- `src/agentkit/marketplace/auction.py` (create) +- `src/agentkit/marketplace/wealth.py` (create) +- `tests/unit/test_auction.py` (create) + +**Approach**: +- Bid 数据结构:agent_name, architecture, estimated_steps, estimated_cost, confidence, payment_offer +- 拍卖裁决:score = (confidence / estimated_cost) * wealth_factor +- 财富追踪:成功完成任务增加财富,长期表现差被标记破产 +- 默认关闭,需在配置中显式启用 `marketplace.auction_enabled: true` +- 启用后,Layer 2 路由使用拍卖而非能力匹配 + +**Patterns to follow**:`core/agent_pool.py` AgentPool + +**Test scenarios**: +- 拍卖关闭时使用能力匹配路由 +- 拍卖启用后,多 Agent 竞标选择最优 +- 财富因子影响竞标结果 +- Agent 破产检查 + +**Verification**:拍卖机制作为可选特性正确工作,不影响默认路由 + +--- + +### U10. 集成测试 + Server 集成 + +**Goal**:将所有新模块集成到现有 Server 中,实现端到端的 Chat → Router → Agent → AlignmentGuard 完整流程。 + +**Dependencies**:U1-U9 + +**Files**: +- `src/agentkit/server/app.py` (modify — 注入 OrganizationContext、AlignmentGuard) +- `src/agentkit/server/config.py` (modify — 新增 marketplace/alignment 配置段) +- `src/agentkit/chat/skill_routing.py` (modify — 集成 CostAwareRouter) +- `tests/integration/test_marketplace_e2e.py` (create) + +**Approach**: +- create_app() 中新增 OrganizationContext、AlignmentGuard 的初始化 +- CostAwareRouter 集成到现有 Chat 路由流程 +- ServerConfig 新增 marketplace 和 alignment 配置段 +- 端到端测试:用户消息 → Chat → Router → Agent → AlignmentGuard → 回复 + +**Patterns to follow**:`server/app.py` create_app() 组装模式 + +**Test scenarios**: +- 简单聊天经路由到 DirectAgent,返回正常 +- 复杂任务经能力匹配路由选择 Agent,执行完成返回 +- 对齐护栏检测到级联风险,触发中断 +- 透明度 TRACE 模式返回执行追踪信息 +- 拍卖模式启用后,复杂任务走拍卖路由 + +**Verification**:端到端流程完整可用,与现有 Chat 系统兼容 + +--- + +## 修订后的 Phased Delivery + +### Phase A — 执行引擎(U2, U3, U4, U5) +三种新引擎 + SkillConfig 扩展,可独立运行,不依赖 Marketplace + +### Phase B — 路由与组织(U1, U6, U7) +CostAwareRouter + OrganizationContext + AlignmentGuard + +### Phase C — 身份与集成(U8, U9, U10) +Soul 演变 + 拍卖(可选)+ Server 集成 + +--- + +## 修订后的 Risks & Dependencies + +| 风险 | 影响 | 缓解措施 | +|------|------|---------| +| PlanExecEngine 适配器与现有组件接口不兼容 | Plan-and-Execute 模式无法工作 | 适配器内部处理接口差异,对外暴露 ReActEngine 兼容接口 | +| Reflexion 引擎 token 成本高 | 自我评估+重试增加 2-3x token | 分层模型 + max_reflections 限制 + 默认关闭 | +| CostAwareRouter Layer 1 分类不准 | 中等任务被错误路由 | 分类结果带置信度,低置信度时回退到默认 Agent | +| AlignmentGuard 级联检测误报 | 正常多步交互被中断 | 阈值可配置,初期宽松 | +| 拍卖机制增加系统复杂度 | 维护成本高 | 默认关闭,作为可选实验特性 | +| 与 P2 Hardening 计划冲突 | 两个计划同时修改 server/app.py | P2 先行,Marketplace 后续,避免同时修改同一文件 | + +--- + +## 已明确事项 + +### 1. 拍卖机制 — 作为核心特性 + +**决策**:拍卖机制是核心差异化能力,应在 Phase B 与能力匹配路由同时实现。 + +**实现要点**: +- 需要解决"奖励信号来源"问题:任务成功 → 正奖励,任务失败 → 负奖励,由 Concierge/Router 在任务完成后发放 +- Agent 需要新增 `bid()` 方法(在 BaseAgent 中定义默认实现,ConfigDrivenAgent 覆盖) +- 拍卖与能力匹配路由并行:能力匹配作为底保,拍卖作为优选 + +### 2. AlignmentGuard 约束检查 — 分层混合 + +**决策**:系统级用规则检查,组织级用 LLM 检查,用户级用 Prompt 注入。 + +| 层级 | 检查方式 | 定义者 | 示例 | +|------|---------|--------|------| +| 系统级 | 规则检查(关键词+正则) | 开发者/运维 | "不生成恶意代码"、"不泄露 API Key" | +| 组织级 | LLM 语义检查 | 管理员 | "不引用竞品数据"、"合规审查需人工" | +| 用户级 | Prompt 注入(不检查) | 用户 | "用中文回复"、"不超过 500 字" | + +**实现要点**: +- 系统级约束硬编码在 `quality/alignment.py` 中,配置可扩展 +- 组织级约束在 `agentkit.yaml` 的 `alignment.constraints` 中配置 +- LLM 审计仅组织级约束触发,系统级约束用规则检查零额外 token + +### 3. Soul 更新频率 — 条件触发 + +**决策**:同类反思出现 ≥ 3 次才触发 Soul 更新,更新后版本号递增,可回滚。 + +**实现要点**: +- EvolutionMixin 维护 `pending_soul_updates: dict[str, list[Reflection]]` 缓冲区 +- 同类反思(相同 category)累积 ≥ 3 次时触发 `update_soul()` +- Soul 更新记录完整变更历史(before/after/trigger/evidence),支持回滚 +- Soul 版本号递增,每次更新 +1 + +### 4. 专业 Agent 工具集 — YAML 配置 + 默认推荐 + +**决策**:工具通过 YAML 配置绑定,提供默认推荐配置,用户可自定义。 + +**默认推荐**: +| Agent | 默认工具 | 原因 | +|-------|---------|------| +| ReactAgent | web_search, baidu_search, shell, memory | ReAct 需要丰富工具集 | +| RewooAgent | web_search, baidu_search, web_crawl | 批量数据采集类工具 | +| PlanExecAgent | 所有工具(子步骤按需选择) | 子步骤可能需要任何工具 | +| ReflexionAgent | 与 ReactAgent 相同 | Reflexion = ReAct + 评估 | +| DirectAgent | 无工具 | 单次 LLM 调用 | + +### 5. 与 P2 Hardening 计划 — 部分并行 + +**决策**:Phase A(执行引擎)与 P2 并行开发,Phase B/C 等 P2 完成后再开始。 + +**理由**: +- Phase A 只新增引擎文件(rewoo.py/plan_exec_engine.py/reflexion.py),不修改 server 文件,无冲突 +- Phase B/C 需要修改 server/app.py、server/config.py 等,与 P2 有文件冲突 +- P2 修复安全问题,不应被阻塞 + +### 6. 分层模型配置 — YAML 配置 + 默认推荐 + +**决策**:模型通过 YAML 的 `llm.model` 字段配置,提供默认推荐值。 + +**默认推荐**: +| Agent | 默认模型 | 预估成本/1K tokens | +|-------|---------|-------------------| +| DirectAgent | `openai/gpt-4o-mini` | $0.00015 | +| ReactAgent | `anthropic/claude-sonnet-4-20250514` | $0.003 | +| RewooAgent | `anthropic/claude-sonnet-4-20250514` | $0.003 | +| PlanExecAgent | `anthropic/claude-opus-4-20250514` | $0.015 | +| ReflexionAgent | 执行: `sonnet`, 评估: `opus` | 混合 | + +### 7. 多 Agent 协作上下文传递 — 按需升级 + +**决策**:默认用直接注入(TaskMessage.input_data),复杂场景按需升级到 SharedWorkspace 或 Redis Pub/Sub。 + +| 场景 | 传递方式 | 原因 | +|------|---------|------| +| 顺序执行(A→B) | 直接注入 | 简单直接 | +| 并行执行(A+B→C) | SharedWorkspace | A/B 并行写入,C 汇总读取 | +| 事件通知(A 通知 B) | Redis Pub/Sub | 异步解耦 | +| 对话连续性 | SessionManager + 摘要 | 跨 Agent 连续 | diff --git a/docs/plans/2026-06-12-020-feat-pipeline-adversarial-loop-plan.md b/docs/plans/2026-06-12-020-feat-pipeline-adversarial-loop-plan.md new file mode 100644 index 0000000..9cfee0f --- /dev/null +++ b/docs/plans/2026-06-12-020-feat-pipeline-adversarial-loop-plan.md @@ -0,0 +1,404 @@ +--- +title: "feat: Pipeline 级别对抗闭环(Coding Harness)" +status: active +created: 2026-06-12 +origin: 头脑风暴对话 - Worker ↔ Verifier 对抗闭环改进方案 +type: feat +--- + +# feat: Pipeline 级别对抗闭环(Coding Harness) + +## 问题框架 + +当前 Pipeline Engine 的 `retry_count` 和 `retry_policy` 实现的是**盲目重试**(指数退避重跑相同逻辑),`QualityGate` 是**单向验证**(validate → pass/fail)。Worker 产出失败后不知道具体哪里有问题,重试时无法定向修复。 + +**目标:** 实现 Worker → Verifier → 带反馈打回 Worker → 定向修复 → 再次审查的对抗闭环,通过 Pipeline YAML 配置即可启用。 + +--- + +## 高层技术设计 + +### 对抗流转状态机 + +```mermaid +stateDiagram-v2 + [*] --> Worker: 执行 Stage + Worker --> Verifier: 产出完成 + Verifier --> [*]: 审查通过 (passed=true) + Verifier --> Worker: 审查不通过 (round < max) + Worker --> Verifier: 根据反馈修复 + Verifier --> Escalate: 轮次耗尽 (round >= max) + Escalate --> [*]: 转人工或标记失败 +``` + +### 反馈数据结构 + +``` +ReviewFeedback +├── passed: bool +├── score: float (0-1) +├── summary: str (自然语言审查报告) +└── issues: list[ReviewIssue] + ├── severity: critical/major/minor + ├── category: logic_error/security/style/test_failure/architecture + ├── description: str + ├── location: str? (文件路径/行号) + └── suggestion: str? +``` + +### 配置扩展 + +在 `PipelineStage` 新增 4 个字段: +- `verifier`: str | None — Verifier Agent 名称 +- `max_adversarial_rounds`: int — 最大对抗轮次(默认 3) +- `feedback_mode`: str — 反馈模式(structured+natural / structured / natural) +- `escalate_on_exhaust`: str | None — 轮次耗尽后的升级目标 + +--- + +## 实施单元 + +### U1. 扩展 Pipeline Schema — 对抗字段和反馈数据模型 + +**Goal:** 在 `pipeline_schema.py` 中新增对抗闭环所需的数据模型和字段 + +**Requirements:** +- PipelineStage 支持配置 Verifier 和对抗参数 +- 提供结构化的 ReviewFeedback 和 ReviewIssue 数据模型 +- 提供 AdversarialState 用于追踪对抗轮次 + +**Dependencies:** 无 + +**Files:** +- `src/agentkit/orchestrator/pipeline_schema.py` (修改) +- `tests/unit/test_pipeline_schema.py` (修改) + +**Approach:** +1. 新增 `ReviewIssue` Pydantic 模型(severity, category, description, location, suggestion) +2. 新增 `ReviewFeedback` Pydantic 模型(passed, issues, summary, score) +3. 新增 `AdversarialState` Pydantic 模型(current_round, max_rounds, feedback_history, last_feedback) +4. 在 `PipelineStage` 新增 4 个字段: + - `verifier: str | None = None` + - `max_adversarial_rounds: int = 3` + - `feedback_mode: str = "structured+natural"` + - `escalate_on_exhaust: str | None = None` + +**Test scenarios:** +1. **Happy path:** 创建带 verifier 字段的 PipelineStage,验证字段默认值正确 +2. **Happy path:** 创建 ReviewFeedback 对象,验证序列化和反序列化正常 +3. **Edge case:** verifier=None 时,PipelineStage 正常创建(向后兼容) +4. **Edge case:** max_adversarial_rounds=0 时正常创建 + +--- + +### U2. Pipeline Engine 增强 — 对抗流转执行逻辑 + +**Goal:** 在 `PipelineEngine` 中实现 `_execute_stage_with_adversarial` 方法,处理 Worker ↔ Verifier 对抗循环 + +**Requirements:** +- 当 Stage 配置了 verifier 时自动进入对抗模式 +- Verifier 审查不通过时,带反馈打回 Worker 重做 +- 超过最大轮次后执行升级处理 +- 保持与现有 `_execute_stage` 的向后兼容 + +**Dependencies:** U1 + +**Files:** +- `src/agentkit/orchestrator/pipeline_engine.py` (修改) +- `tests/unit/test_pipeline_adversarial.py` (新增) + +**Approach:** + +1. **新增 `_execute_stage_with_adversarial` 方法:** + - 检查 `stage.verifier` 是否存在,不存在则走原有逻辑 + - 初始化 `AdversarialState` + - 进入对抗循环(1 到 max_adversarial_rounds): + - 执行 Worker Agent + - 执行 Verifier 审查 Worker 产出 + - 如果通过:返回成功结果 + - 如果不通过: + - 记录反馈到 feedback_history + - 如果轮次耗尽:调用 `_escalate` 处理 + - 否则:调用 `_execute_agent_with_feedback` 打回 Worker + +2. **新增 `_execute_agent_with_feedback` 方法:** + - 构建反馈上下文(previous_attempt_failed, review_feedback, instruction) + - 合并到原有上下文 + - 调用 Dispatcher 执行 Agent + +3. **新增 `_execute_verifier` 方法:** + - 调用 Verifier Agent 执行审查 + - 解析返回结果为 ReviewFeedback 对象 + - 记录审查日志 + +4. **新增 `_escalate` 方法:** + - 如果配置了 `escalate_on_exhaust`:转发到升级目标(如 human_approval) + - 否则:返回失败结果,附带审查历史 + +5. **修改 `_execute_stage` 方法:** + - 检查是否配置了 verifier + - 如果配置了,路由到 `_execute_stage_with_adversarial` + - 否则保持原有逻辑 + +**Test scenarios:** +1. **Happy path:** Stage 无 verifier → 走原有逻辑,正常完成 +2. **Happy path:** Stage 有 verifier,审查通过 → 一次完成 +3. **Happy path:** Stage 有 verifier,审查不通过 → 打回 Worker → 修复后通过 +4. **Edge case:** 超过 max_adversarial_rounds → 触发 escalate_on_exhaust +5. **Edge case:** escalate_on_exhaust=None → 返回失败,附带审查历史 +6. **Error path:** Verifier 执行异常 → 记录错误,返回失败 +7. **Error path:** Worker 重试时再次异常 → 继续下一轮或轮次耗尽 +8. **Integration:** 完整对抗流程的状态追踪正确(feedback_history 长度=实际轮次) + +--- + +### U3. 反馈上下文构建和注入机制 + +**Goal:** 实现结构化的反馈上下文构建,让 Worker Agent 能理解审查反馈并定向修复 + +**Requirements:** +- 反馈上下文包含结构化问题列表和自然语言审查报告 +- Worker 能根据反馈上下文调整生成策略 +- 支持 feedback_mode 配置(structured+natural / structured / natural) + +**Dependencies:** U2 + +**Files:** +- `src/agentkit/orchestrator/pipeline_engine.py` (修改,续 U2) +- `tests/unit/test_pipeline_adversarial.py` (修改,续 U2) + +**Approach:** + +1. **构建反馈上下文字典:** +```python +feedback_context = { + "previous_attempt_failed": True, + "review_feedback": { + "summary": feedback.summary, + "issues": [ + { + "severity": issue.severity, + "category": issue.category, + "description": issue.description, + "suggestion": issue.suggestion, + } + for issue in feedback.issues + ], + "previous_score": feedback.score, + }, + "instruction": ( + "Your previous output did not pass review. " + "Please fix the issues listed above and regenerate." + ), +} +``` + +2. **根据 feedback_mode 调整上下文:** + - `structured+natural`: 包含完整 issues 列表和 summary + - `structured`: 只包含 issues 列表 + - `natural`: 只包含 summary 和 instruction + +3. **合并到原有上下文:** + - `merged_context = {**context, **feedback_context}` + - 传递给 Agent 执行 + +**Test scenarios:** +1. **Happy path:** feedback_mode="structured+natural" → 上下文包含 issues 和 summary +2. **Happy path:** feedback_mode="structured" → 上下文只包含 issues +3. **Happy path:** feedback_mode="natural" → 上下文只包含 summary +4. **Edge case:** feedback.feedback_history 有多轮记录 → 合并所有历史反馈 + +--- + +### U4. 创建 code_reviewer Skill 配置示例 + +**Goal:** 创建代码审查 Verifier Agent 的 Skill 配置,作为对抗模式的的标准 Verifier 模板 + +**Requirements:** +- 配置为 direct 执行模式 +- system_prompt 定义严格的代码审查角色和检查维度 +- 配置 output_schema 确保返回结构化的 ReviewFeedback 格式 + +**Dependencies:** U1(需要 ReviewFeedback schema 存在) + +**Files:** +- `configs/skills/code_reviewer.yaml` (新增) + +**Approach:** + +1. 创建 `code_reviewer.yaml`: + - name: code_reviewer + - execution_mode: direct + - intent_match: "code.*review|review.*code" + - system_prompt: 定义代码审查角色、检查维度(逻辑正确性、安全漏洞、架构设计、测试覆盖、代码风格) + - tools: [shell_tool](用于运行测试用例) + - quality_gate: 配置 required_fields 和 output_schema + +2. output_schema 定义: + - passed: boolean + - issues: array of {severity, category, description, location?, suggestion?} + - summary: string + - score: number (0-1) + +**Test expectation:** none — 这是配置文件,通过 YAML 加载测试验证格式正确性 + +--- + +### U5. 创建 coding_harness Pipeline 配置示例 + +**Goal:** 创建完整的编码对抗 Pipeline 配置示例,展示如何使用对抗闭环功能 + +**Requirements:** +- 包含 develop → test → review(对抗模式) → archive 四个阶段 +- review 阶段配置 verifier、max_adversarial_rounds、escalate_on_exhaust +- 使用变量引用传递阶段间产出 + +**Dependencies:** U4 + +**Files:** +- `configs/pipelines/coding_harness.yaml` (新增) + +**Approach:** + +1. 创建 `coding_harness.yaml`: + - name: coding_harness, version: "1.0" + - 阶段 1 (develop): developer_agent 实现功能 + - 阶段 2 (test): tester_agent 运行测试,依赖 develop + - 阶段 3 (review): developer_agent 修复问题,verifier=code_reviewer, max_adversarial_rounds=3, escalate_on_exhaust=human_approval + - 阶段 4 (archive): archiver_agent 提交代码,依赖 review + +2. 配置变量引用: + - test 阶段输入: code="{{develop.code}}", test_files="{{develop.test_files}}" + - review 阶段输入: code="{{develop.code}}", test_results="{{test.test_results}}" + - archive 阶段输入: code="{{review.final_code}}" + +**Test expectation:** none — 这是配置文件,通过 YAML 加载测试验证格式和引用正确性 + +--- + +### U6. 编写单元测试 — 对抗流转和反馈注入 + +**Goal:** 为对抗闭环功能编写完整的单元测试覆盖 + +**Requirements:** +- 覆盖 U1-U3 定义的所有测试场景 +- 使用 mock 模拟 Dispatcher 和 Agent 执行 +- 验证对抗流转逻辑正确性 + +**Dependencies:** U1, U2, U3 + +**Files:** +- `tests/unit/test_pipeline_adversarial.py` (新增) + +**Approach:** + +创建以下测试类: + +1. **TestPipelineSchemaAdversarial:** + - test_stage_with_verifier + - test_stage_without_verifier_backward_compat + - test_review_feedback_serialization + - test_adversarial_state_tracking + +2. **TestAdversarialExecution:** + - test_no_verifier_passthrough + - test_verifier_passes_first_round + - test_verifier_fails_then_worker_fixes + - test_max_rounds_exhausted_escalate + - test_max_rounds_exhausted_no_escalate + - test_verifier_execution_error + - test_worker_retry_error + +3. **TestFeedbackContext:** + - test_structured_and_natural_mode + - test_structured_only_mode + - test_natural_only_mode + - test_multiple_rounds_feedback_merge + +4. **TestEscalation:** + - test_escalate_to_human_approval + - test_escalate_to_fallback_agent + - test_no_escalation_configured + +**Test scenarios:** 见各测试类定义 + +--- + +### U7. 编写集成测试 — 完整 Coding Harness Pipeline + +**Goal:** 编写集成测试验证完整的 Coding Harness Pipeline 端到端流程 + +**Requirements:** +- 加载 coding_harness.yaml 配置 +- 模拟完整的 develop → test → review → archive 流程 +- 验证对抗闭环在 review 阶段正常工作 + +**Dependencies:** U4, U5, U6 + +**Files:** +- `tests/integration/test_coding_harness_pipeline.py` (新增) + +**Approach:** + +1. 创建集成测试: + - 使用 MockDispatcher 模拟 Agent 执行 + - 模拟 develop 阶段产出代码 + - 模拟 test 阶段运行测试 + - 模拟 review 阶段:第一次审查不通过 → 打回修复 → 第二次审查通过 + - 模拟 archive 阶段提交代码 + +2. 验证点: + - Pipeline 最终状态为 COMPLETED + - review 阶段经历了 2 轮对抗 + - feedback_history 记录了审查反馈 + - 各阶段输出变量正确传递 + +**Test scenarios:** +1. **Happy path:** 完整 Pipeline 执行,review 阶段 2 轮对抗后通过 +2. **Edge case:** review 阶段 3 轮对抗后仍不通过 → escalate 到 human_approval +3. **Error path:** test 阶段失败 → Pipeline 中止,不进入 review + +--- + +## 范围边界 + +**包含:** +- Pipeline Schema 扩展(对抗字段和反馈数据模型) +- Pipeline Engine 对抗流转执行逻辑 +- 反馈上下文构建和注入 +- code_reviewer Skill 配置示例 +- coding_harness Pipeline 配置示例 +- 单元测试和集成测试 + +**不包含(延期到后续工作):** +- 任务复杂度评估器(自动判断是否启用对抗团队) +- IM 异步秒级响应(Leader 立即回执 + 后台异步调度) +- 多路并行调研对抗(多路 Researcher + 独立 Verifier) +- 对抗成本监控(Token 消耗、时间、修复成功率记录) +- Verifier 多角色拆分(LogicReviewer / SecurityReviewer / StyleReviewer 并行审查) + +--- + +## 风险和依赖 + +### 风险 + +1. **Agent 反馈理解能力:** Worker Agent 可能无法完全理解结构化反馈并定向修复。缓解措施:使用 feedback_mode="structured+natural" 提供自然语言说明。 + +2. **Verifier 审查质量:** code_reviewer 的审查质量取决于 system_prompt 和 LLM 能力。缓解措施:提供高质量的 system_prompt 模板,支持后续优化。 + +3. **Token 消耗:** 多轮对抗可能消耗大量 Token。缓解措施:max_adversarial_rounds 默认 3,可配置。 + +### 依赖 + +- 现有 Pipeline Engine 基础设施(DAG 拓扑排序、并行执行、变量解析) +- 现有 Dispatcher 接口(dispatch、get_task_status) +- 现有 Agent 配置系统(ConfigDrivenAgent、SkillConfig) + +--- + +## 系统级影响 + +- **向后兼容:** PipelineStage 新增字段都有默认值,现有 Pipeline 配置无需修改 +- **性能影响:** 无 verifier 配置的 Stage 走原有逻辑,无性能影响;有 verifier 的 Stage 可能增加执行时间(多轮对抗) +- **可观测性:** 对抗轮次和审查结果记录在 StageResult 的 output_data 中,可通过日志和状态管理查询 diff --git a/docs/plans/2026-06-12-022-feat-agentkit-phase9-integrated-next-stage-plan.md b/docs/plans/2026-06-12-022-feat-agentkit-phase9-integrated-next-stage-plan.md new file mode 100644 index 0000000..4508d7c --- /dev/null +++ b/docs/plans/2026-06-12-022-feat-agentkit-phase9-integrated-next-stage-plan.md @@ -0,0 +1,490 @@ +--- +title: "feat: AgentKit Phase 9 — Integrated Next-Stage Plan" +status: active +created: 2026-06-12 +plan-type: feat +depth: deep +origin: "整合 017/018/019/021 活跃计划剩余工作 + 本次会话发现的新问题" +--- + +# feat: AgentKit Phase 9 — Integrated Next-Stage Plan + +## Summary + +整合全部活跃计划的剩余工作,形成统一的下一阶段实施计划。核心目标:完成对话响应速度优化(sub-1s 首 Token)、补齐安全加固和劣势项改进的遗漏项、实现拍卖机制和智能并行工具执行。 + +**来源计划完成度:** + +| 计划 | 完成度 | 剩余项 | +|------|--------|--------| +| 020 Pipeline 对抗闭环 | ~100% | 验证测试覆盖度 | +| 017 Multi-Agent Marketplace | ~90% | U9 拍卖机制 | +| 018 P2 安全加固 | ~90% | U6 配置热重载防御性修复 | +| 019 劣势项改进 | ~70% | U4 集成测试、U5 ReWOO 回退链配置化 | +| 021 响应速度优化 | ~60% | U2 合并路由 LLM 调用、U6 Chat 管线优化 | + +**本次会话新增修复(已完成):** +- 确认卡片死锁修复(`pending_confirmations or {}` → `if is not None`) +- Shell 白名单扩展(30 → 90+ 命令,管道智能检测) +- SkillInstallTool 新增(Agent 可正确安装技能) +- 前端技能列表自动刷新 + +## Problem Frame + +当前 AgentKit 存在三个核心问题: + +1. **对话响应仍不够快**:启发式分类器已消除路由层 LLM 调用,但当启发式不确定时仍走独立 IntentRouter LLM 调用;Chat 管线中每次消息新建 ReActEngine、串行 Session I/O 等仍有优化空间 +2. **安全加固和测试覆盖有缺口**:配置热重载的线程安全问题、ReWOO 回退链不可配置、集成测试覆盖不足 +3. **拍卖机制未实现**:Multi-Agent Marketplace 的核心经济模型缺失 + +## Scope Boundaries + +### In Scope + +- 021-U2: 合并路由 LLM 调用(complexity + intent 单次 LLM) +- 021-U6: Chat 管线优化(ReActEngine 复用、Session 操作并行化) +- 智能并行工具执行(LLM 标注可并行性,自动判断) +- 018-U6: 配置热重载防御性修复 +- 019-U4: 集成测试补充 +- 019-U5: ReWOO 回退链配置化 +- 017-U9: 拍卖机制实现 +- 流式首 Token 前端渲染优化 + +### Out of Scope + +- 分布式消息总线(Redis 实现,后续按需) +- jieba 分词集成(可选依赖,后续按需) +- UI 可视化 trace(Jaeger/Zipkin 前端,运维配置) +- Headroom 检索优化(013,独立计划) +- 分层记忆系统(016,独立计划) + +### Deferred to Follow-Up Work + +- LLM Provider 级别 Prompt 缓存(需 LLM API 支持) +- 上下文压缩策略异步化(当前截断方案足够) +- 轻量模型自动降级(需 A/B 测试验证质量) + +--- + +## Requirements + +| ID | Requirement | Priority | Origin | +|----|-------------|----------|--------| +| R1 | 启发式分类器不确定时,complexity + intent 合并为单次 LLM 调用 | P0 | 021-U2 | +| R2 | Chat 管线中 ReActEngine 实例复用,避免每次消息重建 | P0 | 021-U6 | +| R3 | 多 tool_calls 时由 LLM 标注可并行性,自动并行执行独立工具 | P1 | 新需求 | +| R4 | 配置热重载线程安全,非 asyncio 线程调用不触发竞态 | P1 | 018-U6 | +| R5 | ReWOO 回退链可从 YAML 配置,不硬编码 | P1 | 019-U5 | +| R6 | 关键路径集成测试覆盖:路由链、ReWOO 回退、对抗闭环 | P1 | 019-U4 | +| R7 | 拍卖机制:Agent 竞标任务,基于能力+成本+历史质量评分 | P2 | 017-U9 | +| R8 | 前端流式首 Token 即渲染,不等 final_answer | P2 | 021-P1 | +| R9 | 所有改动有配置开关,可秒级回退 | P0 | 全局 | + +--- + +## Key Technical Decisions + +### KTD1: 合并路由 LLM 调用 — 单次 LLM 同时输出 complexity + intent + +当 `HeuristicClassifier` 返回 `complexity=0.5`(不确定区间)时,不再分别调用 `quick_classify()` 和 `IntentRouter._classify_with_llm()`,而是发起一次 LLM 调用,prompt 要求同时输出: + +```json +{"complexity": 0.7, "intent": "code_generation", "skill_hint": "react_agent"} +``` + +这比两次独立 LLM 调用节省 1-3s。LLM 的 structured output 能力确保格式可靠。 + +**Fallback**:若 LLM 返回格式异常,按 `complexity=0.5` 走默认 Agent。 + +### KTD2: 智能并行工具执行 — LLM 在 tool_calls 中标注 `parallelizable` + +在 `ReActEngine` 的 system prompt 中指示 LLM:当返回多个 tool_calls 时,在每个 tool_call 的 `_metadata` 中标注 `"parallelizable": true/false`。ReActEngine 收集所有 `parallelizable=true` 的工具,用 `asyncio.gather` 并行执行;`parallelizable=false` 或未标注的串行执行。 + +**为什么不用纯规则判断**:工具间的依赖关系是语义级的(如"先搜索再分析"),规则无法可靠判断。让 LLM 标注是最准确的方案。 + +**安全网**:`parallel_tools` 配置仍保留,设为 `"auto"` 时启用智能判断,设为 `true` 时全部并行,设为 `false` 时全部串行。 + +### KTD3: ReActEngine 复用 — Agent 级别持有实例 + +在 `AgentPool.create_agent()` 中创建 `ReActEngine` 实例并绑定到 Agent 对象。`_handle_chat_message` 从 Agent 获取已有实例而非每次新建。每次调用 `execute_stream()` 前重置内部状态(对话历史、step count)。 + +**为什么不用全局单例**:不同 Agent 可能有不同的 `max_steps`、`parallel_tools` 配置,需要实例隔离。 + +### KTD4: 拍卖机制 — Vickrey 拍卖 + 能力匹配 + +采用 Vickrey(次价)拍卖模型:Agent 提交密封标价(bid = cost_estimate),出价最低者赢得任务,但支付第二低价。结合能力匹配过滤不合格竞标者。 + +**为什么选 Vickrey**:激励相容——Agent 的最优策略是如实报告成本,不需要策略性报价。比英式拍卖更简单,比固定分配更高效。 + +### KTD5: 配置热重载线程安全 — asyncio.run_coroutine_threadsafe + +`_on_config_change` 从 `watchfiles` 线程调用时,通过 `asyncio.run_coroutine_threadsafe()` 将重载操作调度到事件循环,避免在非 asyncio 线程中直接操作 asyncio 对象。 + +--- + +## High-Level Technical Design + +### 路由合并流程 + +```mermaid +flowchart TD + A[用户消息] --> B{HeuristicClassifier} + B -->|complexity < 0.3| C[Layer 0: 默认 Agent] + B -->|0.3 <= complexity <= 0.7| D[合并 LLM 调用: complexity + intent] + B -->|complexity > 0.7| E[Layer 2: 能力匹配] + D -->|有 skill_hint| F[路由到指定 Skill] + D -->|无 skill_hint| C + D -->|LLM 格式异常| C + E -->|匹配成功| G[路由到最佳 Agent] + E -->|无匹配| F +``` + +### 智能并行工具执行 + +```mermaid +flowchart TD + A[LLM 返回 tool_calls] --> B{parallel_tools 配置} + B -->|false| C[全部串行执行] + B -->|true| D[全部并行执行] + B -->|auto| E[检查每个 tool_call 的 parallelizable 标注] + E --> F[parallelizable=true 的工具 asyncio.gather 并行] + E --> G[parallelizable=false 或未标注的串行执行] + F --> H[合并结果,按 tool_call_id 排序] + G --> H +``` + +### 拍卖机制 + +```mermaid +sequenceDiagram + participant Client + participant Auctioneer + participant Agent1 + participant Agent2 + + Client->>Auctioneer: 提交任务 + Auctioneer->>Agent1: 广播任务需求 + Auctioneer->>Agent2: 广播任务需求 + Agent1->>Auctioneer: 提交标价 (bid=0.3) + Agent2->>Auctioneer: 提交标价 (bid=0.5) + Auctioneer->>Auctioneer: Vickrey 拍卖: 赢家=Agent1, 支付=0.5 + Auctioneer->>Agent1: 分配任务 (payment=0.5) + Agent1->>Auctioneer: 返回结果 + Auctioneer->>Client: 返回结果 +``` + +--- + +## Implementation Units + +### U1. 合并路由 LLM 调用 + +**Goal:** 当 HeuristicClassifier 不确定时,将 complexity 评估和 intent 分类合并为单次 LLM 调用,消除路由层的第二次 LLM 调用。 + +**Requirements:** R1, R9 + +**Dependencies:** None + +**Files:** +- `src/agentkit/chat/skill_routing.py` — 新增 `MergedRouter` 类 +- `src/agentkit/chat/skill_routing.py` — 修改 `CostAwareRouter._route_layer1()` 使用合并调用 +- `tests/unit/test_cost_aware_router.py` — 新增测试 +- `configs/agentkit.yaml` — 新增 `router.merged_llm_classify: true` 配置 + +**Approach:** +1. 在 `CostAwareRouter` 中新增 `_classify_merged()` 方法,构建单次 LLM prompt 要求同时输出 complexity + intent + skill_hint +2. 修改 `_route_layer1()`:当 `HeuristicClassifier` 返回不确定区间(0.3-0.7)时,调用 `_classify_merged()` 而非分别调用 `quick_classify()` 和 `IntentRouter._classify_with_llm()` +3. LLM 返回格式:`{"complexity": float, "intent": str, "skill_hint": str|null}`,使用 JSON mode 确保格式可靠 +4. Fallback:LLM 格式异常时按 `complexity=0.5` 走默认 Agent +5. 配置开关:`router.merged_llm_classify: true`(默认),设为 false 时回退到独立调用 + +**Patterns to follow:** `HeuristicClassifier` 的配置开关模式(`classifier` 参数),`IntentRouter._classify_with_llm()` 的 LLM 调用模式 + +**Test scenarios:** +- 合并调用返回有效 JSON,正确路由到指定 skill +- 合并调用返回格式异常,fallback 到默认 Agent +- 合并调用返回 complexity < 0.3,走 Layer 0 +- 合并调用返回 complexity > 0.7,走 Layer 2 +- 配置 `merged_llm_classify: false` 时回退到独立调用 +- 合并调用超时,fallback 到默认 Agent + +**Verification:** 启用 `merged_llm_classify` 后,不确定区间的路由只产生 1 次 LLM 调用(而非 2 次) + +--- + +### U2. Chat 管线优化 + +**Goal:** ReActEngine 实例复用 + Session 操作并行化,减少每次消息的初始化和 I/O 开销。 + +**Requirements:** R2, R9 + +**Dependencies:** None + +**Files:** +- `src/agentkit/core/agent_pool.py` — Agent 创建时绑定 ReActEngine 实例 +- `src/agentkit/server/routes/chat.py` — 从 Agent 获取已有 ReActEngine +- `src/agentkit/core/react.py` — 新增 `reset()` 方法重置内部状态 +- `tests/unit/test_chat_routes.py` — 新增测试 +- `tests/unit/test_react_engine.py` — 新增 `test_reset` 测试 + +**Approach:** +1. 在 `ReActEngine` 中新增 `reset()` 方法,清空内部对话历史、step count、cancellation token +2. 在 `AgentPool.create_agent()` 中创建 `ReActEngine` 实例并绑定到 `agent._react_engine` +3. 修改 `_handle_chat_message()`:从 `agent._react_engine` 获取实例,调用 `reset()` 后执行 +4. 若 Agent 无 `_react_engine`(向后兼容),仍新建实例 +5. Session 操作:`append_message` 的 user message 和 assistant message 可并行写入(两者无依赖) + +**Patterns to follow:** `AgentPool.create_agent()` 的 Agent 初始化模式 + +**Test scenarios:** +- ReActEngine.reset() 清空内部状态后可正常执行 +- 连续两次 execute_stream() 调用互不干扰 +- Agent 无 _react_engine 时向后兼容新建实例 +- Session 并行写入后 get_messages() 返回完整消息列表 + +**Verification:** 连续发送 10 条消息,ReActEngine 实例 ID 保持不变 + +--- + +### U3. 智能并行工具执行 + +**Goal:** LLM 在 tool_calls 中标注可并行性,ReActEngine 自动判断并行/串行执行。 + +**Requirements:** R3, R9 + +**Dependencies:** None + +**Files:** +- `src/agentkit/core/react.py` — 修改 `_execute_loop()` 中的工具执行逻辑 +- `src/agentkit/core/react.py` — 修改 system prompt 指示 LLM 标注 parallelizable +- `tests/unit/test_react_engine.py` — 新增并行测试 +- `configs/agentkit.yaml` — `parallel_tools` 支持 `"auto"` 值 + +**Approach:** +1. 修改 `parallel_tools` 参数类型为 `bool | str`,支持 `True`/`False`/`"auto"` +2. 在 ReActEngine 的 system prompt 中添加指引:当返回多个 tool_calls 时,在每个 tool_call 的 arguments 中包含 `_parallelizable: true/false` +3. `_execute_loop()` 中: + - `parallel_tools=True` → 全部 `asyncio.gather` + - `parallel_tools=False` → 全部串行 + - `parallel_tools="auto"` → 收集 `parallelizable=true` 的工具并行执行,其余串行 +4. 执行顺序:先执行所有串行工具(按顺序),再并行执行所有可并行工具 +5. 结果按 `tool_call_id` 顺序追加到对话历史 + +**Patterns to follow:** 现有 `asyncio.gather` 并行执行模式(`parallel_tools=True` 分支) + +**Test scenarios:** +- `parallel_tools="auto"` + LLM 标注 2 个 parallelizable=true → 并行执行 +- `parallel_tools="auto"` + LLM 标注 1 个 true 1 个 false → 串行先执行,再并行 +- `parallel_tools="auto"` + LLM 未标注 parallelizable → 全部串行(安全默认) +- `parallel_tools=True` → 忽略标注,全部并行 +- `parallel_tools=False` → 忽略标注,全部串行 +- 并行执行结果按 tool_call_id 顺序追加 + +**Verification:** 发送需要多工具的消息,观察日志中的执行顺序和耗时 + +--- + +### U4. 配置热重载防御性修复 + +**Goal:** 修复配置热重载的线程安全问题,确保非 asyncio 线程调用不触发竞态。 + +**Requirements:** R4, R9 + +**Dependencies:** None + +**Files:** +- `src/agentkit/server/app.py` — 修改 `_on_config_change()` 使用 `asyncio.run_coroutine_threadsafe()` +- `src/agentkit/server/app.py` — 添加 shell proc.kill() 错误处理 +- `tests/unit/test_app_lifecycle.py` — 新增测试 + +**Approach:** +1. `_on_config_change()` 从 watchfiles 线程调用时,通过 `asyncio.run_coroutine_threadsafe(_async_reload_config(app, config), loop)` 调度到事件循环 +2. 新增 `_async_reload_config()` 异步方法,包含原重载逻辑 +3. 添加 `_config_reload_lock` 的线程安全版本(`threading.Lock` + `asyncio.Lock` 双锁) +4. shell proc.kill() 添加 try/except ProcessLookupError + +**Patterns to follow:** `asyncio.run_coroutine_threadsafe()` 模式 + +**Test scenarios:** +- 从非 asyncio 线程触发配置变更,重载正常完成 +- 并发配置变更,只有一个生效(锁保护) +- proc.kill() 时进程已退出,不抛异常 +- 配置变更后 LLM Gateway 正确重建 + +**Verification:** 修改 agentkit.yaml 后观察日志,确认重载在事件循环中执行 + +--- + +### U5. ReWOO 回退链配置化 + +**Goal:** ReWOO 的 fallback 策略可从 YAML 配置,不硬编码。 + +**Requirements:** R5, R9 + +**Dependencies:** None + +**Files:** +- `src/agentkit/core/rewoo.py` — `FALLBACK_STRATEGIES` 改为从配置读取 +- `configs/skills/rewoo_agent.yaml` — 新增 `fallback_strategies` 字段 +- `tests/unit/test_rewoo_engine.py` — 新增测试 + +**Approach:** +1. `ReWOOEngine.__init__()` 接受 `fallback_strategies: list[str]` 参数,默认 `["simplified_rewoo", "react", "direct"]` +2. Skill YAML 中新增 `fallback_strategies` 字段,覆盖默认值 +3. `_plan_phase()` 失败时按配置的策略顺序尝试 fallback +4. 支持的策略名:`simplified_rewoo`、`react`、`direct`、`plan_exec` + +**Patterns to follow:** `SkillConfig` 的字段扩展模式 + +**Test scenarios:** +- 默认 fallback 链:simplified_rewoo → react → direct +- 自定义 fallback 链:plan_exec → react → direct +- 空 fallback 链:直接抛异常 +- 无效策略名:跳过并警告 + +**Verification:** 修改 rewoo_agent.yaml 的 fallback_strategies,重启后观察日志 + +--- + +### U6. 集成测试补充 + +**Goal:** 补充关键路径的集成测试,保障其他模块改动的回归安全。 + +**Requirements:** R6 + +**Dependencies:** U1, U2, U3 + +**Files:** +- `tests/integration/test_router_engine_chain.py` — 路由→引擎全链路测试 +- `tests/integration/test_rewoo_fallback.py` — ReWOO 回退链测试 +- `tests/integration/test_parallel_tools.py` — 并行工具执行测试 +- `tests/integration/test_merged_router.py` — 合并路由测试 + +**Approach:** +1. 路由链测试:用户消息 → HeuristicClassifier → 合并 LLM 调用 → Skill 匹配 → ReActEngine 执行 → 结果 +2. ReWOO 回退测试:Planning 失败 → simplified_rewoo → react → direct +3. 并行工具测试:LLM 返回多个 tool_calls + parallelizable 标注 → 验证执行顺序 +4. 合并路由测试:不确定区间消息 → 单次 LLM 调用 → 正确路由 + +**Patterns to follow:** 现有 `tests/integration/test_react_loop.py` 模式 + +**Test scenarios:** +- 路由链:问候语 → Layer 0 直达;代码问题 → 合并 LLM → react_agent +- ReWOO 回退:mock LLM Planning 失败 → 验证 fallback 执行 +- 并行工具:2 个 parallelizable=true 工具 → 验证并行执行(耗时 < 串行) +- 合并路由:不确定消息 → 验证只产生 1 次 LLM 调用 + +**Verification:** `pytest tests/integration/ -v` 全部通过 + +--- + +### U7. 拍卖机制实现 + +**Goal:** 实现 Vickrey 拍卖模型,Agent 竞标任务,基于能力+成本+历史质量评分。 + +**Requirements:** R7 + +**Dependencies:** None + +**Files:** +- `src/agentkit/marketplace/auction.py` — 新增 `Auctioneer`、`Bid`、`AuctionResult` 类 +- `src/agentkit/marketplace/wealth.py` — 新增 `WealthTracker` 类 +- `src/agentkit/chat/skill_routing.py` — `CostAwareRouter._route_layer2()` 集成拍卖 +- `configs/agentkit.yaml` — 新增 `router.auction_enabled: true` 配置 +- `tests/unit/test_auction.py` — 新增测试 + +**Approach:** +1. `Bid` 数据类:agent_id、cost_estimate、capability_score、quality_history +2. `Auctioneer` 类: + - `announce_task(task_desc, required_capabilities)` → 广播给合格 Agent + - `submit_bid(bid)` → 收集标价 + - `resolve_auction()` → Vickrey 拍卖:最低价者赢,支付第二低价 + - 能力过滤:先按 `required_capabilities` 过滤不合格竞标者 +3. `WealthTracker` 类:跟踪每个 Agent 的累计收入/支出,用于后续经济分析 +4. 集成到 `CostAwareRouter._route_layer2()`:当 `auction_enabled=True` 且有多个候选 Agent 时,发起拍卖 +5. 拍卖超时:默认 5s,超时后按最低价直接分配 + +**Patterns to follow:** `CostAwareRouter` 的三层路由模式,`org_context.find_best_agent()` 的能力匹配模式 + +**Test scenarios:** +- 单一竞标者 → 直接分配,支付 0 +- 两个竞标者 → Vickrey 拍卖,低价者赢,支付第二低价 +- 竞标者能力不匹配 → 过滤掉,不参与拍卖 +- 拍卖超时 → 按已有标价分配 +- 无竞标者 → fallback 到 IntentRouter +- WealthTracker 正确累计收入/支出 + +**Verification:** 配置 `auction_enabled: true`,发送高复杂度消息,观察拍卖日志 + +--- + +### U8. 流式首 Token 前端渲染 + +**Goal:** 前端收到首个 token 即开始渲染,不等 final_answer,降低感知延迟。 + +**Requirements:** R8 + +**Dependencies:** U2 + +**Files:** +- `src/agentkit/server/static/index.html` — 修改 WebSocket 消息处理逻辑 +- `src/agentkit/core/react.py` — 流式事件增加 `is_final` 标记 + +**Approach:** +1. 当前前端收到 `token` 事件时已经在渲染文本(`currentAgentBubble.textContent += msg.content`),但 LLM 决定调工具时需要"收回"已渲染的 token +2. 新增 `thinking` 事件类型:LLM 的思考过程(如 "Let me search for..."),前端渲染为灰色斜体 +3. `token` 事件仅在 LLM 直接回答时发送(不调工具时) +4. 当 LLM 决定调工具时,发送 `tool_call` 事件,前端将 thinking 文本替换为工具调用卡片 +5. `final_answer` 事件标记 `is_final: true`,前端完成渲染 + +**关键 UX 决策**:不在 LLM 可能调工具时渲染 token,避免"文字闪烁消失"问题。只在确认是最终回答时才渲染 token 流。 + +**Patterns to follow:** 现有 `token` / `final_answer` 事件处理模式 + +**Test scenarios:** +- LLM 直接回答 → token 流式渲染,无闪烁 +- LLM 先思考再调工具 → thinking 渲染为灰色,工具调用显示为卡片 +- LLM 思考后直接回答 → thinking 后接 token 流式渲染 +- 多轮工具调用 → 每轮工具调用显示为步骤卡片 + +**Verification:** 发送需要工具调用的消息,观察前端渲染无闪烁 + +--- + +## Risks & Mitigations + +| Risk | Impact | Mitigation | +|------|--------|------------| +| 合并 LLM 调用格式不稳定 | 路由失败,走 fallback | JSON mode + 严格 schema 校验 + fallback 到默认 Agent | +| 智能并行工具执行依赖误判 | 工具结果错误 | `parallel_tools="auto"` 默认保守(未标注=串行);`true` 模式需显式启用 | +| 拍卖机制增加路由延迟 | 高复杂度任务响应更慢 | 拍卖超时 5s;单竞标者时跳过拍卖直接分配 | +| ReActEngine 复用状态泄漏 | 上下文串扰 | `reset()` 方法严格清空所有内部状态;每次执行前强制调用 | +| 流式渲染闪烁 | 用户体验差 | 只在确认不调工具时渲染 token;thinking 阶段渲染为灰色 | + +--- + +## System-Wide Impact + +- **路由层**:`skill_routing.py` 变更最大(合并 LLM + 拍卖集成) +- **引擎层**:`react.py` 变更(智能并行 + reset),`rewoo.py` 变更(配置化回退) +- **服务层**:`chat.py` 变更(ReActEngine 复用),`app.py` 变更(热重载修复) +- **前端**:`index.html` 变更(流式渲染优化) +- **新增模块**:`marketplace/auction.py`、`marketplace/wealth.py` + +--- + +## Open Questions + +- 拍卖机制的 `cost_estimate` 如何计算?当前 Agent 无自省能力,可能需要基于历史执行时间统计 +- `parallel_tools="auto"` 的 LLM 标注格式是否需要与 OpenAI function calling 兼容?当前 `_parallelizable` 字段放在 arguments 中可能被 LLM 忽略 +- 流式渲染的 thinking 文本是否需要持久化到 Session?当前不持久化,重载后丢失 + +--- + +## Acceptance Examples + +- AE1: 发送一般问题,首 Token 在 1s 内出现(当前 3-5s) +- AE2: 发送需要多工具的消息,工具并行执行,总耗时 < 串行执行 +- AE3: 修改 rewoo_agent.yaml 的 fallback_strategies,重启后生效 +- AE4: 配置 auction_enabled: true,高复杂度任务触发拍卖日志 +- AE5: 修改 agentkit.yaml 后服务自动重载,无异常日志 diff --git a/docs/plans/2026-06-13-001-feat-gui-productization-plan.md b/docs/plans/2026-06-13-001-feat-gui-productization-plan.md new file mode 100644 index 0000000..0c862a2 --- /dev/null +++ b/docs/plans/2026-06-13-001-feat-gui-productization-plan.md @@ -0,0 +1,382 @@ +--- +date: "2026-06-13" +status: active +origin: docs/brainstorms/2026-06-13-gui-productization-requirements.md +--- + +## Summary + +对 Fischer AgentKit GUI 进行产品级提升,三线并行:布局重构为「左对话 + 右双栏」、建立双主题设计系统、增强交互体验。分 3 个迭代交付。 + +## Problem Frame + +当前 GUI 处于"功能可用但体验粗糙"状态:四象限等分布局让对话空间被压缩到 1/4 屏幕;Design Token 体系仅覆盖浅色主题,暗色主题缺失;无过渡动画、操作无反馈、空状态单调。需要从布局、视觉、交互三个维度全面提升到产品级。 + +## Key Technical Decisions + +**KTD-1. 暗色主题通过 `[data-theme="dark"]` 选择器切换,而非独立 CSS 文件。** + +现有 `tokens.css` 在 `:root` 上定义了约 80 个 token。暗色主题在 `[data-theme="dark"]` 选择器上覆盖同名变量,切换时只需修改 `document.documentElement.dataset.theme`。这保持了 CSS 变量为唯一真实来源,Ant Design Vue 主题通过 `readToken()` 运行时自动跟随。无需引入 CSS-in-JS 主题切换或独立 CSS 文件。 + +**KTD-2. 布局重构通过调整 AgentLayout 的 SplitPane 嵌套结构实现,不修改子视图。** + +当前 AgentLayout 使用三层 SplitPane 嵌套(水平 → 左侧垂直 + 右侧垂直)。重构为两层:水平(左对话 + 右侧)→ 右侧垂直(右上 + 右下)。左侧不再嵌套垂直 SplitPane,ChatView 直接占满左半屏。所有子视图(ChatView、WorkflowView、EvolutionView 等)代码零修改。 + +**KTD-3. 侧边导航改为 32px 图标模式,复用现有 QuadrantPanel 的 Tab 切换机制。** + +点击导航图标时调用 QuadrantPanel 的 `setActiveTab()` 方法切换 Tab 并展开面板。导航状态通过 `activeNav` ref 与 QuadrantPanel 的 `activeTab` 双向同步。不引入新的路由机制。 + +**KTD-4. 交互增强使用 Vue 3 内置 `` 和 ``,配合现有 `transitions.css` 定义的动画类。** + +现有 `transitions.css` 已定义 7 种动画类(fade、slide-up、slide-down、slide-right、collapse、scale、stagger-list)和 3 种关键帧动画(skeleton-pulse、pulse-dot、gentle-bounce)。交互增强直接复用这些动画类,不引入第三方动画库。 + +--- + +## High-Level Technical Design + +```mermaid +flowchart LR + subgraph Layout["布局重构"] + HSplit["水平 SplitPane
55:45"] + Left["左半屏
ChatView"] + Right["右半屏"] + VSplit["垂直 SplitPane
60:40"] + TR["右上面板
代码/工作流/知识库"] + BR["右下面板
监控/技能/设置"] + Left --> HSplit + Right --> HSplit + TR --> VSplit + BR --> VSplit + VSplit --> Right + end + + subgraph Theme["双主题"] + Light["浅色 Token
:root"] + Dark["暗色 Token
[data-theme=dark]"] + Toggle["TopNav 切换按钮"] + Toggle --> Light + Toggle --> Dark + end + + subgraph Interaction["交互增强"] + Anim["过渡动画
Transition 组件"] + Feedback["操作反馈
骨架屏/Toast"] + Empty["空状态
品牌化插图"] + Drag["拖拽增强
比例提示"] + end +``` + +--- + +## Requirements Traceability + +| Origin R-ID | Plan Coverage | +|---|---| +| R1. 左对话 + 右双栏布局 | U1 | +| R2. 面板折叠为 Tab 栏 | U1 (QuadrantPanel 已支持,调整默认行为) | +| R3. 侧边导航精简为图标模式 | U2 | +| R4. Design Token 体系基础 | U3 (已有基础,补充暗色 token) | +| R5. 小屏幕适配 | U1 (调整 responsive.css 断点) | +| R6. 暗色主题 | U3 | +| R7. 组件样式统一 | U4 | +| R8. 过渡动画 | U5 | +| R9. 操作反馈 | U6 | +| R10. 空状态设计 | U7 | +| R11. 拖拽交互增强 | U8 | + +--- + +## Implementation Units + +### 迭代 1:布局骨架 + 暗色主题 + +### U1. AgentLayout 布局重构 + +**Goal:** 将四象限等分布局重构为「左对话 + 右双栏」布局。 + +**Requirements:** R1, R2, R5 + +**Dependencies:** 无 + +**Files:** +- `src/agentkit/server/frontend/src/components/layout/AgentLayout.vue` (修改) +- `src/agentkit/server/frontend/src/styles/responsive.css` (修改) +- `src/agentkit/server/frontend/src/router/index.ts` (修改) + +**Approach:** +- 修改 AgentLayout 的 SplitPane 嵌套结构:移除左侧垂直 SplitPane,ChatView 直接作为水平 SplitPane 的 first slot +- 右侧保留垂直 SplitPane(右上 + 右下),与当前相同 +- 调整水平 SplitPane 默认比例为 55:45(左:右) +- 调整路由:移除 `agent-terminal` 路由(终端不再作为独立象限),终端功能可通过右侧面板 Tab 访问 +- 调整 responsive.css 断点:小屏幕阈值从 1280px 调整为 1024px +- QuadrantPanel 的折叠功能已实现,无需修改 + +**Patterns to follow:** 现有 SplitPane + QuadrantPanel 嵌套模式 + +**Test scenarios:** +- 页面加载后左半屏显示 ChatView,右半屏上下分割为代码/工作流和监控 +- 左右分割线可拖拽,默认比例 55:45 +- 右侧上下分割线可拖拽,默认比例 60:40 +- 分割比例保存到 localStorage,刷新后恢复 +- 右上面板可折叠为 Tab 栏 +- 右下面板可折叠为 Tab 栏 +- 两个面板同时折叠后对话面板获得最大空间 +- 屏幕宽度 < 1024px 时显示小屏幕提示 +- 旧路由 `/terminal` 重定向正确 + +**Verification:** 打开 GUI 后左半屏是对话,右半屏上下分割,拖拽和折叠功能正常 + +### U2. 侧边导航精简为图标模式 + +**Goal:** 将侧边导航精简为 32px 宽的图标导航,点击切换右侧面板 Tab。 + +**Requirements:** R3 + +**Dependencies:** U1 + +**Files:** +- `src/agentkit/server/frontend/src/components/layout/AgentLayout.vue` (修改) +- `src/agentkit/server/frontend/src/components/layout/TopNav.vue` (修改) + +**Approach:** +- 在 AgentLayout 的水平 SplitPane 之前添加 32px 宽的图标导航栏 +- 导航项:对话(MessageOutlined)、工作流(ApartmentOutlined)、知识库(BookOutlined)、技能(AppstoreOutlined)、监控(DashboardOutlined)、设置(SettingOutlined) +- 点击导航图标时调用对应 QuadrantPanel 的 `setActiveTab()` 方法并展开面板 +- 当前激活的导航图标高亮显示(使用 `--color-primary`) +- TopNav 添加导航栏折叠/展开按钮 +- 导航栏折叠时宽度为 0px,展开时为 32px +- 导航状态与路由同步 + +**Patterns to follow:** QuadrantPanel 的 `setActiveTab()` 方法 + +**Test scenarios:** +- 导航栏显示 6 个图标,宽度 32px +- 点击「工作流」图标 → 右上面板切换到工作流 Tab 并展开 +- 点击「监控」图标 → 右下面板切换到监控 Tab 并展开 +- 点击「对话」图标 → 聚焦左侧对话面板 +- 当前激活图标高亮 +- TopNav 按钮可折叠/展开导航栏 +- 折叠后导航栏宽度为 0px + +**Verification:** 导航栏图标可切换右侧面板内容,折叠/展开正常 + +### U3. 暗色主题 Token 定义与切换 + +**Goal:** 在现有浅色 Token 基础上新增暗色主题 Token,支持一键切换。 + +**Requirements:** R4, R6 + +**Dependencies:** 无 + +**Files:** +- `src/agentkit/server/frontend/src/styles/tokens.css` (修改 — 添加 `[data-theme="dark"]` 块) +- `src/agentkit/server/frontend/src/styles/theme.ts` (修改 — 暗色主题 Ant Design 映射) +- `src/agentkit/server/frontend/src/components/layout/TopNav.vue` (修改 — 添加主题切换按钮) +- `src/agentkit/server/frontend/src/stores/theme.ts` (新建 — 主题状态管理) + +**Approach:** +- 在 `tokens.css` 末尾添加 `[data-theme="dark"]` 选择器块,覆盖所有颜色相关 token(背景、文本、边框、主色、语义色、灰色阶、代码色) +- 暗色主题配色:深色背景(#1a1a2e 系列)、荧光强调色(保持 Indigo 主色但调亮)、终端原生感 +- 新建 `stores/theme.ts`:管理主题状态(`light`/`dark`),切换时修改 `document.documentElement.dataset.theme`,偏好保存到 localStorage +- TopNav 添加太阳/月亮图标切换按钮 +- `theme.ts` 中的 `readToken()` 已在运行时从 CSS 变量读取,暗色 token 覆盖后 Ant Design 主题自动跟随 + +**Patterns to follow:** 现有 `tokens.css` 的 `:root` 定义模式,`theme.ts` 的 `readToken()` 模式 + +**Test scenarios:** +- 点击 TopNav 月亮图标 → 界面切换到暗色主题 +- 点击太阳图标 → 切换回浅色主题 +- 暗色主题下所有组件正常显示(文字可读、边框可见、按钮可点击) +- 暗色主题下 Ant Design 组件(按钮、输入框、下拉框、模态框)正常显示 +- 主题偏好保存到 localStorage,刷新后保持 +- 代码块在暗色主题下使用暗色代码配色 + +**Verification:** 主题切换按钮可用,两种主题下所有界面元素正常显示 + +--- + +### 迭代 2:组件样式统一 + +### U4. 组件样式统一与 Ant Design 覆盖清理 + +**Goal:** 所有组件统一引用 Design Token,清理 App.vue 中的 `!important` 覆盖。 + +**Requirements:** R7 + +**Dependencies:** U3 + +**Files:** +- `src/agentkit/server/frontend/src/App.vue` (修改 — 清理全局覆盖) +- `src/agentkit/server/frontend/src/components/layout/SideNav.vue` (修改 — 迁移到 token) +- `src/agentkit/server/frontend/src/styles/theme.ts` (修改 — 增强组件级 token 映射) +- 各组件 scoped 样式中的硬编码值 (修改 — 替换为 token 引用) + +**Approach:** +- 将 App.vue 中的 `.ant-btn`、`.ant-card` 等全局覆盖迁移到 `theme.ts` 的组件级 token 映射中,消除 `!important` +- SideNav.vue 的硬编码 `rgba()` 值替换为 token 引用 +- 扫描所有组件 scoped 样式中的硬编码颜色/间距值,替换为 token 引用 +- 主色统一为 `--color-primary`(消除 `#1677ff`/`#1890ff` 残留) + +**Patterns to follow:** `theme.ts` 的组件级 token 映射模式 + +**Test scenarios:** +- App.vue 中无 `!important` 覆盖 +- 所有组件 scoped 样式中无硬编码颜色值 +- 浅色和暗色主题下所有组件样式一致 +- Ant Design 组件(按钮、卡片、标签、模态框、选择框)圆角和间距统一 + +**Verification:** 搜索代码中无硬编码颜色值(除 token 定义文件外),两种主题下样式一致 + +--- + +### 迭代 3:交互增强 + +### U5. 过渡动画 + +**Goal:** 为所有交互添加过渡动画。 + +**Requirements:** R8 + +**Dependencies:** U1 + +**Files:** +- `src/agentkit/server/frontend/src/components/layout/QuadrantPanel.vue` (修改 — 折叠/展开动画) +- `src/agentkit/server/frontend/src/components/layout/AgentLayout.vue` (修改 — Tab 切换动画) +- `src/agentkit/server/frontend/src/views/ChatView.vue` (修改 — 消息列表动画) +- `src/agentkit/server/frontend/src/styles/transitions.css` (修改 — 如需新增动画类) + +**Approach:** +- QuadrantPanel 折叠/展开:使用 Vue `` 包裹 body 区域,应用 `collapse` 动画类 +- Tab 切换:使用 Vue `` 包裹 content 区域,应用 `fade` 动画类 +- ChatView 消息列表:使用 `` 包裹消息列表,应用 `stagger-list` 动画类 +- 路由切换:使用 `` 包裹 ``,应用 `fade` 动画类 + +**Patterns to follow:** 现有 `transitions.css` 定义的动画类 + +**Test scenarios:** +- 面板折叠/展开有平滑过渡(200ms ease) +- Tab 切换有淡入淡出(150ms) +- 新消息出现有交错渐入效果 +- 动画不影响操作响应速度 + +**Verification:** 所有交互有流畅的过渡动画,无生硬切换 + +### U6. 操作反馈 + +**Goal:** 为用户操作提供即时反馈。 + +**Requirements:** R9 + +**Dependencies:** U1 + +**Files:** +- `src/agentkit/server/frontend/src/components/common/AppToast.vue` (新建 — Toast 通知组件) +- `src/agentkit/server/frontend/src/components/common/SkeletonLoader.vue` (新建 — 骨架屏组件) +- `src/agentkit/server/frontend/src/components/layout/TopNav.vue` (修改 — WebSocket 断连横幅) +- `src/agentkit/server/frontend/src/stores/chat.ts` (修改 — 使用 Toast 替代错误提示) + +**Approach:** +- 新建 AppToast 组件:基于 Ant Design Vue `message` API 封装,支持 success/error/warning/info 四种类型 +- 新建 SkeletonLoader 组件:使用现有 `skeleton-pulse` 关键帧动画,支持不同形状(文本/卡片/列表) +- TopNav 添加 WebSocket 断连横幅:使用 `slide-down` 动画类 +- chat.ts 中的错误提示从 `console.error` 改为 Toast 通知 + +**Patterns to follow:** 现有 `transitions.css` 的 `skeleton-pulse` 动画 + +**Test scenarios:** +- 操作成功时显示绿色 Toast 通知 +- 操作失败时显示红色 Toast 通知 +- 加载状态显示骨架屏而非 `` +- WebSocket 断连时顶部显示黄色横幅 +- 重连后横幅自动消失 + +**Verification:** 所有操作有即时视觉反馈 + +### U7. 空状态设计 + +**Goal:** 为所有空状态提供品牌化插图和引导文案。 + +**Requirements:** R10 + +**Dependencies:** U1 + +**Files:** +- `src/agentkit/server/frontend/src/components/common/EmptyState.vue` (新建 — 通用空状态组件) +- `src/agentkit/server/frontend/src/views/ChatView.vue` (修改 — 对话空状态) +- `src/agentkit/server/frontend/src/views/WorkflowView.vue` (修改 — 工作流空状态) +- `src/agentkit/server/frontend/src/views/EvolutionView.vue` (修改 — 监控空状态) +- `src/agentkit/server/frontend/src/views/KnowledgeBaseView.vue` (修改 — 知识库空状态) +- `src/agentkit/server/frontend/src/views/SkillsView.vue` (修改 — 技能空状态) + +**Approach:** +- 新建 EmptyState 通用组件:接受 icon(Ant Design 图标组件)、title、description、action(可选操作按钮)三个 props +- 各视图的空状态使用 EmptyState 组件替换当前的纯文字提示 +- 对话空状态:MessageOutlined + "开始对话" + "输入消息与 Agent 交互" +- 工作流空状态:ApartmentOutlined + "创建工作流" + "拖拽节点构建自动化流程" +- 监控空状态:DashboardOutlined + "暂无监控数据" + "执行任务后数据将自动更新" +- 知识库空状态:BookOutlined + "添加知识源" + "上传文档或配置外部知识库" +- 技能空状态:AppstoreOutlined + "注册技能" + "通过 YAML 配置定义技能" + +**Patterns to follow:** Ant Design Vue 的 `a-empty` 组件模式 + +**Test scenarios:** +- 新用户打开对话页面显示空状态引导 +- 工作流列表为空时显示空状态引导 +- 监控数据为空时显示空状态引导 +- 空状态组件在浅色和暗色主题下正常显示 + +**Verification:** 所有空状态有品牌化插图和引导文案 + +### U8. 拖拽交互增强 + +**Goal:** 优化拖拽操作的视觉反馈。 + +**Requirements:** R11 + +**Dependencies:** U1 + +**Files:** +- `src/agentkit/server/frontend/src/components/layout/SplitPane.vue` (修改 — 拖拽比例提示) +- `src/agentkit/server/frontend/src/views/WorkflowView.vue` (修改 — 节点拖拽预览,如 FlowCanvas 支持) + +**Approach:** +- SplitPane 拖拽时:在分割线旁显示当前比例百分比(如 "55%"),拖拽结束后淡出 +- SplitPane 拖拽时:分割线高亮加粗(从 2px 到 4px),颜色从 `--border-color` 变为 `--color-primary` +- 工作流节点拖拽:如果 Vue Flow 支持自定义拖拽预览,添加放置预览指示 + +**Patterns to follow:** 现有 SplitPane 的拖拽处理模式 + +**Test scenarios:** +- 拖拽分割线时显示当前比例百分比 +- 拖拽时分割线高亮加粗 +- 拖拽结束后比例提示淡出 +- 键盘调整分割线时也显示比例提示 + +**Verification:** 拖拽操作有清晰的视觉反馈 + +--- + +## Scope Boundaries + +**Deferred to follow-up work:** +- 代码 Diff 查看器实现(右上「代码」Tab 仍为占位) +- Cmd+K 内联编辑 +- @-mention 上下文引用 +- 响应式移动端适配 +- SideNav (Legacy) 组件迁移(AppLayout 保留作为回退) + +**Outside this product's identity:** +- 多用户协作/实时协同编辑 +- 插件市场 +- 代码编辑器(只读预览) + +--- + +## Risks & Dependencies + +| Risk | Impact | Mitigation | +|------|--------|-----------| +| 暗色主题 token 覆盖不完整 | 部分组件在暗色下显示异常 | 逐组件验证,优先覆盖高频组件 | +| Ant Design Vue 4.x CSS-in-JS 主题跟随 | 暗色切换后 Ant 组件可能不跟随 | `readToken()` 运行时读取确保跟随,需验证 | +| 布局重构影响子视图高度计算 | 子视图内容溢出或空白 | 子视图使用 `height: 100%` + `overflow: auto` | +| 过渡动画性能 | 大量 DOM 操作时卡顿 | 使用 CSS transform/opacity 触发 GPU 加速 | diff --git a/docs/plans/2026-06-13-003-feat-platform-experience-upgrade-plan.md b/docs/plans/2026-06-13-003-feat-platform-experience-upgrade-plan.md new file mode 100644 index 0000000..de85624 --- /dev/null +++ b/docs/plans/2026-06-13-003-feat-platform-experience-upgrade-plan.md @@ -0,0 +1,807 @@ +--- +title: "feat: AgentKit Platform Experience Upgrade" +status: active +created: 2026-06-13 +plan-type: feat +depth: deep +origin: docs/brainstorms/2026-06-13-agentkit-platform-experience-upgrade-requirements.md +--- + +# feat: AgentKit Platform Experience Upgrade + +## Summary + +对 Fischer AgentKit 进行平台级体验升级,四线并行推进:布局重构为左对话+右双栏、对话体验深化(首 Token 即渲染+消息格式增强+@-mention 四类引用)、响应速度核心优化、暗色主题与交互增强、Computer Use MVP——分三个冲击波迭代交付。 + +## Problem Frame + +AgentKit 后端能力丰富(ReAct、Skill、Pipeline、记忆、自进化、多 Agent 市场),但 GUI 仍处于"功能可用但体验粗糙"状态。核心痛点:对话空间被压缩到 1/4 屏幕、消息纯文本无高亮、首 Token 延迟 5-10 秒、无暗色主题、无交互反馈、Computer Use 为占位。需求文档(见 origin)定义了 25 个需求(R1-R25),本计划定义如何实现。 + +--- + +## Key Technical Decisions + +**KTD-1: 布局重构通过调整 SplitPane 嵌套实现,子视图零修改。** 当前 AgentLayout 使用三层 SplitPane(水平→左垂直+右垂直),重构为两层(水平→右垂直),ChatView 直接作为水平 SplitPane 的 first slot。QuadrantPanel 和 SplitPane 组件不变,只改 AgentLayout 的嵌套结构和路由映射。(see origin: R1) + +**KTD-2: 消息格式增强基于 MarkdownIt 插件扩展 + DOMPurify 白名单扩展。** 当前 ChatMessage 已使用 MarkdownIt 渲染,添加 `markdown-it-highlightjs` 插件实现代码高亮,自定义 `tool_call` 和 `file_preview` 块级渲染器实现工具调用卡片和文件预览。关键:当前 DOMPurify 的 `ALLOWED_TAGS` 白名单不包含 `div`、`img`、`button`,自定义渲染器输出的 HTML 元素会被过滤,必须扩展白名单。不引入新的 Markdown 渲染引擎。(see origin: R8, R9, R10) + +**KTD-3: @-mention 通过扩展 WebSocket 消息协议实现。** 在现有 `WsClientMessage` 的 `sources` 字段基础上扩展,引用项编码为 `{type: "mention", mention_type: "file"|"skill"|"workflow"|"agent", id: string, label: string}`,后端解析后注入 Agent 上下文。新增 `/api/v1/portal/mention-suggest` REST 端点提供 autocomplete 数据。(see origin: R13, R14) + +**KTD-4: Computer Use MVP 使用 pyautogui + screencapture 实现截屏和点击。** 替换 `DockerComputerUseSession` 的 stub 为 `LocalComputerUseSession`,macOS 使用 `screencapture` 截屏 + `pyautogui` 执行点击/输入操作,Linux 使用 `xdotool` + `scrot`。不依赖 Docker 容器化。前端新增 ComputerUseView 实际界面替代占位页。(see origin: R19, R20) + +**KTD-5: 暗色主题通过 `[data-theme="dark"]` CSS 选择器覆盖 + 响应式 Ant Design token。** 在现有 `tokens.css` 中添加 `[data-theme="dark"]` 块覆盖同名 CSS 变量,新增 `stores/theme.ts` 管理主题状态和 localStorage 持久化。关键:`styles/theme.ts` 的 `readToken()` 是模块加载时一次性执行的,切换主题后需重新调用生成新的 `themeConfig` 并传给 ConfigProvider,否则 Ant Design 组件不跟随暗色主题。(see origin: R11) + +**KTD-6: 响应速度优化 U1-U4 已实现,仅补充 portal.py 的 ReActEngine 复用。** `HeuristicClassifier`、`_classify_merged`、`parallel_tools`、`AsyncWriteQueue` 均已在代码中。`chat.py` 已有 ReActEngine 复用逻辑,但 `portal.py` 每次创建新实例,需对齐。(see origin: R5, R6, R7) + +--- + +## High-Level Technical Design + +### 迭代 1 架构:对话体验质变 + +```mermaid +flowchart TB + subgraph Frontend + AL[AgentLayout] --> SP_H[SplitPane horizontal 55:45] + SP_H --> CV[ChatView 全高] + SP_H --> SP_V[SplitPane vertical 60:40] + SP_V --> QP_TR[QuadrantPanel 右上] + SP_V --> QP_BR[QuadrantPanel 右下] + + CV --> CI[ChatInput] + CV --> CM[ChatMessage] + CM --> MD[MarkdownIt + highlightjs] + CM --> TC[ToolCallCard 渲染器] + CM --> FP[FilePreview 渲染器] + + CI --> WS[WebSocket] + end + + subgraph Backend + WS --> PORTAL[portal.py] + PORTAL --> HC[HeuristicClassifier 已实现] + PORTAL --> MERGE[_classify_merged 已实现] + PORTAL --> RE[ReActEngine 复用] + RE --> STREAM[execute_stream] + STREAM --> |token 事件| WS + end +``` + +### @-mention 数据流(迭代 2) + +```mermaid +sequenceDiagram + participant U as User + participant CI as ChatInput + participant API as /mention-suggest + participant WS as WebSocket + participant PORTAL as portal.py + participant AGENT as Agent + + U->>CI: 输入 @ + CI->>API: GET /mention-suggest?q=keyword + API-->>CI: [{type, id, label, icon}] + U->>CI: 选择引用项 + CI->>CI: 添加 ContextPill + U->>CI: 发送消息 + CI->>WS: {type:chat, message, mentions:[...]} + WS->>PORTAL: 解析 mentions + PORTAL->>PORTAL: 查询引用内容 + PORTAL->>AGENT: 注入上下文 + AGENT-->>WS: 流式响应 + WS-->>CI: 渲染响应 +``` + +--- + +## Requirements Traceability + +| Requirement | Iteration | Implementation Unit(s) | +|-------------|-----------|----------------------| +| R1. 左对话+右双栏 | 1 | U1 | +| R2. 面板折叠 | 1 | U1 | +| R3. 侧边导航图标 | 1 | U2 | +| R4. 小屏幕适配 | 1 | U1 | +| R5. 启发式分类器 | 1 | 已实现 | +| R6. 合并路由调用 | 1 | 已实现 | +| R7. 首 Token 即渲染 | 1 | U3 | +| R8. 代码块高亮 | 1 | U4 | +| R9. 工具调用可视化 | 1 | U5 | +| R10. 图片/文件预览 | 1 | U6 | +| R11. 暗色主题 | 2 | U7 | +| R12. 组件样式统一 | 2 | U8 | +| R13. @-mention Autocomplete | 2 | U9 | +| R14. @-mention 上下文注入 | 2 | U10 | +| R15. @-mention 引用标签 | 2 | U9 | +| R16. 过渡动画 | 2 | U11 | +| R17. 操作反馈 | 2 | U12 | +| R18. 空状态设计 | 2 | U13 | +| R19. 截屏查看 | 3 | U14 | +| R20. 简单点击操作 | 3 | U14 | +| R21. Computer Use 面板 | 3 | U15 | +| R22. 并行工具执行 | 3 | 已实现 | +| R23. 异步会话写入 | 3 | 已实现 | +| R24. 分割线拖拽增强 | 3 | U16 | +| R25. 面板折叠缩略预览 | 3 | U17 | + +--- + +## Implementation Units + +### 迭代 1:对话体验质变 + +--- + +### U1. AgentLayout 布局重构 + +**Goal:** 将四象限等分布局重构为左对话+右双栏布局,对话面板占满左半屏。 + +**Requirements:** R1, R2, R4 + +**Dependencies:** None + +**Files:** +- `src/agentkit/server/frontend/src/components/layout/AgentLayout.vue` — 重构 SplitPane 嵌套 +- `src/agentkit/server/frontend/src/router/index.ts` — 移除 terminal 路由,调整 quadrant 元数据 +- `src/agentkit/server/frontend/src/styles/responsive.css` — 调整断点 + +**Approach:** + +1. 移除左侧垂直 SplitPane,ChatView 直接作为水平 SplitPane 的 `#first` slot +2. 保留右侧垂直 SplitPane(右上:代码/工作流/知识库,右下:监控/技能/设置) +3. 水平 SplitPane 默认比例改为 0.55(55:45) +4. 移除 `agent-terminal` 路由定义 +5. 调整 responsive.css:≥1280px 完整展示,1024-1280px 右下面板默认折叠,<1024px 提示。**注意:** 当前 responsive.css 的选择器基于四象限布局结构(如 `.split-pane--horizontal > .split-pane__second .split-pane--vertical > .split-pane__second .quadrant-panel`),重构后这些选择器完全失效,必须根据新的两层 SplitPane 结构重写所有象限相关选择器 + +**Patterns to follow:** 现有 SplitPane 嵌套模式;QuadrantPanel 的 Tab 配置模式;localStorage 持久化 key 命名 `agent-*` + +**Test scenarios:** +- 布局渲染为左对话+右双栏,ChatView 占满左半屏高度 +- 左右分割线可拖拽,默认 55:45,范围 20%-80% +- 右侧上下分割线可拖拽,默认 60:40 +- 分割比例保存到 localStorage,刷新后恢复 +- 右上面板折叠后仅显示 Tab 栏(约 38px) +- 右下面板折叠后仅显示 Tab 栏 +- 两个面板可同时折叠 +- 折叠/展开有 200ms ease 过渡动画 +- 屏幕宽度 <1024px 显示提示 +- 屏幕宽度 1024-1280px 右下面板默认折叠 +- terminal 路由不再存在 + +**Verification:** 手动测试布局在不同屏幕宽度下的表现;折叠/展开动画流畅;localStorage 持久化正常。 + +--- + +### U2. 侧边导航精简为图标模式 + +**Goal:** 将侧边导航精简为 32px 宽图标导航栏,点击图标切换右侧面板 Tab 并展开。 + +**Requirements:** R3 + +**Dependencies:** U1 + +**Files:** +- `src/agentkit/server/frontend/src/components/layout/TopNav.vue` — 添加侧边导航切换按钮 +- `src/agentkit/server/frontend/src/components/layout/IconNav.vue` — 新建 32px 图标导航组件 +- `src/agentkit/server/frontend/src/components/layout/AgentLayout.vue` — 集成 IconNav + +**Approach:** + +1. 新建 `IconNav.vue`:32px 宽图标导航栏,只显示图标(对话、工作流、知识库、技能、监控、设置)。注意:现有 `SideNav.vue` 是遗留的 AppLayout 组件(240px 宽暗色侧边栏),不在 AgentLayout 中使用,不需要修改。 +2. 点击图标:调用对应 QuadrantPanel 的 `setActiveTab()` 并展开面板 +3. 当前激活图标高亮(使用 `--color-primary` Token) +4. TopNav 添加折叠/展开 SideNav 的按钮 +5. SideNav 状态保存到 localStorage + +**Patterns to follow:** QuadrantPanel 的 `setActiveTab()` 暴露方法;现有 SideNav 的导航项定义模式 + +**Test scenarios:** +- SideNav 宽度为 32px,只显示图标 +- 点击对话图标,ChatView 获得焦点 +- 点击工作流图标,右上面板切换到 workflow Tab 并展开 +- 点击监控图标,右下面板切换到 monitor Tab 并展开 +- 当前激活图标高亮 +- TopNav 按钮可折叠/展开 SideNav +- 折叠状态保存到 localStorage + +**Verification:** 手动测试图标导航与面板联动;折叠/展开正常。 + +--- + +### U3. 首步骤即渲染 + portal.py ReActEngine 复用 + +**Goal:** 前端接收到首个流式步骤即开始渲染;后端 portal.py 复用 ReActEngine 实例。 + +**Requirements:** R7 + +**Dependencies:** None + +**Files:** +- `src/agentkit/server/frontend/src/stores/chat.ts` — 确认流式渲染逻辑正确处理首个步骤 +- `src/agentkit/server/frontend/src/components/chat/ChatMessage.vue` — 确认流式内容渲染无闪烁 +- `src/agentkit/server/routes/portal.py` — ReActEngine 复用(对齐 chat.py 模式,覆盖 SSE + WS 两个路径) + +**Approach:** + +1. 前端:当前 `handleWsMessage` 的 `step` 事件在 `event_type === 'final_answer'` 时逐块累加 content,确认首个步骤到达即渲染。注意:后端当前按"步骤"粒度推送(thinking/tool_call/tool_result/final_answer),不是逐 Token 推送。"首 Token 即渲染"在此架构下实际含义是"首步骤即渲染"——`final_answer` 事件的 `data.output` 是文本块,到达即显示。 +2. 后端:portal.py 有两处创建 ReActEngine(SSE 路径约第 342 行,WS 路径约第 661 行),均需改为复用 agent 上已绑定的 `_react_engine`(对齐 chat.py 第 197 行的 `getattr(agent, "_react_engine", None)` 模式)。复用时调用 `react_engine.reset()` 重置内部状态。 +3. 注意 `agent_pool.py` 的 `create_agent_from_skill()` 已在 agent 上绑定 `agent._react_engine`,portal.py 应优先使用该实例。 + +**Patterns to follow:** chat.py 的 `getattr(agent, "_react_engine", None)` 复用模式 + +**Test scenarios:** +- 发送简单问候,首 Token 在 1 秒内渲染 +- 流式输出逐字显示,无整体延迟 +- ReActEngine 在同一会话中复用,不创建新实例 +- 会话结束后 ReActEngine 正确重置 +- token 事件和 final_answer 事件均触发前端渲染更新 + +**Verification:** 手动测试对话首 Token 延迟;检查 portal.py 日志确认 ReActEngine 复用。 + +--- + +### U4. 代码块语法高亮 + +**Goal:** 消息中的代码块自动识别语言并语法高亮,支持复制按钮。 + +**Requirements:** R8 + +**Dependencies:** None + +**Files:** +- `src/agentkit/server/frontend/src/components/chat/ChatMessage.vue` — 添加 highlight.js 插件 + 扩展 DOMPurify 白名单 +- `src/agentkit/server/frontend/src/styles/` — 代码高亮主题样式 +- `src/agentkit/server/frontend/package.json` — 添加 `highlight.js` 依赖 + +**Approach:** + +1. 安装 `highlight.js` 和 `markdown-it-highlightjs`(或手动配置 MarkdownIt 的 highlight 选项) +2. 在 ChatMessage 的 MarkdownIt 实例中配置 highlight 函数使用 highlight.js +3. 代码高亮主题使用 Catppuccin Mocha(与 tokens.css 中的代码主题一致) +4. 添加代码块复制按钮(点击复制代码内容到剪贴板,显示 Toast 反馈) +5. 代码块语言标签显示在右上角 +6. **扩展 DOMPurify 白名单**:当前 `ALLOWED_TAGS` 不包含 `code`、`pre`、`span`(highlight.js 生成的标签),需添加这些标签及 `class`、`data-language` 属性 + +**Patterns to follow:** 现有 MarkdownIt 配置模式;tokens.css 中的代码主题色(`--color-code-*`) + +**Test scenarios:** +- Python 代码块正确高亮(关键字、字符串、注释、函数名) +- JavaScript 代码块正确高亮 +- 未指定语言的代码块使用自动检测 +- 复制按钮点击后内容复制到剪贴板,显示 Toast +- 代码块语言标签正确显示 +- 流式输出时代码块逐步高亮(不闪烁) + +**Verification:** 手动测试不同语言代码块的渲染效果。 + +--- + +### U5. 工具调用可视化 + +**Goal:** 工具调用显示为可折叠的步骤卡片,展示工具名称、参数摘要、执行状态、结果预览。 + +**Requirements:** R9 + +**Dependencies:** U3 + +**Files:** +- `src/agentkit/server/frontend/src/components/chat/ChatMessage.vue` — 添加工具调用渲染逻辑 + 扩展 DOMPurify 白名单 +- `src/agentkit/server/frontend/src/components/chat/ToolCallCard.vue` — 新建工具调用卡片组件 + +**Approach:** + +1. 创建 `ToolCallCard.vue` 组件:可折叠卡片,显示工具名称(图标+名称)、参数摘要(截断显示)、执行状态(pending/running/completed/error)、结果预览(折叠时显示前 2 行) +2. 在 ChatMessage 中,检测 `step` 事件中的 `tool_call` 和 `tool_result` 事件类型,将配对的工具调用渲染为 ToolCallCard +3. 利用 chat store 中 `streamingSteps` 的数据,匹配工具调用和结果 +4. 折叠/展开动画使用现有 `transitions.css` 的 `collapse` 类 +5. **扩展 DOMPurify 白名单**:添加 `div`、`button`、`data-tool-call`、`data-tool-result` 等标签和属性,确保 ToolCallCard 的 HTML 不被过滤 + +**Patterns to follow:** 现有 `streamingSteps` 数据结构;transitions.css 的 collapse 动画;QuadrantPanel 的折叠模式 + +**Test scenarios:** +- 工具调用显示为卡片,包含工具名称和参数摘要 +- 执行中状态显示 loading 指示器 +- 完成后显示结果预览(前 2 行) +- 点击卡片展开查看完整参数和结果 +- 多个工具调用按顺序显示 +- 折叠/展开有平滑过渡动画 +- 错误状态的工具调用显示错误信息 + +**Verification:** 手动测试触发工具调用的对话,验证卡片渲染和交互。 + +--- + +### U6. 图片和文件预览 + +**Goal:** 消息中的图片内联显示缩略图,文件显示为可下载卡片。 + +**Requirements:** R10 + +**Dependencies:** U4 + +**Files:** +- `src/agentkit/server/frontend/src/components/chat/ChatMessage.vue` — 添加图片/文件渲染逻辑 + 扩展 DOMPurify 白名单 +- `src/agentkit/server/frontend/src/components/chat/FilePreview.vue` — 新建文件预览卡片组件 + +**Approach:** + +1. 创建 `FilePreview.vue` 组件:文件名+大小+类型图标+下载按钮 +2. 在 ChatMessage 的 MarkdownIt 渲染中,自定义 `image` 渲染规则:内联缩略图,点击放大 +3. 检测消息中的文件链接(URL 以常见文件扩展名结尾),渲染为 FilePreview 卡片 +4. 图片缩略图使用 CSS `object-fit: contain`,最大高度 200px +5. **扩展 DOMPurify 白名单**:添加 `img` 标签及 `src`、`alt`、`loading` 属性 + +**Patterns to follow:** 现有 MarkdownIt 自定义渲染器模式;tokens.css 的间距和圆角 Token + +**Test scenarios:** +- 消息中的图片 URL 显示为内联缩略图 +- 点击缩略图放大查看 +- 文件链接显示为卡片(文件名+大小+类型图标) +- 下载按钮点击触发文件下载 +- 非图片/文件链接正常渲染为超链接 + +**Verification:** 手动测试包含图片和文件链接的消息渲染。 + +--- + +### 迭代 2:专业感 + 精准度 + +--- + +### U7. 暗色主题 Token 定义与切换 + +**Goal:** 在浅色 Token 基础上新增暗色主题 Token 变体,支持一键切换。 + +**Requirements:** R11 + +**Dependencies:** U1 + +**Files:** +- `src/agentkit/server/frontend/src/styles/tokens.css` — 添加 `[data-theme="dark"]` 块 +- `src/agentkit/server/frontend/src/stores/theme.ts` — 新建主题 store +- `src/agentkit/server/frontend/src/styles/theme.ts` — 改造 `readToken()` 为可重复调用的函数,支持主题切换时重新生成 `themeConfig` +- `src/agentkit/server/frontend/src/components/layout/TopNav.vue` — 添加主题切换按钮 +- `src/agentkit/server/frontend/src/App.vue` — 监听主题变化,更新 `data-theme` 属性和 ConfigProvider + +**Approach:** + +1. 在 tokens.css 末尾添加 `[data-theme="dark"]` 选择器块,覆盖所有颜色变量(背景、前景、边框、品牌色、语义色、代码主题色) +2. 暗色配色方案:深色背景 `#1a1a2e` 系列、荧光强调色、终端原生感 +3. 创建 `stores/theme.ts`:`currentTheme` ref('light'|'dark'),`toggleTheme()` 方法,localStorage 持久化 +4. **改造 `styles/theme.ts`**:当前 `readToken()` 在模块加载时一次性执行,生成静态 `themeConfig`。切换暗色主题后 CSS 变量值变了,但 `themeConfig` 不会重新计算。需将 `themeConfig` 改为响应式:导出 `getThemeConfig()` 函数,App.vue 监听 `currentTheme` 变化时重新调用生成新 config 并传给 ConfigProvider +5. App.vue 监听 `currentTheme` 变化,更新 `document.documentElement.dataset.theme` 和 ConfigProvider 的 `theme` prop +6. TopNav 添加太阳/月亮图标切换按钮 + +**Patterns to follow:** 现有 tokens.css 的变量命名模式;theme.ts 的 `readToken()` 运行时映射 + +**Test scenarios:** +- 点击切换按钮,界面从浅色切换到暗色 +- 所有组件在暗色主题下正常显示(文字可读、对比度足够) +- 代码块在暗色主题下使用 Catppuccin Mocha 配色 +- 主题偏好保存到 localStorage,刷新后恢复 +- 切换过渡平滑(CSS transition on color variables) + +**Verification:** 手动测试暗色主题下所有页面的显示效果。 + +--- + +### U8. 组件样式统一 + +**Goal:** 所有组件统一引用 Design Token,消除硬编码值。 + +**Requirements:** R12 + +**Dependencies:** U7 + +**Files:** +- `src/agentkit/server/frontend/src/components/layout/SideNav.vue` — 替换硬编码颜色 +- `src/agentkit/server/frontend/src/App.vue` — 替换 `!important` 全局覆盖为 Token 驱动 +- 各组件 scoped 样式中的硬编码值逐一替换 + +**Approach:** + +1. 全局搜索 `rgba(`、`#` 开头的硬编码颜色值(排除 tokens.css 本身) +2. 逐一替换为对应的 CSS 变量引用 +3. App.vue 中的 Ant Design 全局覆盖从 `!important` 改为通过 ConfigProvider token 注入 +4. 确保暗色主题下替换后的变量值正确 + +**Patterns to follow:** tokens.css 的变量命名;theme.ts 的 readToken() 映射 + +**Test scenarios:** +- 零硬编码颜色值(tokens.css 除外) +- 浅色和暗色主题下所有组件样式一致 +- Ant Design 组件通过 ConfigProvider token 驱动样式 +- 无 `!important` 覆盖(特殊情况除外) + +**Verification:** 代码搜索确认无硬编码颜色值;双主题视觉验证。 + +--- + +### U9. @-mention Autocomplete 前端 + +**Goal:** 对话输入框中输入 `@` 触发下拉选择器,支持四类引用,选中后显示为 ContextPill。 + +**Requirements:** R13, R15 + +**Dependencies:** U1 + +**Files:** +- `src/agentkit/server/frontend/src/components/chat/ChatInput.vue` — 添加 @-mention 触发和选择逻辑 +- `src/agentkit/server/frontend/src/components/chat/MentionDropdown.vue` — 新建下拉选择器组件 +- `src/agentkit/server/frontend/src/api/client.ts` — 添加 mention-suggest API 调用 +- `src/agentkit/server/frontend/src/api/types.ts` — 添加 MentionItem 类型定义 + 扩展 WsClientMessage 添加 `mentions` 字段 + +**Approach:** + +1. 定义 `MentionItem` 类型:`{type: 'file'|'skill'|'workflow'|'agent', id: string, label: string, icon?: string, description?: string}` +2. ChatInput 监听输入,检测 `@` 字符触发 MentionDropdown +3. MentionDropdown 调用 `/api/v1/portal/mention-suggest?q=keyword` 获取建议列表 +4. 选中后生成 ContextPill 添加到 `contextPills` 数组(复用现有 ContextPillData 接口,扩展 type/id 字段) +5. 发送消息时,将 mentions 数组附加到 WebSocket 消息 +6. **R15 覆盖**:ChatMessage 渲染时检测消息的 mentions 元数据,将 @引用渲染为可点击的标签/链接(点击跳转到对应面板或打开详情) + +**⚠ 前后端协议耦合**:U9 和 U10 必须在同一迭代内同步交付,否则 WebSocket 协议不兼容。 + +**Patterns to follow:** 现有 ContextPill 数据结构;Ant Design Vue 的 AutoComplete/Select 组件模式 + +**Test scenarios:** +- 输入 `@` 触发下拉选择器 +- 输入 `@文件名` 过滤显示匹配的知识库文档 +- 输入 `@技能名` 过滤显示匹配的技能 +- 输入 `@工作流名` 过滤显示匹配的工作流 +- 输入 `@Agent名` 过滤显示匹配的 Agent +- 选中引用项后显示为 ContextPill +- ContextPill 可点击删除 +- 发送消息时 mentions 数组正确附加 + +**Verification:** 手动测试四类 @-mention 的 autocomplete 和选择流程。 + +--- + +### U10. @-mention 后端上下文注入 + +**Goal:** 后端解析 @-mention 引用,将对应内容注入 Agent 推理上下文。 + +**Requirements:** R14 + +**Dependencies:** U9 + +**Files:** +- `src/agentkit/server/routes/portal.py` — 解析 mentions,注入上下文 +- `src/agentkit/server/routes/portal.py` — 新增 `/portal/mention-suggest` 端点 + +**Approach:** + +1. 新增 `GET /api/v1/portal/mention-suggest?q=keyword` 端点,聚合查询知识库文档、技能、工作流、Agent,返回 `MentionItem[]` +2. WebSocket 消息中解析 `mentions` 字段 +3. 根据 mention_type 和 id 查询对应内容: + - `file` → 从 KnowledgeBase 检索文档片段 + - `skill` → 从 SkillRegistry 获取技能描述和工具定义 + - `workflow` → 从 WorkflowStore 获取工作流定义 + - `agent` → 从 AgentPool 获取 Agent 配置 +4. 将引用内容作为结构化上下文注入 system_prompt 或 messages + +**Patterns to follow:** 现有 portal.py 的路由和 CostAwareRouter 模式;各 Registry 的查询 API + +**Test scenarios:** +- `/mention-suggest?q=test` 返回匹配的文件、技能、工作流、Agent +- @文件引用后,Agent 回复中引用了文档内容 +- @技能引用后,Agent 使用了指定技能 +- @工作流引用后,Agent 了解工作流定义 +- @Agent 引用后,Agent 了解目标 Agent 的能力 +- 多个 @-mention 同时使用,所有引用内容均注入 +- 无效引用(ID 不存在)优雅降级,不阻塞对话 + +**Verification:** 手动测试各类 @-mention 的上下文注入效果。 + +--- + +### U11. 过渡动画 + +**Goal:** 为所有交互添加过渡动画。 + +**Requirements:** R16 + +**Dependencies:** U1 + +**Files:** +- `src/agentkit/server/frontend/src/styles/transitions.css` — 确认/补充动画类 +- `src/agentkit/server/frontend/src/components/layout/QuadrantPanel.vue` — Tab 切换淡入淡出 +- `src/agentkit/server/frontend/src/components/layout/AgentLayout.vue` — 路由切换动画 +- 各列表渲染组件 — 交错渐入 + +**Approach:** + +1. 确认 transitions.css 中已有 fade、collapse、scale、stagger-list 类 +2. QuadrantPanel Tab 切换添加 `` 包裹 +3. AgentLayout 路由切换添加 `` +4. 列表项使用 `` +5. 所有时长引用 Design Token:`--transition-fast: 150ms`、`--transition-normal: 200ms` + +**Patterns to follow:** 现有 transitions.css 的动画类定义模式 + +**Test scenarios:** +- 面板折叠/展开有 200ms ease 过渡 +- Tab 切换有 150ms 淡入淡出 +- 列表项交错渐入(stagger 50ms) +- 路由切换有 200ms 淡入淡出 +- 动画不阻塞交互(使用 CSS transition 而非 JS 动画) + +**Verification:** 手动测试各交互动画效果。 + +--- + +### U12. 操作反馈 + +**Goal:** 为用户操作提供即时反馈。 + +**Requirements:** R17 + +**Dependencies:** U7 + +**Files:** +- `src/agentkit/server/frontend/src/components/common/ToastService.ts` — 新建 Toast 服务 +- `src/agentkit/server/frontend/src/components/chat/ChatInput.vue` — 按钮点击反馈 +- `src/agentkit/server/frontend/src/components/layout/TopNav.vue` — WebSocket 断连横幅 +- 各加载状态组件 — 骨架屏替代 a-spin + +**Approach:** + +1. 创建 ToastService:基于 Ant Design Vue 的 `message` 组件,封装 success/error/warning/info 方法 +2. 按钮点击添加 `:active` 缩放反馈(CSS `transform: scale(0.97)`) +3. 加载状态:关键区域使用骨架屏(复用 transitions.css 的 `skeleton-pulse` 动画) +4. WebSocket 断连:TopNav 下方显示红色横幅提示,重连后自动消失 + +**Patterns to follow:** Ant Design Vue message 组件;transitions.css 的 skeleton-pulse 动画 + +**Test scenarios:** +- 操作成功显示绿色 Toast +- 操作失败显示红色 Toast +- 按钮点击有缩放反馈 +- 加载状态显示骨架屏而非 Spin +- WebSocket 断连时顶部显示红色横幅 +- 重连后横幅自动消失 + +**Verification:** 手动测试各类操作反馈。 + +--- + +### U13. 空状态设计 + +**Goal:** 为所有空状态提供品牌化插图和引导文案。 + +**Requirements:** R18 + +**Dependencies:** U7 + +**Files:** +- `src/agentkit/server/frontend/src/components/common/EmptyState.vue` — 新建空状态组件 +- `src/agentkit/server/frontend/src/views/ChatView.vue` — 对话空状态 +- `src/agentkit/server/frontend/src/views/WorkflowView.vue` — 工作流空状态 +- `src/agentkit/server/frontend/src/views/EvolutionView.vue` — 监控空状态 +- `src/agentkit/server/frontend/src/views/KnowledgeBaseView.vue` — 知识库空状态 +- `src/agentkit/server/frontend/src/views/SkillsView.vue` — 技能空状态 + +**Approach:** + +1. 创建 EmptyState.vue 通用组件:接受 `title`、`description`、`icon`、`action` props +2. 各视图在数据为空时渲染 EmptyState,提供引导文案和操作按钮 +3. 图标使用 Ant Design Vue 的内置图标,配合品牌色 + +**Patterns to follow:** Ant Design Vue 的 `a-empty` 组件模式 + +**Test scenarios:** +- 对话空状态显示"开始你的第一次对话"引导 +- 工作流空状态显示"创建第一个工作流"引导 +- 监控空状态显示数据来源说明 +- 知识库空状态显示"上传文档或配置信息源"引导 +- 技能空状态显示"注册技能"引导 +- 空状态组件在暗色主题下正常显示 + +**Verification:** 手动测试各视图的空状态显示。 + +--- + +### 迭代 3:能力扩展 + +--- + +### U14. Computer Use MVP 后端(pyautogui + screencapture) + +**Goal:** 实现本地截屏和点击操作的后端闭环。 + +**Requirements:** R19, R20 + +**Dependencies:** None + +**Files:** +- `src/agentkit/tools/computer_use_session.py` — 新增 `LocalComputerUseSession` 类 +- `src/agentkit/tools/computer_use.py` — 确保工具注册和降级链正确 + +**Approach:** + +1. 创建 `LocalComputerUseSession` 类,实现 `start()`、`stop()`、`screenshot()`、`execute_action()` 方法 +2. `screenshot()` 实现:macOS 使用 `screencapture -x -t png ` 命令截屏,读取文件返回 base64;Linux 使用 `scrot` 或 `xdg-screenshot` +3. `execute_action()` 实现:使用 `pyautogui` 库执行点击(`pyautogui.click(x, y)`)、输入(`pyautogui.typewrite()`)、滚动等操作 +4. 注册到 `ComputerUseSessionManager`,作为默认会话类型(替代 Docker stub) +5. 确保降级链正确:Anthropic API → LocalComputerUseSession → Shell 替代建议 +6. 添加 `pyautogui` 到项目依赖(`pyproject.toml`) + +**Patterns to follow:** 现有 `InMemoryComputerUseSession` 的接口模式;ToolRegistry 注册模式 + +**Test scenarios:** +- OpenCLI 会话创建和销毁正常 +- 截屏返回有效的 base64 PNG 数据 +- 点击操作执行并返回结果 +- ComputerUseTool 的降级链正确工作 +- 会话管理器正确管理 OpenCLI 会话生命周期 + +**Verification:** 手动测试通过对话触发截屏和点击操作。 + +--- + +### U15. Computer Use 前端面板 + +**Goal:** 右上面板新增 Computer Use Tab,展示截屏画面和操作历史。 + +**Requirements:** R21 + +**Dependencies:** U14 + +**Files:** +- `src/agentkit/server/frontend/src/views/ComputerUseView.vue` — 替换占位页为实际界面 +- `src/agentkit/server/frontend/src/components/layout/AgentLayout.vue` — 右上面板添加 Computer Use Tab +- `src/agentkit/server/frontend/src/router/index.ts` — 添加 Computer Use 路由 + +**Approach:** + +1. 重写 ComputerUseView.vue:截屏画面显示区域(支持缩放和滚动)、操作历史列表、手动截屏按钮 +2. 截屏画面通过 WebSocket 接收 base64 图片数据,渲染为 `` 标签 +3. 操作历史显示时间戳、操作类型、坐标/参数、结果摘要 +4. 手动截屏按钮触发后端截屏命令 +5. 右上面板 QuadrantPanel 添加 Computer Use Tab + +**Patterns to follow:** 现有 QuadrantPanel Tab 配置模式;WebSocket 消息处理模式 + +**Test scenarios:** +- Computer Use Tab 在右上面板显示 +- 截屏画面正确渲染 +- 截屏画面支持缩放和滚动 +- 操作历史按时间倒序显示 +- 手动截屏按钮触发截屏 +- 暗色主题下正常显示 + +**Verification:** 手动测试 Computer Use 面板的截屏显示和操作历史。 + +--- + +### U16. 分割线拖拽增强 + +**Goal:** 拖拽分割线时高亮显示,显示当前比例百分比。 + +**Requirements:** R24 + +**Dependencies:** U1 + +**Files:** +- `src/agentkit/server/frontend/src/components/layout/SplitPane.vue` — 添加拖拽高亮和比例显示 + +**Approach:** + +1. 拖拽时 handle 元素添加高亮样式(加宽 + 品牌色背景) +2. 拖拽时显示比例百分比标签(如 "55%"),定位在 handle 旁边 +3. 使用 CSS transition 确保高亮和标签的显示/隐藏平滑 + +**Patterns to follow:** 现有 SplitPane 的拖拽逻辑和 handle 样式 + +**Test scenarios:** +- 拖拽时分割线高亮 +- 拖拽时显示当前比例百分比 +- 百分比标签定位正确不遮挡内容 +- 拖拽结束后高亮和标签消失 + +**Verification:** 手动测试拖拽交互。 + +--- + +### U17. 面板折叠缩略预览 + +**Goal:** 面板折叠时显示缩略内容预览。 + +**Requirements:** R25 + +**Dependencies:** U1 + +**Files:** +- `src/agentkit/server/frontend/src/components/layout/QuadrantPanel.vue` — 折叠时显示缩略预览 + +**Approach:** + +1. 折叠状态下,在 Tab 栏下方显示约 60px 高的缩略预览区域 +2. 预览内容根据当前活跃 Tab 类型显示:监控显示关键指标数字、技能显示技能数量、工作流显示节点缩略图 +3. 预览区域使用半透明背景,不占用过多空间 + +**Patterns to follow:** QuadrantPanel 的折叠模式;Design Token 的间距和圆角 + +**Test scenarios:** +- 右上面板折叠后显示缩略预览 +- 右下面板折叠后显示缩略预览 +- 预览内容根据活跃 Tab 更新 +- 预览区域不遮挡 Tab 栏 +- 暗色主题下预览区域正常显示 + +**Verification:** 手动测试折叠预览效果。 + +--- + +## Scope Boundaries + +**在范围内:** 见需求文档的 Scope Boundaries。 + +**延迟到后续迭代:** +- Cmd+K 内联编辑 +- Computer Use Docker 容器化隔离 +- 代码 Diff 查看器实现 +- 代码 Diff Accept/Reject 回滚 +- 响应式移动端适配 +- httpx 连接池配置优化(U5 已实现,无需额外工作) +- A/B 测试框架和性能基准 CI +- Ant Design Vue 按需引入(unplugin-vue-components) +- ECharts 按需引入 + +**不在本产品身份内:** +- 多用户协作/实时协同编辑 +- 插件市场 +- 代码编辑器 + +--- + +## Risks & Mitigations + +| Risk | Likelihood | Impact | Mitigation | +|------|-----------|--------|------------| +| @-mention 后端查询聚合性能差 | Medium | Medium — 慢速 autocomplete 影响体验 | mention-suggest 端点添加缓存(TTL 30s),结果集限制 20 条 | +| 本地截屏兼容性问题 | Medium | High — 不同 OS 环境截屏命令不同 | 检测 OS 类型选择对应命令,添加 fallback 到 InMemory 模式 | +| 暗色主题对比度不足 | Low | Medium — 部分组件在暗色下不可读 | 使用 WCAG AA 标准验证对比度,添加自动化对比度检查 | +| 消息格式增强破坏现有渲染 | Low | High — 已有消息显示异常 | MarkdownIt 插件添加 fallback,解析失败时回退到纯文本;DOMPurify 白名单扩展需谨慎测试 | +| 布局重构影响现有路由和状态 | Medium | Medium — localStorage 旧 key 导致异常 | 添加 key 版本化,旧 key 自动迁移或清理 | +| DOMPurify 白名单扩展引入 XSS | Low | High — 恶意内容可能注入 | 仅添加必要的标签和属性,不开放 `on*` 事件属性,`img` 的 `src` 限制为相对路径和已知域名 | +| Ant Design token 不跟随暗色切换 | Medium | Medium — 组件颜色不一致 | 改造 theme.ts 为响应式,切换时重新生成 themeConfig | +| 与 001 计划的 U-unit 重叠 | High | High — 并行执行产生合并冲突 | 003 吸收 001 的重叠 U-unit,001 标注为"由 003 覆盖",不并行执行 | + +--- + +## System-Wide Impact + +- **前端布局:** AgentLayout 从三层 SplitPane 改为两层,所有依赖象限位置的路由和状态需调整 +- **前端样式:** 暗色主题影响所有组件,需全面测试 +- **WebSocket 协议:** @-mention 扩展了 `WsClientMessage` 的 `mentions` 字段,需前后端同步升级 +- **后端路由:** 新增 `/portal/mention-suggest` 端点,portal.py 需解析 mentions +- **工具系统:** 新增 OpenCLIComputerUseSession,ComputerUseTool 降级链调整 +- **响应速度:** portal.py 的 ReActEngine 复用减少实例创建开销 + +--- + +## Outstanding Questions + +**Deferred to Implementation:** +- @-mention 后端解析的具体协议细节:mentions 字段在 WebSocket 消息中的 JSON 结构 +- 工具调用步骤卡片的折叠/展开交互细节:默认折叠还是展开 +- 骨架屏的具体形状和占位内容 +- 暗色主题的具体色值需要视觉调优 +- R22/R23 对 portal.py 路径无效的决策:portal.py 使用自己的 ConversationStore(内存 dict),不使用 SessionManager,异步写入和并行工具执行对 portal 路径无影响。是否需要迁移 portal.py 到 SessionManager? + +**Plan Relationship:** +- 本计划(003)吸收了 001 计划(GUI 产品化)的所有重叠 U-unit(布局重构、暗色主题、交互增强),001 计划应标注为"由 003 覆盖",避免并行执行产生合并冲突 + +--- + +## Sources & Research + +- 需求文档:`docs/brainstorms/2026-06-13-agentkit-platform-experience-upgrade-requirements.md` +- 响应速度优化计划(U1-U4 已实现):`docs/plans/2026-06-12-021-feat-chat-response-speed-optimization-plan.md` +- GUI 产品化计划(前一轮):`docs/plans/2026-06-13-001-feat-gui-productization-plan.md` +- 前端产品化计划:`docs/plans/2026-06-12-023-feat-frontend-productization-plan.md` +- 现有 Design Token 体系:`src/agentkit/server/frontend/src/styles/tokens.css` +- 现有 WebSocket 协议:`src/agentkit/server/frontend/src/api/types.ts` +- 现有 Computer Use 工具:`src/agentkit/tools/computer_use.py`、`src/agentkit/tools/computer_use_session.py` diff --git a/docs/plans/2026-06-14-001-feat-p0-production-hardening-plan.md b/docs/plans/2026-06-14-001-feat-p0-production-hardening-plan.md new file mode 100644 index 0000000..6039087 --- /dev/null +++ b/docs/plans/2026-06-14-001-feat-p0-production-hardening-plan.md @@ -0,0 +1,498 @@ +--- +title: "feat: P0 Production Hardening — LLM Cache, Semantic Routing, State Persistence" +status: active +created_at: 2026-06-14 +type: feat +origin: "行业调研与项目审视(2026-06-14)" +depth: deep +--- + +# P0 Production Hardening — LLM Cache, Semantic Routing, State Persistence + +## Summary + +Three P0 gaps identified from industry benchmarking and project audit: (1) LLM response caching to reduce 30-50% token cost, (2) embedding-based semantic routing to improve intent matching quality at zero LLM cost, (3) critical state persistence for UsageTracker, EvolutionStore, and CascadeDetector to survive restarts and enable multi-instance deployment. Each unit requires detailed architecture design and code reasoning before implementation — design-first, code-second. + +## Problem Frame + +AgentKit has strong differentiation in self-evolution, quality management, and multi-paradigm engines, but three production-critical gaps prevent enterprise deployment: + +1. **Every LLM request hits the provider** — no caching. Identical or similar requests waste tokens and money. Competitors like Dify have built-in caching. +2. **Routing relies on keyword matching and LLM classification** — no semantic understanding. Embedding-based routing is industry standard (Agentic RAG trend) and AgentKit already has embedding infrastructure but doesn't use it for routing. +3. **Critical state lives in memory** — UsageTracker, CascadeDetector, and EvolutionStore lose data on restart. Multi-instance deployment is impossible without shared state. + +These gaps are P0 because they directly impact cost (caching), quality (routing accuracy), and reliability (state persistence) — the three pillars of production readiness. + +--- + +## Requirements + +- R1. LLM cache must support exact-match (hash-based) and semantic-match (embedding-based) cache hits +- R2. LLM cache must integrate transparently into `LLMGateway.chat()` without changing the public API +- R3. LLM cache must record usage on cache hits (0 cost) to maintain usage tracking integrity +- R4. Semantic routing must insert between Layer 1 and Layer 2 in `CostAwareRouter` +- R5. Semantic routing must use existing `OpenAIEmbedder` and `compute_cosine_similarity()` infrastructure +- R6. Semantic routing must pre-compute skill embeddings at registration time, not at query time +- R7. UsageTracker must persist records to Redis with O(1) write and efficient aggregation +- R8. CascadeDetector must persist state to Redis using atomic INCR operations +- R9. EvolutionStore must support both PostgreSQL and SQLite backends with a unified interface +- R10. All three features must degrade gracefully when Redis/PG is unavailable (fallback to in-memory) +- R11. Each unit must have detailed architecture design and code reasoning documented before implementation begins + +--- + +## Key Technical Decisions + +- **KTD-1. Cache key design**: Use `SHA256(model + system_prompt_hash + messages_content_hash + temperature + tools_hash)` for exact match. For semantic match, embed the last user message and compare against cached embeddings using cosine similarity > threshold. Rationale: exact match is fast and deterministic; semantic match catches paraphrased requests. Both are needed because exact match alone misses too many hits, and semantic match alone is too slow for every request. + +- **KTD-2. Cache storage backend**: Implement `LLMCache` as a Protocol with `InMemoryLLMCache` and `RedisLLMCache` backends. In-memory uses `OrderedDict` with LRU eviction (following `EmbeddingCache` pattern). Redis uses `agentkit:llm_cache:{hash}` keys with TTL. Rationale: follows existing factory pattern (`create_message_bus`, `create_session_store`); in-memory for dev/single-instance, Redis for production. + +- **KTD-3. Semantic routing insertion point**: Insert as Layer 1.5 between `HeuristicClassifier` and `_classify_merged()`. When Layer 1 returns medium complexity (0.3-0.7), try semantic routing first. If similarity > 0.85, return skill match directly (skip LLM). If similarity 0.6-0.85, pass skill hint to Layer 2 LLM (reduces LLM classification tokens). If < 0.6, proceed to Layer 2 unchanged. Rationale: this placement maximizes cost savings by avoiding LLM calls when semantic match is confident, while preserving the existing fallback chain. + +- **KTD-4. Skill embedding source text**: Embed `f"{skill.description} | {' '.join(skill.intent.keywords)} | {' '.join(cap.tag for cap in skill.capabilities)}"` for each skill. Cache embeddings in a dict keyed by skill name, re-embed on skill registration/update. Rationale: combines all semantic signals; description alone misses keyword intent; keywords alone misses semantic meaning. + +- **KTD-5. UsageTracker persistence strategy**: Use Redis Hash for time-series data. Key pattern: `agentkit:usage:{date}` with fields `{agent}:{model}` → JSON `{tokens, cost, latency_ms, count}`. Write via `HINCRBYFLOAT` for atomic increment. Query via `HGETALL` + client-side aggregation. Rationale: O(1) write, acceptable query performance, natural TTL by date, follows Redis patterns in project. + +- **KTD-6. CascadeDetector persistence strategy**: Use Redis atomic operations. Key pattern: `agentkit:cascade:{session_id}:interactions` (INCR + TTL) and `agentkit:cascade:{session_id}:depth` (SET/GET + TTL). Rationale: INCR is atomic, no race conditions across instances; TTL prevents memory leaks; matches session lifecycle. + +- **KTD-7. EvolutionStore interface unification**: Extend the base `EvolutionStore` Protocol to include `skill_version` and `ab_test` methods. Make `PersistentEvolutionStore` (SQLite) implement the unified Protocol. Add a new `PostgreSQLEvolutionStore` that uses async SQLAlchemy like the existing `EvolutionStore` but with the full unified interface. Rationale: current split (sync SQLite vs async PG) creates maintenance burden; unified Protocol enables backend-agnostic usage. + +- **KTD-8. Graceful degradation pattern**: All three features use the same pattern — try preferred backend, catch connection error, log warning, fall back to in-memory. Controlled by `cache.backend`, `usage_store.backend`, `cascade_store.backend` config values (`"auto"` | `"redis"` | `"memory"`). `"auto"` tries Redis, falls back to memory. Rationale: production needs persistence, but dev/testing shouldn't require Redis. + +--- + +## High-Level Technical Design + +### LLM Cache Flow + +```mermaid +flowchart TB + A[LLMGateway.chat] --> B{Cache enabled?} + B -->|no| F[Call Provider] + B -->|yes| C[Generate exact key] + C --> D{Exact match?} + D -->|hit| E[Return cached response] + D -->|miss| G[Generate embedding of last user msg] + G --> H{Semantic match? similarity > 0.92} + H -->|hit| E + H -->|miss| F + F --> I[Write to cache] + I --> J[Record usage] + E --> K[Record usage with 0 cost] +``` + +### Semantic Routing Flow + +```mermaid +flowchart TB + A[CostAwareRouter.route] --> B[Layer 0: Regex rules] + B -->|matched| Z[Return DIRECT_CHAT] + B -->|unmatched| C[Layer 1: HeuristicClassifier] + C -->|low complexity| Z + C -->|medium-high| D[Layer 1.5: Semantic Router NEW] + D -->|sim > 0.85| E[Return SKILL_REACT with matched skill] + D -->|sim 0.6-0.85| F[Pass skill_hint to Layer 2] + D -->|sim < 0.6| G[Layer 2: LLM classification] + F --> G + G --> H[Return routing result] +``` + +### State Persistence Architecture + +```mermaid +flowchart TB + subgraph "Current (In-Memory)" + UT1[UsageTracker dict] + CD1[CascadeDetector dict] + ES1[EvolutionStore SQLite] + end + subgraph "Target (Persistent)" + UT2[UsageStore Protocol] + CD2[CascadeStateStore Protocol] + ES2[UnifiedEvolutionStore Protocol] + UT2 -->|redis| R1[Redis Hash agentkit:usage:date] + UT2 -->|memory| M1[InMemoryUsageStore] + CD2 -->|redis| R2[Redis INCR agentkit:cascade:session] + CD2 -->|memory| M2[InMemoryCascadeStore] + ES2 -->|postgresql| P1[PG EvolutionEventModel + SkillVersionModel] + ES2 -->|sqlite| S1[PersistentEvolutionStore] + ES2 -->|memory| M3[InMemoryEvolutionStore] + end +``` + +--- + +## Scope Boundaries + +### In Scope + +- LLM response caching (exact + semantic match, in-memory + Redis backends) +- Semantic routing as Layer 1.5 in CostAwareRouter +- UsageTracker Redis persistence +- CascadeDetector Redis persistence +- EvolutionStore interface unification +- Configuration for all three features +- Architecture design documents for each unit before coding + +### Deferred for Follow-Up + +- Semantic cache using pgvector (current semantic match uses in-memory embedding comparison) +- Cache warming / pre-population strategies +- Routing cache (caching routing results for similar queries) +- Usage analytics dashboard (visualization of usage data) +- Multi-tenant resource quotas +- Rate limiting and concurrency control (P2) +- Distributed tracing visualization (P2) + +--- + +## Implementation Units + +### U1. LLM Cache Core + +**Goal:** Implement the `LLMCache` Protocol, `InMemoryLLMCache`, and `RedisLLMCache` with exact-match and semantic-match capabilities. + +**Dependencies:** None + +**Files:** +- `src/agentkit/llm/cache.py` (new) — `LLMCache` Protocol, `InMemoryLLMCache`, `RedisLLMCache`, `CacheResult`, `CacheKey` generation +- `src/agentkit/llm/cache_key.py` (new) — `generate_cache_key()`, `generate_messages_hash()`, `generate_system_prompt_hash()` +- `tests/unit/llm/test_cache.py` (new) — unit tests for cache backends + +**Approach:** + +Architecture design before coding: + +1. **CacheKey design reasoning**: The key must capture all inputs that affect LLM output. `model` determines which model responds. `system_prompt` sets behavior. `messages` carry the conversation. `temperature` affects randomness (only cache temperature=0 deterministically). `tools` affect tool_call availability. Hash each component independently so partial changes don't invalidate the entire key. + +2. **Exact match implementation**: SHA-256 hash of concatenated component hashes. Store as `agentkit:llm_cache:{sha256_hex}` in Redis with TTL. In-memory uses OrderedDict keyed by hash string. + +3. **Semantic match implementation**: For cache misses on exact match, embed the last user message using `OpenAIEmbedder`. Compare against cached embeddings using `compute_cosine_similarity()`. Store embeddings alongside cached responses. In-memory: linear scan of all cached embeddings. Redis: store embeddings in a separate key `agentkit:llm_cache_emb:{sha256_hex}`. + +4. **Cache write policy**: Only cache responses where `temperature == 0` (deterministic). For temperature > 0, only exact-match cache applies (no semantic match, since outputs are non-deterministic). + +5. **Cache invalidation**: TTL-based (configurable, default 3600s for exact, 86400s for semantic). Manual invalidation via `invalidate(pattern=None)` for admin operations. + +**Patterns to follow:** +- `EmbeddingCache` in `src/agentkit/memory/embedder.py` — LRU + TTL pattern +- `create_session_store()` factory in `src/agentkit/session/store.py` — backend factory pattern +- `RedisSessionStore._get_redis()` — lazy Redis initialization + +**Test scenarios:** +- Exact match: same messages + model → cache hit, returns identical response +- Exact miss: different messages → cache miss, calls provider, writes to cache +- Semantic match: paraphrased question (similarity > 0.92) → cache hit +- Semantic miss: unrelated question (similarity < 0.6) → cache miss +- Temperature > 0: only exact match attempted, no semantic match +- TTL expiry: cached entry expires after TTL, next request is a miss +- Redis unavailable: falls back to in-memory cache with warning log +- Cache with tool_calls: response containing tool_calls is cached correctly +- Concurrent access: two concurrent requests for same key don't cause double-write issues + +**Verification:** Unit tests pass; cache hit rate metric is observable; no change to `LLMGateway` public API. + +--- + +### U2. LLM Cache Integration + +**Goal:** Integrate `LLMCache` into `LLMGateway.chat()` transparently, with usage tracking on cache hits. + +**Dependencies:** U1 + +**Files:** +- `src/agentkit/llm/gateway.py` (modify) — inject cache check before provider call, cache write after provider response +- `src/agentkit/llm/config.py` (modify) — add `CacheConfig` to `LLMConfig` +- `src/agentkit/server/app.py` (modify) — pass cache config to `LLMGateway` +- `tests/unit/llm/test_gateway_cache.py` (new) — integration tests for cached gateway + +**Approach:** + +Architecture design before coding: + +1. **Insertion point reasoning**: Cache check must happen AFTER `LLMRequest` construction (line ~79 in gateway.py) but BEFORE provider call (line ~87). This ensures all request normalization (alias resolution, model fallback list) has completed. Cache write happens AFTER response validation but BEFORE usage tracking. + +2. **Cache hit usage tracking**: On cache hit, call `_usage_tracker.record()` with the original `usage` data from the cached response but with `cost=0` and `latency_ms` from cache lookup time. This preserves usage query integrity — `get_usage()` still shows all requests, just with zero cost for cached ones. + +3. **Stream handling**: `chat_stream()` is NOT cached in this iteration. Streaming requires collecting all chunks before caching, which adds latency and complexity. Document this as a known limitation. + +4. **Configuration integration**: Add `CacheConfig` dataclass with `enabled: bool = False`, `backend: str = "auto"`, `exact_ttl: int = 3600`, `semantic_ttl: int = 86400`, `similarity_threshold: float = 0.92`, `max_entries: int = 10000`. Nest under `LLMConfig.cache`. + +**Patterns to follow:** +- `LLMConfig` dataclass + `from_dict()` pattern for config +- `LLMGateway.__init__()` dependency injection pattern + +**Test scenarios:** +- Cache disabled: requests pass through to provider normally +- Cache enabled, first request: cache miss, provider called, response cached +- Cache enabled, second identical request: cache hit, provider NOT called +- Cache hit usage tracking: usage record has 0 cost, correct token counts +- Cache miss + fallback: primary model fails, fallback model response cached under fallback model key +- Config from YAML: `LLMConfig.from_dict({"cache": {"enabled": true}})` works correctly + +**Verification:** Integration tests pass; `LLMGateway.chat()` returns same `LLMResponse` shape whether cached or not; usage tracking includes cache hits. + +--- + +### U3. Semantic Router + +**Goal:** Implement embedding-based semantic routing as Layer 1.5 in `CostAwareRouter`, using existing `OpenAIEmbedder` and `compute_cosine_similarity()`. + +**Dependencies:** None (independent of U1/U2, uses existing embedding infrastructure) + +**Files:** +- `src/agentkit/chat/semantic_router.py` (new) — `SemanticRouter` class, `SkillEmbeddingIndex` +- `src/agentkit/chat/skill_routing.py` (modify) — integrate Layer 1.5 into `CostAwareRouter.route()` +- `tests/unit/chat/test_semantic_router.py` (new) — unit tests for semantic router + +**Approach:** + +Architecture design before coding: + +1. **SkillEmbeddingIndex design reasoning**: Pre-compute embeddings for all registered skills at initialization. Source text: `f"{description} | {' '.join(keywords)} | {' '.join(capability_tags)}"`. Store as `dict[str, tuple[list[float], str]]` (skill_name → (embedding, source_text)). On skill registration/update, re-embed only the changed skill. This avoids O(n) embedding computation per query. + +2. **Query-time flow**: Embed user query → compute cosine similarity against all skill embeddings → return top match if above threshold. This is O(n) in number of skills, but with <100 skills and 1536-dim vectors, this takes <5ms on CPU. No need for approximate nearest neighbor (ANN) index at this scale. + +3. **Threshold design**: Three zones: + - `similarity > 0.85`: HIGH confidence → return skill match directly, skip Layer 2 LLM + - `0.6 <= similarity <= 0.85`: MEDIUM confidence → pass skill hint to Layer 2, reducing LLM classification tokens + - `similarity < 0.6`: LOW confidence → no semantic signal, Layer 2 runs unmodified + +4. **Integration into CostAwareRouter**: Modify `route()` method. After Layer 1 (`_classify_merged()`), if complexity is medium (0.3-0.7), call `semantic_router.route(query)`. Based on confidence zone, either return directly or enhance the Layer 2 prompt with skill hint. + +5. **Embedding provider**: Use `OpenAIEmbedder` by default. Support `MockEmbedder` for testing. Embedder is injected via constructor, not created internally. + +**Patterns to follow:** +- `OpenAIEmbedder` + `EmbeddingCache` pattern for embedding computation +- `compute_cosine_similarity()` in `src/agentkit/utils/vector_math.py` +- `CostAwareRouter` constructor injection pattern + +**Test scenarios:** +- Exact skill match: query "生成一篇关于AI的文章" matches `content_generator` skill (sim > 0.85) +- Partial skill match: query "优化内容" matches `geo_optimizer` skill (sim 0.6-0.85), skill hint passed to LLM +- No skill match: query "今天天气怎么样" has sim < 0.6 for all skills, Layer 2 runs normally +- Skill registration: new skill added → embedding computed and indexed +- Skill update: skill description changed → embedding re-computed +- Empty skill registry: semantic router returns None gracefully +- Embedder failure: OpenAIEmbedder throws error → semantic router logs warning, returns None, Layer 2 runs normally +- Chinese query: "帮我写一篇文章" matches content_generator skill correctly + +**Verification:** Semantic router returns correct skill matches; Layer 2 LLM calls reduced by >50% for medium-complexity queries; no regression in routing accuracy. + +--- + +### U4. UsageStore Persistence + +**Goal:** Persist UsageTracker records to Redis, with in-memory fallback and efficient aggregation queries. + +**Dependencies:** None + +**Files:** +- `src/agentkit/llm/usage_store.py` (new) — `UsageStore` Protocol, `InMemoryUsageStore`, `RedisUsageStore` +- `src/agentkit/llm/providers/tracker.py` (modify) — delegate to `UsageStore` backend +- `tests/unit/llm/test_usage_store.py` (new) — unit tests for usage store backends + +**Approach:** + +Architecture design before coding: + +1. **Redis data model reasoning**: Use Redis Hash per date for time-partitioned storage. Key: `agentkit:usage:{YYYY-MM-DD}`, field: `{agent_name}:{model}`, value: JSON `{prompt_tokens, completion_tokens, total_tokens, cost, latency_ms, count}`. Write via pipeline: `HINCRBYFLOAT` for numeric fields + `HINCRBY` for count. This is O(1) per write, atomic, and naturally partitions by date. + +2. **Aggregation query design**: For `get_usage(agent=None, start=None, end=None)`: scan date keys in range via `HGETALL`, filter by agent/model in application code, aggregate in memory. For single-agent queries, use field prefix matching. This is O(days × agents) which is acceptable for dashboard queries. + +3. **UsageStore Protocol**: Define `record(agent, model, usage: UsageRecord) -> None`, `query(agent=None, model=None, start=None, end=None) -> list[UsageRecord]`, `get_summary(agent=None, start=None, end=None) -> UsageSummary`. Both sync and async versions (sync for backward compat, async for Redis). + +4. **Migration from UsageTracker**: `UsageTracker` becomes a thin wrapper that delegates to `UsageStore`. Existing `record()` and `get_usage()` APIs preserved. Internal `_records` list replaced by store backend. + +5. **TTL management**: Each date key gets TTL of 90 days (configurable). This prevents unbounded Redis memory growth while preserving 3 months of usage data. + +**Patterns to follow:** +- `SessionStore` Protocol in `src/agentkit/session/store.py` — Protocol definition pattern +- `RedisSessionStore._get_redis()` — lazy Redis initialization +- `create_session_store()` — factory function pattern +- `agentkit:usage:` key namespace convention + +**Test scenarios:** +- Record and query: record usage → query returns matching records +- Date partitioning: records on different dates stored in different keys +- Aggregation: multiple records for same agent/model aggregated correctly +- Agent filter: query with agent filter returns only that agent's records +- Date range filter: query with start/end returns only records in range +- TTL: date keys have correct TTL set +- Redis unavailable: falls back to in-memory store with warning +- Concurrent writes: two concurrent records for same agent/model don't lose data +- Empty query: query with no matching records returns empty list + +**Verification:** Usage data survives process restart; `get_usage()` returns same shape as before; Redis memory usage bounded by TTL. + +--- + +### U5. CascadeStateStore Persistence + +**Goal:** Persist CascadeDetector state to Redis using atomic operations, enabling multi-instance cascade detection. + +**Dependencies:** None + +**Files:** +- `src/agentkit/quality/cascade_store.py` (new) — `CascadeStateStore` Protocol, `InMemoryCascadeStore`, `RedisCascadeStore` +- `src/agentkit/quality/cascade_detector.py` (modify) — delegate to `CascadeStateStore` backend +- `tests/unit/quality/test_cascade_store.py` (new) — unit tests for cascade store backends + +**Approach:** + +Architecture design before coding: + +1. **Redis data model reasoning**: Use simple string keys with INCR for atomic counting. Key: `agentkit:cascade:{session_id}:interactions` (INCR + TTL), `agentkit:cascade:{session_id}:depth` (GET/SET + TTL). TTL aligned with session TTL (default 86400s). INCR is atomic — no race conditions across instances. + +2. **Protocol design**: `CascadeStateStore` with `increment_interactions(session_id) -> int`, `get_interactions(session_id) -> int`, `set_depth(session_id, depth) -> None`, `get_depth(session_id) -> int`, `reset(session_id) -> None`, `get_stats(session_id) -> CascadeStats`. + +3. **Integration into CascadeDetector**: Replace internal `_interaction_counts` and `_loop_depths` dicts with `CascadeStateStore` backend. All methods delegate to store. `CascadeDetector` becomes stateless — all state lives in the store. + +4. **Session TTL alignment**: When `increment_interactions()` is called, refresh the key TTL to match session TTL. This ensures state is cleaned up when sessions expire. + +**Patterns to follow:** +- Same Protocol + factory + fallback pattern as U4 +- Redis INCR atomic operation pattern +- `agentkit:cascade:` key namespace + +**Test scenarios:** +- Increment and get: increment interactions → get returns correct count +- Set and get depth: set depth → get returns correct depth +- Reset: reset session → interactions and depth both cleared +- TTL: keys have TTL set, expire after session timeout +- Multi-instance: two instances incrementing same session see consistent count +- Redis unavailable: falls back to in-memory store +- Session isolation: different sessions have independent state + +**Verification:** Cascade detection state survives process restart; multi-instance deployment detects cascades correctly; no false positives from state loss. + +--- + +### U6. EvolutionStore Interface Unification + +**Goal:** Unify `EvolutionStore` and `PersistentEvolutionStore` interfaces, add PostgreSQL backend with full feature set. + +**Dependencies:** None + +**Files:** +- `src/agentkit/evolution/evolution_store.py` (modify) — define unified `EvolutionStoreProtocol`, refactor existing stores +- `src/agentkit/evolution/models.py` (modify) — add `SkillVersionModel` and `ABTestResultModel` to async PG models +- `src/agentkit/evolution/pg_store.py` (new) — `PostgreSQLEvolutionStore` implementing unified Protocol with async SQLAlchemy +- `tests/unit/evolution/test_unified_store.py` (new) — tests for unified interface + +**Approach:** + +Architecture design before coding: + +1. **Protocol design reasoning**: Current `EvolutionStore` (async PG) has `record()`, `rollback()`, `list_events()`. `PersistentEvolutionStore` (sync SQLite) adds `record_skill_version()`, `list_skill_versions()`, `record_ab_test_result()`, `get_ab_test_results()`. The unified Protocol must include ALL methods from both. Each backend implements what it can; unsupported methods raise `NotImplementedError` with clear message. + +2. **PostgreSQL model migration**: Add `SkillVersionModel` and `ABTestResultModel` to `src/agentkit/evolution/models.py` using async SQLAlchemy (matching `EpisodeModel` pattern in memory/models.py). These models already exist for SQLite; the PG versions use the same schema but with async engine. + +3. **PostgreSQLEvolutionStore**: New class using async SQLAlchemy session (injected via constructor, same pattern as existing `EvolutionStore`). Implements all Protocol methods. Uses `run_in_executor` for any sync ORM operations if needed. + +4. **Factory update**: `create_evolution_store(backend="memory"|"sqlite"|"postgresql", ...)` returns the appropriate backend. `"postgresql"` creates `PostgreSQLEvolutionStore` with async engine. + +5. **Backward compatibility**: Existing `EvolutionStore` class is not removed — it becomes an internal implementation detail. The Protocol is the public interface. Code using `EvolutionStore` directly continues to work. + +**Patterns to follow:** +- `EpisodeModel` in `src/agentkit/memory/models.py` — async PG model pattern +- `create_evolution_store()` factory — extend with new backend +- `PersistentEvolutionStore._run_sync()` — sync/async bridge pattern + +**Test scenarios:** +- Protocol compliance: all backends implement all Protocol methods +- PG store: record event → list events returns recorded event +- PG store: record skill version → list versions returns version history +- PG store: record AB test result → get results returns test data +- SQLite store: existing functionality preserved after refactor +- Memory store: existing functionality preserved after refactor +- Factory: `create_evolution_store(backend="postgresql")` returns correct type +- PG unavailable: falls back to SQLite with warning + +**Verification:** All backends pass unified Protocol compliance test; existing evolution tests pass; PG store supports skill_version and ab_test operations. + +--- + +### U7. Configuration Integration and End-to-End Verification + +**Goal:** Wire all three features into the application configuration, add `agentkit.yaml` schema support, and verify end-to-end behavior. + +**Dependencies:** U1, U2, U3, U4, U5, U6 + +**Files:** +- `src/agentkit/server/app.py` (modify) — initialize cache, usage store, cascade store with config +- `src/agentkit/cli/main.py` (modify) — pass config to gateway and router +- `agentkit.yaml` (modify) — add cache, semantic_routing, usage_store, cascade_store config sections +- `tests/integration/test_p0_hardening.py` (new) — end-to-end integration tests + +**Approach:** + +1. **Configuration schema**: Add to `agentkit.yaml`: +```yaml +llm: + cache: + enabled: true + backend: "auto" # auto | redis | memory + exact_ttl: 3600 + semantic_ttl: 86400 + similarity_threshold: 0.92 + max_entries: 10000 + +routing: + semantic: + enabled: true + similarity_high: 0.85 # direct match threshold + similarity_low: 0.6 # hint threshold + +usage_store: + backend: "auto" # auto | redis | memory + ttl_days: 90 + +cascade_store: + backend: "auto" # auto | redis | memory + session_ttl: 86400 + +evolution_store: + backend: "auto" # auto | postgresql | sqlite | memory +``` + +2. **Application wiring**: In `app.py` lifespan, initialize all stores and inject into gateway/router. Follow existing pattern of creating components from config. + +3. **End-to-end verification**: Integration test that exercises the full flow: user query → semantic routing → LLM cache → usage tracking → cascade detection → evolution logging. + +**Test scenarios:** +- Full flow with Redis: all features use Redis backend, data persists across simulated restart +- Full flow without Redis: all features fall back to in-memory, no errors +- Config from YAML: `agentkit.yaml` parsed correctly, all features configured +- Cache + routing interaction: cached response for semantically routed query works correctly +- Usage tracking with cache: cached requests show 0 cost in usage summary +- Cascade detection across instances: simulated multi-instance scenario detects cascade correctly + +**Verification:** All integration tests pass; application starts with new config; features degrade gracefully when backends unavailable. + +--- + +## Risks & Mitigations + +| Risk | Impact | Likelihood | Mitigation | +|------|--------|-----------|------------| +| Semantic cache returns stale/wrong response | High — user gets incorrect answer | Medium — embedding similarity doesn't guarantee semantic equivalence | Default to temperature=0 only for semantic cache; configurable threshold; TTL expiry; admin invalidation API | +| Redis single point of failure | High — all persistence lost | Low — Redis is typically HA | Auto-fallback to in-memory; health check in doctor command; alert on fallback activation | +| Embedding API latency adds to routing time | Medium — slower routing for first query | Medium — embedding API ~100ms | Pre-compute skill embeddings; cache query embeddings; async embedding with timeout | +| UsageStore Redis memory growth | Medium — Redis OOM | Low — TTL + date partitioning bounds growth | 90-day TTL default; monitoring on Redis memory; configurable TTL | +| EvolutionStore interface unification breaks existing code | High — evolution system stops working | Low — Protocol is backward compatible | Keep existing classes as internal implementations; comprehensive test coverage before refactor | + +--- + +## Open Questions + +- Should semantic cache also cache streaming responses (requires chunk collection)? Deferred — current plan only caches non-streaming `chat()`. +- Should UsageStore support real-time streaming of usage data (e.g., via Redis Pub/Sub)? Deferred — current plan only supports query-based access. +- What is the optimal embedding model for Chinese+English mixed text? `text-embedding-3-small` is adequate but not optimal. Consider `bge-m3` or `multilingual-e5` as alternatives. Deferred to implementation-time benchmarking. + +--- + +## Sources & Research + +- Industry benchmarking: LangChain, Dify, CrewAI, Letta, AutoGen feature comparison (2025-2026) +- Project audit: 12 core files analyzed across memory, evolution, routing, quality, and LLM subsystems +- Existing patterns: `EmbeddingCache`, `RedisSessionStore`, `create_evolution_store()`, `SessionStore` Protocol diff --git a/docs/plans/2026-06-14-002-u1-llm-cache-architecture.md b/docs/plans/2026-06-14-002-u1-llm-cache-architecture.md new file mode 100644 index 0000000..630cd3e --- /dev/null +++ b/docs/plans/2026-06-14-002-u1-llm-cache-architecture.md @@ -0,0 +1,616 @@ +# U1 Architecture Design: LLM Cache Core + +> Status: APPROVED — Design reviewed, embedding model set to bge-m3 for Chinese-first +> Date: 2026-06-14 +> Unit: U1 of P0 Production Hardening Plan + +--- + +## 1. Design Goals + +1. **Transparent caching**: `LLMGateway.chat()` callers cannot distinguish cached vs. uncached responses +2. **Dual-match strategy**: Exact-match (hash) for deterministic hits + Semantic-match (embedding) for paraphrased hits +3. **Backend pluggability**: `InMemoryLLMCache` for dev, `RedisLLMCache` for production, via factory +4. **Chinese-first embedding**: Default embedding model optimized for Chinese+English mixed text, with configurable fallback + +--- + +## 2. Component Architecture + +``` +┌──────────────────────────────────────────────────────┐ +│ LLMGateway.chat() │ +│ │ +│ 1. Build LLMRequest │ +│ 2. ┌─ Cache Check ─────────────────────────────┐ │ +│ │ generate_cache_key(req) │ │ +│ │ cache.get(key) ──→ CacheResult │ │ +│ │ ├─ HIT (exact) → return cached response │ │ +│ │ └─ MISS → semantic_search(query_emb) │ │ +│ │ ├─ HIT (semantic) → return response │ │ +│ │ └─ MISS → call provider │ │ +│ └─────────────────────────────────────────────┘ │ +│ 3. Call provider → LLMResponse │ +│ 4. cache.put(key, response, query_embedding) │ +│ 5. Record usage │ +└──────────────────────────────────────────────────────┘ +``` + +### File Structure + +``` +src/agentkit/llm/ +├── cache.py # NEW: LLMCache Protocol + InMemoryLLMCache + RedisLLMCache + CacheResult +├── cache_key.py # NEW: generate_cache_key(), hash helpers +├── gateway.py # MODIFIED in U2: inject cache check +├── config.py # MODIFIED in U2: add CacheConfig +└── ... +``` + +--- + +## 3. Data Model Design + +### 3.1 CacheKey + +**Reasoning**: The cache key must capture ALL inputs that deterministically affect LLM output. Missing any component leads to false cache hits (wrong response returned). + +| Component | Why Included | Hash Method | +|-----------|-------------|-------------| +| `model` | Different models produce different outputs | UTF-8 encode → SHA-256 | +| `system_prompt` | Changes behavior fundamentally | SHA-256 of full text | +| `messages` | Core conversation context | SHA-256 of JSON-serialized messages | +| `temperature` | Affects randomness; only 0.0 is deterministic | Float string representation | +| `tools` | Available tools affect tool_call generation | SHA-256 of JSON-serialized tools list | +| `tool_choice` | "auto" vs "none" changes behavior | UTF-8 encode → SHA-256 | + +**Key formula**: +```python +key = SHA256( + SHA256(model) + + SHA256(system_prompt) + + SHA256(json(messages, sort_keys=True)) + + SHA256(str(temperature)) + + SHA256(json(tools, sort_keys=True)) + + SHA256(tool_choice) +) +``` + +**Design Decision — Why not include `max_tokens`?** +`max_tokens` is a truncation limit, not a semantic input. A response cached with `max_tokens=2000` is still valid when requested with `max_tokens=4000` (the response was simply shorter). However, the reverse is unsafe — a response generated with `max_tokens=4000` might be longer than a `max_tokens=2000` request expects. **Decision**: Include `max_tokens` in the key to be safe. The cost of a few extra cache misses is negligible compared to returning a response that violates the caller's token limit. + +**Revised key formula**: +```python +key = SHA256( + SHA256(model) + + SHA256(system_prompt) + + SHA256(json(messages, sort_keys=True)) + + SHA256(f"{temperature:.2f}") + + SHA256(json(tools, sort_keys=True)) + + SHA256(tool_choice) + + SHA256(str(max_tokens)) +) +``` + +### 3.2 CacheEntry + +```python +@dataclass +class CacheEntry: + """A cached LLM response with metadata.""" + response: LLMResponse # The cached response + query_embedding: list[float] # Embedding of last user message (for semantic match) + created_at: float # time.monotonic() when cached + hit_count: int # Number of cache hits +``` + +### 3.3 CacheResult + +```python +@dataclass +class CacheResult: + """Result of a cache lookup.""" + hit: bool # Whether a cache hit occurred + response: LLMResponse | None # The cached response (None on miss) + match_type: str # "exact" | "semantic" | "" (miss) +``` + +--- + +## 4. Protocol Design + +### 4.1 LLMCache Protocol + +```python +class LLMCache(Protocol): + """LLM response cache interface.""" + + async def get(self, key: str) -> CacheResult: + """Look up a cached response by exact key, then semantic search.""" + ... + + async def put(self, key: str, response: LLMResponse, query_embedding: list[float] | None = None) -> None: + """Store a response in the cache.""" + ... + + async def invalidate(self, pattern: str | None = None) -> int: + """Invalidate cache entries. If pattern is None, invalidate all. Returns count of invalidated entries.""" + ... + + async def stats(self) -> dict[str, int]: + """Return cache statistics: {total_entries, total_hits, total_misses}.""" + ... +``` + +**Reasoning for async Protocol**: All methods are async because `RedisLLMCache` uses `redis.asyncio`. Making the Protocol async ensures both backends share the same interface without sync/async bridging. + +**Why `get()` does both exact + semantic?** The caller (LLMGateway) shouldn't need to know about the two-tier lookup. It calls `cache.get(key)` and gets a `CacheResult` with `match_type` indicating how the hit occurred. This encapsulation keeps the integration point simple. + +### 4.2 Semantic Search Design + +**Critical Question**: Should semantic search be inside `get()` or a separate method? + +**Analysis**: +- **Option A**: `get(key)` does exact match first, then semantic search on miss. Single call, simple integration. +- **Option B**: Separate `semantic_search(embedding)` method. More flexible, but requires caller to manage two calls. + +**Decision**: Option A. The semantic search needs the `query_embedding`, which must be computed before calling `get()`. But embedding computation is expensive (~100ms). We don't want to compute embeddings on every cache miss — only when semantic caching is enabled and temperature == 0. + +**Revised design**: + +```python +class LLMCache(Protocol): + async def get(self, key: str) -> CacheResult: + """Exact-match lookup only.""" + ... + + async def semantic_search(self, query_embedding: list[float], threshold: float = 0.92) -> CacheResult: + """Semantic similarity search across all cached entries.""" + ... + + async def put(self, key: str, response: LLMResponse, query_embedding: list[float] | None = None) -> None: + """Store response with optional embedding for semantic matching.""" + ... +``` + +**Integration flow in LLMGateway (U2)**: +```python +# 1. Exact match +result = await cache.get(key) +if result.hit: + return result.response + +# 2. Semantic match (only for temperature == 0) +if request.temperature == 0 and query_embedding is not None: + result = await cache.semantic_search(query_embedding) + if result.hit: + return result.response + +# 3. Call provider +response = await provider.chat(request) +await cache.put(key, response, query_embedding) +``` + +This gives the gateway explicit control over when to attempt semantic search, avoiding unnecessary embedding computation. + +--- + +## 5. InMemoryLLMCache Implementation Design + +### 5.1 Data Structure + +```python +class InMemoryLLMCache: + def __init__(self, max_entries: int = 10000, exact_ttl: int = 3600, semantic_ttl: int = 86400, similarity_threshold: float = 0.92): + self._max_entries = max_entries + self._exact_ttl = exact_ttl + self._semantic_ttl = semantic_ttl + self._similarity_threshold = similarity_threshold + + # Exact cache: key → CacheEntry + self._cache: OrderedDict[str, CacheEntry] = OrderedDict() + + # Semantic index: key → query_embedding (parallel to _cache) + self._embeddings: dict[str, list[float]] = {} + + # Stats + self._hits = 0 + self._misses = 0 +``` + +### 5.2 Key Operations + +**`get(key)`**: +1. Look up `key` in `_cache` +2. If found and not expired (check `created_at + exact_ttl > now`): increment `hit_count`, move to end (LRU), return `CacheResult(hit=True, match_type="exact")` +3. If expired: delete from `_cache` and `_embeddings` +4. Return `CacheResult(hit=False)` + +**`semantic_search(query_embedding, threshold)`**: +1. If `_embeddings` is empty: return miss +2. For each `(key, emb)` in `_embeddings`: + a. Check if entry is still valid (`created_at + semantic_ttl > now`) + b. If expired: skip (lazy cleanup) + c. Compute `cosine_similarity(query_embedding, emb)` + d. Track best match +3. If best similarity >= threshold: return `CacheResult(hit=True, match_type="semantic")` +4. Return miss + +**Performance**: O(n) scan over all embeddings. With <10000 entries and 1536-dim vectors, this takes <10ms using numpy. Acceptable for now. If scale becomes an issue, switch to FAISS or pgvector (deferred). + +**`put(key, response, query_embedding)`**: +1. Create `CacheEntry(response, query_embedding or [], now, 0)` +2. If key exists: update, move to end +3. If new and at capacity: evict LRU (popitem(last=False)) +4. Store embedding in `_embeddings[key]` if provided + +**`invalidate(pattern)`**: +1. If pattern is None: clear all +2. If pattern: iterate keys, match against pattern, delete matching entries + +### 5.3 LRU Eviction Strategy + +Follow `EmbeddingCache` pattern: `OrderedDict` with `move_to_end()` on access, `popitem(last=False)` on eviction. This is O(1) for both access and eviction. + +**Why not size-based eviction?** LLM responses vary widely in size (100 bytes to 10KB). Entry-count-based eviction is simpler and more predictable. With `max_entries=10000` and average response ~1KB, memory usage is ~10MB — acceptable. + +--- + +## 6. RedisLLMCache Implementation Design + +### 6.1 Key Schema + +``` +agentkit:llm_cache:{sha256_hex} → JSON(CacheEntry) with TTL +agentkit:llm_cache_emb:{sha256_hex} → JSON(list[float]) with TTL +``` + +**Why two keys instead of one?** +- Semantic search needs to iterate all embeddings without downloading full response bodies +- Embedding keys are small (~12KB for 1536-dim float list) vs. response keys (variable, potentially large with tool_calls) +- Different TTLs: exact cache may have shorter TTL than semantic cache + +**Alternative considered**: Single key with embedded embedding. Rejected because `KEYS agentkit:llm_cache:*` + `GET` for each key to extract embedding would download all response bodies for semantic search, which is wasteful. + +### 6.2 Key Operations + +**`get(key)`**: +1. `GET agentkit:llm_cache:{key}` → deserialize CacheEntry +2. If found: `INCR agentkit:llm_cache_hits:{key}` (optional, for stats), return hit +3. Return miss + +**`semantic_search(query_embedding, threshold)`**: +1. `KEYS agentkit:llm_cache_emb:*` → get all embedding keys +2. `MGET` all embedding keys → deserialize embeddings +3. Compute cosine similarity for each +4. If best >= threshold: `GET agentkit:llm_cache:{best_key}` → return hit +5. Return miss + +**Performance concern**: `KEYS` is O(N) and blocks Redis. For production with >1000 cached entries, this is unacceptable. + +**Mitigation**: Use `SCAN` instead of `KEYS` for iteration. Store a Redis Set `agentkit:llm_cache_index` containing all active cache keys. On `put()`, `SADD agentkit:llm_cache_index {key}`. On `invalidate()`, `SREM`. For semantic search, `SMEMBERS agentkit:llm_cache_index` → `MGET` embeddings. + +**Revised key schema**: +``` +agentkit:llm_cache:{sha256_hex} → JSON(CacheEntry) with TTL +agentkit:llm_cache_emb:{sha256_hex} → JSON(list[float]) with TTL +agentkit:llm_cache_index → SET of active cache keys (no TTL, managed manually) +``` + +**`put(key, response, query_embedding)`**: +1. Pipeline: `SET agentkit:llm_cache:{key} → JSON(CacheEntry) EX exact_ttl` +2. If embedding provided: `SET agentkit:llm_cache_emb:{key} → JSON(embedding) EX semantic_ttl` +3. `SADD agentkit:llm_cache_index {key}` + +**`invalidate(pattern)`**: +1. If pattern is None: `SMEMBERS agentkit:llm_cache_index` → pipeline DEL all keys → DEL index +2. If pattern: `SMEMBERS` → filter by pattern → pipeline DEL matching keys → SREM from index + +### 6.3 Lazy Redis Initialization + +Follow `RedisSessionStore._get_redis()` pattern: + +```python +class RedisLLMCache: + def __init__(self, redis_url: str = "redis://localhost:6379", ...): + self._redis_url = redis_url + self._redis: aioredis.Redis | None = None + + async def _get_redis(self) -> aioredis.Redis: + if self._redis is None: + import redis.asyncio as aioredis + self._redis = aioredis.from_url(self._redis_url, decode_responses=True) + return self._redis +``` + +### 6.4 Connection Error Handling + +```python +async def get(self, key: str) -> CacheResult: + try: + redis = await self._get_redis() + data = await redis.get(f"agentkit:llm_cache:{key}") + ... + except (redis.ConnectionError, redis.TimeoutError) as e: + logger.warning(f"Redis cache unavailable, returning miss: {e}") + return CacheResult(hit=False) +``` + +**Design Decision**: On Redis failure, return cache miss (not error). The cache is a performance optimization, not a correctness requirement. Failing open is the correct behavior. + +--- + +## 7. Factory Function + +```python +def create_llm_cache( + backend: str = "auto", + redis_url: str = "redis://localhost:6379", + max_entries: int = 10000, + exact_ttl: int = 3600, + semantic_ttl: int = 86400, + similarity_threshold: float = 0.92, +) -> LLMCache: + """Create an LLM cache backend. + + Args: + backend: "auto" (try Redis, fallback to memory), "redis", "memory" + ... + """ + if backend in ("auto", "redis"): + try: + import redis.asyncio as aioredis + return RedisLLMCache(redis_url=redis_url, ...) + except ImportError: + logger.warning("redis package not available, falling back to in-memory cache") + return InMemoryLLMCache(...) + return InMemoryLLMCache(...) +``` + +**Follows existing pattern**: `create_session_store()`, `create_evolution_store()`. + +--- + +## 8. CacheKey Generation Design + +### 8.1 Module: `cache_key.py` + +```python +import hashlib +import json + +def generate_cache_key( + model: str, + messages: list[dict[str, str]], + temperature: float, + tools: list[dict] | None = None, + tool_choice: str = "auto", + max_tokens: int = 2000, + system_prompt: str | None = None, +) -> str: + """Generate a deterministic SHA-256 cache key from LLM request parameters.""" + components = [ + _hash_str(model), + _hash_str(system_prompt or _extract_system_prompt(messages)), + _hash_json(messages), + _hash_str(f"{temperature:.2f}"), + _hash_json(tools), + _hash_str(tool_choice), + _hash_str(str(max_tokens)), + ] + combined = "".join(components) + return hashlib.sha256(combined.encode()).hexdigest() + +def _extract_system_prompt(messages: list[dict]) -> str: + """Extract system prompt from messages list.""" + for msg in messages: + if msg.get("role") == "system": + return msg.get("content", "") + return "" + +def _hash_str(s: str) -> str: + return hashlib.sha256(s.encode()).hexdigest() + +def _hash_json(obj) -> str: + if obj is None: + return hashlib.sha256(b"null").hexdigest() + return hashlib.sha256(json.dumps(obj, sort_keys=True, ensure_ascii=False).encode()).hexdigest() +``` + +### 8.2 Why Separate `system_prompt` Parameter? + +The `messages` list already contains the system prompt. But in AgentKit, the system prompt is injected separately from the user's messages (via `MemoryStore.build_system_prompt()`). The gateway receives `messages` that already include the system prompt. So `system_prompt` is extracted from `messages[0]` when `role == "system"`. + +**No separate parameter needed** — `_extract_system_prompt()` handles extraction. This avoids requiring callers to pass system_prompt separately. + +--- + +## 9. Semantic Match: Temperature Gate + +**Rule**: Semantic matching is ONLY attempted when `temperature == 0.0`. + +**Reasoning**: +- At `temperature > 0`, LLM outputs are non-deterministic. Two semantically similar requests may produce different outputs. +- Caching a `temperature=0.7` response and returning it for a semantically similar query is misleading — the user expects randomness. +- At `temperature=0.0`, outputs are deterministic (within provider guarantees), so semantic matching is safe. + +**Implementation**: The gateway checks `temperature` before calling `semantic_search()`. The cache itself does not enforce this — it's a policy decision made by the caller. + +--- + +## 10. Serialization Design + +### 10.1 LLMResponse Serialization + +`LLMResponse` contains `content: str`, `model: str`, `usage: TokenUsage`, `tool_calls: list[ToolCall]`. + +**For InMemoryLLMCache**: No serialization needed — store Python objects directly. + +**For RedisLLMCache**: Serialize to JSON. + +```python +def _serialize_response(response: LLMResponse) -> dict: + return { + "content": response.content, + "model": response.model, + "usage": { + "prompt_tokens": response.usage.prompt_tokens, + "completion_tokens": response.usage.completion_tokens, + }, + "tool_calls": [ + {"id": tc.id, "name": tc.name, "arguments": tc.arguments} + for tc in response.tool_calls + ], + "latency_ms": response.latency_ms, + } + +def _deserialize_response(data: dict) -> LLMResponse: + return LLMResponse( + content=data["content"], + model=data["model"], + usage=TokenUsage(**data["usage"]), + tool_calls=[ToolCall(**tc) for tc in data.get("tool_calls", [])], + latency_ms=data.get("latency_ms", 0.0), + ) +``` + +### 10.2 Embedding Serialization + +Embeddings are `list[float]` with 1536 dimensions. JSON serialization produces ~12KB per embedding. + +**Alternative**: Binary serialization (struct.pack) would reduce to ~6KB but adds complexity. JSON is sufficient for now. + +--- + +## 11. Edge Cases & Failure Modes + +| Edge Case | Behavior | Rationale | +|-----------|----------|-----------| +| Response with `tool_calls` | Cached normally | Tool call responses are deterministic at temperature=0 | +| Empty response (`content=""`) | Cached normally | Empty responses are valid (e.g., tool-only responses) | +| Very large response (>100KB) | Cached, but counted as single entry | Size-based eviction deferred; entry-count is sufficient | +| Concurrent `put()` for same key | Last write wins | No data corruption risk; both writes are valid responses | +| Redis `SET` fails | Log warning, cache miss on next read | Fail open, never block LLM calls | +| Embedding API fails during `put()` | Store response without embedding | Exact-match still works; semantic match degraded | +| Embedding API fails during `semantic_search()` | Return cache miss | Don't block on embedding failures | +| `invalidate()` while `get()` in progress | Possible stale read | Acceptable for cache; eventual consistency | + +--- + +## 12. Test Strategy + +### 12.1 Unit Tests (`tests/unit/llm/test_cache.py`) + +Using `pytest` + `pytest-asyncio`: + +1. **test_exact_match_hit**: Same key → cache hit, `match_type="exact"` +2. **test_exact_match_miss**: Different key → cache miss +3. **test_semantic_match_hit**: Paraphrased query with similarity > 0.92 → hit, `match_type="semantic"` +4. **test_semantic_match_miss**: Unrelated query with similarity < 0.6 → miss +5. **test_semantic_match_boundary**: Similarity exactly at threshold → hit +6. **test_ttl_expiry_exact**: Entry expires after exact_ttl → miss +7. **test_ttl_expiry_semantic**: Entry expires after semantic_ttl → miss +8. **test_lru_eviction**: Add max_entries + 1 → oldest evicted +9. **test_invalidate_all**: `invalidate()` clears all entries +10. **test_invalidate_pattern**: `invalidate("prefix:*")` clears matching entries +11. **test_cache_stats**: `stats()` returns correct counts +12. **test_tool_calls_cached**: Response with tool_calls cached and restored correctly +13. **test_concurrent_puts**: Two concurrent puts for same key → no error +14. **test_redis_fallback**: Redis import fails → InMemoryLLMCache returned +15. **test_cache_key_deterministic**: Same inputs → same key +16. **test_cache_key_different_model**: Different model → different key +17. **test_cache_key_different_temperature**: Different temperature → different key + +### 12.2 Mock Embedder for Testing + +Use `MockEmbedder` from `src/agentkit/memory/embedder.py`. Since `MockEmbedder` generates deterministic embeddings based on text hash, semantically similar text will produce similar embeddings (same hash prefix → similar vector). This is sufficient for testing the similarity threshold logic. + +**Limitation**: `MockEmbedder` doesn't produce truly semantically meaningful embeddings. For testing semantic matching behavior, we'll manually construct embeddings with known cosine similarities. + +```python +def _make_embedding(base: list[float], noise: float = 0.0) -> list[float]: + """Create a unit vector with optional noise for similarity testing.""" + vec = [x + noise for x in base] + magnitude = sum(x**2 for x in vec) ** 0.5 + return [x / magnitude for x in vec] if magnitude > 0 else vec +``` + +--- + +## 13. Dependency Analysis + +### 13.1 Internal Dependencies + +| Dependency | Usage | Risk | +|-----------|-------|------| +| `agentkit.llm.protocol.LLMResponse` | Cache entry data type | Stable, no change needed | +| `agentkit.llm.protocol.TokenUsage` | Part of LLMResponse | Stable | +| `agentkit.llm.protocol.ToolCall` | Part of LLMResponse | Stable | +| `agentkit.memory.embedder.Embedder` | Embedding computation for semantic match | Injected, not imported directly | +| `agentkit.utils.vector_math.compute_cosine_similarity` | Similarity computation | Stable utility | + +### 13.2 External Dependencies + +| Dependency | Usage | Required? | +|-----------|-------|-----------| +| `redis.asyncio` | RedisLLMCache backend | Optional (only for "redis" backend) | +| `numpy` | Fast cosine similarity | Optional (pure-python fallback exists) | + +--- + +## 14. Implementation Sequence + +Within U1, the implementation order is: + +1. **`cache_key.py`** — No dependencies, pure functions, easy to test +2. **`cache.py`** — `CacheResult`, `CacheEntry`, `LLMCache` Protocol, `InMemoryLLMCache` +3. **`cache.py`** — `RedisLLMCache`, `create_llm_cache()` factory +4. **`test_cache.py`** — All unit tests + +This order allows incremental testing: cache_key tests first, then InMemoryLLMCache tests, then RedisLLMCache tests. + +--- + +## 15. Open Design Questions + +1. **Should `semantic_search()` return the best match or all matches above threshold?** + - **Current decision**: Best match only. The gateway needs one response, not a ranked list. If we need ranked results later, we can add a `search()` method. + +2. **Should the cache store the original `messages` alongside the response?** + - **Current decision**: No. The key already deterministically represents the messages. Storing them again wastes memory. If we need message-level debugging, we can add it later. + +3. **Should `RedisLLMCache` use Redis Hash instead of individual keys?** + - **Current decision**: Individual keys with SET index. Hash would allow `HGETALL` for all entries, but makes TTL per-entry impossible (Redis Hash fields don't support individual TTLs). Individual keys with a SET index is the standard pattern. + +4. **What embedding model to use for semantic cache?** + - **Decision**: Default to `bge-m3` (BAAI/bge-m3 via Xinference or TEI endpoint) for Chinese+English mixed text. `bge-m3` supports: + - Multi-lingual (102 languages, strong Chinese) + - Multi-granularity (dense + sparse + ColBERT) + - Multi-function (retrieval + classification + similarity) + - 1024-dim dense vectors (vs. 1536 for OpenAI) + - Fallback to `text-embedding-3-small` when only OpenAI API is available. + - The embedder is injected via constructor, so the model choice is a configuration concern, not a code concern. + - **Config example**: + ```yaml + llm: + cache: + embedding: + provider: "xinference" # "xinference" | "openai" | "local" + model: "bge-m3" # model name at provider + base_url: "http://localhost:9997/v1" + ``` + +--- + +## 16. Argumentation Summary + +| Design Choice | Alternatives Considered | Why This Choice | +|--------------|------------------------|----------------| +| SHA-256 hash key | UUID, MD5, composite string key | SHA-256 is collision-resistant, deterministic, fixed-length; MD5 has known collisions; UUID is non-deterministic | +| OrderedDict LRU | heapq, custom doubly-linked-list | OrderedDict is Python-idiomatic, O(1) access+eviction, matches EmbeddingCache pattern | +| Separate `get()` + `semantic_search()` | Combined `get()` with auto-semantic | Explicit control avoids unnecessary embedding computation; caller decides when to attempt semantic match | +| Redis SET index for semantic search | KEYS pattern scan, Redis Hash | KEYS blocks Redis; Hash doesn't support per-field TTL; SET index is standard pattern | +| Fail-open on Redis error | Raise exception, return None | Cache is optimization, not correctness; failing open ensures LLM calls always work | +| Temperature gate for semantic match | Always attempt semantic match | temperature>0 outputs are non-deterministic; semantic match would return misleading cached responses | +| JSON serialization for Redis | MessagePack, Pickle, Protobuf | JSON is human-readable, debuggable, no extra dependencies; sufficient for <10KB entries | +| bge-m3 default embedding | text-embedding-3-small, multilingual-e5 | bge-m3 is SOTA for Chinese+English mixed text; 1024-dim saves 33% memory vs OpenAI 1536-dim; OpenAI-compatible API via Xinference/TEI | diff --git a/docs/plans/2026-06-14-003-u2-llm-cache-integration.md b/docs/plans/2026-06-14-003-u2-llm-cache-integration.md new file mode 100644 index 0000000..96a8aca --- /dev/null +++ b/docs/plans/2026-06-14-003-u2-llm-cache-integration.md @@ -0,0 +1,271 @@ +# U2 Architecture Design: LLM Cache Integration + +> Status: APPROVED — Design follows U1 architecture, minimal integration surface +> Date: 2026-06-14 +> Unit: U2 of P0 Production Hardening Plan + +--- + +## 1. Design Goals + +1. **Transparent injection**: Cache check happens inside `LLMGateway.chat()` without changing the public API +2. **Usage tracking on cache hits**: Cached requests record 0 cost to maintain usage query integrity +3. **Opt-in by default**: Cache disabled unless explicitly configured +4. **Stream exclusion**: `chat_stream()` is NOT cached in this iteration + +--- + +## 2. Integration Point Analysis + +### Current `LLMGateway.chat()` flow (gateway.py:34-121): + +``` +1. _resolve_model_alias(model) → resolved_model +2. Check providers exist +3. Start telemetry span +4. _get_models_to_try(resolved_model) → models_to_try +5. For each model: + a. _resolve_model(model_name) → (provider, actual_model) + b. Build LLMRequest + c. provider.chat(req) → response + d. Break on success +6. Calculate cost +7. Record usage +8. Record telemetry +9. Return response +``` + +### Cache insertion points: + +**Cache CHECK** (before step 5): After `LLMRequest` is constructed, before provider call. +- Reason: All request normalization (alias resolution, model fallback list) has completed. +- The `resolved_model` and `actual_model` are known, so the cache key is deterministic. + +**Cache WRITE** (after step 5d): After successful response, before usage tracking. +- Reason: Response is validated (no exception thrown). Usage tracking needs to happen regardless of cache hit/miss. + +**Cache HIT usage tracking** (step 6-7): On cache hit, record usage with cost=0. + +--- + +## 3. Modified Flow + +```python +async def chat(self, messages, model, agent_name="", task_type="", tools=None, tool_choice="auto", **kwargs): + resolved_model = self._resolve_model_alias(model) + + # ... provider check, telemetry span setup ... + + # ── Cache check (NEW) ── + cache_key = None + query_embedding = None + if self._cache is not None: + from agentkit.llm.cache_key import generate_cache_key + cache_key = generate_cache_key( + model=resolved_model, + messages=messages, + temperature=kwargs.get("temperature", 0.7), + tools=tools, + tool_choice=tool_choice, + max_tokens=kwargs.get("max_tokens", 2000), + ) + result = await self._cache.get(cache_key) + if result.hit: + # Record usage with 0 cost + latency_ms = (time.monotonic() - start) * 1000 + self._usage_tracker.record( + agent_name=agent_name, + model=result.response.model, + usage=result.response.usage, + cost=0.0, + latency_ms=latency_ms, + ) + return result.response + + # Semantic match (only for temperature == 0) + temperature = kwargs.get("temperature", 0.7) + if temperature == 0 and self._embedder is not None: + try: + last_user_msg = next( + (m["content"] for m in reversed(messages) if m.get("role") == "user"), + "", + ) + if last_user_msg: + query_embedding = await self._embedder.embed(last_user_msg) + result = await self._cache.semantic_search(query_embedding) + if result.hit: + latency_ms = (time.monotonic() - start) * 1000 + self._usage_tracker.record( + agent_name=agent_name, + model=result.response.model, + usage=result.response.usage, + cost=0.0, + latency_ms=latency_ms, + ) + return result.response + except Exception as e: + logger.warning(f"Semantic cache search failed: {e}") + + # ── Normal provider call ── + for model_name in models_to_try: + # ... existing fallback loop ... + + # ── Cache write (NEW) ── + if self._cache is not None and cache_key is not None: + try: + await self._cache.put(cache_key, response, query_embedding) + except Exception as e: + logger.warning(f"Cache write failed: {e}") + + # ... existing usage tracking, telemetry ... + return response +``` + +--- + +## 4. CacheConfig Design + +```python +@dataclass +class CacheConfig: + """LLM Cache configuration.""" + enabled: bool = False + backend: str = "auto" # "auto" | "redis" | "memory" + redis_url: str = "redis://localhost:6379" + exact_ttl: int = 3600 + semantic_ttl: int = 86400 + similarity_threshold: float = 0.92 + max_entries: int = 10000 + # Embedding config for semantic cache + embedding_provider: str = "openai" # "openai" | "xinference" | "local" + embedding_model: str = "bge-m3" # model name at provider + embedding_base_url: str | None = None + embedding_api_key: str | None = None +``` + +**Nesting**: `CacheConfig` is nested under `LLMConfig.cache`. + +```python +@dataclass +class LLMConfig: + providers: dict[str, ProviderConfig] = field(default_factory=dict) + model_aliases: dict[str, str] = field(default_factory=dict) + fallbacks: dict[str, list[str]] = field(default_factory=dict) + cache: CacheConfig | None = None # NEW +``` + +--- + +## 5. LLMGateway Constructor Change + +```python +class LLMGateway: + def __init__(self, config: LLMConfig | None = None): + self._providers: dict[str, LLMProvider] = {} + self._usage_tracker = UsageTracker() + self._config = config or LLMConfig() + + # Cache (NEW) + self._cache: LLMCache | None = None + self._embedder: Embedder | None = None + if self._config.cache and self._config.cache.enabled: + from agentkit.llm.cache import create_llm_cache + self._cache = create_llm_cache( + backend=self._config.cache.backend, + redis_url=self._config.cache.redis_url, + max_entries=self._config.cache.max_entries, + exact_ttl=self._config.cache.exact_ttl, + semantic_ttl=self._config.cache.semantic_ttl, + similarity_threshold=self._config.cache.similarity_threshold, + ) + # Embedder for semantic cache + self._embedder = self._create_embedder(self._config.cache) +``` + +**Design Decision**: Cache and embedder are created in `__init__`, not lazily. This ensures configuration errors are caught at startup, not at first request. + +--- + +## 6. Embedder Factory Method + +```python +def _create_embedder(self, cache_config: CacheConfig) -> Embedder | None: + """Create embedder for semantic cache based on config.""" + try: + if cache_config.embedding_provider == "openai": + from agentkit.memory.embedder import OpenAIEmbedder + return OpenAIEmbedder( + api_key=cache_config.embedding_api_key, + model=cache_config.embedding_model, + base_url=cache_config.embedding_base_url, + ) + elif cache_config.embedding_provider in ("xinference", "local"): + # Xinference/TEI uses OpenAI-compatible API + from agentkit.memory.embedder import OpenAIEmbedder + return OpenAIEmbedder( + api_key=cache_config.embedding_api_key or "not-needed", + model=cache_config.embedding_model, + base_url=cache_config.embedding_base_url or "http://localhost:9997/v1", + ) + except Exception as e: + logger.warning(f"Failed to create embedder for semantic cache: {e}") + return None +``` + +**Design Decision**: Use `OpenAIEmbedder` for all providers since Xinference and TEI expose OpenAI-compatible `/embeddings` endpoints. No need for a separate XinferenceEmbedder class. + +--- + +## 7. Stream Handling + +`chat_stream()` is NOT cached in this iteration. Document as known limitation. + +**Reasoning**: +- Streaming requires collecting all chunks before caching, adding latency +- Chunk collection adds complexity (error handling mid-stream, partial responses) +- Most cacheable requests (temperature=0, simple queries) don't need streaming +- Streaming is typically used for long-form generation where caching is less beneficial + +--- + +## 8. Edge Cases + +| Edge Case | Behavior | +|-----------|----------| +| Cache disabled (default) | No cache check, no performance impact | +| Cache enabled, first request | Cache miss, provider called, response cached | +| Cache hit with tool_calls | Return cached response including tool_calls | +| Embedder fails during semantic search | Log warning, return miss, proceed to provider | +| Cache write fails | Log warning, response still returned to caller | +| Fallback model used | Cache key uses `resolved_model`, not `actual_model` — same query hits cache regardless of which fallback responded | + +**Fallback model cache key issue**: When model A fails and fallback model B responds, the cache key is based on `resolved_model` (the alias), not `actual_model` (B). This means a subsequent request for the same alias will get a cache hit even if model A is back online. This is **correct behavior** — the user asked for the alias, not a specific model. + +However, if the user explicitly specifies model B (not an alias), the cache key will be different. This is also correct — different model = different cache entry. + +--- + +## 9. Test Strategy + +### Integration Tests (`tests/unit/test_gateway_cache.py`) + +1. **test_cache_disabled**: Requests pass through to provider normally +2. **test_cache_enabled_first_request**: Cache miss, provider called, response cached +3. **test_cache_enabled_second_request**: Cache hit, provider NOT called +4. **test_cache_hit_usage_tracking**: Usage record has 0 cost, correct token counts +5. **test_cache_miss_fallback**: Primary model fails, fallback response cached +6. **test_config_from_dict**: `LLMConfig.from_dict({"cache": {"enabled": True}})` works +7. **test_semantic_cache_hit**: temperature=0, semantically similar query hits cache +8. **test_semantic_cache_skipped_for_nonzero_temp**: temperature>0 skips semantic search + +--- + +## 10. Argumentation Summary + +| Design Choice | Alternatives Considered | Why This Choice | +|--------------|------------------------|----------------| +| Cache check after LLMRequest construction | Before construction | Request normalization must complete first; key depends on resolved model | +| Cache write before usage tracking | After usage tracking | Response must be cached before tracking so cache-hit tracking uses same response | +| OpenAIEmbedder for all providers | Separate XinferenceEmbedder | Xinference/TEI use OpenAI-compatible API; no need for separate class | +| No stream caching | Collect chunks then cache | Adds latency and complexity; most cacheable requests don't need streaming | +| Cache key uses resolved_model alias | Uses actual_model | User requests alias, not specific model; cache should be model-agnostic within alias | diff --git a/docs/plans/2026-06-14-004-u3-semantic-router.md b/docs/plans/2026-06-14-004-u3-semantic-router.md new file mode 100644 index 0000000..bfbf27c --- /dev/null +++ b/docs/plans/2026-06-14-004-u3-semantic-router.md @@ -0,0 +1,235 @@ +# U3 Architecture Design: Semantic Router + +> Status: APPROVED — Design follows existing CostAwareRouter layer pattern +> Date: 2026-06-14 +> Unit: U3 of P0 Production Hardening Plan + +--- + +## 1. Design Goals + +1. **Zero LLM cost for confident matches**: When semantic similarity > 0.85, skip Layer 2 LLM classification entirely +2. **Reduce LLM tokens for medium matches**: When similarity 0.6-0.85, pass skill hint to Layer 2, reducing classification tokens +3. **Chinese-first**: Embedding model must handle Chinese+English mixed text well +4. **Pre-computed skill embeddings**: Compute at skill registration time, not query time +5. **Graceful degradation**: If embedder fails, fall through to existing Layer 1/2 flow + +--- + +## 2. Insertion Point Analysis + +### Current `CostAwareRouter.route()` flow: + +``` +Layer 0: Rule-based (zero cost) + → explicit_skill / greeting / chat_mode / identity → return + +Layer 1: Complexity classification + → low (<0.3) → DIRECT_CHAT → return + → medium (0.3-0.7) → _classify_merged() or IntentRouter → return + → high (>0.7) → Layer 2 + +Layer 2: Capability matching / Auction + → return +``` + +### Semantic Router insertion: **Between Layer 1 complexity classification and the medium/high branching** + +``` +Layer 1: Complexity classification → complexity score + + → low (<0.3) → DIRECT_CHAT → return + + → medium (0.3-0.7): + ┌─ Layer 1.5: Semantic Router (NEW) ─────────────┐ + │ embed query → compare with skill embeddings │ + │ sim > 0.85 → SKILL_REACT with matched skill │ + │ sim 0.6-0.85 → pass skill_hint to _classify_merged │ + │ sim < 0.6 → proceed to _classify_merged normally │ + └──────────────────────────────────────────────────┘ + + → high (>0.7): + ┌─ Layer 1.5: Semantic Router (NEW) ─────────────┐ + │ sim > 0.85 → SKILL_REACT with matched skill │ + │ sim 0.6-0.85 → pass skill_hint to Layer 2 │ + │ sim < 0.6 → proceed to Layer 2 normally │ + └──────────────────────────────────────────────────┘ +``` + +**Why both medium AND high complexity?** The plan says "when Layer 1 returns medium complexity (0.3-0.7), try semantic routing first." But semantic routing is also valuable for high complexity — if we can confidently match a skill at zero cost, we should. The cost saving is even greater for high complexity (which would use more expensive Layer 2 LLM calls). + +--- + +## 3. Component Design + +### 3.1 SkillEmbeddingIndex + +```python +class SkillEmbeddingIndex: + """Pre-computed embedding index for registered skills.""" + + def __init__(self, embedder: Embedder): + self._embedder = embedder + self._index: dict[str, tuple[list[float], str]] = {} # skill_name → (embedding, source_text) + + async def build(self, skill_registry) -> None: + """Build index from all registered skills.""" + ... + + async def update_skill(self, skill_name: str, skill) -> None: + """Re-embed a single skill (on registration/update).""" + ... + + def remove_skill(self, skill_name: str) -> None: + """Remove a skill from the index.""" + ... + + async def search(self, query: str, top_k: int = 5) -> list[tuple[str, float]]: + """Search for skills matching the query. Returns [(skill_name, similarity)].""" + ... +``` + +### 3.2 SemanticRouter + +```python +class SemanticRouter: + """Embedding-based semantic routing as Layer 1.5.""" + + def __init__( + self, + embedder: Embedder, + similarity_high: float = 0.85, + similarity_low: float = 0.6, + ): + self._index = SkillEmbeddingIndex(embedder) + self._similarity_high = similarity_high + self._similarity_low = similarity_low + self._enabled = True + + async def route(self, query: str) -> SemanticRouteResult: + """Route a query using semantic similarity. + + Returns: + SemanticRouteResult with: + - confidence: "high" | "medium" | "low" + - skill_name: matched skill name (None if low confidence) + - similarity: cosine similarity score + """ + ... + +@dataclass +class SemanticRouteResult: + confidence: str # "high" | "medium" | "low" + skill_name: str | None + similarity: float +``` + +--- + +## 4. Skill Embedding Source Text + +**Design Decision**: What text to embed for each skill? + +```python +source_text = f"{skill.description} | {' '.join(skill.intent.keywords)} | {' '.join(cap.tag for cap in skill.capabilities)}" +``` + +**Why this combination?** +- `description`: Captures the semantic meaning of what the skill does +- `intent.keywords`: Captures the trigger phrases users might use +- `capability tags`: Captures the functional categories + +**Chinese consideration**: Skill descriptions and keywords are often in Chinese. The embedding model must handle this well. `bge-m3` is the default for this reason. + +--- + +## 5. Integration into CostAwareRouter + +### 5.1 Constructor Change + +```python +class CostAwareRouter: + def __init__(self, ..., semantic_router: SemanticRouter | None = None): + self._semantic_router = semantic_router + ... +``` + +### 5.2 Route Method Modification + +The key change is in `route()`, after Layer 1 complexity classification: + +```python +# After complexity is determined (medium or high) +if self._semantic_router is not None and complexity >= 0.3: + try: + semantic_result = await self._semantic_router.route(clean_content) + if semantic_result.confidence == "high": + # Direct skill match — skip Layer 2 + result = await resolve_skill_routing( + content=content, + skill_registry=skill_registry, + intent_router=intent_router, + ..., + force_skill=semantic_result.skill_name, # NEW parameter + ) + result.match_method = "semantic_high" + result.match_confidence = semantic_result.similarity + result.execution_mode = ExecutionMode.SKILL_REACT + return result + elif semantic_result.confidence == "medium": + # Pass skill hint to Layer 1.5 merged classify or Layer 2 + skill_hint = semantic_result.skill_name + except Exception as e: + logger.warning(f"Semantic routing failed, falling through: {e}") +``` + +### 5.3 Skill Hint Propagation + +For medium confidence matches, the skill hint is passed to `_classify_merged()` or `_route_layer2()` via a new `skill_hint` parameter. This reduces the LLM classification prompt by providing a strong signal. + +**Implementation**: Add `skill_hint: str | None = None` parameter to `_classify_merged()` and `_route_layer2()`. When provided, include it in the LLM prompt: "Based on semantic analysis, the query may relate to skill '{skill_hint}'. Please confirm or override." + +--- + +## 6. Embedding Caching + +Skill embeddings are pre-computed and cached in `SkillEmbeddingIndex`. Query embeddings are computed per-request but can be cached using the existing `EmbeddingCache` from `agentkit.memory.embedder`. + +**Design**: The `SemanticRouter` uses an `OpenAIEmbedder` with `EmbeddingCache` for query embeddings. Skill embeddings are stored in `SkillEmbeddingIndex` and only re-computed on skill registration/update. + +--- + +## 7. Edge Cases + +| Edge Case | Behavior | +|-----------|----------| +| No skills registered | `SkillEmbeddingIndex` is empty, `route()` returns low confidence | +| Embedder API fails | Catch exception, return low confidence, fall through to existing flow | +| Skill has no description | Use `skill.name` as fallback source text | +| Chinese query, English skill description | `bge-m3` handles cross-lingual matching | +| Multiple skills with similar embeddings | Return top match; if top_k > 1, could return alternatives (deferred) | +| Semantic router disabled (None) | Existing flow unchanged, zero overhead | + +--- + +## 8. Test Strategy + +1. **test_semantic_high_confidence**: Query matches skill with sim > 0.85 → SKILL_REACT returned +2. **test_semantic_medium_confidence**: Query matches skill with sim 0.6-0.85 → skill_hint passed +3. **test_semantic_low_confidence**: Query has sim < 0.6 → normal routing proceeds +4. **test_semantic_router_disabled**: No semantic_router → existing flow unchanged +5. **test_embedder_failure**: Embedder throws error → falls through gracefully +6. **test_skill_registration_updates_index**: New skill added → embedding computed +7. **test_chinese_query**: Chinese query matches Chinese skill description + +--- + +## 9. Argumentation Summary + +| Design Choice | Alternatives Considered | Why This Choice | +|--------------|------------------------|----------------| +| Layer 1.5 for both medium AND high | Only medium | High complexity benefits even more from zero-cost skill match | +| Pre-computed skill embeddings | Compute per query | O(n) embedding per query is ~100ms × n_skills; pre-compute is O(1) per query | +| bge-m3 default | text-embedding-3-small | Chinese+English mixed text; bge-m3 is SOTA for multilingual | +| Skill hint for medium confidence | Direct match for medium | Medium confidence isn't reliable enough for direct match; hint reduces LLM tokens without risking wrong routing | +| Separate SemanticRouter class | Inline in CostAwareRouter | Separation of concerns; testable independently; can be disabled without touching router | diff --git a/ocr b/ocr new file mode 100644 index 0000000000000000000000000000000000000000..77ff7385ac534bd8a281233107c2ed420fb76969 GIT binary patch literal 11353949 zcmeFa3w%}OneYFuy?2rw2og1|v{-ZH=B3)IKx})mbK!2)newkrJ7;nQf>14LTd3Fs z2#SP`1oJ<3$V>qdBx#*844&fY%mD;Jp|%3O%(OFyTnP|wIPFY!MRUHtcdeDI>;$wO zXHMtyX+EEoz1Ldr<$0g``@GNl?jQf=wRh8uaSVSUu1mSfqQ*o_7T=8d2-i%m($YH$ zXH5ITv_HOGPY3_m%7Y&bxl=o9C|FuLciLTZ2fudfA5Lh-y-%TN5?92lQd;`JyrmBe z)F0Abx;vPkeE6VSh+;Ztrx?RUyHb?hQ`&;#dDq_+RPY@ClzR`|`ZS3-4Lv zK1^)SOmN$K^=+>b_ZNq6Atbm+d%2kwzBfPPwa5L%+7lg?G5{AYuZ})y-F9N*)7;^4 zZ{OaBQ1a)~L2{u#@keRJR~9a=T6oX=doSExtpr&C|NS0r^pOakd251gZ|V#FfL;COS4mKU)VJg9 zZ#1#J*!Qot?U^^M`nJsk;Y)09K%d__>$W-5N@n@Gc;7V;xmhwK0o3S7c{7MGyE{ww$2cm3jp71viSTU^Dx z{`7n*mtYD0^_Qjm=a$|7z`QSgyy)Z9TUg3&&TKcZ?6CRy!-Cw$^F+C zCX}Il!B_U%_4B!Tm0!7U;RDNt@4#wQ+eY{&=3#_&@ahiCCP;P=nuYY0R8k^lsnWdwKV-T;Jqc%#~GPcA7Pp zHMEV4?dl!pG(N(!R^V_=m6$v&^|2j+wjCF}sT++?(*(Z0^UJ+I)@sNn_@kG^hTZRi(Y} zrWEz6kMeZdJ_}#eUeS=9=B&?-UDB}QO{Xz4EBw>eM@(}&cohsk7YvWYxR1qKJve*@ z91IVzc<`v-obxr0=lrUuzW99c<26xW03MUJvOYU4d^FqX{eH;A@;kz@UFBK(Hx?SF zh51mv3typy@6yYi#;L&Q!y{OB`>=R$ygPcJ&tQKcub*=IDH`0*+UzT1Ckl*N(weeq zW3azpU*?Y8A6pRLladGH`_z)ZJf3{`Z{C`J<>9vuEjj;I^783T$tJn}5Mw=bzV_(h zwB&kYQjQ)zU-bAXVF%>`c<9La!pGNA_8Q7f zdZ*-ZViOtHT&nNW9$)B~XHQbEoqDBC?5z$y+rlX=o#ALpS9oMgkgfrm?#$j7ZMe~= zsmD{59#6dl4#fw-@jBJ9=fKT_1=3^iPWve5 zm7>~$hA*Pu%fgvIGg*$+i%`)0Y&Gs@%)8&0@O;R7x4aLh&+|d}CPFWbYcu025WLb? zV?18+J`3iWC1omi7y3ix{*-$@``b+@Z@lpi>91;VJs)rV@Ti|ayF=as=SAP&`X2A^ z82-I60of7Ia|g?hxohyf;FT;?Lc=gLtb~R&9u3<@Id5h|uTL$lv@{H7ISrSg)51I> zW|0wwM#PIU!ZD{o_A|WCX&{7UpA+q}pMXVDkk-7yVbJ zuimKsw+*8w+j-8)K);R@9{fLl{4XVpKkSXahVi$;OA*FgN54t*dn%mNQpq^Qla-8f z6L3U4IO>2S!uU@@tJ93T!XzI(V8TZaoL{xJHqC`0NV^~p2cN$_%A=`gt~~# z#-DO&e7-GN=HcfD3HUh|cHH^?Sm7w6f6mpqz{K0{HSrYl)bRq7(sTD1Gq;9MmZ0YL zeJ-iD??lqlzQ2w1_T8AYRQ;U7hH2g*-k#LDY}eU4orYNpCrs_O@)T{E$XsO&a?m%? zoD28$%|&lz==;jc&D@EM{|x0PQr@LWxaG9h*4?z#bG_4W_ri%&qe-TrBb?f@khUI` zOigmzVxE(s@9pVkZr9V{{I<`zu%Ei!#5Io71t#8IY~nAOl=?GsOuUl*&eCQvZRV!Z z=BG@2KkZ#@qV=<#)cV<@OhcWi*(KVYMHh6|IQeI1(AHV=imCkw`eB6i1J3`e)7Vi{ zm|tZc+ST=RasFO(*Q)eY8{1~Y;^k>(ck35T92=US%N!a%`e+?7aD_;-RQ z>no*#qiD-X`s|p(oaV+@+>Xy1kNWSToZ9YYyd8H^hW?AOcLzuGlm+7JdN#YG+~*0i^WUPhSTlT>(Fu=N@V%AsCfc}jBSVdw|HKT^8H)uIcE8<& z!|%Tt-y%34Z>3%OkH^q)8edRf*ZXZUmzM3k(;Me&wE4TV_q9NK?ch*t76owE6Tq3@ z{!0n)vRJ-*z*lkoiy+K@=J(;*%Bwv*yc%dbNRLNt`vd;|KJcNr&-r)yo^acBV`MWE z+RgCVeLVrc7l+sNt%C4=GNIjfLoVGe1n)|bY{l_nD~=aialF`yo-4MZPw|Z2NA&5%R{VKLKTHYnA3HwA z-w)q!$?w9){Q-O=#*_YE@L#6Kf7^cIH2#olD_0`_Rh%8le+`aj|NkBQXFdS_x;=o; z50t-H|MKIn|CRXbm%ka1x8Dc;dL-4=Z=>L=o47^}!(T_v4CSx5`ShDMUDCgx({J#39A1Hsi2B7weacT3PGSyhXYEylu=9(yjA%ZDdBjX5iq@>4Db&#Z*?@YX9# zylt$BPjyUV>lMVe$HwB98q@gp<<9!AKUNg~I{X?7D`&3YXD-Zc{LF`Wx(D;=Vd8P; zR+0BX{^G1$#f&~Yu%1C&S}{<69e@92#;(a}tx)zu>x3Eyi?wsZ)fH1~b`t+!okH(I zrgp=VruTnp?cdK0V6RJt%D?u>qOAj!jM#5K6US}24HZ2q4Rp;>#SdF8PWTF zmD|CZO#y8e^EocvjoBY!jp2~_#)b*B6(xtPl=yt^M_CsE-=~Ss&tlE#>LhdQEHvl| zk2uqs%ef8yU9`7@0i^^Hc)N_ru;8NZbi*w(vbKi5n zAT^fX_bq3M!*`YKhBphYH0M^phpcriowV+o$4{EnMUL(%dvd2^b0MJjEAv>h5Dz~= z``w#NzMef;9BP<9A=Z568WTUox{cnmQ!(SsF-~Jlxu+99!y3%;UCYO!qgYpHgNK&s zJ8^l_n##KecYQ_otUHLe?$h^j>fJS!cQw22;r<=k>R`R0^ZHo)LHMXWmws3W`Z>>O z=S{Qx%7*Mn?eR+0WsRgQHx@5TXy;G4?+LWCkam3d%Ti*^ZP3flqcF9m!RN6N;53{b zYi2z^e_CJ4Y2x^YLuQKT+{yUcCjb{~Pk%!{o0aRDk>8Nb+QerB z3-GsH6N}%%_gb5idtF0YsP_0|?qAS2ST|~8eC-p!F|ciCE$aX9>B`jXUaL3YlT4G^ zb2l&@$uRYEQk74a)KduWw`Q97S=P>4$q8&@E$7P-(-?Eil-A4`eCXn?3;dp9ZK``y zEdMn4J_9_8!7CTDleL{yWdk&=x+2zmin=Fhza5>hIwQIM6!o@Ou?FI`r!|kS0{cFV z=T}o2+D5Yur?Gmp?E5I+1GIdb`?UcYM5+J3S)V_|SPs*!;=GykH@mfOu1}l!xv}O< z6YVL2A64!&u)Y|8Q@kgfbiC6ySNR_;T+LiNxSr_ZOoty>ymQF5U5y^il=yzguH zKGFNWj_*^w@9X(K)BE1Y_q)9B-{O0<_x&&VzSR4^neS`7?>qSZExtRo$1Pl}*ZQ=n z2%Bc&(Vnd;wmd5QzI5Jc{4TWheS3Whzvm8k`ks9CcSnDyAIHB$Rv!HRSeqYezju#q zm^U`o{Pv9@o|)#Zrqt$EzPGW4C%wL~%V{h#y_5aCFY-{9bo_kNM)1C~a?>sOKd3P4 zAN=uD+uqwJ9NR{?yZ(6Pt$+Pi<>Etc6(_g8)lnSnZRK5C%0srzxfg4*>6U!pTL0iL zKjg!>{=t+FyD%z! z?S&nyL)6|i7i;ecuf3Cj_QJQgFm5sy2VG;s&8>WwPEvbUcZ3XRw7v~mKMJjV`FRw(5?pU2FSR)@Bi6hZ8<>qA zk^UUdCB3o*nU-E1&-H>yIx-G@m4t2`&$Z1YA0bC;itht_I&2zccLnQkzR|V7A(@uW z^!d%^%agMZ%$M)?A=2?7$X9G(eLkEKs?XzEjsG;COR$xXGIPl%j6dwb+Lp#Wa6at8 zIxo#ksRYhCu2m*{q+_I+BHtpC5w6eWnnybidu=%*(Vw(4-)n0HI%YNP%=g+#8eyiW z9ko|!B1cxG(iZsxep^AfwnPWFm96_gTia3wx0TC%F}W$jwN*$SK@hI}HgyxQcr&-EYNS<~GLS z5iVOFo(QAk^0;h$cp}_Nc`jQYo(Okx&n4V!6;F6Rsc4xxh$md%vjbgI0see{wUpeI zwe-_I62B5Um$9xcdauBLR$lbB5Wej@DU(&N5*l{mqtrpeT6nh;o4Jbb<&XhAeqK&-v z(!%ghH%$ru^khN!r+&HMdp+A*G`9bp+ED*~S=;9MlWT(a&iPG)?lu1sER|FKd;S4( zGC#FE_IT+0+iPmV&Y}){K;=}8Jzr|?6*CT3!&u_1S_9~R0THCfq z>q#NnaH#uB>MD1^uNN%8QsqtC9_3yod3E$%eUkGusGc30{+&PhqTiNo8Q-9LzkPpv zZ=>HB-;0c|Con#H?~U)p-*SAt-uPZ*d@sI_@%0AA_o6qx7cVltXu|jg-TUJczJcSraUu$bX6VK72mCJ}7?tpxgUh`P-w<9*;h2Jo;Gvz5soKWksL+{clLH+S!g8U7-_x&?B-ZYT^q;YqVhdNyB=I3$OrYYX^ zLE~pIJOlGB^>eHr9(PV*bMU;}k6j*2%Kdo5v$c|s;Mj+|e=mMePFyyZVl{qzOzrr8 z@AbZwIEJ@_8$MhG}it?u*`SHOpY+NXqm^V{)cQ=YI^LgEcuqFAKXw$d`IQ|vZ_}Dy~@G+B;Gf_)3-Yp z8g+rgZE4PJ*(UX9jL+^XCwx5mv56nIws7;wTU94_UDiD%T$NXjyRD9E{@>-@c6jOy z_e58B|5+P&PX0{vwna{IJ@LccKM#zlh+NGgVyDW*8RE+^$f8unM*D{OiS`bNmr7&A z5215$=hrt>l2?~(!u96blegw^ty$N4PxHFAdycGYzo%zi$2}82Hu1KZT-97BX(s|4 zNuL>W+d+708&@H)6=lRWg!opk{%FH>zF>TEL z9e07Dnw)G~WS4L2;)N%1W;>-H()*C?^rA|uEe%e+pr|Qn2-^I1&*zD@XZhiDh z8ud4M_0y=o$*Z6CroOxN(`ajxGoq)QwvGhkFHxUtK@NI|>y4|eJ)RWW@s{LWx?)>e zEiYbk;!xhfjfb)hZk$BDL-4!m zX4jf?e!XV!KL5(6ZaegMr)-_%zP{Z-J>s|3PPr2HI@AF}9XRMri5ykCYX1~EO7qT2lycpl1qQv#SvRd&bMcjFp(gEpke$ND zzA}&4>OA)Eow_C#7cBFtD|(l*=C1qkSD5Dc)j7S|m(f9c|0tS!@U_Q*?^^m?Zid3g znoAoo^s+JNGr>nJ-@?azyJF}8_`d1GM_V1l2a1-5n>vSsk66CoTMc}72tMuw-@_I@ z**h1$pnvoAe{+2<`8SUT_|>Q1nbE`3uY#e%Hm)MXKQao-SX#~oM zk%wt%0zcveU^D%_^ezwnw)dNt=Jl?CFIw57*$Mv@pf8UAlXyVuBu_;TZtMbQTWe$a zTF+3tRC|iQ5H*eB!76wVdvbFpywL?+g{R!)yS;T`+@jQa9RvoPg5PP^; zv=CqDGl!VqODa3kG-pLkJTFaaID^Ob6?jMZwS403qj;13Og6`aJt)iQ!{?8Mmx({F z?3eGnF|qt4#<0mGE!vNbvpCdRmDVR&N8}s;c-X`%u>I}C)q*(x9=Ti{jE())7AJ$( zKEW3@D2KR>;+lf*5PNh>Bdiw@J55P<>NVzS#>`%_n@(eAA7h;3bHRx*@fqO0kFrJR zqhPt{(gnS%y>iJ*C-fdBhFSo>l;dMQ5C66?)^f&!&(=^5zm(V6@5jpF7p*OB!EaJ~ z74*B3ek*`&iHF}Z@XKB=@XH=6aNo{)TL){B+4NCJ+YarPfG>3W(N6e!HRqF{pH66O z1;#nIh5deA@Spt9_NC){w*kXm{QJAHi_>XiyGgE3p+A2-r{C?n>Gab1y?;diIgI;X zfL(n|vwb8T_1iD9V|3du1fS&|EETp~=;+D>I0}KoU#r{-ANy;Sf}@JIN=&3a$%A7) zcsKqiQBNv_&9IpN@>6QNeXPzro`b+QgANkangZwr(z;E-YpP0Yy^Is}31lQ00 zIAMJ#sOt*+Hqmu&+BRjW+&{m)Np?Tz!2B=_A00?CyS3g)?9{HghS$XM!;ZPBRco&1 zV|Fe0pH4C+WU~#~)|%=qd90;{buLgWuDE2GDfpT6dNI76i+tALVAl`{T00S9KV3xY;Dgr2WJ@JOqMeKXq4V3{{MwUi zaI!am6CWS5hQUV|-{rmV@vZ-0d|ZoO4323yeBh%tx;Eb5C+v;i!%MJ!kWZcs;N*XM zIPvi@2|qrl@7mC9(rcV~67NK>)xj^w+lEsI%&r%fCpA67I@2kW%v@mHkvfySHWNOt z+vjYMKiqY>-RF5s&z|C)bcFOn3H;W1xrygs?`0bv#$L(SI&{AH#3|wuMaz?$A{=+5>%6HBM_j1>Fy3M4Hr3 zo!92Wv{gx4#rR*_tE+k?t8L+A_$an3D91zj%a!k-99Q_b#BO|V82)n4!x)e^$yf(C z#pX74z~hzpYvh%*v;(ikFdJWK2;DpzH6zg1aQQ!4pId1C(XsvZsujD`2L0OcOMSU6 zQ+`2KUc(mhB~JYxy@sx`#BT(m%a(Yve(l^zO9*tE=tOKVdHeh@WRr0y%sj$>SX-#U;Z9lK;L5UKgX4~ zPRSqRk^G$k{zs6%Zse~U`IB6=FAoioznR$LNyyABJcBdBPMk)+q&$?;)SaM5&S1;02ClWC^vRvbMK?T`1$@hY>c|h> zDW7r$KBZ(+`?iz8r~iF*b!G1-Sr^Y@&QV*P+w0@>47{T@+Ss43dGMcjW3>9`a!>yN zx37P;1H%Gfm=PK?xeFLN#rNoeFDAfXZKMZ-|GgNTTq+pIUx`&`_nx9}KhG&Ut*E{o z8O$;GZqPgjJjs{g9==Wm0cV#3tS-F= z=RHP!7!vw_)aDlroqxM_aXGmt?mpQVIiQkZ$@pse?$UgecOmF2-?sog^(3((`5g1e zKb+TBFs1!d=rMR}9P+l^4`%#3?)`jhO z65al=2^}Fn=;%t5bA)rDtj|`2E)`y+lUIATVFL-xIm{S_|*J2@oBis4_$ zV=?$VK}; zr!~u0-I`9^iE&kWvR;m!o<@J;oH4e)GISU8x~Z17zf0R$Ufc3FV(9PB(VpdR`#Ih(N}qZnzwOQe#T^ELOdJfQPp=cG|x8; zPKJrkV=m;&NfvGHOOTPz(x-jz$w*d$j3`H_#)NuC;3p=byS8!8o$yACr6-FRXa_tc z-$!!&dFDkv{IV+@&`mi-TD#1IM>3J~f8e|9m*nQ_9zGM-zkGZ?N}s{`wQNKP7~1Jm zc1*Fdf0hlSAD@pquv3;Fp>t`!y&9N%s^35L`c=FtNIy58G*n(i3-IsGx%W+KC?x;7 z@0a9!Cp+sEf4rlNaU(CjkJ3h2J8wWn{4!sxP#JK-vnp}~=U-XaT$xqW9LX@v$yYkf z;jBgo1tj^!8N#hJE<`TlgfDH<@yi4p;{3W}k zI98|pMR23op6sc3Mluxxcb50jzkj8Djo{V7D_h6=8-COGgvR2$?M- zS})hL9Bfz!+ZB`gSQhaV?J^2v(S_L|6@Cddu6hIv7h*f;-fluHkoIN zOFl^*^}PUjegr(GQ1|cXYkVenTAJN^M*M@nBpdyWk;HxBuMT*vly%o9@pn{L@yaUr zT>2sjnDx1uGo4##$NGm$-I%%fNBFUJo;HN1W3;dHT76os0ETkL+oZaTRdF@V1rJhg zHhN|j*G#S%Tt7O<`OI9xtz?xywh$i)tt)O;Oj9-te$NO&+alH$b6mZ%I~RQ^+v?jm zmrm~dOl5M=QHsf_T#0ywv6lcxr}R;Xi*7Q~RJ9%b!Ds!HxI? z{LIzd&&cL5mhwobsfn@FzT3C^z1md#d}W!NH(5*Dc76&EX439#_**`9JGvmo*}jUe z%a?9LPBUNadm`)Ilqu~u!f)_gA-<^m$%p8-j5YZ8>euI|>pXtCH^5JtYm2Y^KVN^I zvGK`)`1tYHh|Q7@ZGAC(CgFUA&WwuP((rG~{n&;VM@d1Cperv`e<|+XiNy9_vi|)* z`_`v{7gvK*`84i)IMlSmn-4$De3*EY^=ULel ze@aJ|1?F3i{z5twnxPAyNH~IjLfEK*H4qQ?*hd?i$TiQ220Pz$b%^{+bk%d4 z1GE=Se0u*U)5H1!{@9^M&%cWv=)3?ucKY+*af$Rmett`O^nM`p@Zx-*^=W|*_@qY% zAODXg%)kDF<>5aC|1bPwf;co(Ul(KE{Ss@wxvUR$ zRFAWC+5hjA6OS(4Z+J2SUHrES$)mGjdAGz=O`wWIt@i)eiQ6G1dg0kK}nY+Z>y;u)4Rqy1KW3 zoD{!~#@>yuiLT=_v*l^#{wL|D=huC6)vxxkbmPoc=w%Uzr zYAm{*$5yYzR?CmVHuu|tCzY$>!7VxSVHeESK3|VaVxNn!&oiw~idy^p5`6BrtyJ_QP^+V%ZBI5fwhA8t>4Cs3)=6&@mcv6vfuk&AJ9#* zU5ml33H{!L#SjP6KKeo}(V^u8w<)FNfgONCYx8r%-EGznS@d?f0$?-g<7=q>u zzxlB{m+t_k3gV#RxnOR?Ezn50BbtM?KOS3#Z@;XQdL$X7Y!f<~MW57Nra7#1vesil6PYU`w?*krzy0bYhERfECS6^TrkspW&r9gy z3*x6Xqv3M!GYDs~jD|~sIJ?m-6TUv<yCcx7LKa!C#k&td*bJj!x=A9wvbADERKqN@{X-VscYA z(>PhxS#9Ipu8DPny|@omLJ+t9Ov=;hII(6fNwF*!iP#C*te#qNIcNmoiHuNYX9 z#`kFZ9CCN3iFcObgCLh(9v!z|S-e(fipzJD-=(w5&v^8_nmqm4oLfHKNm`5DX*dHt zPeIS_0(=$xm#dM}k;v)n>yn##!2jZh!cAvCW#Y4)Sp2h2+L33Rkw<4c*CMZ@EYHuz zhf#dyRp|OnPfpkJt`#4m?Q`g*JE1GI?JO01&=uNt7eHHVtYlk#%!bBiq4BlI>}$x) zZTLPvLS}!2%)SndfA~;Z(>nYgUtab3m@}&W2Jn6dGW)%Si+kUgk|?t}vwXCb*(~Tx zUQWhY+P;->sQx*(vVqi(H##v!NN(+lh9dv83vWCgx@pCP~d(sdiV z)7NfP%({bdRnhlBe;s`a<79mMuw!~x;jLXfnI7uTnN_>1O{jkzUHP(ud1Y3wY{6mT z{oUXjpK_UU?~<@v@}EzK(^|B?ujk6kXwX?T!{GQdys0u>spcm6MoAAPHJxJI+dO`K z+RGVul(lx9Wg@>-YhPPlwriNy*Tb*Ax#LD?hCJH!8}GaL`%cz;Z7fx5?Tl4)?Z)=F z>t`v}*ZhWu2dn?2_cD^3x`4sge^2AfSA)N5*4jJizY93ZSgWZ8hOzA5_1F95Yf2{w z2LF2%c$+L3@Y%}9F;+gb`j?D~&x)(ZPi+S;thX++YgFKmd6~X9us*O%{HS@FcOQ4> zR=&KtG-&5sk->3E_qjh;@cp})oS*LNUio(!7tp_FZ2r$cyiD|2J<{AHnca>Jm5j=E zo`yF1O@U-&Q#N!WvY3i2M#m*L$+u7Scy|)K+f2+-F)ih|iq7NVW1DM%%xleWxENKc zlVtNOu4b)HcwR`n{88fEsSC-sVJ$Ovf@uyf9M`M!n3ZGJiA-tj(50=LN09<;`{QKD za3{Qfim`WJPAr++u8xeb&Fk{@;{xo*L})$H8DsnOXnWHZc2}`;ps^@=(-1YY)rt%Z@qF(}AAy(H!WhoFdL1*><7 zbe6v&9UP?h8T8`S=w6+X6ou|1oe@VCIjKjZ&ecbv&dC1xqiA&&-8;wAy)${&Is@H1 z2c3i*SlxSPK=-0^)%Ff_uGV_5hIe|PVGlYd&C`Xi!c*Tw|Gft7XFoKmX*Rm|Ec_sR z`PXgE$olJ{>+R^@dluf^`#N$w*v?A-USjpH@$9V5Oc3muuc<^{&Ui{rTzW0O=R$39UKnyK)F8!e8UVCcd{i z&+=CpdM<+B{FK(3(JeoO$JD27S9yu>u+2*ZPG488fPd#R&hbO|x2iXt_OreABlImD z_I_srp} ztsKhKV28AC)Ab`}_R3yJPYt^F{0d)3WhU_R?Zfc%OZK-`2G&1Wk7s@rZkfmYX{!kz ztz`a`gv=!aqjGA9A04e!Y&**J>DY-H6Is;394xrcrmrT%TCc0uf_{(muI3Qb>Dj?N zqXXX0L(icTbsj}iCw!*dh|X|ci}*u%tHOu7CPhAI0rbMh()x0QJQw9fjE9HikFN== zA0$7N+;qsZc|OnTll>fPl>^bmIHZ@9Gt@=SP#3Z=n1AKR8Oy($i7mB5&n{#~wp1|^ z*_$sg7gH>-1DMJ+A43i`M^IViTvuHgTkF>moh17y*gom@P7_{h_}mK~ve>h87#z$5 z2i;kbCe14ZtL786%;g_BKkY;x`%{a^D>=Q&G^8$DuxBm%qhyBUe<=+?R)l@z#oM1@5w#*JFXva z{Vy)nx3*_AdX4zN&D#6p<)VI+x|+fH_Qsu$2iA+hht`N!;X~AT@egod;~yo&KO~P) z*650n-%8>i707QG`ISsZ@Euv7ST+s0Rh&dIR2NP!R*dd%LziRAmgON=n`+q;Ntwz| zf8&JYb`vt9AFFfueG~w@IT03AkOm_$8DTvz=t5t)5tTQj-uhgGcFA`B+$?Oy|2ON5y=1Y z^De{SYz6DBI{ys+Ca(R;g}}U@oZv!mUVz?T2hO#o9L5%eJ-jP6&^8kONilJ?=f^dL z!!OZZ4nDG7mxdN0;%a5<Ud{R=SD*cmF%NLW&uM*t3(`z+Dl``u ziM-IK=zAya>OPlvT<%2H(#bi>8sq1IxcQ+jy#{hc{e0`?9)7f*`5ZXHr?X>g^?r}n z0Jm(K8@j|~zQ8>C+Xnp7 z!P)593g99BF|dCDUh{20D|0=6PB0LUapP*XJ?gIh*0kns^v1R^DNU8&Y8&=vKKiT< zJ5%E2pUOrIj`g^0w4+~Lyt(&5-SF`M-uQja{ur`9{z;QH{sH|UU5H%mt|EUaFHD|1 zG95t{OE@!hx??huT4VY4cN?L3H#*^@Nm)evbgt}r9r0nUO|j?eTpfF`BJe^49IfJc zCHG3J{QJm6P+kM`xtpMO^I_Iev*Df0<;MG6WLNKG zo{uzVUQ64+DgIr}wHICUP2wKO*jaJ}o=pah1K0%S#mA&)>%e&(d1*R3Ome95waAHl z6y6^dtb^o?cAlnxtx-hs=!<*yk}Z>enRKno2WvP>Et%guCKt1w{rYR4jB*wL{$eup z+|Js>Hs)67`}iU5EBV}-mfWO1v|krpbW;+~|C~N@$wv<(AIj+u^NjtwQ>U@ECcCqp zzNWLE<}mzGZBpu+;Sc5TSF_(d1(>=SPhZ6Rjl(`iopU*zT#=khS-Zg}RQ_<7`qFt} z@Fg7(f(H7%Y&}Q!_f+FoB{2qYfUg!=JC8BU^Tu$9G0bNS>PPX|=p_2%^U#%1JC6SR zD`5Up#xY*`SB#^Oy(7ZGA!M>UJl^_diqVe4pRJ5ObVB|?IQzgx<*8Mg@z&Q^zGCWg?6tYmb(~y-U>diVO}zVan4S{H%Kynlg&I_vFdL0e;a3rwi9!GHRABK>Z45mC6|b-x1nZ9%>zM)zN+gctiuiA=yzbfM0GNnCC%H|3n>}wqV4UHH{`GeIXr;e0aJb0)yuC~yK$=Trttcb=6`v^UB9}4 zwoWS!qWm7<)_i)4&5=pAIWihog>mXFo=;GAIC<9il?$Nr27)k^TbPpiVajow`dfi1XJL778~AVIjIaIh ziiHpSWrK4E7)LN3@k%y0&IZTX;5b|F1H7VgK73mQA7lAj;Jd~f%gBVWSbp^6NZ;|L z&aK36iXc0yBs<7W1im8fHFX=me<^!4j&k$7y$6p3<`9oChe%FipEFm1L(U^>dN%%w z|Dn7^t+CggLyl#CpiiRxDMN3`u4tSU^m8FQME=lm)vvJY-QkuWL-#VuJAu7B6~HXK z>33!gvJeBmcHa)RNAUvH?}SgZcJJm<4bWpHJfgi4E8&q2Xs7s?*4oM$xA>(z0mtR& z^e=#8`UUmj`P%aJjQ8jFx6rPC4Ikf$AfuhXH2JH*MaN0)*U&oK zSIKdx-LS5g+zf1O>m1p5_gTkD&ePO$=C#BKcXjos{s_D=8$Ef3ybZ0nzldyB@|&a5&$3Ii;e*q}=}r?HI>Vgc z7wA$u-@VhN1>O_ipH-X-a-C1_--#2O*31v!EqaK-mjE9xY3uWd*d<+(^FqzNO=OWv?}d)&BJ)`kRM;F&_F!U&-cnvw!{Y(s{i# ztjlI$bG3inFy`9+@wzz%lEGD$7s5R+az2dK)r;YU)wETaq1*+@k;@CVPjs4ip$mL& zM~}^i7pB7t^F9AVyl@&=W_doy4tx;BWM;q%!~p6QL(v+b?8ejRxNi7B>k$314{%{) zANVQag*NcyuSILGo?^xSP4wo|u2b_~{<84v?+LKCik4;^?>^L>7YF<<*yf%&J#-4wFIph}E=^-aA#>fg=fcxizSG?C zv4(Q$+(n&kp2^O?z~`;h?cg(o`~7?Z-NYiTC(~jnDDZvJ*2afsAtbk3c#Y@qqnd~ez9FX zEOn|2EZ?U6INvwx9=W!#Ak#i9YE!VRLY`cC3#|Wnwq{nBZOiT*AMeSXZ*OKL>>po2 zPG2rKD(15l+=#DadvckdhdI+@U*JrSZmoNPpEky$wTX{nbBn|Bz0f)MVP%Rh^R5_P z*LuJ+_(nC}UV7i&6tkB;oOfVj5xS#@`LWgrRbH`9Ul&yon@(cgOu0Gw&1<`6giMVS z4Y}{2@8CYn|NaK^BpU~Qt8 z&vGyExC!V?KSrJnpNOaA7s=`$9QHIwMeY$iWWFpDJNKl1=-C*kP@KC+@)?4xd4v_ph`^%=39apTMt) z=N)YE__gxF{JP#hgXUAe1;1_$4V*#qLGbFt3-IbLZ0z$MueRZvxiakXrXf}%ew8m5 ze10*W-S8Iv3p{(Fy5ieQ|G>94_f0u_?eJ|ee5>^*xpv+c zqpK^Kdk;Bhh5ApT8)chSt^_?xJhA_rl@8|hcI}dKdjjRgig$U|LBBygdlKI5q@C6D zm!vaJ?!}Sa-d4`;oZBAsZ^2$!5^Uk8Hl_PlibMCzH z8ua#J`dRdeq^4KVuis>Cw&!*eU*yE%_c)`D{K!c=y2!bX{Dwjq1v+HoLp|}6q z%WL=!?}TH)Av`lT7|0bwcU#!-3(lZZ&t`H~9sSg!$9r;3{5tgb>$l^plHc$Kxn6H5 zw}HHdXA*MCzUN$0{|5G1d1YTlkH5U|OIDA+MjqK~*z3XT!`hQE%Ifodze$Ay*~E3mLGZfaX(@#uM)YTRynB)7QQ*?PH$6`Uw(n3zXa6?y zsrRSBRTX|XeAQ6p3xcJ|OQZ zB%jFXG~~0AayoZOIcdVJ;;SKhih&Uta=^9Psl zTQlM78Y)tlb3)%D&$p{RIUX_&f&_?}MQe(QS{vWMHw$!K4F6r)dwpKZ|m7#uyPIh=TPpXQa`nRXMv zp`N?8*^TA-b~pGe1%F6BVh3?2!{^iJn2C(7JByqt#^>fwMVkD)sS)H&&Gz!91dH-k zwVvSTP2EjC(pkss{to!K)ysoY4ro33;)~D|uU0SGqk8_ei1^t_leWlV?jEI`ZgQHs zjk~W$W%^iaZv72sWAknc{98txI|%=9W8zH4{#b$bib1d4<2aMKly&-Soo(D#FgZk9 zSM_LKMU>trUCxh;_*-AF#MAXj+K+;=jSAO{8I`4 zC|73zZG9_xW_KLjsd zf{&g-uRjAHeb>uj9<^}sAU;~>MC<#^sD3^=J$4egajE_7XObT$KGK~1d1znjgz5); z+KZ3P&!rKZ+Ur*ZT=OkIC0l-qc>GibKfT{JgM787&C^Zr)tBHafBx&{lMTdM3qNWG z=DqdiIjfVH_r?N#%_Pwcd(?(qZ?BI%$DDPr-uYWs?AOj?l#47?n$dQx zLoio5;rcN=@Ar4EAMkgcuFl(&M}BBsMrxDd=)NDMdfTffO`T7>Xqh82wxbLNa-{9%|Ev*Bx znV3(uFkwAScD@{X=K^mopY6F$gI#;EYg^%#Q=DNDv^T-;L48mc=(8)J4;Fra{z(Ni z>bEcOK>Ov!#>o2p6Y~8OWBGUaC*mD=#`jM)>ugTXKj{P4!}uq!48*`(ot)^OD0cNh z_$Nn^$qV==z2Zmzl7F(-r1iX)evzlRiLy1UdYj_$5&<`?1tv{So-3+v6AcBSC(--{Y4= zzr)9I;`2m*)yULWvBcKYWcCW&s?66=r5z@}hp z2F-&Gynlb>qdfz*|6=~g4S{m~{s?^s{gG9Q4-NH4`r-chi@^Op{E_B=8-VF|_D6v2 z_rxC=#KZU__Dq`pbbo|6neUIVfNy=!LH-D_hHh~70r(@m{{j9;KMzfZhu)7r(sY^g z=5TS0+YSf(5l`1Yq_delU7zTWG~2c5f%W|CkC@&5ntnU+xZ&jUW8!n-J8i^z6mM>4 zUNA^L`AuQ@0X7eSGQ}5~FVMy(&q6DFMXm8)P(CR)Gf>XTC(pF^BPgG5GpEpbGX3)f z*VpUE?Hk~x6+cg9hRzqfb$#Xw`*qHX2h;B?pVD8z_&d!P@U1?;`NFXBc_lW)_gDVi z^9A6&(0rlp*BAEruL1_&=NBwp6I}nE7-s+ZMLHMtFIexL!1+bY1qNi#E9;NpcbW?@ ze_<}r&mRlm5AmVa!-t;>xIA(p*}M19P}%#o&iM6YFLxOGIAlHmF3T@6A80@G9`gZD z=4%7}`tyPQd=&c|E(817+gaz(x?>(bL6ts{*SutNa~|{HO{{ZYM}B(i?Ix~0?;XUO zRlfbPl;%M)-{H!9JL>@NM`k)c1<%mF_MG`N^yk`|Teg1@eNCKL{(dHW;>x-E8#xP+ z^IBrJuD|Q%2lzf+@LA9od=uIX%pERVC(2w=F{vcx^NMXM=Am)%ZB9(gpG#aAPu2(Y z&H?Mv8M@+e&cT@P@pv%*>C7=l_-X@7|6Nmj4tR(i&0>{u>6@I|t_uxVR4TVR3*D%L2OApO2hd z<*rvhny2;Z%lg-=+iTEmIc9h3*Z6!8-NSvyD%Rhm2i;iddVg;6e^?i5{TjCYL1eB5 znOnu@=#hhU;en9r|DfaADR)8thj!lT#@9e@Rc;#kko`5!PD2mxC3m#LU%#eY^z=YE z+3q%;b@EH0Pv6$-uVL5z zYM{UOrO&YqR-dCArLT1L>vMEyH*gB(_wt9d*S!lJcX|Q-e6fiKR zK>vdKws3}BD}AP&b7oV}!_ZM<6fHZjgUZ2`Pjd?Wtnr^-fG#dZ7vqEW%yHwQuc4b? zFW`3(;a4AT)*s`1l;1Xf`wVT^_$|1(pg#sroRR&&&n+dso(QuK>zOG7aof5#`fmD| zWRo#;U{fl{i+(%9c~g0^PqIf*xpEzhrwg1|8TRhA_IowCBYHlL_1}4%8PX1Zih{X= zm2MuR#;)8!?X4C5q=S9mu!}N^`)ci54u}#_z#j?3blqvfgfKedmSzMOU8i7hf4}uEt*6{ynVz znNpW=#<_1xPXyMS{dmd{fAO(M^Tqtd&!b<0alzpCpzi#Y&V2Q3xbH98-%qmf>Vfl9 zHshNb@bj0PvzC)^u5mfI(YeO^=llB*OM0bGMt#D#<4iGe#UB4reWf510Uhm+Zx*?< z?~cyw*UbZdUZHL4H#ZD!>yX#hn}N1`eJ}Xk^Oy(P%Vi&9giCw%%B+5M*Une6fAR-y zKCaxpgdf5CjE9?^Kp#1*HH5j?SFmUc=M=GzVOcI$sR=L2);;SItk=5l!C{CT?_4hX zUiai3P#!o!JzE$v<>Ol4)%||p3SkSfxeB;%V|IDj=ZT5lm=Ael zZl#|>>37YNGH_VBn={qHE#o=H@1`8BJYVy8rQzHh@+kB!#9osQ zV!7J4qfh0Zs*OU%+s?h>;nJ(6Q=KKXv{U+&V{^{^cLn$g`n`g@opl?@PcoPmMZJ=(%^gL{T9FvN2nj+w|`bgoMYSAU-NJ+xgO+% zcVC&*(9QF`oQHpKeVyG$)n_7$V&r4Ed>U?1zlEG5kZWp>hx^`mtIRC0XH2+fiNtoP zU$>u#?I(%$w$slc`gxjuUZkIB_V|YA!t$vn>8ES`>WzXS(@6^S6KTogH@oyuL7=+~^SNitWO$MF6oZz z7{^QC&DI6xt(4mfKB_J3nJrpRPK5Qn?lp$Z)E`>TUuSX0tXx0~1N<-^*e%@z12Bmu z6ZuSOuRFfir1Z2P6HgOU=#H|V%cRu5u+JQmtrDI0As-I3Dvu;Ju`31J7-^9XZD?~E z*K?Vw+T(xDr})>}YV?@wQL4@d_hL%Hd|cVPRGW)Cpl{jJV$XTFj=hU1@NS=nXJ2=S zfBQTO^@i`X9{9XH%_$;oifgYyREXTHky8rSPw zZ*ZkkPjr(`^I`X8Pkp+6kE_F#yY?ozvOVOGzQ#FOuZPoHG{$Gx+m>FvVCp&Df5TbQ z#&}+33~pJKQ~C53(XZftxiUWrzyCGbdYy7-d4Box=GX&Q!RO=QMQ~Q|yjhYBKa3>* z??>c#yfI9B|3tk~C(_eGfA>;1`k7FZ@_Cipr221gM#mW^wMBU*!`1(x>c`BvEzl)B z^x&>bA9jv?f_4f%jDFym+CD%eQDI5Ln(PW13VXMS7+rumTD&NbMJYSaw z^!w+j=wF?2KA8URr;Ns`zJ0t7SEq~p+3%s-?OOWon<~#6&bf5N9N*_!C zH#zv%zD<^F1@Fh{HvoXGJL`pw$`vUx(W5$NBAR_@W9q(J^K~XmH~WguDo2@o#qO*_ z8&C2q`4gKq>bdM~5x=uiM17Sl;u-VVmSWEG;!J}3%F^Y3`M=%i;&$A(+&)ixb&_aH z=chbr{Y3c=v0XZs-#x24eDr>P!>=9MY7Z-WpX*yEKx<+NVa8sAeWWzNUToT8a8b!z?RDDHegomZ16$Gt?f=Yg6JJ>Sse^59HND@@V*Fgh+oM(t)Yi{H74bk<|>}c=h)8PZtdxQ9()$jj_mGd|CN27jFUN-&PHj#w%PjM(^$Yq zG0!{0HM?}4P7QVIsGCW>a`02q$Qc{pP-mTpuSN6IoCUCnauM*4Z9ldN7}r_;0l(O+ z|G^l{`N9(iE&P;&chs)xDu-QgZuQRS$u!}!h14x!ysE2QF8v08^pnP@`1oItGZEzV z4|%*kL;ZMvKEI!_zxOlXk3Klsd8P6}{44et3WimTZEKV>J51%bi_Dok^ZLfdz;#tf}LT>tK~!TtDioM7Ld0`IqQL%3Rymw|lXP?K)}9eXA~AwNX4n&dr7ck>VElkIAD3ibP zhs@-zqfWez--hhw*_1GWfM@C_zM>_c(_=b`5cb=$&Kia|*u96POhsKV{^<*{s zs&eLQ((^a+JWq7S@0ci=orpg7Wn|TahAQ;zgo)DC_F(2@UfzW6hgruVS>B`~1=>+n!*NFP%5h zG;9Kfl?gC#_R~?p(9Ha?F6!``sjsBWZSQC&AKq+?;p4Q9EX`8B#Q|67#F;vMIE0B_b+`{_3;mUWeI?ECaVTwmyU7v(jlv2~&2 zuyrfRvE^KZ%>PTefRO%BAwB_qf+ZCZo|FN_a zg+BDmL-`cSn`O6rB;0SzDnq{?R7Ui9xiMcP9^gGbf92E7r;Cq!5BeH+dW!!|u=gPC zKhF9RyeeD|<-cCNS4_jM@urWmOCz*0x z54`(5BMASUd<%7xMR%#}yT||yJ)t1_fkk)kg)F*DH!d~uzL)MOvzam`-KDeNBxk8?5Plgw0Kkv8qXl8yWYVx(s7WXUcNxE}gA+t|-eVzfjVp_>TRIZN3plOmU!H z<2=0VP`Pp+Nd|A+v}W@{+UdDSIq+LU&chXamtGrJuDw6Q#<})&jl0>@6UlQ3+|K_6 z7mH4>PUGwuKI8?+GQ_FZj%A!h$)V1A@OKbdMKX-`aYr6gTPYWZgbyMMAqSKdAXm@7 z_^+oW%OC@EG-K1K0J>`Lk=iD@JM=b>ljp7d0u8d=x_jjzrfx?*!O z@`2<{_2KT%oP$36@6LO1<{K9N#ZTXl|GUBep`o4&SH%CO566G=bD=%hs@pXOix{Ww zmeU*@V-6OP=Sz1tnsY!~Jl)<90cq+_@@t<1D`zyeQo4_fjRh+=3uUC4*GCv?rApcNeM>B zOBy5e5M?g)d#h+nIfAa8Xyz}{ycs%|_R=T9S?D7Aog{m{>S5#GA{tQnWB%|~^WnRNjMW;djy}+5$4MeE$Kc)=?Zs&0|(B0!tua&2Kh~V zZ2Ha5)}`P4qt5i3PxEQ)Or*>iu3PBSuQS_a-QE6*pjva zJN)$3c5Hmo(f$m-ePq9J>M87vHDiq@+IU}x{qd1io>LomRx#gr;w*Fb$d^5*YOzh4 zTf5SF>TN`#joK>a`unikfl(F~jz5VvW5AJL6f7?EE0)Qg=>sWKK7v~_M`eF zdujgMULA^s`)MlY$&1|Qib zeS6C?*}t?0c)?$;_66`pOh+)A{Xn@WbJ-8JP&XI8FWlzB-_@4B8?eJPvOhG%FWY10 zgatRUQ6CyuTsHuG30KZ<`NQ15CAYwfv7>t0Ptbn=->PzkoB;;*fH`OIhlnP}K%bSs zBAbkF4=C_#nkcE2vw~cN6{V?uQDV3-&Z(ViXG`ylXFYzV$xp zTH?96b;}W>V*5hfP2h7dHtwkR| zM`P`ko-nFHXW| zei)cDk=b&nJKcz@WxqVt>WgQ+tXW@a7-dHdZ|zb3Z{`2-yqA1ethED=tDlTNf*46J zHZkiCviPd!6-xpSQtY+v+EQQh8CQUDAxnUtKs)m}M|CaR6t-;}KhFT0WB}Doy>`uY~_;tW(M9lF1q>WgpssY_Ir=BKYKb;MZ7lfEOJIKdh%?%s}8~j27IM&E1cG zs1)B0`&w9W8QM!rllPl;T5GSf_G;CaFRPXLiiggp1B(;4aKMH|J`=^G6tRvbfHU>q zfbTaB*rzM^4Efs?U$ULph8t~|e0=B7);#VkT1g(d9LnX>k5hI4?WhiOF(;qCee|t< z1WzZlrtcDLs9KXgVp87Wnf_Nip5j*iZ*yzmNOO9#J-45*zi+g^Z{T|>@UKiDUz0r_ znu`K#{K^xhx@nYg)4`UL*4kOA_xw5YKO<)TvBmCQ>KkwRWF+f&@o%Ty5I3=fvNB!KCHM?GO^C88g z)ergBo_5(w(F3wBa83!CH}it=L-~m6kyV;_r&uwkY#y?gUG|h+wgVs4oGlf}N`Wekc(FG8l82d-F0Veg`pDZCG>f6-)09CXG#RQ1qeFTLqK^d`KDPDaPj z#Pc?eUv%MEbeeg;b=Q!yCrB1F(8(ox70B1f8VP_a)|wfQsn~SElxuiQpSt)(E_~oc z_5(k4Ri}hHPMI>ski~k}e5uYm%#GqZ<=fXhA>Wv?#^vV8+-oVDLf_2YSL^M0l3t^E zQXBQm6Z__E;*rwLV(l*-KCkJon=uxDg3sU2UkCjWpJ;T{vv%df7-WpQ{=9F{ga!E2 zj^J0({#XNF+BybX5c59BSnz%G9ro|~GNb#=DWM4Yb;>r5{l(_+*f%%-iTU{2n720n zneSJ}yt%mtU*nKZ;@{-^+k7h)tA_t?;Q!rxUM9!kusGw?2G6kdHJ+>5J;-)1Y0n|9 zbjMs{W9j%nSay>i=$Y?Z*0cLZn*Pt;-+3d$^WkNZ*Cfw2K8Q|>Oe=W|d2P4k*>MMu zXCFj2MV2+?wlZWsWZ~wAkiV81-3Ij~BPlLtICK+Tid^`R%5Yb_e2qT8>1+J9XK2+) zeAG`!KO&AuF=91*f6e>U<_(^2Z;tnlD9c>$c_M_p>oN3zw-kp(j9xMEGY{dbdJI3M z%D*+jxa|+AzVMmlM&!(LPvp!ngV=AQL+=KCgt2b-2mkm3Pq5)>;A4&o1|V-;?|I@Z z^OSitdVs$9UC-KAJ+05of3sqJo`Md{-Vxl?|>&S&);E= zYi1Z7_rOa9_sh_-^oz4U@`RHZS5hMXFXR)ye9zg`!4d3e-3>-uZIsx*dhYhM?Ae2> z{w0w(k~QF4bMiECHruC~ddDAskQHn$zbDeV{oY91H#omTzwOMA7JWr zo}D%0&IWP!v&t#{Be7~Jwi|c3rgF{`?IKSc`rz5&UJF*{z=YMe^s=xvK})ORj7`nE zLe({+Jmwu7H6w^6Wghe!f8-q56>Ah{%d_+U66)Rntyh4T(ybMnl_OSqp!sg{?8pYs z;9BRMWbB&nS##G!J>j;g96EK4y&rzSyNL_o2^_`8;6e0oepkij=7s1q;L3d;b{`H0 znK<^A5d;vxTN!bTXxQV))XJ`}S~CFB*%!osOKrCcn#I&App5q#wU)d=ELiaY(Sa zbx06=VFR%WrhbNhJD0oY8sD>G#}3AKz1H4%U(mF#j`o-_%oQK?Jdq3^ ztKj!sXsL+#{0KCm@3DMWe1~<-d+-@n`+uQ*r#pW%7pZ0VQV*h<_`&Hpb zZZ;z4k7jkBKjY~>Pdn!uJ>7TErrN6aWpfTBySovbH9%iY^k0Dvi=87<0gjp|(?nZ- zyR8DwvNh3G6KyHppqaKb))s8jXS606;~CcE3avlJr1hnBr+4mW(odcD2wNl0ux7Wq z>Xb0g!uJ{0Ydz05pc|{L64tR(Pcp(8)~vgp_>J~|r%WSsuXXqy<5Ilddk3!yFH8+Z z+8VQA?AML*c+Qz2hF>TU`vuOau!>xVyEUS zFS2brZelIKn|PnYd-4I=GL9oZDt`BGL;CU)Ml;#_?jz_So;v`az`&{!@gvhNZsh_r=@9u< zbhsa#HP@5S{xa=n@~s%jX6j3p(f3)}m;~R1_P+W~e9@klhppXQG0gbk!<5U#A0hnK zcm}oK16=z3(!TYZ-vK7^+J}j$vS1r*!!wBeBH)5^VAYpmU{n6$Tu)+q746LAuIXIn zc_#C0wKLE)E_XWvs=kU{%RR;v(_Z9hhmPm8r}~1jGdi+I{65d7_SBqUD*mY*{^B~* zo`Q^6=y&exw(ulaoPIBd+t0=HY0?JvBhE|*o49wPx!lWM>5H_z=#RAL69)y2{7$)L zZJya!0>9)gi01Na%H>dQD&?|*-*CypqL+??*IM#o3jFinb^Z9KXOOWsn(OOsSm^6+ zEcEHTt8#ybo6wCU1HS`}j4U2x(z{|kS7&er0lzpgc-?og_pjkRLJPm8KP%SL+$#=V zXVQ9ozOOraaPa?#_l`ksQ=Y0U@j~iOAx@*AFvsG-3v;+L%v;O5Q+l^T{F!$-W}K>Q zF_xdL1f9DnKgT?Kw-}fjsVDtL-?|5{2w3Oxd=>48{*>e4F#k(uS3GRAkvRJQ!G5s~ zyS@o8^#-}&y+(JO+3@o2bAmTFr(5=4$@`KMOdFHrQ5$En-8bHs!=0bL+K0fqVviMT zPyx(O>F&QDWtsO!rXmBj{2;6Q47QFp8H;QP4V)Qhp`RnzkR)@oV4toe_PB<32gqMI zotSeyZ{_*fSvkanB$&32B;K#Yp3(+RGZyEWW!fln4w?7}pEJgQ!eaVp0jIJTX%Er= zNATlFM`;I+B9E_K@|W6|JU5YgFLFj&KF~?!aU`x?_)U%c(pAuVsYp!QdVV?QS zYPTq0+0b)|hhM?-bn5nCOAOid(rITpxdaxVANBZ+C)8dmFbS9O^o6~qz4g}?9Fmjr zDYpc%NT=-qtLSudaPN_ zrT>1JxEOaoSt^GPn#8{T4tVg;Z>H#g|8rzFux+q;+yj$KJL<<^@0~?E9=>Prt>4q_ z?`eEXCv^5G@tb|hX>0FE?;w|1{DgkIL)#aR(H`{C-ZREgbcMDOa=E1XgH4aKAC0^! z(waIX;v;6!(TT@^59z1pfpNcKyb7+vNp_rI1G2hk%d*Y0p3k8#qU*i*GtZ{B67+@C zsljG!^g9{nF56$>qrCpt^A>cxo#>S<=ofd7Huj>Q1VxWp2bx#u>e z`z;S;1=Wtz5AdGSxxP&Hk9)DprP%eo)OXh{rEYA!BebKs$_+6N-+K)<-pXID+gyY1 zPy3_l?-5++KzetKm|6K@cEbCxMV?X~`R#n?@@^&l)w8$DuiN^7bYN_aHeTk_w{q3A zJ|MjS-$iCfejo0DF~|dE>%hP*9r&}%tsBn98_~}w-$4B+^}h`~&KN~M?lI1?$0+;@ zF9S5Tk@rOetLoH1e}{*f@kSjB7<=d~&OW>YTW0}#@ih9a*+{H8I`2n!i9y8*~5)u>27T0gCTRh^G&dBuroo(NIw==Trc)4P|D>*kK znC1bK@=UbkdVI}ex#>@5XfjT7M=PIRp5w?q&v_#)70AWA{E>6E-1B|q zsCLUe&t+2v*?8Af%47w9>pI`manRyV86Ukoe{%DtMq+Cn-sJrd-Xz;eEN?1hY~mTQ zd`W!AP}{)7A0a!w__{chy`M%IDu zbNA(GS!0xM*rDU6@UJ|@v0Y07pAC~?ymAI3uv6VS(Y>T1agVZ-^m$S;|zDFCxyO?)~97Jc>4lbR#4XR6Q zftyZ#Bpgk&;sUgPs15arQ^MBC?3|K{vvTu@B(-yW)pM7_Q&OnA8XURhl^Hj_pC2T6 zIQNMUXuKz(_5|l@v{qZ#%aX8ZPbXea@`d=e_PXiF7Q1>{e_V7YXIi0yMely=^jYd8 zyc2pRBhgpens$8iIpSIpJOio*81;2Yo&oJM7_VgDR?g`xG|v9Gl{j763a>?uO`7X5 zW!yGmF*72Q!|KcYKO-&NSSXvfFWAP~KAUS)YhP+*-L7)UQrkX+Uk#?cSbp^d;kr9>L%dF#YHO7f2V^7^>Rf*O0CZtvjVbGB zT{Rc>U;CF{hwl_-nRs^K3;?6r5}heFW&RIW^~y?mX39!2?X;^M=Bh@tDfu*5pUcTQ z$B}iK;SWdLvJSMMz08EmCF@kV;A(?rCF@8IbIUr8EM~$9Z3Q)NL%CA|8EZZ=R^{~l zoz2Kthkd-g1{IpH(8CRU)7D!V3;x0Efqy9V^e^j)#Qh$IBD+O`FwMTx~*u`sMe)Nvxd# zizZDGkE&!XO2&BktR>G?U1XgO4m~qr@xxQJ_P4Ru>#oXkjK`9ZIrnIfBb#wJe8pK) zt?c>EIz7i2wFVTwFo8bf;V!8px>5CVdeKpXR`e>yu@d2lw@$}>7 z1Ff{{^r7}0AH3pmFK1&Nq@2sPJ{xOe{kpB+D*wlE=FJ^XP*F^rJ-j^BYj3pTAvxn` z?@@j6k-dA=HP-%Q=1X?(>U}aM%52 zYHh~Yqnp?Na%$O3zLN$U9Xw=VwNlqvY{_Ig(~^6O=ZCTbu^w(Kfo`-XB?WTYOExJ-lMk7b z^Mk!}V#x`TFQVA7zk~dsbL=T|R+f#SJ=tKQT4yokQ}Lgs3YXyZkZ^goh0A8_RF(WM zTt-~D)Se)G?&QqSIO_G{lRIPy()C*FNY*1~TWXjeb5JgfNeSdTK$cRwQy8=25i%XT-rXOs;TXKu<40CIiP-Yh)-3p_;L@jkQeycG z?x9utPkG{M)rVpV?!_hSA2o!E5k#s8NSP~<*`0Zc=MFE7nrWQ z0!)v@z@#xsztMN>7@K{838nsNwX2R9;mESA)3wuA)U|(eZ>R3dop@>f>8G%D7cL(> zQs>q4iNVX?G^4DDJX$N*dz+UT<m8qoe}ABC`tpQw&Y0I~YktSje&M+rV4h;6hsxwBYvxVn}4F3sefAW08cs0k02|1YqDinGdlVlKQYXW-w*tNva-wQY3&b#*yDl@9M0pGqIq_1f77OKNApt1{t7Nsr>M zhgYmEm|B}4zLjV3E%B%XXh~%f0&9DD7V*au;8}I+p09>)#lyGqPrLY*xn6`fAN`4M zm0bINzLgK{ID89P$y`q+-}3kh^EctE_4y`ud}|?o^@iawe2eu_9aG-T zw|4a7Tb#MD`Bv;65X-Z&Ig{+>S+Tf1s=azx*K6b9Ppso`MhZNi@w-35WjeSN?rI*f z@V)9{-sv`N2t!G`e?HDlf9Q^oaq#En zPvCEH4F1>;<^n~Q*_40!Ne zOxBv#I&KCge5vrE_^K|SJ$EsE&y4BYfxFo^V8YnIwA#oBBYe)6IN?QTuMFCo$(@a} zF6DEEYG7Gm;=nS;cG$XMCOjvx&;#rlPZpha=Am?1VtE2^j)%vrBM-$+{@>{pZ61No z8(-CV&?Mj;59~>vQ0G~G2Rwljl^O^0SIRixGq*xhJtNw z`70)#Q~ZT{Je6}aq8y*HA2p(vO1~Wf&YPIuRpcH@!ak*(kt-;JEvYt@&&mx(#AA4B zjf*SRZ$YlEXHU$6p5Gq9*(h?~mKeq@CCELW!T+8-#E2Ag*V)QaPsFl&T5{drcxR5q zu|Y6~B^raxE9-1|&I>)K^1<#kVbwBUIr`cJ;z%c?BU_vWrz@6u$~`Nx%2LqHQYbgq z?=4R$o?ez*Jk6B1ocVNO{v7*`Xx}Z5`e;YFhkV5TYOScA^5jGnp9(%bw)~cB;KPQO zgf^|*>>f`q-)9`tUE`2^E(-PJk?+PMON~b+ zI=d{PJcIvrrkcATYZu+Uwl?w6KzIWAo&;;=?+0|efPMBwWT=UhDP*5~iT@|*fA03n ztRK)Z4|!@3>vQnujPP5?sc(6Pg^v$QEXxRz@9EAm&H}TiLeCR8Zzx@|=AVp?+Ogl> z{Mhm%<%K+(>AC7f^4e`aj=om$d+SW{^4*Y&?o_5{z_~X1K4K(R6%nV}fKONN7xI2F@q`(kPlqQg$?xj% z4`|;GTMhQvYWq3DIQ-^2ZATFdCrW(;3DJV3R?qqV- zrjn0WGG;D*hc@6d@K-0{t2FQ(STt(o^-5vQ<)L5NF=ZQ5LX*OaUgoZ3o?pkO72NCs zHw$h3!m%@`?IKS?FJ6QbjeP?;Wf60~fj+TAh5d|2x~1k}CC}2p`x?VvrZXpA+V}AJ z%`c2iJ;Ypyzg^-Rc+9guD|Gh9m=vD+a?G=R6T_K2>*W>FLy_H^IS(Yh_Xy{VOrF8{ zP&4P%!B8;WwdS1lwl2n=t2{P}r6pdVLq60bexCs5mE7x>o%Zo?HhfL~n*eyu&o?gQ z-}I^QJine5?J@Npc!PyoOGn~-p%t6O`J#H_Ipz0JjxF)k*O4ca^3dg&-$vfegNOR^ z(7i5}tXI9c;7BnHH+;s)Pi?hn#akQbn>xFgWajj9Vjcb;`-tT9zT9nAofp8VgDc@D z&Bl-N*@*`^_?ThF%lFy0g^v})9{r>6A$z$SCrQwWZ%6TOO+ST=pRa=#oe$%z)Q^3l zF>r)$WX=v`L2RVq9oT6k=jngpQtySsChD&=e6h-PAMkCK!6}Q9wsXN`Z zXKSB{f@9f(8-b|>c=X$WeSu&H7Sm^gE^EerQbw>F(3i$3KiixSfZJN5=6P^i#9vbiwAj-82ALEVtG8VHB@veb$H*K`p3@p+QYW$uKFV7;-dK4;|%QB zeoy!Xzvt8o7uT-O0Jc=}$~2RsL^QY(xauE*2B8!A<=k}mr&pOv=GL4`$+QoJx}%h7 zpll0kFj+Dya<1t&RXh%KRL>f0ppF$g@0`b<*(JGAFeR`@qyob{;MxvM+u_~ytOxOu zn)~qi@+}@EUhVJ~i>9qMlBt_TU;56pzdvPv-(i0T`7TC3n#^}Q_S}5*4$Z-M#wuB- z&`4ar0o-l?w`Ge9r{sd$gY3Zr!Qb7ykHtItjEVPc(3Sd4vHMBlyWhTBJSn{3#rM;w z_SlxA);{|T=R;!m*_NZB;G8S)L+gIuzWk6;WNYn-nrrz$3od^7bOHGwWs?m2Xj9#) zU+wH1d$zVS@bQk$Qv3;}7r%5m5PH6D+Q01T+`hq&+;5%PP2`-D?0=2OAoaw;o*9ad z2j07IS=Q-e=)z~wg^3Tr&M^PfBudA=-V ziod(()gblafK_8vj$HWd6F%T90M5g}*$kYe=*OkNxe7Q-HUvg40M2w9PK~j}7dK%M za3%n!4>;o%FQA|J_6+#8&+>bja2^BBk@S}aO!H|&@}+ce2R`}NbCK6Fpy9xxv?=iX zCw$NpF+3(tdg138=d{iBD7iwpt1KGMGS@+vn30Wqp62sy#gD|iU&k}!W5soA_+HIt z6(8{#XW!DEWw_`__xp}Hw4!dzmv?l|Yune^aK5WE2fJT>^1)}Fc+RQle5J{Uo=r(s z9HDh)C2hlZ>vrV-taEB$U#H|y^xQdP>YlEfm%FRe`__MTdO!2m&TQJr9(v$ed_UoW zkFBh0`oe3S{?|@*9x|ex!bSGR;?4ORS8PsORaV#ZnV)p-xc+cwX}f68TV9%Q=-K(i zH?3|D*WLA#pLNEqs_ks~OtiB?d}rgz&D%GYY={cA8^x6tQ)X^y z$!75mXFp!de&s%&NUWlAI&^a$-ON9fODvmoixByR>hWKvkZVYB_ z-uM7~fO6OhcF!L^t-A<(O=5hRAuF$B8gkt<;tZSLHiCDNx1#0OMz9omZo-!DoYUFN zcupL1@|{_G>{#mEMZK0YMsPayT2C86a~;SZ0Pj$apzEn;aBk5pYdEsJ_JX;zxrIGS z{M%h7woW$veDZkz{$uOtTov{SV*kkt#26+{&N8Yn-4enZ&On$zWnFy#LaOOB~$50k9Z_yGGJ zwwsnS!a*o_7TJn@KAdSJwjYN-H6hasShRSGbhupNhxdc~h4hyRU)he1RKfS%d@Dw- z*xV<%_Xylv2X2_l$+3MkAuBoksV~LNwbL(mA%(|ZntD26m=#03;V(U$X9%><`IF~Q+d5F&!`TP@~R&(BTZew6o5A*dfb0XYiXx@+;6UiZe4%lQrO*ZGv-=0dD zR%GFPBfd=Zo6p>}0NX)i1l^@#otq3)Rf5Aj?4I&Blmh>n%gkL9{+;HxMfc1d@@Shq zcWumx;#I7GOQq{Y8*Q|!815_0M=ZYor}Oh?e9Q0h`4gW`J{^2w z_mf9BJL1SC|K+lGf;ae6Uw$FkI!%2AJ|f%aTbx7B!=Bp=zLQvcMqKS-BT##o_1D6hI$%f-kc=1F6J;%0v}XIMd0$Uk&KYU(9QXSJz`p-7@Zafz z{}g=I;jf7?@C#w0dX+gpz$jfve!&IgOIr9za^WOz z>1@6>Fw%gYD-5Ik9&A&x1uWoQ9Pe7eX*}iEVnb_N7B}(;pHgJQB;pyaST{c$Ojr|l%e-~JS1(jK2cAClh$m#Kq}1RucJitW7l8l#$dF7zuaW3dk;Q^P{ub*HH;G7Eg zOA!mHxok-?s?VZ3Mv;3hU;V(Uy}(#37@1o)j7`AYEI5-aIGz4Ak5Oy|)|}h0_U?(+ z?`xpbt7B-@u{mt4>058IIV^L@25$OTXP&3)voG}&`6E5xUUs1#?vW7AmJau9{N}US z-63BHe#O1q@E_!YjdLe|IhcaqydIi3!0+thUuE)^W zu=37_fJ=8Eiu8@pwPCX^@I>Q%k?2A8UadXx1IBcvev&U%95d@1c76ILr%@zYLVfsB z-ayYuW6P9qRQMTawIy88-pQrJm(Lv-ifkh{5w@{YDMP(ww<9;EB!|@B$$7a(cgQgI zZv9*QZEig3YznfQ2^V%SWOeKRzalp{WL?d_{d=wR+u;|9th2uj>C0z(6?R~QF~#8hg0c37aJ`Lp3mz-K zt@`fZ+`#!5dK+2nSB{zt?B|8zWe$H-|2eEdU$UnK;`{PfHi7F#_(aioPqp8_udZOD zVXrlNpJ4rJEI(r`T8H?TF7F>Q@zu9~x#4m8^#NC3-#*j-{rB`;VfWok-_H0K$Lu%0 z@mbXc=uUpdQFIe`D@ix}3U_)G<0JbT-=%y%$@f~mm+`#;-cMQWQ-aG&eZeN34c@)U z2QK7OECC-Syi=Q6tI>hq+Ebk7sdn!{@^1=9Ul*Lv*RNeTa^THC&iUJr{`ns{=NT@- z23CX(%*p>z@MKDtY_OT=MGu2h?Uey|#{v9$QRb;0`d2;CQNcB#j2gpVxCpqkrg z>IR^pQfSEkWI@*qc(vm08;55{nn&jJ(uOl9ee=P2{wvagoh#8E=Nh$06^G^TtR#PvoXU=q&WBwq^ z-dA+N)1k46RzJ$vk_UM<8pd#orx~OBjO{MkXn;1h zK^xAR?nfi?8{2s%+d0$V$bfrYw4(Lx<~b9{b3fDL35VM9?w!d0g)2PaZ$(1)_|Nv- z%RR>TviDb?uMOS1Vb#xOzdZVe$KD$K@yGr+`o_mLjoLB$)lrqRe>H07?7xiKHT&Ap zFU$^(j?Dhz=&IREN542bO8jYY>6Y1pMooHbLt@@zYgfH6`})yoj~#k&(tU@fPkOxf zohNB_-@A0)r9Zy4bnEOJM&0n(%hZdkip>7>=&_F-rru%d^}eHC-@A0)r9Xb4bldFN zqdxxFThu$Ts%rK>j~@5f5$YYGUhg~V^}S2yUHapVrQ2seKI+ED{z$#{RWHu|*68%d zj#BR^^?Kh?ukT$t@6sRN!uW>R_0F07^}*Tuj(UCXEI9WwzDYJ-%FO=y;Ou=zy}oxA zoDGccUK=kjnE332v-chK`rcV^mN34@Y`h#d@!2;Iz3-^k_s*IJ-pk<~kAx31nbJ7LWWvoqF2X3tzxHM?-li?frHEAC0-GoH^RK9};byTd=6eZ^U? z8LU0Gy=UcE&W9dyYzCISMRqaqxjSt7)t>FtpMg&4u73wPT=OR0bxHD3-gN(^hse*C z_iUCWFA;OGm6!|drE_z$y8ndFFFD?b=yzVOr`s%BewniQS>0#dW%KQ_+b>ggVOIC= z-DMZrWna8Z*}|;uI(OMZyDVp|P5I6Z@8enBN8M!~x68hMnX*r3b^p{|_Gxlu;N#D$ zom#DZ*~HB?3Dqq7-G*^T*!(MKAu%`RkKc zlK%)_hF9XJKA94V4{xrt^d!}-?x7^AbTVNdn^xA{nx24{^g$k_t!7l z(~ZCAa`j*QyXr67({_dW<*xefJtimB2+w10c{`?_#_9Yy_=<(sATD9_2uFsrWgnZ~ zi(LIV_1Bs9(LQ`3NxqT5eJirD7 z&OF-5rk!N$!tQpQwR?{}mbYT&|1#sbl#rZfk0-BpJkb~auj5(1=U@JTwGEd5-m{g<5fvHv^m@47zM8t#vCp0Pmd_)F5AWOE?YiGfo-N}2eq>eMN1nn* z-)aBaa{UzRCGPpPHvhV$&8^#O@-C%GRmD*2EPQ6}vu#*k%dUMSF z(4)M6)JW$3BJ+KIzxNLRIv%s%i~n&?I`@fNdEzC*%J+Hq0cUOWmjQ0K=OtFZb=tSq zhl@Ybb{c)4Teas&kD`6~?qwHx0QvfIyej1b*2n*(ef-UrZ9nmY+BfyfK6_y@XA`eu z-F=g9AM5U*G5$9BP&G&HHIRcn#Nn(`Hg$<1q3(Y6SaW~sgP;9quK`{DqsLJC0b>X=hVR9U z;mOO4VV7$RCtbW&Ypj=^%=ze(Z%kRK@Md=zs%z;|?v`jr95TDvvI2mA|^LJbu5}^4cr@l`;G$ zusiTt@w$ER3buLoP3>NZ4XM$$c+b*=1DoeP?JZx4johLMtMBA|WWS#b4yO?RFb!UK z^04LOR3BfakJ$T=diyi;A@|KU_qYbLxj)QH{ATvCe>t6N;-?}qWw@Oj$OK3q>fW9X-We$-|@ZI;lc z&uHk%H@s!CW%y`A|NHDVRNfaNpNU;ZaNw7^t$;eEcAWyVUoUs@Sp9mpB!->#w^O!} zu}`((l}*?DZNoa%sZ*R7PIZk{eK>Ul*VLHu&e%E_o5qzwU1Gj1{27DrUnf<4>q%pi z2Xa~UF?Q4V9R6?45{i#3X`4;PHaX9@ldIa2$);+^X8UnFyGKsHkNO1Jot<~c-v<~Vt;^9p&u zZ4_S>&NH0z1=gIq;nldEKW9D@P5(sS`u1IG;h-WE>R5@dcmAAEuqN4f;sx~ZRp=0< zoD0}7fIBe<7eC`Ch6FodyY55taK6qQEAsGRKQbh^+ri$@3~huGpb2A4cvd?0cW`0) zXc&+9#UGIWw2tPY3o~E0YP?zt`qur=-u>wC1C2;Bv5$&d*s@RgAm!T&?KwkTt$82M z)J6equ%>SDQ14xEn~Lu5Q_LiC;1KFYIa}}4J?YeC-N)8#j;X8p$N|5pHyKM*);Zge zIwI8lTgr~%Y{!@p@IU5o40E*dC~z~U{mR}%{D@QbCe5Q0Q)JDPDW?{XkX{Y%iw_^# zN(_-8 zoC#0JVSZDygW331#j7OmsP9JXuErLR=~L4CtWg$B9^hD!X52cI zy4x^>#P*@z7JV!ezV_&j>hFW+ExOZecS3kBu|xmL?*Q;0Mo-$wc#hcfyb#)Jh4zj@ zdkMUc@a`ezJAI@P8J|wxX6P_3nH<{ChhzuFb8-Q7R#PW#)YQn`lpU7@A6e#)?7TqS z1Nnn?f|IwQ?<3KGX!PVl_9gnbO+I4z0gu{#z_Z{?ZR+{kF8|+A+yAHci~bsaoA`zN z(aqN~2i#dGe2?d>Og;0Ig74J9XB7T&3;a74KNs=Kb^aPY&Yi2e!%6%#fX_6*Z`Boy z^BL28)^Q8-uXP+iwjIXU^n2VjMkJ228p>H2#~BF+2Mbi5wWB$WOVc+v6h3_TdU-ys z0=%SwKlotM1taLdY2t+b7E=E#^RE8lCxyEIjBifA$Aiy=Ns5VAjv*jKv8?=m9$wiw-KrdqJ6+*-;dFqglh46za2(Nthy4$sohS!?c3 zE~Z=}xdRiK`vC!BM|c;t%V(4rkqJNWL=u>PBS3xN(H`c8BY}Et})#MxuBgFD-xPngEg!l<@s2Rk8s=2)tf`|o#x#cmYmQ?K2*`}AK@X* z;BP16jHZT&?}%&nz|+6ZHnY?}kh~IeczAIQkxCQYq7L z#t7DcAMF!b!|$*+Hb4t`hPPJv7jOS})*^j15O?Lkt^UN{SJ0ma+^nOm6xvDx7g}!~ z=EnF9^hTXx-5<+1-D}^sF*_0fM{zfWmh2y4ok5okpaGhihaR9DQw6}IxQ7C0aX#~< zeJKmriugSjdXn!8dNt`(aEZp3iZ8_U1&xu<{v+X*k^sIlVx#G!G2atz!iUWM{J!!H z^o^aM8h&!CA^w~&CY<6cu6qRB!_$$4OrE|m#YhO>w*@*AuN;~go=cg0$~ZU@JP!g- zY@KZCnDD~q8}f-kWID%Z~HqgH;aD1FOc+d!;?>yI>U^i6+?tZjDl2>s{ZT zLG1VV4o#YZznC-yf2n6bPiM!Sev;Y@*;(uqQ)jYE!unMQiX{;x#@NR?gYz8aqY;*?Jr2D=d85 zzE91oeU?k}`d8kYdbfR+nLr-+T+_|?8_cvKQtcs zD$P9;`uh5HqVuGxMB$fj3tp?;9B`>~a5=0ctsSj>J@YZ|A?7M)RH%C@Yc-p-nl;o{ zJ^`7}EW>l^g>yz3-BVeg+Itkwlgn?}DHS&&oa!U_5W#L!v?vsG_wD$@e<&P*_gWW? zI`kPa^^-n%Rx-F^o|=dO^Z{oIbj3NUs%GY;fw(L0B+mGzllMS0g3MVDE&eCGSSt))&Vdq|A79#`XT*iBx`;4 z#T!MhXKq=4Ue@Lq_Nx-srfiD);Ensli{AZ2cq{wJD6K=*pGgDIg682*AG6M-je)F*s(Xf@&!igF+Q&**8%3;(M)09JCHGr(n<&$mT3oF;Z=`H$GBFRbEi?Cr zfJ5s}vO+U^!Yb%x9PbzM?kd*ZSn{`zOCq;Bdth2J?X%xXzEK@V#!nkDHS!+*!Zc)x zOk}14WG3_tboNkpIqSOAmYL=wGaW`|lDxFimY155ha_v1yJV%6wydOgmA0%TIkN=$ zSLaX*n7dMFJQ*5S9P8J{_3K1M*k=tNI4VMc`PmDh1$Jc%2Gfm2+FTZJTZ5 z7XJKUxIO%53%3O}ZmYnp+R!HouX_yMD7sIw>D*)5UOpLC97?_7%+~lL=yt@l8Qtle zzlyRhLiQY+^Zd7-y`KA_A=XDd>w~@G6m_d*@3wf36=&w|^E33>PcA4<2;cer82KWU z5T4946HfXT|6i#7;gj92c;FePJn;VgBki~E-#;c(KX(6EY{rN6*&pSXIKcS4td9fQ zN5HxEUFEud_6zh6&b7xNJ9YHgv@Kb~6Y`j`hk93!F33JzXW^jFUaE22YLDZLi{HlT zx9D{JblceX@DKJhN9VToGKY8T+u1)Be^UIj?>tBHAjUMEG0kF4=3i0&yx|9=?I?(2C=gKhJq?>avu}CoiM#D?0md zW^KOLxaIql*+NXH&g#L#_cl-_+vG_W&S#I+I76nL!@{L?F2vm@GOoF=OHOi^(b~$t zf{uNyy@njP;OW+0!QLvGTXd~8Zt2)r@Is#lJ1e|6)o;AoOUvwU-)B#`66{G=fE~Ir zb@fZ!sY|vZn>2vKG0<*3GJ@nx zEANMOR^XoJ?0HIOPvl)!8gdM{mV6T{$1q+~j>)1Qt!I9lI5F2EW1g!qn{#6H!*@ON zpXJuODf@Y|tUI>dn!k(4*~5Qn>)z;BbD8@X-FtVh?#;Ng4@vj_B);YremlCit#_Mc zSF!g7(vY<&GZr2y9b0*`U$^Aq-Lg*{q0G)LmQJ2dxn%4aW7(UxY%$bFtUhkmS-||a zf-AugHwpcpdipI}NIW{9?gELw$<(oT%WkrUK6bI6`6!nT9MUhL#ol-E@R*DE)bvie z_fcSOW!_XqI(h=Sx2Z!@?ga1TUsu`j=-wGGdLr@CrKz`%@!7h!+4fQTjfWnNrA>`o zu-Z3mHPXHJ8SruJ9YE9Zm+@ZqvZpl%ZhILrhs$1O($;F~#EqI3 zSw>mQUKY5Ly=?bC%3c=u@1DKz%#BCzNwt*3S#|-|RO5EbE|6l|1;pds{M6JNq_eY! zmHvo%kgkTlKHs$;f0%y$S@^1ZPgGl_Ja8HP{G_v= zU44i-hIV81^8oV|AXnZt_^SBhKJK+p8ApFl690i$#<9NQ;kTT5DHpG8M!!^fNB`;k z4tTNKZys*(+A*vF*P-{h1~MXmE^mZu-jU6)Mp>4q0LzNZicBp_sMq+@HVe(f-ZiS3$Jtdgk-7+ z=ViqQ+;l417p)$#;l7f8ITl{)+!*%OZYMs(g4bzpkKNvt=-*mTee$i?oYEt9InQy3f%r zdILVYY7gc1!`rv9KgQZs3}lCXaP`V&_V{g?{;Pr$+KRpZ6?#9J_u@B$(7S0rHR=D3 z(Lu-O>BzSkG5Ky}8&KX*GapM1uw%!Q-AD7=JkY3KFpK`sL3OrKw$4WEp~}&s_N7~o zMHX#l?sxM0NNAjSKIyQnXSbqD>wJ>?z1u%=*w(pKZq3E`+bU_J^8Rt*N^lzR8Mnwj z7kKGDb5DH<87r{+zV7*k@oHf2ecZcj?0wwkyV|F}0-WXep7S1>#$9n1yp1{VXJBha zUpI4-1N&KEPZ?(EN%*IULl_t4+|F7H_m=Ku@@hDQ477s!v&|JWl; zym5ZH`dZ+rXCIcYR=83e0yJXA3GCo^sg0`=mrX*rY6M>Az1u!f;<8UPgR9qxY0mGN z3O=}x92-jwd9yKa%_-s=o;+t7&sKwvBhd-r!%wDm&HvtzQ?1LC%aU`sywh3geS?(8 zCcZsq_nOU__@4KH<9Xa|{d@5^;CA3pUwQOp(3e47>$l$=ulc`knt7*?^?$&WeJgr# zYSFJjp4S}O6VFyhI&+Zo3qkEeDzxjrT^ zuJxP|95;9XXHu;*pN*-yi^Q7uokO`t1KK^uem!%^;;t-mwnZPbY`=-nmd=B(XAjH- zZwEMAoS0{jCv9%mERUzGXzLI&2Mf8Z!xf%^?QNWo`=sXhr6Jvk(Bg6S(Kgmhn}<9v zo;$)Bobf)#|1&+ehiCGC+r+qt;O&LW*9TWii6`8Oe5SMU%LOAaW&UtTca(G2iO@H8 z#Jz2-MXT*kx!MleZ3p_d-RPoq=-z32fz$S@Lu~$HzSAG;k?WD z2V?79bG2nt({poe7LN0 z(2D zY8JKu6EB%x4x+!^COh}fWG~>`&HJ@)cI`%Ia`hLB^OcMz`%Bo-ectvJtb20GgiCzF zv#(uycuBnVKR(JiJw=`fYmRf9cZLO1G?f^N9L1p6XD``XmeF4{KFiKcY2#A zZ^c*T#vStgWuI$ZJAV#-+Q-@K~~vXiRn|ufMoj^J?w&-l~!u&!)_q$R`QSW==9X=7J|L z?UlT=p)Tj8S2`OXIo6rF;T`gz_}b@!C;!mUl2wnct|L!HA^Y?k|M*al6RS_;k!MO} zysUkFXYm_**OHPqSJ&~oa6fscyp+v7X*^-@|9Z-)Uyq(&p}%^ypAf2Eb;IhqX>q$c z)n_uXc51)(-My>pDv#_m--VFt^=>ZTRmepdtn~&caN&iTgY9x{QLgTgj5718Um~UdtjAI{uKK18}c`Luoeu2ri+UnP%XOz#48c&3fEA9b? zD~-3ezo%B$1;$z9HF2!|enWlWcK4T}acG=_*VLs_UgKPWj%@bF*!JPax=CZ6!r4Fm zzf!+jUE@5wz#6BC-)lol0&A?f&I3>GzI*FD%G|W{uX8wVO`UKhy(zYi3GbV$>$dN- z@k1Fe{p269=wwANud?ViGa3ImYgMr4yz=e3gHOHEnfmgZo!fujY|^BMckqTiu641| zy)ItEPpfqilD>T*<9+KwaZA{ws>S=3WwWOvkL1u-67!k|ECtxArm~jw%=BGSPV(}) zY3v1l;}ctee;;;?EA{`J-G5Z^G10;A>tB3q=MT_p(0AQD013PLBKGeU^fzWhc6B!U ztJdw94c=-!Yw(S#GJo&0%B(0f$UCbT$05WLA`=Wz8TM7hIzAvihJRHtb?~v7^hYej zMq|sJ;dK6&{oR9Y1YA^)S?jG9A6DDRw5{)~Mff}a3J<1S(n)X7%~u>=rf-LzS?4GE z^y_KmSrKw5bhp6MOx^}xGyC6nC%L(-I}+acf3y#e+VW@kmvMV|9kDgd%#G}4@VbqT z-A;Z|#X@C)SN$*hju(E|2u_w-I_*Zs|5bqP<__T>Us>K%e5#Cb+9Esd0lFz(n_VsW zGubezD;T%pB{bd=d)$7;oy(`5{Wyzp>s<(+hI{qaAOV0Z;IFa^&4Ik$7Jm>jwIGn=%AZf2ak z(|Y$obK8l7)H=*1ZsuWd*bKeollMB4n4t;8u`lG_&z^UUC-!shTYGmS^xgv9TYhxu z*3z+kRduf_7Y_FN8$*`O2s&YhVg0&GUZBq3fViZ3$tcNNWS>eH=#X^`Du+4Jff>e*8jYo^DGDZnC~il z3wMC$`$SW|s{5RG*a3Wr#;eN3SdaeQ#CS?KUKKvfI%|4vKt%erY`#s;4U81922078 z(ad?hrsoDlqH6~0+3r&R?O`*{>*=c^P4`j$4wWB*?-6`$_ablls(uj!mdQNlo#xfU zK3UJ4vj)fm3Eb3Mz}oB(<$IdT z2Su70TMOfEE*~5@taoQ`36C?&Ulp15U3hl6jVo*e4aCbS*H#Jma>Hb%9zhW1LjzOB?VZ<$H4Eb{W#GhYr4R-Rz-i8qetBjgueGa{i?zAZ}pvX z+p0cCO$=*(-TcR~WwntfT5CXYHR?-$|A_v6beaB~xR{^YeFAH@c~=s9v3$Tzzs|P> zjbR8s?q}}*RmNJM0dsw}P1O2~@3%hZb0)7QjU4L}$XE0c&qnf;hmQ;mlpW!29IyPN z<$4CUkKzBu5~KS(cR<#xApa9IlE_+Xhc`8+#`VH|j&;_?-X(j9?pLj+ zuLg1?HS%ogId}%~Xpe2drd|R~r)LMrjo00}2AkN#?BIFsk$eZ5ZicqcF>h_e1V=02 z5!RjV0ObQ*v^*|x9fse<8j0L3h@2_Kim%%eSFFvd`7K! zkACxi)jQ<0lbq%L-G15=E?Q2`l>J6mKI^`i_chI)C+gvu`>!w_{Eqe<^dHaJ4;jy3 z#^c8S<;J5qx$<~CwSDk=%<;6B^oL*P9U7q}jddP#X7Vb7u*wz zQ*~eIsXzFJR-MT(I`W~h3*^DyO&O}& zqyGM=leBtTm}!fY4U>RyODe1o-?{HJc~SS494a+kh;FA-HH)$(W^r*4sOpq zM|;m&v@YB?H-@^EkN#~uu}AK z@oQ~r><%8>IC%VjfrD>=gWvDDt*qP#M%^0ET?D5l19~_K5-1u~ODY>Zfd`Z8`=HBV- z;&gJ>dD}hQS)Ppit9Z~{#Uv5~`e(kE@u`N^tg^{w*{z&ipsblweU8eq-#>HA*z^Sd zztUUwIF*L_-L+5f*l*@yW5 zyS-(vH_NWT#$%R6j=Nc9k++_p?EU=zRBu^)42&&>`#&gq37hGq@hY1hy7Vi)r}0_Y zTlN~W?0)P#(wY9i-2h8_-z8b_Vec{fM3%c+?I3I2M4#&aE4^jMTJT|8r|cWZ`fm)h z%D!=mZ}mUFx9lhjKF)Z7qiTFY)rQJWF0TGG?T+UEFZPyAwcx|v1AI4d=Iaf{^TxYJ z%<;UzIkq=CC_j|Xy}fnPtoF%0K%Gai|6RgQcBxf$l0uj2Q$v@IQQpTV)LZ9T3x4(# zU}so9kXTY zG+!qtx#YQY)~aM9{aNynogW|h=x;-=>C2D5CNUC4{=NAd)I)x+PeR_|H}>KnI^L<= zFBu(c)3Ff`<}6!rQtvvH9B&AJPaDBv!Jf(fpA_mI3~c+pg3gt94QKDj-=Z^KPltj- z7?=4x`cd<_kLS-&?>1t;?6%Cc`KYU{zcP33w*DW#wQhIBv~_{!Mbt~}Z3`MGGlE}q zwbdHaR-@V~D-MQZ+WI}uAEDmRzP6U2lP#IYh+yTlw? zW3<-GEv~lq$F%i^+F~sg#dv{hxc1wV>uYX{G7rrxjJ zZNa~;a8g&deN~mko4;qvK^Awm__Or+ zME0*(dmK!Bgc&D2(&!#XyU|qm?8s2}kLV|x-zg4^+@C9c`!dh(R5^HY{Wapzo>~ul z96MC4&KiU+7O!uhjgY~89`O2Ts?nW|ouc-KJO~8U?lHji zRp2U)2QJ`f%C+EfVA+a&E9KC*@Bzv-77{lMEDM085jjP_$qD^r`r%b|XN>s574+Yf zPn;Wb*uwa@pS8AhsB*)TBcA(w<{N>s)yNA+cH9x(#oV@3434xgj@E~;b5&dwIl}&Y zB>5xw{X=_NDuzTFONK^TDuzXxpZ!SWknDxKKOLTr9@g~SaNdoO4e>&0@^#o1mt$A_ zsAV_I_l3vMwrpYhZt-l&S%>{kbM^=16wWawJ>%I_Cto=J7{uR&{~y<4HZSo@hp ze;$ke%$!!k`sAM?qdSC7VHA%s*N^U7xmXS?)1`A+@!J|#1Gti1R^#m=Ckk?3$5YIW z@t*2(?v}VVtv^pG_dG_8a5-oHd(Zkzw|q6f#c$rg|6}4gCx}0%0lwiS9?^phsdWl{ z&Vq)^5+jYz4#4I(Fw(kxP^9g}!IAodtjQd2`2MM(mv5SCynO%EEWSN2-#>KUr*0Zr z{HcE$ALjzGYG_p?%z9!B|SnKpYix0`(%EyXxv;0l{-eYGI4x7lY7L5;e z@3GhK9oWp4<_rqw#fKu|XO8|BVNJRDmByTx|K;EoY#rwR3%?u;@qcvHhPo|3f2A{e z_|48O-+rev+UV^n9$Z`(ecV{0btpTzo1Y}ZgOa$b6jJEN~F-&qmoYK%y07Uf13R~P%Na_mKgA=autrZ4W;sy=zp zu=1N+;M_0k?@R0}(L0K(2f*iuBiLv>Vx80dyq?pipXalPb#0(tRC4)-6y);dd%g+H zzrizntQVBCCX3t)GweElp?tBP=Xt{^^pV5!WY$jy&!_PDh1J$cr>%vwRi9~8M|f`J z8@r7WW5ZeGtp(*%6JIU@ zuljvA-#N+Ln?+ylk00IJwLAJ4?kNAYYb{EOe!{zU~pao#)M%6V_`eWPj^ zWogTd-Ozj86{LI6sT&OVv&$;^&QA_h5z}@mz#TpXp#W>v@>_{_h<=-AtgNei`X`;u zhmLn1{$XS1HgXpV2lKDVf~N*faEHi=)Mftilx2s?g_BhB7^W;cP)@#-6RNMW1(Xc{ z{|@fP4&eV7OTC@c*+Cr#Zhi0Py}q+U#wi28nQ)i@|DMM0yDoz#r>=j|{I0;F1zoaN zHL~}eX1>(#((MW11xf!OZEpf!^;PEopSxrODpb2!+U90qtxKI&AVW1bH*BRPncbV_8p!o2PM>Zoe6G zOlOf!=KRsDe<mWN*t*Ji5bc(c}yvs!r0cZ~CIkCjs= zCWmw5?RVB?JL}TTy1c-;6mzeL8Zv^r*RKcvr1q%uaq;%L7yN1Mjqo!Y4}H5oN@wr1 zzW^Pgs+rbz#}o_eT9@A3wF5py93Y!GKsG!)n>aum{vN*)-i|C&?6dpUaAJFq^GnbN z6jvL7mP98j&_R3W7ui_4=qHVQVC^v$e(3CAwH?pU8IG&>VvBC7hPUT_uCAaMyp9mh z5Ipie7c3|VqJt1y^WalOZm%hw6#K+DPe*h71HUD%Tx86?zab{~E&d+hPw!Zt-FS!Z zFCo85dYj@h)XTcSe<1zzsMSwL_Y23Tn8cmPiGQM9*`g8jxUg}~B)~U-JTi&TYmXIq z|LE}v{5T18_XJ5So8&9VkvxZ=D&D8OT*dtDb@^Jj{&RfK(tVc!dvtB~#z@x=@BKae zP4-ayJ;Y`8UH*pf_4eMc`7Qmp8{LKp-dx=?_7s=U^BMd4TizWDNHmqV0ax<}_|s2i?)vd*mD z*vEU@m{%`t)NoH@@1|ej`xy9P05}wyz+fY|EIq5;ouB&j(|>Y*H*;?UcinpC&+Y;q z!d+@1Y6fUS?t-6t){*Wn9+zokm-vVTxKR>Mfmd?F=Q=s1(>nqT& zXpnraSE~6geMxAHt+Epze=}xDJ z8?NR2$tLD(^gt(RY4PY7QL#nvj=^aJz17NO$0WJCx)s2pV6$g z;`=w69Xo_<7mE*cOTo(1`cLtnX{+S6Q>?r zzj+~jEd1N7)^~i_x%C^y`hxWb7;_%+gI_bY-+&u7MtMni;~vI8VS0XS{M}!k z_2uOsnDrB4ncw9Mu@3+veCqqwaE9ozZy={=dw@8B#_>hsYhU^*a6b2U8#3Lt-+%D& z%^#<&pM3JB*h$W1iradpE7H!OSqtnUMxxjeJ0(ZsZV-Pmdi(2>_K zn>=gVPH2Z~)JB3oI6Uy`gPe)LSSrXh!4}?U@t^gOK3EDa8T74EXsNQnztZ6!PCk1# zIIMN7Sr(dQShsB2T>&0zjb)FB4^%+!RoK`1q;2?daBv0o!(!Gp8-K!Bo?lEKY1rD? zT2FYv64sNwXUE$)yJ#!d$|c7o8{pS3a_$oLdCNnLwKyREO8SbLs&$(s%X`7A2zXh9 zUqCU=QpwO_7w4Ft&L}=l&cs{%g@Es{`}v0ZIplu+H=loSzyFTU*WB-C`24N={nvbE zkSox~m<}+;G3fZG4*6p3=*rMnte^3)@1uTzu?T05-~%}gK2GO+`TlEs$1~2Y+fb55 zJvQ)sfU)Y#dg0=Cpx1u@f4&O6>YUYj=(P!29Yf78a>9PNhV>EMtl@f>)|v0W;#0gp z@YdOHs`aHYZ2*?L7(+XFaGtf%*?LpK+bmytM_V0!4tyMij3J6X($5%_JE1YOFoy3i zh82uKXY6hOZ#0H1#xU)IF-)G->yAM=fs4BwUbdZn=YenHZ;N}KYe%$(tefOwF0g;3 zm6(t8Ci;}!+T-F4?wYLUbDjHr4WD)H_ZmKJU)ZzW zxgF>5J$Q0%LrOf=sh>VtkB>Z%k+WSY(N8O-pE7RoaphT6crwX2d|bXhVqDNbfcZXT z&torQzVauagCAFWoc(n6Rpi$Z^ajT-@{sk5%;dSZ$UzJPf3v{RwKkwk5 zbyL+x?u6E#_s~x{vb8vbtS0v-+PHOdK5JXEr)G0yBj>8KuC|ZRpVx=pjf^wLbMjx< zjIZ=;&J9~P=LEwWb20<TF#9FqtZ6rK!(4bFdBqK=HL(ZYjgMaYZrJzAvme$P zTYTnI{Pcsw?nBBK&Qu@BJ#_6;S30=`ifin=$}byqk5`v)7yD*&c_)uO**n-by91lJ z241N8L6RkX=!n|K8e)%&A&w}YUG7u(H_=sl(JgDgYHWL69l2`e^e&A7Um1Luc#HZD zat=-vy3%E~7RYw$dDpVXvWWY_Yw?jX&ec)dg;oBuW5Cf|_==D9$f2&t4qM02KR5vX zUc$567$Z8_aRUw*?yJ2@{NByLPPLgGymj(Ow=$M*^Y{1sc{C|s%6naUd=fsAx_-;8 zzB#(z$C>-&SlMM&C*)`B{=Bl#m zq&u3GIm3ncW+Z!Zz-2$rTAi}hoJ9#)B){GSz0aJKCsi9dw0ROZIyZEf+L>uBlc0sU znQ3+pU~2nj<)q;VeaQDS7WllveC*ir7+anHoc+#ODrUX^oHu?4KBGC-|GtCs8hH<2 zjIH~XKOww-E`Rc=^ag^{sl~jZk8z3rtVM3V$ZzS9>B#A}aY1zElSd}AH@2Pk3r)sg zoN=_XMzV$E^OkOA?KS49&s2DyMkXcKv#JHRqGzi1*JhayPvq>E==0$AW#Q(v!;#Lm zpmS#BA@O(YIN30@$lxe)uatd_S_}DnKUoKFg2rV3R4}eOo?-lniU7H`;Sa=mYlF>d zyMnfzT3yZ>iZ_an!o)7HHML$fc7FcB7r@UN<{qIgape5@eexT~zEUpa8~Dvb(gUEq zICQ7}bv~i?GOLbGlt0l{4&xU-iWbWQl?5+YK51GEV=}F2vCmd({Mb z)q3+MpA2VaPN#PE2H~RCd@-=w!Ebb=SQ_)*wK6)?#J?(__zb zCRr)DL=_=lOtx%=@!9jCE6@YjQ*c=YwT7faRX&P`6FSGVNe7RRVP<$9WzaJmXz^B=(3Z4yu7hUMCIxBbsI{t0@ikl0` z1$}`%VyD5WSFpnd;k~t&WYzbe)0f#eioa#oy{zRF_%eEXk#czo!->mv?Gq;PyT2zl zAKlgZZ9WlBeE&Y*rfP#M;h7NoM+UiXB?EdGe>rC|c0+fzU*`7umz{o^aku~*(bBM|Z#72%gmYtWq!Djse@G7dwugC0sb z7w>V-7>>UOf4cApe6n~n9{$HXdx7r(>@fLHB%e~p_wEdj*E%v=^7%u|_lP@B@ecj- z=6e)ZfK(G4fI&{Cr_J@q$m0C2eJ0di#@5%nEdE1*~2$|jjMq_kvc}2dwfR}b^X?*5ABYv9?~Z|{x*jmAunYF+e7i2}QPJqNjHTy+ z@G59_m7}9vSmzG7tP-qMZrs8bRZZWs zsqb#QnkOlJ6X#XmbJX|P@cz{OdPmWhlJN`vyssPGqN2*%+v4b=k`otO#}Bx0eW&w+ zoOt%=en82_ZSeCzI9yOW#>~(hWFwQulo0*-xvuq{L;rDPTDNpQXkL0}#XZG|Ne?}F zV(!46*A{>Jm#$hJrNh$4(Y*l*kst4XKV2n^spX!M(Y-Rb#-ScdZ1@_+$dTB=Jap% z|AXm6&nmu>OB_0qZl3WoX4NU~4){AtCin(-5VMdzq;p~Alh(K+j9cS7iNEp{#yvk2 zZeGfmPviURM@Prcx8Vw&Q;jOwY1zp7Ca&q-UA%Xg?+26z2HmY?zm)8<`RM5I8}=d+ zTR=Z|*4UA^|IWI+!h7?5feq(*k2PGhVL}FHw1*S7^4={zlOVQ|keut_*-t&-+w@8P zZs+e4{HgzBS)+R9o~)_o9gpXa@FRQP&}cj^2oB}HYv@_!DK$Y;O_xyr2N*cHV`&`+ z#szI2m>0K`9xgpZbS+sY9lsBlZ)XnD`J``1*X|L`Fy9h%kA=WOI&3TZ5yX4uR{A!T zQm55E&%55UYxuqkx}5?Km=6zF3J;h94}fkvmcawo!vm(m1D3%9jzag-iPujfZa>X8 z=GZRix^R-Y--rJo4IZ$TwvMVTe6RyNn?)QylX!lnFY8!4&+6=lY+w4_ad`9Npvosgm6B+ z%%k(5rE{KZX`{_~(2V>P$#mW`n|LfR>;=|4@MZk3Xr1vygMs?es!@8Mi3~}mcV8y- z&KyMVH5ulaT;7QgPxN>d{uG-}@HBElbT1#;2;G-@bRT?2y1!cM2;I+d>0Z7W!C)=( zlwW2m^!tM7o_^&kX=jd4laG=K9dBPYc}VmRzS;P596p`Q2VN$Qp3DczY3CK%S(r8k zUXWJ*56kWz8b>?x@iR6rn?AG*p0G5_Bu=othk5rl*8f)i7V>vX5-xZ?@S9zHP^|Y6 z-tq83xk<_UtJ=Xu$WXnj@6eq~KhC;`gtr6u->B!ZnDHk6F7w9k;>IeCAKs|^uvGcD zJOw{AHf$<8HsCliHl1(hjD?!$;5xo7TSs4W%404;=F-btYMG0VxsV@cpVu0oXC~yY zykLD();oFpA4-|e`@Q+NI5F2<5A7XJolo;c<|F@4D|U&WF@onKYeO!@$QW~(hqn&I zghtjOkGU$ZQ1enfhEikfJ;{U!*XFRET-&Gjfls24{D|av?n*gRH+i0~ue(r&jd$1S zUzwMO-^)|+%cV)x|LZ|U_aK)fe*;PKS2~KWC)1|RCX^m79@2X*W5#yIOkUX8R`f5s zuYQ;37jgND@UlsjgTtu-O_245F(qlD$7{ z?GJxT9(~GpGn;r#H+FR~K11=FQNEbnl4s|YZS@NA#o3nMWLteAFKJG7;GW)>{#>yr zSb+b!A^I%3Jbf24*XwxKD9%iu@+E1#G=J!HQ8FJe;sZZ+YLq>}yk)Z(+RdiT3!Zyv z;|cSg#@DW(J@r*aUpcf%-Q(uVo3Qnmm*$kmdhI~>QytJo!E`}ktc={8l_@Z7aAEpA z7pIf!vnif6jIJhF3O-uLc}6gbH?hx!wq)DNj{WWoXT4>=8sn>%43Q7q@4|4K#UZa=t7FRn z$1|pae0gede1y4LJre#eKkz%P6ZpI@09*sWRle0P(you+K7K1N_j$%u>K~dRc$YF} zL;s?^E@1wgVr;bStyPsbX8H^n(~)h=*;mOwwR$PfiADsA9AHrh9J+vqv%b#w=df;z zxhK0odqb*`GZ)H2@-QvzgM*$dyvyQd(BfuEk}Pb3-bVcmPWxNIJ;i0>^m~y01@~I! zXME(M|B-Pu3a+0c&zt=y{cFkZvS<3uj^${73cvr@yUB19%vJz1=1OCKNMe~z4OrS6IOic(gU3-TUq<7#v&Z}Plj$CCsiNTv)FI0 zZsf`Wm+vnXJmC9hli-mxN&J4)zP9U=S-pQp-q6fp_(vH!aZ#pkzj)Zg;KXPCtK&+tv6oXI$7X`)O{7&vJ4@D)(}BZ)Umi!AB=%K2P5cZaDU+ z>_naQCw|uxG&B1c*Rr7pH)f`>XZfdpyKzk7(T#;Zb9RAm{bu#CoVgvfd^ymv!19K` z;AxjHJG_BDa$R~Cc{lqcxd(ia@9@3g61K$j zKj!yair;S?e!nUB{g&eQ>&KseWOe(NcGveWzaR0O!Jzbo3ALMhR`1vn9WEutW9}O{ z>lVIiX^uW;(5J_H#b2VVVW8^#EbKR(Tb`Ni@)gfk-hq9z!(_q>9N&fF^M8dr@btEa z!5PIH*1+QrxOv-krMD{obw(+;atylio~_^+cX>Jz2_;M%X7oLY-cnN;t$@qnvO#0hmLv7?u z?OxqB67SLc74vy<_2GBYdKGgRyg&(QU`@bD($)yhq71Sga284so*czYnYVCG_A zrg<&_XWCe&H^GB6SEh;IjM^FwywY5mrhB{4cO&qX#qiO^#ylf=EIv99KH5et>vpc6 zXAG?Wq9*vLbnG~ORPn1tJeNE!;bp+$Dl&v;%6Ye(HubE=z?>SIXmc0WPh#hXX>%@Z zVw3DUWpP-0!qe?}-8)QpMiDT`u`qDrQ_9&@`}$Oy;PHobo}8C6d-pF3G7LPB!;KIk}!l(Np@Ikk+wwUg1Ph`vhF8i$SeY>Y?Ir_0P=8Tpp^du|mY6S7GiTy^y1 z*U?k|o4>GZv|lOiBUc#QEB4m<%?$gZ8y;e=mSBbg(EP9^3SNUmo zPCP@7vRhL@xzkQQj%*p_WBIXfBIf#7G5ZxN;rF-jzNJaV6~)G>z{WxMJ6lG+&9+Q4 zqY?TtRoBJF-D@^2B`-$fD1BD28qM|5zU>b3Q|}sf@86~S4_SUwS`th&;ve}cHXGHn zI^#>jd#%p_+!YU_;=xAk0Yt{^RZY5H^rBMwP~F}3spv-Vdmnx{*`T@j2b4b&(r<7X z-~4fFpMtv))>|>U;%^nzN7>I1tU7R_H@o#U@}U=iFcYPc)DyttZYoxi8t{>TN`cM z3~Qsk&hH5HY1irwcRlWyV|_Cfp%*OfEoOa6z{NUn(fT2P^VjJ2efzNYL<8TVh7$04 z?uRZcdA{fw_g>h!_mA8Q^L&@|qnq;VdD1_l?}=P%)U}rjVnwvE+iL^-x*?^FM(%yk zdH#%f(Xrp#X=6-E8(&XqBbzp$g_q3JQ)1ijt3ScLuE1CJeuV2Gjs13K55Qwwzbd8e zJ+%G1A6z)T%A~e4owoOw{A;Ywex+^ui+d-hw0%F*kZ*@;=e%Xg;a(H@la@|5g}#26Xx@RVOB!#@EtKdVN3m z+mFvo?Zt(=;H&n4m4Z{USDyxl(-%6=x1vk?s~S(#Di5%9LM$H`)rFi|y}?XiXUMIT zZ)GVwcm+IIG3SzS;wjqD^{!8Y=f&7K;FKy>U2H=fX5 zfnrm0LVBp=<_#Zm_73Yl_S?Qwyq8hT9ys98PP^*U_QhD#CVQN1o!^PRs)Cd7B|p3- zYt@pWTc~3^FrTw;=6W#6sQ3A6PUO&z_F(Ri|FddbjCvz4)%|RCtce`=eAI(iso%YHtiTXJfxrBL}pXIPmM$ol#&4{k;?g=X=nb6_-kW z|6h2&k$8ySKS-@t)`&f@*m>uQJCDFyju0PEoBgfpB{K%ASl4cBrx1BWdPjSZ)h}_P zShg=~Fc0~Mj7m@=W-#w}$+ae&e9gaW^lf^azmV|rh*KZp*W`Ir$=1pL%UCtOpVRzq z6~2DMq2)e)cLna=TgiLS8)s?!rOnem$@O+(7V{bN#L{qVX>`8*Tz2dH1bIXq!b#_P zhI9Xp`H6P-*(G;mfL~cH^T3}r!LN}0?R-B%4COTTVYbiQKjqSOo2Rn2=dt}ISA@^X z70F67$ETgUv$N25`&r;?uWQdi|Bb*7{OkhXYS;r5nR>n5yMFp=_;wOr+q0E!1V_M4 z564fF8?e=6*!`Ew6Xd6W>l*)Qe23q?f%$_|scoDFzgwZ*V~n|k@%B$xzghEBzHX55 z*t}iFthRH~9NbpCRy3Fgenp|ZUi6LsWPFVo=xZ*05kE}$PsC2-f@|y_uU9Vg)G5q? z{;cf5PVli;c((GUUZ0a7?vc><($|r5I`HmIu{~BX&K=)KVg5@dk zK>6}y4;yTRK$VmKX4^t<=y(G^F`pCRcV)E;3UY{H$5~6~cV>Z}^K&ktjbj6sOyH_( z`Wt@JI|t6u1@&Gbw!dmO`QU@%Uq0l3a-ws{712AdgPY0vqh~Arf%uVp6&H(dE=P~M zKtE(Ix#%w?A^+K2<*KkA@mgPj>Pq-p$sIx7gvdiuUiI(BAPdO>wf1>Mc$MOsTa9l; z5k9;~D`zT#V+Txdh2nH^&YVNH+OM^X*A^8lAO}zRwmr~ksoUO3+QZMobHwz~uas*# zmv$>n+KO`EZhzl|4M5wB}k0``D4h5}pWwVGAMJgaj74w#G;0pO&u$cJI~GjKgw zkAnZKBA;f}Z~oENv^itUhtT~i_dW#vbj=R0(z)#bCLpI#6`>g3O zIJA_%w|F1kxyLNRmO$tEdX?p+#M0gR|NQQuuWtJ4^qw7Z^r#ZGMIW{=`s}B@Nv+z_Mv23#j|q~Yd9kyJJX3pG+kq2O=lk2 zsQlmTpnGi`*YJ^~aSa(ZQ@MQ_$lr)_BF!y*K+1%4YgvV z!`56zJ^=lfmF8-dHvCMmfuQ+=0n)i_l$C%qq>(Bei zhdhtYi-Ei7>C*5j^4aRMJ`(P10bfddSu2$DfsBb2UT*F`NZZ$QuhKVWMJeB9uUlEe znA-B&H)nEBZMC64@8W#V=2Ek2my3_Pz`lFnlC+*CgsHIUF_#&6 ztQ$G6i5mH$fr-{nu(=vp*2w+jYs)1I;S*}x>DTckCeyQ*lY8Q84&NqE*7^yI`_Hq7 zPh0#SjW7MV_@CXy*?X)>8n~Z6o^uRMD0X<+!z5>sj zX`_a8+ck6R51ViSxY>CUoA?E6>kQuS$M%h{T(VMlt{mV~KQIMb;KiqY5H2_zOlz^v z!;}5gXkG^&KDBbmP&@cN0Dfm)+WPZspM&2=S??^)5S$L4c8GU^$HMRFs@3n}_ifzc zyg-ZJifakKGr8ZNe`NDC?y0SQ@Vg!SJ_dfbgWuYx-wuAav+mT%Nc4xYEPm^K>A8yU zECs){ZrU%^-Qz2WmzY)FKK2Us*z}<1DlQ`1Kz=60SkZk}b@vn%bUn+Sb?~?!Jz6+% zxS^3s=MMve!{EHuA_#l7CQWYf=dV8)Il#w z;{RE8@8T%_d%k!1_0+~1#;$9M+pU3)*TDbfTWm_=|BK=O>EM0)aB=7PAUFw4IXE1O zof?n?*D$cpg%|sEI6N?<3Agr);WexZ0f3ILs{2`6VrXIKVJwA zm$*1Qwk*8rR^QnAd%(p@7Kc|I@Qt%Ld=EIf)y3hz3>mc7h98Qe6gqmd2##$WK`!+s|&e;ntYu~u&Z@J5_ zW%oLKGoxkix${ry?8ZLuShT5gR!+yy$5SNJ8lHQn zc6(^I5`L45E(R~!(+0mexH7uZrJX%dXr~t12>|=Raz|c>eq~drzwlgeQnZ>hZjDzo zy8{}ELPI;CA<88_`-^ws%Y%lRkQWE=#X2;k`YEEJtQO+S7Qel=)Xr9LtrnTF*rg%i zq5OlA_5YL1czn{^Y3P?+6Ah_tomrYpL!zA{i)&0%giOku1^k7m+8zgDF{NA9~atoqdOFxTy~u zUq`$)=StHY2hT-wN05b0=#rv4(NUZ=RqWfomm-Ts^)JvdE_6F zN1~-dBmZo z*MO1e>kOZgO~276^z|yA$@I1CNr%3u({n-mavC_9Y>)oA^cBZ9L_I`wTf3ib-z3Y6 z%vt5uNpF^X>qTD{Z|)|}B|YWSW3jQg9zf>_pzCNIz1kpw+pvF_LtX%V>FSKX13N46qRT%k;Ga>( ztk`_3)*L=RQ){05F4z7yYo4rAhcB|;PjIbkM^OR%dWOxPg@$^-edR%FyuVP~p8f?t zeZJG$blnKg^^wEP_;>Po5gXF-z`3RVSR;O1(NY9BZpUv`WfYWH<9F2!O}ZGmoA z5BkYQ2hXGju@7y;Ch++A>6H9C*-p_b*X<8*zI&Xp%f>AO{yq4B#fN0yI=>&a_0R$) zyiqwBJ@}wxGe=FG#V^&+)ZU{S;yjVYaj`IK=Zw*b%c`HU+JyyWz}kMlqbO1H3GMgt z*%|=$+FeDe6{C30OJ#TY5?a6HHawf>YwjG0fxT^h_`jj2(R@d>RYAWMZod`uyM})8 z(~R_6!QNf!s@B_QOME(?v7uuAUlqK_*;!tGq`g-BSIX0vsazEKYBPlw*tLD1V1Eks zt8^9XZ$)1cA322I+o@OL)U=j9Bf9%0dndBtxw1jm++J+?EjeMwt8WkNPovFh{O-E1 zzrx|InbqhCioNM~4SGVMt0z=rTe3DYa@+V{D!orcdI>iQHd;&&G7* z{?a7MIpatk3*;0uMk1cuzD2xeH8CBV|~_sh3-k%MC14Ut0W5{P@IU-nuz-+baLtIO_3^ePr*Jheu_am#?tbg_Yo$Opm^<#uM4l z_7@qC;k$Tf7jY2bPcFGRdF194lbaJIHz$wW9GyQJC3mZq+^sxvx1!{3v1jJk9QF?v zuMTWct()lTdF<&k#5@AiOHKK=17^v$D~7((SvNfX_~IXbxpT>LcXdXG@9B(Acx0pO zyDFYJNR6l5djbg`{)iltAIn`99nM?1csM+@^t$p{<=5q8mS6V^YCx5rpL;H3BDnvT zUT0>NT_;-043%E@G0CF9(r^1{%RYDGymNZTWR_j$Gb^tn-^ZTWCSE1F5-#gsvP{=m zw*gQ*8otruZBLXr)N)pG{pdN#RM4_#9w+m4rzPkA5qwF(zoPo0=Hl9Lv(^_H*`!>| zQr0mUuSMfiY5%v$_{@6AKl)gTf2j0wvo8+*<->2b8s95r=+}jrVVn1$JX^)~vZ=eX zojsAVA-fCV0q6toWLGP{pqKV!S2yt~`#8Or+Tg@?t$YE_f;Bk^FPT<1gsU{85;4mGz_ z6NB1BeCnEV_|lMvz;#cP$%|?K(+-<^LS zUIGj@)B+c+o#vpu{#v^qfOF-{J;L0#!j~Jx52QzTIq|Bs4>>#~85XO6gQ=I^iMcdKH!z0Mx1uej|b%e4o*J*?pRJNZYmtiCWBALs?2(}7b4 zI$9h0nec1?Sf~5aH%w)n6|3z5_mTaAWy4b9-dW(JeC(N7!bxg)n#>J~G3LVCGfTq- zN5~14|N9iUs`}D#lhq;pS$4WpdtSBosXq_C^?eXOKJ5t}wtd#BU;bfWSq2<)x+cWD z9AfDo7hF%tCsrG$Y7J+JJhGSg)&9b1@EF?HdiAq*8Coy=B*{EyROfQy3KpKk2z#IM z+Zqrv8XVcEIAQNok>*r=AW%=Rge&SOj?OmvMWU4LX?`tXYcX`VDj*jNoE;mxM${Cy6mb=g94^KESNam-> zI)Q4(_1HP9o$QvQDY~#Ydh+wK8%Cd3y@_DUk5b-AeqQy>gd6hzPGV1mA)b^*8;8-~ zD?^+sA$|dVS=hsSJX_Ymwd|HA+LpYx^560eXTG}s0{J>U;E3=*GTR{EvWZ(>GBPpPhl?C?kCPH zpF+{f(2&k0PF{P##ru~$U$vo{3ew>P+g#@9={BQq%WnBH^RoGA%*_uCd-Kj=PO1GQ z%V!(&y%BgJ&t%^Quyga#N76n=ojvk4>xN4^i^c`F2&UQ4)aA(8-W%a@^rM_I@$*x_ ztc`d3;eY3e8Eu2lIej{Gr0Z+ZU;C)f*9*-(M;poaljj>;UsTYWW@e_*-T`t0wTHFt znj+P_zezMSiMdtddlAnFvPQvDf2@wU_#E(H4R!ezo6ttb;7@uBHu^JB@>eEtru7o=uMHjG0Bel@chM5Y(aLYhXLLODBfY0Rk7iK0w2R&K zSj?Q{6SHf9P9Rx*rMn)|*?Pertw|U5R62N)L0?T*%~O009Luoh^ro9&htAbj9AW_5 zJ1eJs^DE?i&bwq@hhnr-@c%3StUuJY`6Rzj5z}filQ(GZzn<5#NBN$*KC&17*!rd3 zpGyp`i5T-d`g#GH&mWgopZvZ9-%%U92ilqp-V0{U)DsDeGy9gh^NK<{Q?VV_BR_YK zH~TWPh&fYt#qhh19ILvYJ-Cs4(t5#mJ>T=W-Zz`I0yoz4-g4HXkXq^sup7}c>z4rU zCE(B!5C8Fb3D!Tl6TSxi^j-;^XCniF^)KLO(#IZS9osBE1+guWsTai^$8KIq`%7tm zDeY?y?$ipejb7S#9C ze<3lPWvt;qAhY8XI>b8Gn%s`TZeX;=q;=qXjqP^VK9jXS&3aC{WUgKNjFGiJy!ilY z-^bb$^VkrFw!24UyfcS7+EC23J@g{^XPM|_zO%hNuX-nQ$lZnK*t#T>lKN~5wKJ}V z_NKZ0DIY+(Q5$t{)!$)$*U_J3*C@|$`uk(>-1to=hv=>GqcycB8PhV?q_rGSz6IwG zd$R6uhMAE@US>8t_y9SNQPxellkyErL>FFiat=Pbs)EDRIFzlCKD@BA?FMW?YN|+< z>Dk5PX{Bk;1N9Ym!84ceTpM|b!Y{>kZTpSLw8p|f82 z<0)*f50aH;eWUQ;Ze*YIgkJOqwSNj-PVK90?Ws&2^RA~qW#fGP$gJH@znh#6<*8ga zR?cgDikSJnKHh&m?2JukFtzcH#wMBiLekhYCU1OM?=&vjQjWQN2Ioy+@L!>$BhQeBOe4MxADQ$Ro8u4%eyp&F&I%Coa*FG_-16uu7a#i>Vo_hExzh3ef zlVRTdw+_rbf6Fv%y=4EVa@PXrE6A;x73gH*3Dxj{_o2@zpC^a;!xv@-(A_GfyKyhD zsYo zzptA!2XFhRhog>86CjT~KwWm_lF9$c{*Og!Uv`t{gKYmQePRPi2M8d)D)AR?qfd>& z>#qq}o8DD>;zd5aaaA>}A*XOP`}dr)-71be&?((CoiUalS>1W)ra*o4syW1S{KuP^ z%K_$6)lh5m5Ivum#&31&hN9**ykBusuznuT)?GEX<0Q{708Ye&j#KxhBX9VY&Pk!- z&Lzxc_qa%XE%mE&kXdS@Zk%jz-&y&kyOBo`_*$Rw9go6O%Gih0gItRulcXO?E=7?` z&?onU8=}}KC0r}#8n%kfON-F1-i`8ZFYng5&(!b?usmKwoi6Et-aJH$`j?CowiY%z zK?N`szZQ;ox@!-(DgEPHpBdF(d*GcmPQdzzPNURIm)+KAVF0f3yy_n=q%Dn4bJBhm zjolkp(1riHFnP(~Nv03D0LNvtk-_?L9#4IaN$;2p9NWjush>tWIlxu0drZ0#u&d+# zDPT7RIFA8;7EXF`^DUvHo1^HDk^C1o`!4a-Uk_|DF3GSsc#?MoPyDYPTlqc*okM%P zDty5WbtbC?zJzZ>u>s!(!8gut@dxP}QFM(6ZL7`6JfpQ#8zbw(y+bB%1N-M%a(PcW zv_qo~elMeq)1f1qRtPYa% zneWy+e1<)fZ;PKCO^J7Sc4ied!tpii%X9gm@IyTDX~tX3+T(Lb1i|wh_|k0FRrl>P z>@Rx(UXTOaa^Mxxqw@0cbMj0XzayF9jlzp^=tuqv&qq-RAMF}ByVZef7tbZHAN+Ig z8^rC^k2kl!b>}9V3N|qE&%>vzl=E7XeGBAYC;o1i+4MMnrSe@?&9LW;y|)>eg|1Tg zwAr+ad-BnR)671ftADD0^4>G!2aJ=ej?C!-7a!)?Dz$UjxL7sokU=|N*ZT*;1zqAh zwBtiRm7ZjPA3ngum$)C+JL7JSZ6m+?4f>Q$7vj@iFAZ=e;-hrVdS{H^3qzF+X`nHt(te7Jahu%K1G-XEv2H=%OxSn%ZIdQN-S7UkL6 zMn6}3dXLY>dl{E|#^B4kj_vdY{TMy(?sfYK*FR4iA?>@njQwvJ>?`N}9-e*uFBuE# z@?q|`>i)2^zvm$D+|IRs;-2TvR7@nGwRHD9sE+)|V)7+9hU~?F73*DmS#hUog|?w% zDaYm)E-vKs49lC1?c7lA&yRjcKsL8!F=;R7YXI#o&>AEfxQ~m8e z-p3}!*PFJXpJ%6J;OiNSor^5#D>Mb`ux zVB^03Pv~P{JbDKGc(%$hx1TBWli}kGvor(mOsjvExjQuH*oxj7B-?|HmzaIhMT3kJ z9yaI$o_AsIDTgnL|I@Rx0@&tJG!}h$ zS?(-rn?Mg&Nk8Yhe2BTr%4e0-`K{ibjC-x(i;Fm)ntD=Q)JitAtMjHU|95@=|4ofk z@r;*J_=Pv0=If+SWRIMcBAr=wqIiOABjq>CZ>zje;V3qNm1XdXWf$)|*)~Pm!x9pGpVsuQkT*DHR?!+x8vXRQPFt;Q(!9y*IpZ zT28BcgVuh^Mn6!la1%P)z*~hg598xL*~?j}=#J`dDtfQ{#i!AM!nDJAjvYs6>ojx8 z8MmNAIlyhm)wTHHr_=r*@uhow=^YCv{dn`j9P~!=j-zHwi`tSMp}HFykDgQBr*y)p zyqC$ddPaUE&09J9(g`ye+cNaJsXhlbfpZHwPje>YlDE!3(?q{(=vT5_KCC0~Typu3 z`+Vq}=$Nu!)J6_^DLJ|=J6R_^r+DNxzH6@uc~>3$?oeA*zT*h>=}^mSTY<6kbNT;2Xz!(4|2<jB=EZw~zs8z>DMsCBd2l-@nf7qC8SJ+J-5f|J&$ zkFoTCpIYxlw7Cp>Kx-0ZP1=~pN#0)$epb-eROUG*>&4CU9tmzyI~!cz^Fp2{Kb=0u zY-pp6Z)`%2D^|?99RZ&+Q}9vkPNtYLX3y*{^ z7I$6v2xk<#63z>^vd7IEq>khwt$80dxW>^2zF<$-_jZBh zRsRm!Pve?L?^!AO?0ICi*qf=kIfh({b*=L?caiTQ{c)Y%hfXtDd*w|@kIiXCmb{0Y zIdfesmzbE1x3TYKEbt}AXHO~lKBdsOj~t&2-pdBZ%D^G%%>jN-e*OGYKJt0GX|G6j z6Q9XCtj2wme&4BH1`e$Y{2N6X@JQw$Sn99Jtw*uw)$>nQ#nCckQN#F>q>^~2lN69xyj?Jn4T=XIB&#a+F zM*w(Luzzw5dvw-frx8(z4dJ%Z%;Vr zgFdvTsyDYC{OATwd90`EPfOphzgbKDR{dYqo%3}$?+6ce@JXjOz3uVuJ02*$c`lE z`q318c+BSakNWOq$Edz{9DbAyK5Gu;&;_{~`#n8TdWCEZ<<4o|8>l6c#=7b(zYKU+ zKfDVbHQ0qbQ@(#6cqLo(AT*`@7zg1$C!wu4y0o`WnI3+?mqfS4@TDkx$;NNck9BTN zFT5rPU#sv(xKPVl=9yk_CusRgp2eHs2;O*Yzn`{Kd5hP^A=((>A%6m2$%PlQ*JVFB zuCkq1gy4O-@RCW)O}^g9&Ed{T@QYL6*qm>qZ4s<``7T&_xFH@920wPgk2Kc+FpB~+ z*;cj41#5G`PkQjzdGJ&l#0&OsXZ>_umN&P5TJO>o{8xEx#V-FZg<6(?<&-MKLZd?&QBp&oK^=ZX}mZad@ zavQH0&A)Qx^Bzw=7Z0CYUuk?R$QfFcpQ*EBsaGJo2|Vh?)`Fi|KV?G(^^L$yy(ha# zay?nENd6B0+D|-w|9@;V4y}Y8-%@m^rM>;X-p;4|g+F$DKA+e1Z0uXEe~Q1;-g~W% zkE#0JQJ$;0e$$<6yE|7Y3?9EdoiBaisu6q3k6sr6w1V>JGsV75_*(XLL0k9Db;i>T{uGn14_(|; z#(EXG`T9jw7v}31ksF%FeesFnKa#J19+;hfz({|xa3+qmU%rY+2wa;DEyC0AQ=av~ z({kWxqHWbnXF&&;J;{txK9h&joRC13SZ-n_sw zZ(i`7hfkS<3pA&DYsqKTI!H$e z@SOKuc)iv5?pIxn9@c8-*rA!ovHg-a?AzO4HLmJ}U@V=a3fPEul?I2Nm28e9N73av z;sM|ERVoEPvhK{Xn?DFlWP@ zuezP*fSK063c8RiQ{Sm$sY-LlG9SGGIT;79x*3=9?K#(KdI|XD2frfVmvHOdjHyd_ z4^GA1F$alt%JePVPTviVZ)|BCymc26!DuW?4F&360Nj>2&5OKL20PX&11& z9sf}ycB9Ur5zOMm4sr!|;Gc}A+6(yWl=FO-uW@*Fr&~KWnSV8>@atUYr992tB>aUd}=$N2E9nI&*xp)8I_FhW6+m)e*j(*0augPxs-Lj ziZziR#y&&a7kg$r&q%Im|4dh{);+uBHEj=(2+;nj8U>gr|DS)Sfo@dfY%_;)du_u~80zQE*hjIM(d%h5X2 zr>sMUyAH|q=x<4Zzu^9G@zhw^SoAsUU^{o_ZR5J*;lJdtzB$HsrtHC@#2b9xxnpcB zWD5UXd6gm7DbBcLi)S1EU_JVoZEwf_U3*>7-d*sx(&B3ilIJfu`ES(rJqE0k@ypQ% zMsqDE;%g}X^uqo6j2184FM2JLUTu94*|7+@E`Ih+*xy}K^?N;h_DuB5RMlffckr(` z0uJi^hkGX3`lEvVc<@AH6He;06?v+0R*sC*iQ`tuM%zSfVsxN&U$Qa3ST^!u18vU9 zH1*_Kt*-j~Ps-(tf>WFYxB>mPlU#k# zQbQTJVY8tJzned%TAnZ9yUD>na1cM%Y}Kp^EO4Ho&Y<7;JBo+rb-jHH}u+C^ytr-q6HI@k#t`j~9RYy{;o)uIAHd&D{9gZ}|NPZE$Um zxxuL?+s*sPp2U?mxz`s-k0TaO-vROpF6DX^@=0~ee8dF1^zP?4pF#D?zyZl}FD}=+ zgStM*PObGs*4o-t+H0_bI`_0ulY-x;ZN1vj^%qRkp8i6znL~kCHo8j?y|yIR8HXWu z_XcAt3XlgUoVc~-gn=iDw}_VQo@3Va7atsbe!b)(w7uaDvuPS_d3|Wja_A?AenRwf z!TPzn`srHckr7U$o*#Ag(B;Pq{SyXHf50sI{h=$5|NR?<&0GB@b}r8xj~By}|A?KS zbCL>I`}p%WpRe^N&f_CEzs|4vc?~&LtnDxSiFn>+vF^ZSu{V3JfS<9C{{VU=?Y^0J zrTyJ?=!)1Cesqi42zw@x8Svgy-$o}+NH`ySToT&$syO;`!_�#cE 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≫f~M+wW|+Nl`c8Unyxf*Kao)?%Wg~dgJ8!u+ zK{uw|@VDg1yU1z9(GJ|W`f$Rx`TgoF-$p~*@Xgb|>7Q-#9xATLi7pU{OVOy9^}*@bT6%0l5-l zzh8lN%ki@rIJ0&j_GhrQ=%Y-=CgdQpusk=|X8elI2^yd8-N*rA+_q_d65lhI%WIZT z68Vy8&~=)j>$FD2`H`)@4%{dnt86Px*plO|CZ1sLQsn(MVe?-zuVcj-Hk2gsq=$vd7Lj)3al6MZu|LG zo63J;4E8ANYpueaY(bA5q)h4;zVvH!3}|hb!y_(kza`u{u=9t8snck zsQ;uhuakZMW%PUYQzcih7PB4SrW??)_dB|e+8Rgqxx{*)HSaQPZ^%T^U>9TDQS=yS zxvc|uCD-H+HTn>1`<&k(T}5SToGM}c5IHhiXI*vBU)acc!{9g0oUfxO*ml0!LOZ?s zg4%8Oo2@q`$S2<(Z`yzL&HwZFPG8*U^u-V83yVLuKaLsu(O`d=aRQzce`|kNCq7x{ z()UZsS#to7FQVHYrBAmL14d)(oL|~DTKnF$)7bbj{$Zn_1^P$yFkUdYdy&B9>E@@| zDfHom2cDix43CAS(28J_U59!Py7m*{S~AD@Hr82f_4AOWz}#6Eq<;ATU_XT>*te2Y z9KPwuxF@ieh8YtRXHlNX6KMVyY%k*D|7kmm>J~gIJKqzVM`NrvHV=Bj@q(t0$L1MG zH}k^5*gQce7Eh2^JYL!iYtH)>WIg8qKJ%!WY`<=Y~(uv;lJ%>(2 zEBbTkWddus-ua6=hE%g&(;;4@U)+9h#~RHI--g%5F}AF5_`Ov7slj=IGX~_JC;LX6 zxb^|dhmViVvmM||aapvE>TQ=`UI)y-@xbW9mu>uI2K@_-Es**5G9v^0yz-Qk0Bq#P*#$RS8Yuq1=`sBc#tXRTt zbmB+L>~CW9foQ7wm+Y;v*iR$+`sLs{zN_ON8Scyn9G$;_`E$I)@YL~Y>K0G4PA`3} z-MpK|7%AFhEYcjoq@g>Tw3wY{=9Y{hZvCQn_A0g4Y+QNxl|TOU{j!6$r98b&&$*2RoHM zmGyEvofxdP?ch13GyWCZ^9IlhVq4wP2=#Ym08Ize~Bqf8jc29PPK$k6Y(krXQy|ZGD+^%0FoJ5Mz?^ zuOfZ7+FNd~E%@;3%4c0ceX~L7;Pcmf^E~&`H@|JechGtaKRUiI;QJQkBNiz-Epsnl zdn{m0RJ%->>{S!rS=h{^XRaWxX~$~2Z$=9)+Og4wx5;X;({q$g-EDR{u>(J0Y}x5b zM<4q!>3^cE2v;2ZNT%P-eHYh*T*6rl`LKX{+S_8a*f9hD01Y&d7P9jUf%zMh`2gwD zM4$LeFqb%_vYG4jEZP_uOC0^&FS#SKIxfJ?IYo&iH5K zuwHuw?@T+L*jX=9?@h`tzGS{Yn+{h0xHLJEKFni`)&*a-$aeB8WTh>~XZ1<0pU-z& zxvtaqGoXtWOE-fw(0fz)T@4*1?(pM;5pbJzuCH; z^ov#At=KZ5F$;er@w`uISA^S2$bTXCqOp^&INv%nwwiCx=G`Cdbj~TT<>fNcRlk9e zanI1M?0(Q*FL^~*>6Dx0lzTL#+^_Pzsb6hme}dZN`#p5b_rBG)M$x&G@ma*g&rdUU zec64qXV%9VKJk03VrzCqajecNK1jLrIp-4FH2RN}D;x}?Zql2qU)wbOIi&+r40uRC zXj$3t&^KFeQ~E5sKX2i_N@cCKZL~A>4%zhq-Njsw9@Yh z7MI)kk6STYUQAVbU9kAmZhG29^Mxu5r~HuFtRR$FSDe?E*ez2Lk0P@2(U^xoyU z4|2dcb9wPFbF^dv86y8~<;m9=8Z3_dknan)F9;XQu4bP%m2O?*)}vS*7df^-)9&5b z5tE;9JD{s_`d4$htO$M=+n1^!P_zAZ;=pZ2OMXuo!RWGOoOo+fABK|j1jjMh!`gLH5Gx&4tkKXT!~ z9)T_O;>edhu(|NeAwar&aLgn6ueR(w(3Z}P zQ8}9L#jkd3aJ<)kg`Xw{`@*eb0kC=J3*LJd9=9D|O35o8cmUi#;laHZ{}T*94El>; z2P|gI<#61wOS^c?qMbH=ON%?OJ)=Xv{&KoCMQJr5UvVrEEDmFPw z!VS({I4@K`(ud6PKQ`u_%{%#5xj1vb89jhA+h4%OuYGUyPsVK5j`DZJr%X_O6?#I9 z`FjW$Ld-YpGunrqDZ&Wm*A-dOrUa&L=A9!*G*chFd~fopR~q%PCOc}>9Hn`Ceh zu-Z!dTzatOTr5*M>V?e#m7f_*dga~Bl=XW53&vy}md7^~Av_vir4`zOE3DS!s1Ec852J$LGT1bF-|; z4a4`Hw-Oyl^;aP~cUc*APyDK312(T6>BK)!`W$Fy4sFtXy+c29C{sRn<~{U7jGaT$ zhtzJjPo>{``&{(Vjh&|pzUJGAba{QZi8+YQ8?fuL?H((rf4fuvT*U`1-%fa{_$nT;#4C;-X>mlPxKpQyNVGgBP|xwb=5(^#xlg zeCLGQ6x%|4?f$v))sA;EIG$<^*3TTJjCo0b`AIFm>DX&^hO$k=Y36+DO{|j@jKqe? zd5SO7rWkY~*njvL>>BD{`rrSfm52STeW3mHi^g1m`~K9PiDR?T>OP zbRa%gY;MyB^m{G)O6Jn<`|0=YK<32#cg|?+p%3N#qquU+ZXQ;W~1+Fa}DU(sVH-$B!l%;DWO`j<09UeNg< zvds=jr#$D}5JRWpn>6~EJ#3BkIm5Es2AZ$EfpG-fiH{_22kmUOtvQ$e>qb`@$!{0G zrr#VnzefEA?jQB=yvy%1Q^u3E#CHfIXS}jnWoa#*v8yG7ol8Ep9~%dpy6$%B>haVi z8ROPB!T5g+>JMe$>3qpo^vw8K_PDNjdHgKf|050AvrMvQU1^(QEN!yV7Vcpk<4WwM zyFbdD;+1v&D&!M;ZFR0Rv1uZui^lb_A7`~UkNlC-*h?!JCVygRsYT~U>^J?K*1W~6 zE2s5#vvw>w@}gN+PBZJuTby-ez1x2(a|-tO9oma?h_-s`Fn0ftJ$ISt@JvT2SiH-F z6XD}TV3e_E9wTPZ?*pTU?EmY;x2ucTahr(0;Jq|9&B33Wu?1bo-yT|0`X+Xzh0JlV z)#f$JUqUh)y=h`P_?U~l-3Ly#v9IVTWxfhdgd2Uc2b+NM2EcIzdu@da_pF;cu!Yu| zGc^2lT@Ef5L#wQ@*Hwf6TIiqnCOh?R1-Ofk^(RFWW>2}sN8@8X+W1&QuM<0{yL3@? zpGDoQMNBNm{#C>{mIoXGY~gWeyJKt_zROYy3lW$WP`XD-9pdtNnsQ3 zDMdeQIgNhUQe*3fEslQJQp5PF*irDTeLl4lS1Yxy$Fk51p?PmR@-)<>WM`cn?4#x{!a9T zIrK9z#TG7O4Z(%;3CDfC8Dg2pB%tsH$stzHsAren?;L za^&SvM@D$%z&KUZvwZpOW%e}U2|1o=6%(~%NaCC35SbH~8`*&ta zJbmVe#EUF#>%^`pe%BhlS(k-wwC|<^oZinET*bTw-;Xw8e>6gyhcvEf{rQPSwSC%u z6QjSn#(bO=x6^%g+wDBdws0E_8q72#3jT~Q|X868yztu*+p+}`n^fM-%H{914v`YRpwm;aG z2ED1w_`T469d+CX-BbQ1E4{898Waq*z*zymNgn)D3S9B!^k+R6W`ed+^Ki5mAss9P1%d_ zWw6U`v3_CK`#jG#=>0tErd-ydhm;%emV1^z((Nht98bC1C?_nKuN`I9W47>orQR>6 zT=1&(pE&D`IrNL-==qH2ePIUWQw|@7#?+2Fb z*%&%m{$?$6p@yuqMq=Z%msAlyl|H(Oa&_OqUX1`{byC)H$|^#ZcY>p3YS*KzO;PSo zJZr5NgCTq8C_n*%5uXz7suIs@2A?1apx529!_@Jb7rEvx1kD_&`-~Uadlsz8Aeq6U( zI!?ueNGbaSDtQ)-yY`~{h_kDCL^|cT;}>y?vCj;~hx6w{*L)LTZd!Y?=1u1M2huM= zCs(3REt zb=wm)@_Mj60jE7_v||PB!RB!wgZ6A&UEaP8xE1euSC(~R687J8+QZqKrkz`8PX_JT zOCRn-me0%DcV6PbjIrZsLpN=iPkNRwqy2H(Hl61qR%UN#Gk$D8YS^GX58$JHT$Xjn zv>890YSId;k3U49cGUQ2S$E7{uLA0%kA~ANFYy% zOOedSCoP*cZnCm_@5E0X+DXPk$Xn!FH?l=}l$Tfr$?TvNId;2k1Dc3$-I-y!!Em+kR>?BO9~Eiy+j06LL*N8zt-`0HHk7s zXE*cv0cBGDWUX~*UrwBIzd*T+IfwO~%0FG%#8+-sy|1E6sH|OlYtxdw#+mN)eHMNG z6j%0B718ETS(9^4)x3FU_Uq?0K09pe7WAol->}|Sh*2^Tc|Y;~NqyOult(9il6>Tu zzh&6i9B`K7%W3SjavJNh*&pl6F?&Vw^xaw3?2`L0>C1*zCit@26*tWf9NNb`?9%dR z9(h-P!kRripL3;r!`nxkdT8xP%6pi+w~ZLl_*-jaV;%RiSbP0v%Kq&Am-W@BTPI}4 z^JiGeVdTAq^nTxn-UP9VcV$~Amh;;+i}lYED|!4@_CHLulJ90)hu#g0Xn*!p{iDzN zmOL`TKcaDyHLSOxWi2+h5xrsf^_>}3vgZmb`Cd7FJdJo!CU)8g#+g9#*W|AQt~;mE zPqPO5u;&W;aVlpglmwIS%pk@>IX+FdVjlypa_GL_7wE-SGrovKT^L;#!yzERjG z{k|XhF@o;}Lm~WEM!9>?1L}SL-X6w}t3*Rqwz082PQM4pR{-Bi29-+&P(~^IC|{p~ z)%M&*@~+4Vw2O{H$c2#A_Y=u8*>UuHgH`p&#n`9n(<*vjZdoc@b(8eyqsH#wckB-S zUg^rpBRi3;OWQu}uI<5npFv!YM&{v+4L`A%yQleG8^2Av4}z0MuC-iixK?wm;#$eI zf~$e+-lzN5FXMM1zk<5}USiHLnYrXuLB^sY+9^0?&)RF?^fecq`Vc>RUvH2MSJYIsp96-b)*9!QtiYM&P;Y zRMnf$5)c2`2ddr_Ja+@nKO1;*nlCf(HqTp4mY8TA1^>AN+CS{Fp5(>$`qqc1Bq z;Cg@b=%zrlXS^+cw{Nn?9}^>ReHrh{d57!iEf$K{STyJ^CCNDl_nz3nc|7{g> z+srG2X01VTTE6WTZ8!#>3ODXGVa<*0!x*=RU1CknLVmlldBWF;$4{S6BECoJ8qWYd zfL|Nd>3v4WKnBL4oo;NFqH*z`4_j{t9#nnu3C{~E593%KXMcjfY4Q4>pxy96 zcJna92id*7(0V7h8*BJ7+wj3KhY$4bKX?a!p9n%%6Ma>!>dP~gBm3u>%Bf>M{|aTD z8E5XC(!m)xwt3B-*PRKsS&Vs4kFX}clhuCSgWt~?yNU5H3meH@jC~^+10VK{Y=8LF z!)p)nJbJ{a#!AMuW@JyLFSmC!Hqdti!;Gwd&^N4ctuLqj4b~xs-+xcvaP|>s++Az( zj_l1w{(qMCy&cFgzIwk6jY?I!kQWFqK|BR@^e}$qR(Vnli!1` zj%WYkyiq?NKDOUCytfB^@j>6H_S{Rc=lXKnPn?RZP4|y#4~-bzSi*bNSK>?WUBK@o z>N^$~K7a>}N!31|=Iq#0UjoIrB>Vx~-AD^C?IE{aO4fUW#I(X-`B)V5BqexBDc3uZy2+ za}~Zi7H4T>E@`bK>{{!j2=Zb-|_xU}cd-929 zy|jz$ntUm;`$1&)gO2RJ3z~hyq1l@qntj)i-FJ9s_GX7>_3jo&cK6bTXjlJa|Ml$a z*nC42-0zTnbJGYb@-}u*;>w(uK!0!sg3)_sN!PM+dPB@n>d|`w{LVt3=ndqw*P-Xs zq31{^+YFw%u@m>4jV_Bl=Ga;6zdG>%aba_s536nPv;26wi--?%Hu}t2$Pv{``O@Jg zz)L-W?1?>#CiZ2K?gO4mbc}L?|IFqh?AM{#@QD0uWdBrOc;(3!>e$S+iR%Yk-{<-s zS0#GkFmRWH+!BpQ&%AN;rVXNtFH`ogXDW<-SjN5KV`5y?ebhgB*8TJQe#JWPqyV}a zJetW^`zGVdD$4vPr=Q$4JwGwPH6MEF4CBwtb2J_d?w3~|>$3evG9uqXj#Kx+>cp&K zbm1vs&6y9{evME6(D+FbSE<;^fOkQcU2%)&NYbbj#7BF4c4xD^gUl@}DdWhw@)>>%G} zTojCpw`LeP%zc72B4T>QbJC)Tv(ovk;CFhI7%$PpqrRvqBR@0ppa1#MdiMAoETH}p z>@_9C%4Th`rFz;7{JO0jBY{ujuZ@G8;#B;s9MH>V^l9wSx1nj7S_5qfmCQ&kXHKO( zcWEvzsMB}kBZJe$TXO{C1on#6%?EG7ne@V1+OPU*d;M*p+~6Y(+&A#ua@JIi5yvt# zeE0tr9P-^#J;Hw#YwY#;?9*kh_p;r~H^dX*5E|V~x!P~o0Bv+IUg^F2jpF_pIf6{u z#u|ju=a$b%&R`x&i~{q#I8hv#!x>c5Pp(>vO+)tCCKI2yuYa=g&jC-@K#N7h^m!Rt zG-dOR{Be}m<40$3dNFwmpj+ju2TxJH`FGOB(f8=mcHh$uY^}3H^nKvB{gaCrUqvq( zQ-sGkskDW>_#iV-!}Sp`~2E#_gI0~x6U6YJC51Y z-;T^(2n?D#PbF^fb=-UPkp;$HFw}nE0p4Z9S0CIx1zJYWGPZPNhkW=nu3pSs;o_4k z!I`fe+ifHEf_5vs`_ZNB%jjJ3;Nd6Ee(wE-XZF0mcjWKix2&|+YdNE>3yv=C=UvJ)>P!dLF+AhkHVAB z_OJKS`3!hVbSyf@e}00>LT=V&0~_O@q464MyZ{3&RJ@v0K_#4z; z@o!FIGaisF(vigDamJ&qvW+n2bnrg7sKCr!H5QfRS|@VAQ9JKrnPv1*d9;)C6`RkC ztla!5V}IMoeN`qr7CR6B8qOMGeZj;(qC%)3(e#ZyqFbLIKdG|d2>DLFC^EPcKI%dqyY%l5SnE3BDV>9N6!^!n zzP2(Ts_8oqSkY&q#Jnn!};9U9}M^MvT95b=jX%=7Cl+fNidXNpPRd~u{o zcu2E;6h{7QZ%Idaxb1f8@bZW7>i)U(w;;uyAbP0k&ur7L;;BE*JajC$t$D6AIRkpY zuOzDH>gRmP_qL_X+2Q4Qjy+y{Mfkw4FrEW$!HHYn1QRc7aDT0-r+-yjeh;>Zuwsq* zn~T3i%sI7}bjJOr#fj@ooMn>+Ok06T>D714NEV7lk!yOcx+9Z*wa5G-Xf{6Hj(Mu@ zswoTorfx0#55KheSSyzQwB44{q@U+}_S0yu;E9RWI#chS>x_PwfQRsp>6H&aL2jTi zAKo``0}K3ljr_1Q$1a3!K4L9Y&qd&Aa6Gl?|7l><{H6Cd^OjNvDvwrJks#c3!0DT2$iD|7~Y&YF?@ zXW$>e=d3||28GWnY<$Y!W&oG0TN_+bpNmU_8{jj(oxoS-;I{W+2e0MV86VG1;8EOz z$C3ACxoM514qhdXmY(dNTnav$9eCsq?3Ev1@Zj=aHdyOgJh&8%yZDS^EBD&3%J6eE z@ckyu;IaOQ{VP9C@soJ37W_8szBuwBxLD>BAn{VWu-18>OWfxM`~9?(=c(><7Hi|gwz}GVzRk{m1QDCIeiXP1Akh34jYXwId#1^6=z<=^oaqSO5>7MS+~WXq|3WKRb))&ZZo zxCIDn@s-+gz+@;`|WhRP?tRw?mS{Ma_#^40eV`o4&?)Uu_wD*a65 z&Kb>~R?21l=BlNvPmRkDA0C&#`F-M?8Qf@{;R(v_^o1YkT941{m7Uj$PTl7xPgZ6f zWe&LgbuIQ6U@QqRf2Lh+%ghdP()UiFY(pnKKB{mby9{Chi*k6~-x53KyE3pc}y z7S}k^m4@DQDxdTix=xUbSQBkQYy5>)e*T3)_^pb2bn&0%>lvPVO=}RIaY6J{&iOjX zA~FlsQj#4$trjHo&ut zzectF++r=V_X~c}eg7+a@8aLP&rjLU|I2+|Vn6?_`~7Y9_qVvum)OrU?dK-z5_^B) zbe{7KpPp;>ftI?@`S$at-RE5Ux!8SXKcjr4uW_G`+xtkba-U=N^JP4{e0&3bIHTcX zmw#u{cd5FYWd26klD1~ZFR3Z?rt|wj27Zd)JzP#4CzIZv(T3i5d~x7xV@uLHg2wJL z#z1_qde_n)bI>ui=ZD+o_V-VIGRr>u>?r;&9{|I);rJ2Y$GM%go8R%QIiGY#uP&-G zw_(3B^Ck3FJu@$rJ*#PP`T44Mf$SoBt{uCo4gU$9x4tmJ-gg7z)#n$R-^^9$o4E@+ zIiF`a_8&Vf({A6cl|~nR2-zHS+Ftcu#*lp^uD$S&#CMfl;7sFhYCK_ACpn&B&rgD) zv)gPxl@E@6v|e+MA$kD1p5`J?Z5}!oQU6)!Ll!!}bjG*-$)VXxZJO<*tUFd>vmWki zsrk1GBTs5R%pB4N>0$eT|6iQ`KT&Rro6F7t>i5$z}dqpkNMP(rK_h!uA~o#^fPJ9 z`AjS|(Nk3>wn@!fwpymo2kFY!I}DkS23@Uye&!HkQo5h!Imt-*1wCpyypT?~E^2dAjkHbNhXf)9FT`EPUgsYly~E3{C6lDKfm5Rj7>4{*(KWy`8vu4 z6LyK?$WU$`+-Xa(BQkq!}ezg=;*o;caCR{0yyr_#YabJHoROEKa#XYZT} zY&?gV2MR8?%uf1BV-NPRVzb^%Kbd-|qjRd}*VfMZYpoML`hGh6vHjTx4{smw!}o9a z?Hlj!yY$`n+23a33{TGrwyosd4VOQow7R9ppy}rX?_c@D2M_Dn$Ft(iG`#xJdTanY z;g_bWHvhnVh1X@A!Y);Z}1(Vyds+xz7c{j;B1G_Nmv0ybsVtx6et zx+k%IGL5zoUtj#$!8+XUe(=%yAU43$wWn(a^KbCgJqaHl>eW7V*%QjxgPg!_|IS_m z-wxs5*x306-W`c)_IW${two;JlEzrqCc8ukdWI%;-`1wE=HfN z*}BsBrYer3J!an2C;Np}4KHO~8+mzn`0)3ZTI;4FlcsQ8!!?;pv={LAJ)br|bnT`V zbOP|O+}HPfz2)oW9L(9Z&{GMtwFjJE1f6U#wCXdos=1tOp`!Ip=s@GU)`skRU-PZ% z3+gzJOYJdxN=Dgp?Qauv*0s%ENIvnS*9T8FCE9h+%&U;6va8+3x_UtXyAJZnZlmoV zr*HM={obcNO?)qVz%stak1AQA@0sKJ&hWh-`+DU|*21meaIK*5| zw}is%>&^8y207c<;McC&{P&TkWVW?%Ip3Gm5`T1+9otj(C;3NzEWZ_OEzmbN6Az7V z;x_M$G3DIG_pBRwzw@^5-)Tz~bRxXubDa(!1Ns5_m{&g#ZkIw+g`Cl%abA5>$Qdmg z1K9C4v)@#BLyvtNzL%a>WOcltxs`NF^NfGGo{P}urNbtyzA50esbDv@kmZACUB5)! zSQ{?emL1Eq`(E*eWrzK>)9)?{U3k}|z#AklHdhl%ck7?9`(mH*5kn+SziQ0#u~$TG z(Dj=SKUzN;IMqJcWBt%U;SMWVSVg>LY>Ud{^VmUuNq*S`M<;DtcpQ6g$ull}4cg#e zqb+BGcc!rq4X&REzkUag?mRPq-dtfNUO?6wJep_lsAqS7=M#axDa)*yR_4T4S?JWh zmchP&hME5+UXU-PfSvw@)gz(y>{Wh7oM;IfhQBkG@tfA(`To-xN4&9VesUG z4hq4e(*4juiRL5FW0SxjP_q?o#@5>uJws7#?yGEuUN4KtAV|sD%-@4Sp5Bu)?4iV(LS}KjPbA9_MC(B zkQ=L@ul?}W->|+s9=WrM`A7HsD#>eEU^A>{t-{X7`CzoyJwwE#VbeO7I`bX7WfeB9F667RRo$AI#Flqx zGi{6mvuIi0d*x&X-%3s{1>OSSg*TnPv+*V!@*4W+duQmM*HZY8eICS427l-i((R?c z%RcR=KO{dkS^nOKXye>PHH%8<1AHcCXXIwEugC0J?~Tz1T9Z2p|NREu*uB{o`4Rj! zFdu;D5{#jp;Is=~>;*2b+*nI{3>|1~&+$i78`4B)THn)IwfLc($sc-xvBwYcr*xQv z+JY^08Mt)Xai}oR_k68sLt5`lbQI1BO{QVvYoHyKmUZGX=^^BwvuFr)_V56IVX6(R_$~ zP;}^v`HTIXcAW7_Vx{;uBQqVI3F2E;HVz#TUedJ;y{+8wH>d zp|Pjwn;*lkd(w+f&V$yVy=mmTIL+U96n$K@KJVcQ#fdfNBWXXB+pfLZTY%h&KaJiA zEhT;oJ?)uZd=$OQ=p;|_JKoj><)eIzHU{`!I$;mGUJo?h4=vw>|L(Bd%*I(h)|2p? z>PB|dUBx|qdJpbrzJU)`n7)7e9{g;^`ijHyJ!-f#@-lOPyzR^psmBY0^lTT7Ze&ak zw0>-CY4O|l;6qIP@{_)ax@L`r_UW5rd6H8($h=|A>*YuCmz0-RS}Z@CM&$XOca+cV-{(c$j?{~5O{;Y5K>)(3djg1dIFk<7g zzLBp#`#|%?JMRi4pFUOfW@Y%6-t4d9x3#ElQ64_U%NFYXl11YeO#_^ACL^8h>fpHL6!o#-_j8}?M@PvW-FOwhCH~yr8-f3~fldl=KWKQ_u&tocrYv9XiBlMluN*z1nMKiE2%Ln2F{!EX3U zVaPgNp-*VOk z!M66Bt!ri#u%7_mw>zPoUqJJsr@Nr1ccG_;vV+Ob^8Oy)RYF&nU2R1#FY!e;Wn0Oc z3#=r21Cp}S@=eQ~e8Ze)^3B&&L~kbVrBkhFU-i7yBE1CGvDcP;_>f~RoGL^pZl=ffd)l~!cL#J$;wcg+Tr_3qRL6k?dpgpBNKI?!>7_wBLg)?)i+hv&Txu?vvM?&$n^(0j;ejkWHTh z*B1Jrk4s}K^BXhPbeu)MfKRP~^Q3w8DX!98(W8S7Fbq3vEXO1 z4+EN0pSk^a6hCmm5@&9!e)}?OOdZr+PT$otmc2rhxA-h%FZK1@!8pL0VXTf{#?-Mur>X-RoqpFebAnZwYWM}CUe|4 z`7g?|qUpn}WO^=oIq`hs$D?0HxUo;E<3v~G8W?;J<90@L! zeL!XNUG$Ra(WmThq7x=zmm~jXD?M67-qXPn@xsDbenwb$_nkArGR{iooEDaf=!%cQ zk`{f6xx?yrIXCWhbS3EZX6^mFoxY==)Yrmctvwc)wh3=N6`a4~)Zbr0zr@lbUG@Ar zx{3N!F>J6GXIa_4gH{kbDm33Qss>K56a(#P9qwYPmjwhhMuAO|8>gt z)$OV$A9fPu-%j0b|4Vm&lIL<@k?y_=Se}FrW6+6cwx52H4$y5tvK&$2((JSp3lJ`{qWkIk@>?}V&m=h^5Rx6()Vsh>wQ|Bd>Y`c(fw zoo7?$ee^r9$lj%Tj?F;EQ;*7iCltgkgZ&O2S-v4@zYi9pTb`)dy==p~&`AQh)5TcS zK>IXaDs7i9yZ18256S237lP5diQ|B8hsFY1uES%$fWNL_JjmS}j2yu06#oqSBBfLNaeR#xPi#rU^t{c+6b$WrvynM?4&0;U94Sm{gbxYOmN z2Olbn7D8_o(9HC!g7;VFrf(eab@JYeyo5Iz;OSb%w>i+#F2>?g+ECB)T*fH*w$5dI z`WS5RoZ2x9*rY3%cF^WO5KolxwrQVrW#s5`@c1y_uFs8jZR8#v?Kzoa)**-JX3+oXb+hTwF7n#C zS^EE{y4j>mbTc1wD?h*Jp0k?SHwUeG^{+pEh^|`~#9m|D$~x#L;_)YM!|&aTqYdDw z`~vnt(yuerujgcLECLS!^a691{U?!^Mkfn2N4|!h_Ic^RltucdDNE&+Yd9-<%C? z?y=*KJW9;g0XxUp(CeOH@%tYRuFv&{uIyca4DtG>1hI>hVe_fL=CcZX*tR0uUrlzQ zFHxrK7OuVI&wYR2X}-F|}>m|6%QH;G?Xr{C{UAZwLa4 zR$H)n0}-^XT@gsN%_I{GsWTnVBTKl-h!8yQD?)|NicMp5)0CT6h1;=M!e;dG5I{=bm%!Ip>~x zF7bEP_fW_>4=-EYyi|I-weiF$NR( z=a1(ai;tmrW#J=(-c;~?9~VP@>+#g}hF6ade}p@&-ySm*zrB1sI{K%f#YpbaT4HfD zo?K!!mvi=M3;r(2Vn4r_^3~*d`D*;!MdJhcYVy1oAH6%onI|{CStqpjAwMkp17*rB z-GkoJ+Y>7L9{Kt#9?>JjJH_Oe=(%XstC0oYeq;0RUVfu=bLx#!@?=b8?52hE^2+SrfyAM&SbFGuqQp4RwylFl65ld`|5FSsWq82#P+d*^2s z&sL+4V*AhOf!?FglXTmPQQRBO+N^PHhZcv?tM)h=&rNJ3ugLX`UG<4?(=kInVC2|l zC&TLCW6S%oD9`alZ;qBt3do;p*yj)OoA%*zpz}WHJQq6efX*jD=gXHqyJ3aN-P@6K zRci-yJ`Xy7W=*c8^I7aEbU@$j6LMOGi@`WE@IN<;X6AY{qda2TpUZ*HL^B=al$GDx z=RxtE=u_kR(SPCd1uw+!uWI5RJD-l1gcuw0TIW^d!^gL=UFFpW?QQMG$6@UkVEz1` zn%}`^wl9%ZKc}U|A-FycA83E72A$vLFrePZ(&#2XcT<(w! zx3-+D;;&+DT|v$U@pmnAr*j4mY5u4y3|&^{L(|Z52;R@YV?`eQ`0ehe-QXOb?t6y% zi5pBb;G5BTic0FPW`8QpUdA%vi9NHXw+AjSM!vU^JD`Z?Y6HGmV^ZabTZtR~4K$F& z6KnprJkk88foYQQVPu_RKDtGlpS~T- z+3KrkTmBuL{W*w#GVg4cLwFDViJkawy5Z?M{+@x(f6o}70ba3arK7C;UsFT7jkMcH zJu$TzG07(S-_4vx!DlzR9``QwcNbaz!5V)rt%Bb(C|^XZezb`9*p3?S;Cp_5z<-b3 zDE-m$1?@G{UX0(9d0)(VlnU%Zd zRXz7%Q;bcxdU{nfxtluvKponvEFOa$%{UG)j|Zr)l(|!%in7N|zth0jG12b=%K3F` zp1OJebG>I=yLj)v>()E!tKj{AxcB`<>Jw(sG=zIW4i$LCHjYKDL3 z-X80}kUf&C*dv+89?6C5k#v~6z4O>3S-~F3h3t{cV~^xHll$UhOP|}YWoh09@)W+v zp60f>oG-fyx>3L4%r!D_S`2(FH{91kzck+^=b`5zUv;-e1vnACMHr{#s{Fa4tu%Nk zg$Aqm!wy(fhhA4&pmi!@X}UDWeGl;*MbhfD*CLN~9y&N4b6B?Od9qda6*r!dSpB7d zzAahM?AEC#Iin)IQs*Iinxkdx`<+t1d;yoi(hUFzptWPDdjdZ56$3r*n56| z#D8DF9C@_r!_NbLy5ElA!NV|ke!t&`&p9>xg#q}@j7hpw%tqo)CRC zGv3X-AFKBfe22VmhF3R3*9TcA53nw=uQn%+-lb>6DE6!Vx!}B(?`p@dr}>epWY}w` z?PN|;YqcL=p}hx3SI(Ad2FFVRvU`j0-X85=2~Li)&wC;M`-XPY-v(a%wP3Iv)`DKj zsK4Cz$9lxM6xM>_eTgOys0?${hRkSV{uI}zb8EqVh!)bUIid~WAAIasUO=n{coZ(1 z_`Zp~MXk|s{y6ioXchR7ZhJ9&a|}Av_oaMSPFc}NGy29{;1nxa41cL#{yL`TJLuOW z`rZIdjP+=5@I8Ha!hg@4XU|oH_Z{BYi^HlhJpI81=_`HyJ?-ZZoHU4*q&#`{l zzktttl{p1IZG2&AU(WmudsXhedWM)?6~>G9NbOV0Q}kLG(djxAX4W zY*^MK zz0<+I=)-n9*iQ)dPVR~WR`Zj|hGm~D^?3*TlnR{g^*f=%>u$rGO*|6mLNmV=81|PP@!HyJcb+rG3z-oRT&W4Qwdy9j;!-s8j zuqS~@-GVL3r{-r>Hf$BJH#^u`AGY1WzAo6Cqy6Lf)co9&4SO}PH#yk9^I^Lk?5_lS z6Mi5*H9xmy!(IpM4GuQu!=@bU%YwZj+W&iRes0Nzy%E@J9qcq8*1XrwQMX{PWe?Ju zpX;(==Kwp~!A|mFiyZ8C1v@+1|5I;%KAa8vNnm3R_FX<~)WL2NY%JQp$D5z`XT#z< z)j1H+WWEnu<6zecww(9?U^PF5*|0UhUg2O*5Ibh+xzWM42=)rj69cRH8Ji7T59|yF zd&Gxrcd%a+>@>ooeXjShB{V6l1r23XC{BiXPmz+yXTyo-I%$t>V6DAlO#jDyn3RJ_3uX-d1U`SlyU+4x zFcuu1P${q`F64Ny&+HLtYPxEOSecWw)| zl=nUk4)tua2|Qy?^bA{|zk;#KKbc)#zQGLk(HU*@9Y3Y!NjhdRZDtsMNu%@4TVE%% zqq72)ysNm|^rwwER@{A2!q-Vct9*TQ=qv+mcF8BIai>?iabu_O4BrU4z53_(>Hl|( zem$zQj(+?7(r@)m`zvpc8M@=Kk-R@?{Drr0HmLUV7nIr0`L~uWE1ip z>{GSxQisl8X^IjRF#asweJyK1m& zh{0HV5jL4(!sE&XK#qWo*mIB4ehcl(meig@4|C=}YhJLKGb)#o3&G`Q))?n9UhEw^ z-nony9e;X{Ie$jsG_$y!`U<0FaSfk>(U^O{7xwB5UQaGvdj|-)OxDDsxzgYi=B!D1;W&w(6*1k0b@240~1;{4U;Cm?$wR&heO5`3;6W zr%pZh&-4W6#`hgO&$$u#4&+bp=WB|+k7{VXv}V*WXF3bt@CI>YtP>hn34K$a{QL)^ zcg4WQ?A~1AqF(mj)F(Z6`*SV^Hs3t4!kv+B)@VGD6HBNut zm8(cH&3OOb9&`TC`QBD|0zET>p86ALw&-l+CAwt>-89{rmrQLAC5Yie52AmxeS!Am z(TN&44-jUq>+m&W_!P;l{i0$(Nd{S4B`>x?0!qiR|kJt-r+c{?O)9`p7`d|n3bwKAGW6dia z+)3h(H*aZ&&c|Ndh)nB4_tW#81;|}|U;fx)_>X&OznA_V*1qM=Xjvn2QRl!6{Yj4` zU%S?n0`38ZNBFeyo*{gAY2Nfme*IaHKjLmTErfExhLlJGMF8xhlK7+Uje%E~aI&%0?tJjl5(B%yHN9kMW z$mf%b3O~$N)9rFvtm653lm0>s%Oo7bYNg> zi}_GOd-tie;bfF}2-7${vI3EPvvv&6nG@InP@Nz2N*cHtiJ3}$MY3QqsGsTBF zi)GK46Vo7{BDvt~zUfJ9AlZdQth>u7TTI)<iYd3oB za&V&Wb$nk&?t362BOM-pzZz&_gZ`$&q%$9Ya}jFWS_=8~Mzo)~M(x`rS4a^KUldGFgXm$HUqA8+;f=!fu+?3ku)vhw^QWxJ>%a(0SAr<~rS)n-mV_{s1}4 z+&zmA{ZamwgO3&bexAPp=AE@?&T`hH=b(cF{8kK04r{1?K2o2B$j73|@XQi;i#11Q z(E46Rwj;+X&|&_BUVHBkD*FFO{Z-U&W5?nl_%>p5_jR+r;l~3OxecEBUXGTj4M(4| zPe=|I-i_?_>w2o9|6i!9!qye(EMm^yQ60$dTKHV@x(@jr=1g&)+NK|A`m=_Z`(Qt0 zA7mJRz&_Y2`=A2*AWZ-4-JkGVWdXU@pnK}uo;K%Culr?XSrhd(;WuHg=4g~UR5m>u znn4C<%h_EU&|#>j*sF*0F<(%=sGix}5k0nfeFZXm)4R`~kpbR*m#qiB*!x)5cs_Zc zC};WJgU=xrRPS?^&f4FGj=!tK%(3zm9ar)+7d>BR6rL@5cKuG1b6Y$83*uU^O{QS_ zj};rkchz5=^WHCXliNeFwX#d<-^4c5d?9x=_WBy)Jvrml5-qZApbK2S@1Gq$RZcL% z@c?Uz%0EL+ire<131q*Owc! z_(!b8^0D;l{=G8dPy;wE$@z2LSa#Oa)66>b(|yJCPccBmN-e$~dJxqmQ$;F76rBA6@=O*;S%b!Kxnpj>Ge+ztYnU(gokUEe5hW@`{PDWKfrF5 zFM0*?>|Ahwo@?(i{6vvihkk9x(X%&N=GV8IzNl|%)9icbRWq*rjX8|VeqB6m$ZA#o>=wBl23`SzBZHV5F1!I+p6yUu+fY7kFPa7(44^&?Im*i#47Ua#}iR-V3^Ag<4u(#Q%q>lH@ z6nWx~!8#>UqrN`VfsrPUg>ejeh)+cnjf6eMpZCk((WSV#9ob98al{ ztb4laob~H7Ufz1&p1bB?c9nEbuC!9`tMC&E%{+-a>uXy)G{zUUNi*7Azlsxt3 zYQvZ5`%Unoe6h$F!5Cs3iiYAr5_{I4`@mD zs(d};=u0o<7V$i+cj$B`Oyh?HZPm*A5jjm0Nqzn-UR*yeNNC; z*Ilfy>5Gw3#2HmLa+VBR0U2=2;5Re)x8!F@!&@cq_4o{VuQvZN>-Xxc-z)eHZCRh# zcOGP{d>7oWUo(Oy&&xy3+TihytsC=K*=rQf05$W8} z4|BDn*+f16oUcopu0rW7td(hKZ6cysrj7DQmpVlU+o7dy2V-zuC`6-ZGX( zbS*bdzfOm{r!OEMBl*#V$M=Jmkn#cH(^OlZpq(I0@VlcCCl|*K(g*Q3(8lTTg>37x z6#k_P@Y)E1!Pm&7UDS;IEuPJar%>fc8H zkkdCnKhVGoeNQ7xuf<1p_I7`M9qs${9*lVxZI`f@z+QG&4>WD{ZD_h>6nCHEG_h_r4YpZRmp_p=K+o|K*$;qD^Fur>a9a`)z;`{2h|C!cPO zBuhOSrO(?t@beGZsqXwq8rdk>teE!{cKWeDf@9>m{Bx4;CCKm+ed5>4FveomgN@ey z@qHa$J&ap>1BSIBja|zgylm7i$;vcxR%d+r6l)3I9IZRJ?EYlGmn~8Q5BI`%*qp4n z!{I0LT(Z6CADIi<+)iwIcAfI;sV};N{+V~s2Y;^g8MNP{k^!FniOk(U9p(2-+Cxq(qf9aKr3k+9ze~r9m`H0WJ}3W~?mH;L zN96x5!sk@|$(%Cz-_z7lL>*dd1Tz0sDQ8Z@)hsnmMB|${q{!D7hhjZYjF390>){`|f*VK`lBY!5KD zz24X~zU(;;eX^=-8L}+2swx?|1pAb^L&hY-#0Zsu+c5Dy{O&h1!Dp2Fw7~6CpEFyR z#LI1N(o{aVQ1K&JT4{#P22AqMU_Ts=)vo_9*nUWNQUKEcePR3J8 zewi0I>wt;aHlAm1RBh;v`vT<1)x0k#9+P;Db71*4-%8%1BiPo8 z0rlT;M;|#?^6YuAd@tvU%1q%r*x8i(-}T#7(Vjrdk(yAV5|+cuAD`>?=+us zuAUq_#s;q*y_?4xqjr>EP~#kEGup4;T617!SGvt4{*g1~5w(MlC3_Cj-W*z+7TSn0 zm%4jdeb-zLK4%Pi?(e@1tt}2W-O{1HHX>2Wp2I`859u1>!_Fq;CVKmg0bUeO4AL{} zU{LpH*V%dY9z!}i-+e}6-Xd3@>Ux;Evd^Qs^Q=Srm&4$>+vXDi_?4%CUugG}ht9Lg zZmXkDIq>2n?wDG!^yv-rI0t^ANojxVXaVa*ntV=Gypw+_&z8&E&`aF8J(r5@s`E$B zu@|8|9OrYww&4AFapW=fC(pKPj_M-~Wi9N9rqH{4@l9!e&c(2k+vfu+m)jZE8ANnD z!Rb6>pVlUxYb}?qAEwS8_WG!EBkJcFfqv=?z)w6n z^y%+@OE{Qm9`jlF~ZJ{IWj>GGkzVDozp z@nZ@1m-@PQ1RTefMmF@oV>ts4YLE8l z1BaaG&tWe-J8G8lEtc&Z8#-PB-@E6N63>#8u>&28+}V522Yz|Z=vTI!oW1`*Z{+wU z_?>e5o@<<(cy_`N{3i6IQ^8Ai_6{_^s@$yVpZcZ#s9!C6?tDlxK{mt?jpTHmC49n{ zmPVNGVKf5YN){N=h~xn8#mk=r=hoK>PDAy_R&c4|C0C&3; zG`{+8#7GozcKC;U>i56!DVbn-AA46kb-6!}=&TQA@l%rghe3YgZgF>Cm&YsQII%q9 z&mTFm<}@%@tC*{L=Bkgm>R_%O9mRQF=Bkak(j2(wlM;{KU4OUyQ}xUd&-QgNFON|_t!SC~@p$oV#xJ=e*&+BBn9o}1#OnFfx!QX# zpO;}C>I$$)JYER$?O&b)r!U^%&B3i6?r%8-?tjuq|GaZ}+>bZN^S(U0#`4b)zaK!( zUd)_`pZl&boU4rN-D!;7i$NA_S3Y*|+}{LWi6*tSJWab+RzXKvlbXjylk=8_Hsr%| z2TcCaJ@6cRP}>i9eD};C-{lSR-Ad;2FmqWDDoW&^se5{(WdqD*hWT;NCnfUlnSb{o zlh@ko@!d-1^e}u^*cY+>I?C-UST;G4f58xZ9c`Zq-k;|d>N_yVcX@++*Ua3AKje#? z3aw?BWAxU&6^y$bnDf0cYhK+tJp3G4%bmWB;pVEh)$z+4+y^XvImV~><+pqe@{7*- z>;7}(mH1}9KX+cv*@N(LHvcTl;-AQb=>7)oJFG)q**(C<@rmXMkygpNIC@50`;n!g zGRc%0-49{ozqts^RYFJ;WGXuCwx+a?OrR#%K=+d}pgc28@0QS>FMp%3g`BVR- z{L9>9bqn@$PDqybwZgq`NMqkW!J)&JIK*b}GTa_aJFM)cBftM7|*di@pP@k9Kj zG^an#OBAzju^#-UBDZau=HnQjQJS09lPI}+?ARDj59r90MxqY>b*$;TD_IEg>h>f4N6_pOMIq!;vZ$DnM6pgxsi-bL@P z>8vAj?$0+HZT5WQLVE`Oyuo4$~H@L-ECy?(#e?^@)qY(CkYC1bmP(G$6MTOD>@hA|0m`m_7ojireN z!U5wbe*oU%PB4q7_R>UjY^XIvUsRWDGS!tv2RH%mYoAX%7_8@?#CPyV4eNdHhG>`k zV7|<-IudfD;*-Q3j&SdFhez%-^0FfH-$Pj|pV*%y2mRFL#4oUx;NQ#Hi>|#I{7%)L zV=cawVlyhSiF-3DzjaZfC;z@}SBI#RHf8^WuwxzmuQ{Rpv3Bh}Jmd10{KEp53xD41 zkCz?9AKO>X{wFegUhLy#EAWj-Uijnu6LBIMLti<*R%~$XbGv&^b2` zxIA>3n75YfLWX1xn6e>R5or~Vsb7cE%-w-#8F!*%JGf`!rDE|G{gSPqIjW+r_6g2s z+=eU;!(+Md&730ye*qX_Yiy)Ug}_ckMh^8v0umC*Z7Tc7<)?V%qR2hI%D{)F{Id260aHY z8h)e;1MlRN{MzTSI6T&Trn&qi^r3lIoP+2j4&9XIn(6jC zG}8>t_OK0Y z5718=^ivQ0fEPEtq>k@^GT3r?78U(89d8p{JywA@OM(Jz_VpWj=pP zC%E^PfrnWK&#`OMSjLYWDn|BXkUiFKjSSX2>Ccxv*FblY4YGN(A5lEEZM~I4=p#Wn zl!pGMB6qUk??HCu(&mH4*GC-R2l+;PG7cIlLe5B+dh!vcGktD7=XVtw$6Spk_U}V{ ze}#AO*;cdF>5L2KLrdr|5#ZzSS@Fq={pF_UxcICW*`Tu^l7m5>tB2=m!B;u_Q3<|! zh_4^E_8`YJjx)q_$jdab@$=z3e{3n_Sd4MK4E@$qPY3+=6!Rf|+XP;=z;DmMZ{nE) z%yk4CMf~P`eUZ-Jh=-{+1O4^Fd&}T4(PRidgJ%01fr}Eu(+ID9pEh1%KYTBLjgpn; zpPP6Zef(m^t^UZC7f)UM0C>Qbd>`dcXFn2?m8_glk-W$>b{(NT<=hW5HyT>VdPmKlNGi-#-vKgLh}He&3m+THk-q?I(JW z>*Te6W#FxHOVe5dKfixP*UJ%e`2ljl_pldqAe47>6Q70Ho0Z__>rM{_towrZ1 zb?%xsG)Fd19Bpf^euf|4_qWOyv5qmAz(0TflHA=EjQmDU*FlsM3%E2K$Ej2`=Z+x<*}Y35BlK0 z6npd5Pqzqpt#$Pl;#!Sa{1xivoJ!}x+4#hv`R-A*P^HPA}{Qn z_$0q!d3`YLl`Muc|a_yO{;wb+ZYe!D~TQMtf`lY@-mG5i^a$mc8iKQytT|9R|W z<>#*^j~F~S=kTNMdntWCe7F0)8$J8*Qun=%?-rJRX1+!o_$YGDnf%u0h&@nS$`7vh z1@KlO^xyQyfjJ}2jqU&F`B%4o6yCaK(hKXS4CGHA5sKJ55{@!o4dm%wMZHIvD}A4$ z@66S0@Em@Q{@3Zh&+oH68u}v7!WZE;6ub%Bxh@qv-!<3DBc=PH!WTg^?1!qHaB#Y^ z%AFWtk6ZYR7nxV8!Cx92M1ZXXwho#xd=K;ebZv58!}HAK6Yz98kSs$%q?cDKm?E!D?gO{~V$>vhNG3iO& zvPF3oV}9bs*&ebbs@8GOBITEvyuIz%>*B#WgMSry+@=^M*!1#{$XOaO-@=cnCTC zoQdpRfDL!}^M>;>W_$9NpX$Fbl-IiDm+$F6!al+jzW;h)<*Ulak4`&Bsivf8$I1Bog~y*MJ{pmqwc?|lwWPT>Xh$rEwJfDl$p<2t~faO5_E7g z`u`I4QyFvbc_Wj3D>;*ps+4^;eTz4z3xVTIUH`$)OIEV>!w;K!!--1t)JpWFx{=t& z*cj=};RN~$_6+qdvb3~UbuUBbSNqb%&l26xhRQytI4AEr_qjdX%Xj?Q{e3qN(auif zmH6-AEl&1}{|;8OULgZlz<&qh)}GmZ$Ue(&J;=BY&UZG>bHw5tq8}?CG0B5>(tqgp z5d9(F-`*AE=issD!QCGCtbiQm`Jwz)&3gkn z+T-A?jZfxrPBou#)}ceRAzsUXFFSY4S%z`^oN@Gks~qs#N8j3^i?2{l`fL?_!Y5IN zEa#3Ob94cH(pVPp9vyy-;f|V(_<8T9Uqy;>90hK$1@7Xv`r@y34=CR-y6xG(iH9x! z?soh;;+j9tKPBByvPnMbxyaL#?7#QTCHH#C~esi5k)Mo=mmruU>V|chm57 zGcd9VtI&b#k2Q8ZgFm;vku!t%_v?`voS(EdB64m{oc>@R{P{VWQ7-qfwTr3>j( zG^9`PYCpr?Cwj^Z`GRzYQD=2c3SV2k>F**Zta5B+pxX%VBa_HiEg6QM*9NcD;WO{K z#n^lpX?Qz5^7>@vCO&WAkNK3Y87krvJ<;UMN~UAX|AVIghOe?`qB-n7E3pxK9b9CDadVUjY zjVpi5)VO=mckB5L+zH`7zr#KMS3SQL`QhqWLlm2(sUPV1>}dag`sKZPzN_c-^QZoE zubyw}d5rsncuxPh^VP-UcIf$oIyW&58WOq zi|nbCKV$m!|Ki%zbMeUKUGBHy(5wxQ4sV#RV%A^zMP9fA-qL!C?Gq*zsS^57pCdW& zEOgL^?5Tx@+h|`zj;sEdjNf>*~-b>PTk8%eaFnq^Ai=w#rM-jjp{e~Hvi#NeuupC zcg4iA;rs0}*CF4KMf3f!N4aYZ9Q~KZ0DfL@W8Y_b!O6(zw%7HX`Ti39i)uWp9RD2B zbIwYgsZY^;w;Ow!-*;%7!ZkE4TwllUZuRqV7eoFt!GPzt#UHYldtI#jt9lNePw@PC zU_RsEwwgCxZuLJ9JJGH_{A^017(e10{H}N)nygxfTz;f7nI3Z{cSazW$B#*-S*Jtz zrqiG2lbBo4{Ag&sX0+2si&W=MR#< zPM-le`Eh>tuH_kWP`ObgD?<2W(h+dI1i1|z$!3XNh}=_ssWR}lWZRw0efkRUK7%zD z|BclL&{buB)Q_Yr^J(XGhHOpz-&f%O=6QztV$ebjI;7?$!~8VDN10ai*2`G`MYAjU zL=Q?eoBprUw{Fctjca#``hOYc8{D|}nW&q$Qax{t_V>GSALDkDglOynJ*Un8a?iOJ zXq4rv^YnZr_gnG2NIbj7$)L0Jycs=`=XubR+V^oY9{VP=Dw>R}sYtSGkW7y}6J2C< zGIbvG?&IrDhp+#}M{T6rJvzmnL7NP|8bu%HK<})_rTiAoq;uI@1KUf8 zqbP+Qng#|g*IsfDdXVJrj!&=`4Box?h^>mL(O$@mkHdG=(}Rv9zlQ2&&tr{Yzjc(_ z@aE2_Z|u9Cp}tKv+M`}m$=+)v_iig*G)9|a7?bw+>-jDps?8;X?eR~v&HjsRQ@#qd z`);)>xrC0Swuxcbq5GiKey|T0gBv%0vrmX`#K#{6$4Sb{POSOw6oub< zHWFW@vnl8=YiiNCWWN<%+PI!Q%;SpF(09?dwQ2dSay75zbg51GW;NDW(bMb8Ir90Ohg=i)%K1F*^Y=B-eNg^bdj@}Mrnz=oxd|_7hiBxk2+}p!LvInkGU9793an)79{KVipd<|XX zA};Huf3s+(^`V0wM9v;5GTWzy*oO+S4^?F5Ow4WUYV-D_j?Bm2dC!R%1LllHQ;F9pX3s^j z;vMj7-_qRi9oW6a*jSQP;wABdbQ=GAdJ(jM?IeF=KXz*&^}fz{o<>K|Ud|Ev&Dzv? z7}@ha;Ozd+x1wc?@p8S>UXR9j_**8S-%~fD|4i`4$oVS0;*qKT7`_MwrD5n5RS3srBM0{hvbL z57GBSOTWDT&_t7%zi>YDli#^8G@^BYIoEloL(t0PQ2y%2SSLiUN01Lwa!&l`E^Zot=SfD?rAL#7{cH#-2FY z`mqyQOMW9&2`R}zF54BUGsBz((?41A4zQFuCqycPG9%)yj`-X*XcindVUkU0$)$yyXE&5 z$M5Is9encUvw6Oec9A7p&4LeF`BhepU*?Yc)=CcheZE9}zM0?1u?&1y zSp=Tog)cbRHD-;ILvO48o9V+0{A+xt5BM}@pr18t`)|Ett+;?s>{9F)XO|w=b7cB? zd>*8}`~3b~HAjW;ct)Lfxq9nx(4yLi|2pq_t(SUk1Q?lM6O$$A*(X1E0bLLL7aV8byw3a^84F-kE-3nZY}BLcP56MX3f#QVh{L}yncy( z1aa7|IzGU@0MEZl{g?QC@^JVJeG*?tj^i&alP>Za_kgDIX_t7~HC~<<=_2~)>m&Eu z_|l>HzCq(j}Xfk z%(o`rat|^#$m5bt>T^K_vI)IXv1w`Kg<=zXkr&n2ct1i1l5C!W-jOtBht6Z^3|}Ad zYdT~2tQo;Mg50AoAxn{6@Lf))?qqu&9Eq=bpc7=>`TabN`0-FO-Wk#S|)lnvj&(Yz+>FUbMwKl|jLyOXD`k<$S(2_4_eVG=7xhRyg z_oBB}t?r1LM2i`*x6%}#myg)1{vM$1>#;u`pBPOxaF_Iyr<>O+PN4=}U3<1#pSAzk z$2uv${tgj zl?Csz_aC0=({|wO+CV-X#V478z`8QDyhc>?@1#o7-;xv%9v>Vc;E(0%+i`!?jbcF9+u zeY0B!+r4UdyMePFzu~-yKfYe>n$=m4o>R2H(6&Eh?^=4M?Y^6sAIVT}-0H)j&AHzA z$zMl5t{CixqoKj^s~>HV*VEz$ctH35iPv9;2MvoTN?!%Lo?A^WU|eRabb(&2WLo2xi|%wu0& z{Zt>HfLG@iai^8+GrlKH-rg5YXzz=L65C;ZfNxJ>b&jeuM@O!pDcUTXW{~^Z$mwmJia;>G|uNK-+(bzh1~%A2Y-VRqL!Va;5~k zb@S&8cmKXWQA2(ts|QAir>9IB-Phs8tyNZ+0p~U7_tnsdXv)b;XWO^m#F{94!&h1> zj|q=_uL+;{K?WHrzQ|CwY^VjaZP!n1hhQ7SWxQ)QMte`sGVAv7x0AnrZ|G!25ABWCrwVpBG@<(Zmwr)!oZd|u{ z;|ehj#cv;s81fJ19leM#XiwjdS5OSN@E07ZH~2TCKCeoNVI@Y4o< z9$}AJOm03+B!o@cPX;kA&>ogTn7%zjHe`(Qnmh&)9(HgY^9nbR&71f`8QJ z0pwvRac#1_?K$~DK5^^(R~6eqpV#{LDhGIBbYMQ(PC-xiqt6BXcQ%%lHBNhZ1K4=} zoT%^8@k;OB{A6ms^go@c40XOi|9k0Yi!rUz(Ka(q*-Ytc!PO1S1$dHPeF^K!GVU0D zFS1O&CE057mB`kR-_OV6IkeM9J31r!tjXD1i`>V*y7$?W%U4HPt8{Lp2Yu|vY8Uyv zf_9aIowEZ8>uW;B$loSkTrc!+h&~LkhP;otx4xBoI-dMB{XM|Cfj?kQ1H9WryrTF- ze7u=w(mfsDy7l_Q;PuKNZoQljKOhgXuhV=hfZM;sukGl@;#ntG$kPkW%NIK5@8C`5 zy%%}Xh95r;{fIy1PZ2*(#GWjN4j$z`)@GZ7!Qo%>M1KE0w%^zw(2(o9;HeycVE8TZ}aI5Kc6;0`vU`!WQ6n1@?lJiQ}^K4%WXVjY~43(`!rUlDtE_#UdQ=TWa zrx+^XMsgue&H&}X5MF%T<$^oKOGrlH(vjoBUb@8M__!`8O*<*3FO1@+0JM!k2_n+#F zfBZD~Ys$i()}#1o@W(nc41d!3lygC6{F_gKudcs^*1(l;(NGW?#8+Jb_$qMtdL)1^ zm90Bjx&L%H`=W=lJNYb_<+-KbE_o ze&&{L^U8C?J06&577N!q3qp%4pwaRIb9^M9lL}OB?yzzT!JTZ^wnsyYYoV=j_@fmZ z6^}BncFZVnrso@x6Y|@N2HU22@3F6h)3zIVuky;5ZP%*k zwlba%*HgSTk@up{ATOS(oaA{W{%xII{NC5!ez*eLyW5=j{;A9QI@syk@at;-Kd4J< zZOf1UVZU^QZ{ioxnR>teRe!C1HHi_B~&QUM@?t|VNS!<+6 zEaS5W8102vxdRT|o=joq_`BbJ7$5$3+)aEt5 z`o$mncDvi(7mVcb@mP-CpSWfk@tLu_;rD~SZ2EuG6Hc_<$NdQRh4>5e7vV1_*)|1v zW5<@?sWNBItV|vlVUFK6$;=rOjV6y3k*AS8j%DDbkk|t0H_D|%98W*{j<2w;@2x!9 zu(s0N_fRB{^Qj?X6k52$g!4l9t=0_2DB#!G#eS-dQQ({cInt5K=!Trx!Ed*NebqI$ zKVQ**9p`QA_wUT^{|$M0?Jm%?*`U*=2g0x?Ag?AXzp6pe&7!R-wXUMle;%>WaF#PEzR9P zP8+L7=-jR7LE~ODl?`W^`{}HVzRsH&57x1=W^B25Gw1N&zU52uT(R6p~0zisXWdsX-v-cMStL3h-btb zZ|`9|_2)#BllU$lUM}*W4PB}oS(>Kq-kY?K$vgU~7+cx;lAFD^5X(jXE~I}4=-;Lb z%$yZt^ID%lH)uhYw|$x%Z^(k)hKjO-^nv^B7c=fT2W~WrYxH>~xf1_0FlVk}gQ-vb zkbk~!KKsgX_B?4P)oMh)_$i(KB;DBQ)w!M64C_=*_SbIuAbODfvwJ+xSr?q&Q#2(T zO*TK{rk-+guxH{qLw62gBUED}R1=S0&DozG=CQXG`dWKdGPUyTWX}!!F6Z~SbCdFO z_cEV7^yE zTv}zGxUs5&&(IS$j_v;NrDGdE{P!0{`^y;HA?V>veCngIe-Gs151_wWXGNdDPJLqQ ztO`CuPi#G_`@?I_YW#556k_0zF~4D5EZiDSj!Kz?_~f(n<157aoJs$GNdGUHVUnZh z{~YE<^2f^CmDl3qypB9D*W;7>7{0F?lD}TbULW|kv8=H?8;`$?HTr==?`t?uh*BJ2X@qOl3#HoOv^iFUEzJBx6U&qz! zjQdRH>~-{nQPaXn?k+m#o%S`txJE-4|IXg!?;@l3KEdaiPll7PztymIG;{kzX!PoD zg+|$V4dQb_0H34SKUVx(6ub5}l9k{uQw{Bb!?))mPd-mx6zD!p+}m$%pzLXI-WD>) zk8&4H5bt5+T8O_?jol#}DL96w??yj2bkB_GAN>n5VZ!#}m~bPqBZJ8ZkJ8^}JAeir;~``n!4 z?#ra!7T{(7%Vv`OXZ;GuS=O_Jm3h>8EwR3m8)@vz6m8AscV>6^^!)xXIK72+q!rn7 z8T@_TsAMYt%w!r~Pv1#B;5NO4PulH8KFL0dOQ)fI+h0B3KfiUtWv;P2F05 ztUrZ5r0A>So)mAM3mtTjJFlZA^hz#km3Yg_2I#qO6n|Aof7xM-p!;9*i+A!~QGw_Th@zhpRx>pHzQ!S;s*B49!z6=d0yI38RZt zqYpG8huoR(Jd4MwV+I|-BzlSS=%cTjIHxg)A7sxK)~T<55!pE&9!DpUULZf69T#(y zN1P?~zq0Y}3r_&IZ*FO8*M&t*T{}(QBCR?0*~7E?FFdD$vj%xb)0{ai8FjslBa|Pl z=mGG!C&FST^jDP zzBuTLctktL_0)kMW!kI>75%rXj`OHvLdcHKKbtm*K6gY%C$^ZL6FQG2Km6b`&Zg-Z zIcx3tHalkex`nw?ETq;-t*7FNa_s8cSc9v$pL2Q5)n#)zqh1BRR8H^ez=tt*m zgZepnpQeUCiHMr_rrha`3qNhd)jkc zj;-IX#%DE-{0V$o`}UJAKHztHK0exiu0B75KL5Cj(LbW!=MmG$=dY;ii~MzK|F5RN z=JGi6W`_^UINpCg|BOJl3fc7s36GXN}9B9kr zR3sO^`!DNReJ6Z-$N61`_t!m>Y(PicUb^P0B=_-cZ!qrcn|MV&p|H14FPg5jaVk!h zejESdHGif3XS3V)WZQ0X^=e(yeVG1yWXE%di2o{Q?2U}Q3I1S@IU(JXGc&_tv@7X< z3H^`#mHumOlWuzD;2w`RhhCq);q~dX@!VPa89DS1{;_i-+sN;u^zukfCHcIWYxu>{ zhTBu|`#S59tCGly?K|Nsoipq(d9Bj-eO#-r&hO!^TdZjr*3e35GgzN*lYd@)$0qmv zi^pRw-fqgpqN#C%@pc(#TxWr|aF$DaEm@(zE#!gG^Le9U`yYFtvi~se9)BR*&pyTu z#c)jyfp`21q5;?b^(PeX^cZCxqb|zZd@_$y&w!UtW;yv}u;r#tBA?81c!=2K?UN?V zN*<1crxu3tj~0|b(?{VC*7e?=NSWg14&TiBcoTecgXu516gd?N?~T0GjChH59Yl^C zWL<*}_A1_I6Y^K*7@aMW(`nD!vaZPwl9`SDg}q??)97mxnUhE9OPE;X$~A>L1Gx&> zI_*?r67DN$&)+-PsKkJqBg9^2Yp0kejwBE^YqkH*m{15AIhVk@l4kdcW zg%T0$uATz!WTjm163)-Srubv#UBUUpyVd>!Z zSpVdE*S8<+@9lLM;p&WM(cgyV&8=tY$nB#r<_ipPT)^Z;D)M4m)A^Cq^{8lvi z!h*>s&Uk`c_1rsGzhKgdo}9&J@ImWI>h zx=K-JkS-(4bDVkRT*Rv80&{s!Ppm8kz7$ug^HQm}hjYm@aK1!yd<*X;^BkOJ@G0zC z!87?-r%knIRz9Zrz9mW-^jp4n>#W#Tmvd#d-l6Ay7FsZZ+4Js11-`}#J!gLAYh6|YLotiN6kw1-t6Y}aeS}2@Pgu4SDak2`Vh2|hE{a8 zLh&h^^$9&yf@|?Zj>Zz;1I4+?FCx3;0?E%)@Ue|Sq%OwWuf3fV<8M-56ffN3&IpZG zpTYAF>8BmzF*n8nZ|v`9jBf$6PH=%XonHpLQg@Kfe?eZMzeeZR;JYgQQ~r#08_(?c z?tJ*_d+fn)&@&mtE;Hr{o_gMMWM zYpFSNQ7yX3l!dpQP;63&?~V9zmW@C^f!;PjZ!wSFHbZaKr=hnXt=awX@yIcBn%>PW zes1I7Gww3=;$6Ko_<8S(`VO z%=pHxeW%gS+q~APg&zEpNiM)+K}IQ zzRj=Yty?i;&ly;|5T2C|VEuft#;!hi4}D=#^Va3-rEf@=kzY~vxAr;hdcwMwL5AA3 z1U?Rl$B;Jxf>F`})d1i~5Io*#9kRSZR$dNwgWhF7_drb79!x8ka zNZ!=E+^b$xt`Xt^y4d@hS`H7hcQI$V3GZD_>_8st{$$pq+1ziX{lX6FRlBNNx}?r5 zrl|LDg!_}w0}sRVIiZ}^mB1GRSIJ+_TPs(0V}I1+W9Yc+%lo-|lJ`Ge4C z2m87y;_;7AUpe*FQC}x_(~N|+URbbj<|XfrKD4^{#q|ZDGdh!RmxBYv?iX~*4l4$} zNOaEMbJTO#j;G)#>&~1PsH1~A3KlGwc?NY{Q~bjELuN$h9_lzqyxYG3e-?0K1@Fm4 zKW|#!ZnqBH@6VU=Zl8y*Xm_;ibotX>u=d5!{&r=A++f(yOYrYY@2|$cUx};~zt@qo zx3ZwIE5do1OsTPFq4Ka%Go|Rv$V|n{$giYWU&X9yzhF9ckF{Y7ef!DDc1IJ#<-L57 zzhEDJa9p08{J1|J?;Uw1+*yqs-n*5^>=gbJJ3o}&`y=`SeHCE`>sg3x&EiIK zf{bUKA)bW&J)2);`2s(eyf^p6ztA$q$ewR-8jSCY zDyAA7uKS8FOP$TDdLE-5#kL#%`SSW2D=&xi1C2*`RsU}mZW&Lg%I=dULRD_8dbftL zy7_Qxz3(gkw)%=s;dJLG7h3)risw`OgW9`NZLvmrZM~wlYKb{~zi^BUwK(Se7lh+6 z!*INnyd~U2C>(PqSF^+MC4)G2a^BAE`R}pzz{0=tc*^rREc5!TypY0;{te>iH2A&p z6!^U%fZq^wQ;zQU0CcV~>AQS<;&cDJtHv0j?_u_GG(Pfi?9r!k13~lK;gRjtCUo>V z%PZkd)ggT`%pR6>#M}99E+MBPx>g8%N9Co@=(qpejb>;(F8*XlzFEBmeJQg!RA%K8 z@Xvk(8yY=PI$tOSZlT|0NMTqXPL#jGJ|f6gfL z>|WvqfJyV7{oq6o^XK+2eLsfd1L;v!tToTzb6bvoX(w`GBV$|6p57~7Uy;^G8-{Ah<*2*h+&Rr;4bL+@) zKc0TZ$^90`k5YPRW~OBF#FNzp%_iJgdUAY$^1NwXPr(oBxBRso>Mwk(`Sb0n(tusH z3?C7+Grbre(K6;dg{?G9){-lCCh;b=KE+zb-Macc?d40}#G_^S&jxu%G#B*grVO@t zlrwOg-S`APlc3yCS^W#jumS1ckgSP*B$4hh31rl|3^>h*$9d=Aom{iP+3?qT@ZAo+ zEC|oLcMRWHZrh*oKZU=^w$GT^i=+SV4#M;9)a?gku*H{hzL~@sz@8dkL*>DIKlq}( zJPY#{_IftVpUnsPfK?ckk# zeseZVa6Sh4qmewsw6TmfhWNs*$HDOq`20W|s>b|9mFL;1@N_Et4j?B720}?UF3yq0 zO`=|SK;HF?tD4e>PjwdYM)C`88r!tKjn78pwqm2YS(7S9b+4DK4bI0oUvTkkL+xeb zkGLns_R)8YKXSxT{v)R?KXgXYj+=hP#x{0sHe;v9SZk1{J9;9Ew;>s*zyLtrTzE5gZ2j&`SOW5r;W1$ZKQY?Y-b2RL;W9!`|$X-A|gKQyQM>#=HA)lZZ)+EL&8F-HNYO!ynOIh7M3-70dZ!8#u&+*{j3B9F|O=VvN?d-B_FEc@BNzp?E6)EnyOuL9*RRylM+ z-BOaQ%5!W?9=G4MeO5ftVQUHYD;~1esGV}={n=6 zKR5>_@GppuOk_f5o#Y#FS7G!+`7dMGr1j*D%3&{2dR*NPL&WM3=f0iK-6m1@WN5Ig zjr(P6-_w4k=79cGP+vJ^PS?Iq4@tX!KHR>ueo=g-rJs&IRC6WwSe^Xj{`k+nw7&Iu%r=H9I<3DeA&%5*-J^8_`dcLRUjQ!`7f1I|}evxwRbblyO zOx~TJer!l57H$8o9(|10$EJJIw!srw~mL)qWl&#T`P2k%@CcQ&#n$PNh3 zS1eL6J$~ZL4@Ib3?N{mSA9&5dZeoA0U%qV7?n3e+sBN7uQ91T(cT{vcyRV#B7x_AM=c4XrQ+noa4s=lZ_6Ylc#tO9qX-gDn~&?fxhI|!baIAZ0?kiBYJK7oJ3 z-+!W=<8}6=_*3(8zc(*O12)Rw{Mh)DKd0B&F~hmg(Fx5>Eq#F1pgZE$z*jop zXE>X>gY>F6ef5tmgokyy1yqDkVV6i=3z%%|ejb|Kr8Gbk9d*7By=2R$Zc5cktZ z{hP3nRj(iKy9wGk#@<{Jx&GRryF>8mVBDJ5pFH-Wci|V@gpYMLWduJMa|X|#C%Kq2 zYj>M)diT%afA2emHNR zP%I_9t=KZnnLl4svf@!f@NjX2yvi4`FA?UBbnqm<%~!ya)|sj7Ehx{ao@bzS`6|B2 zoQJ4VcVMMuf48D*$DAMQUfLD!_oq+^mN3Yw;z&U8iV>0!VgirW&(HTkVAGdaUReUeku8Cr<-WV`iN%JPxV){=l8!- z&n8E^8lf+}Q~Z*CYwarmckDM#kC}#TrIJzMu`?=j8n%`2op<(5#!4p-x5@`1c__a~ zRX`rv-<~|I^5kKO<^US3W*#y>ZCl^YK1?ZnjpH9KEkgH)o=b~3>p9lmjj*G%CS+q4 z8p!E%J?oMDshJ0DAId0~sN?=7e?0OnUBAbTsfICS9*mZaMLyc`&_*5pCOuOuc#(&f z3d;NMOXx$#l z{*nE;NyMVg5?^w+1AC=MN8sP81ctq3%g4TanML_utGwD#c`H+hDMluSsZFUu6!8$C;#_PdqO~954MV|9_;N z3w%}8mH*FuA!#r|^U zP|wXRqMi@@r{`FkjCO5pUG@7q;;VCkwIAB~2(&sETnY~E9pT=pZu0+SzjVXXese8s z7o8=M3poL6+Po>DveU?*mQ$Q_0G}-LThp^A$`_s8I~*CFTxpfrvYMJy*rtWF8KuoA zvBvmrVm!NTxjkI;vNBX=>ulQ|>Anvi@p7vS+w7J(z%>WnpM(67KAi)OPe8|28L~$) zdG%Sr*s2)&;z6><-~Lfs#@h0fxsTE3)r`x;#OPx&@<;bZaL~0Bw^#N2M4xYx->vVAVNoYJ z-rMnQ>$eSW_O`p`%J-K@!gEevA?`$F$Xn2@?Cq* zV$L5zenx=Pn@rEk7Wzp<43#yavFu^C@n`q1;+>(~oI zuEC2{_XbkI0_zBCrZV)^AwTj#exxdBY1T2u37-pY@(WGej57^S?}5H*`ENt7DQ=d) z2ieK|a1Z}p=uiL{8;~an_&w1EKRP))Q)QQl?%P6Tapq3XNv3E#ao&&dtnlFnzp7nP z+sGB40qdUuTVSCrlT{zyz!k?A!0#;F+;J(-18D$_~~g29My(#fPr4 zb^hgfn_q4scOt4fvW!=_*6$7u2XOp`Xj64$|By3XxiPW}#0Q;2w7XyJf^W4|kyS9Q z*jZOg?kq+ZuEt*Dx6~Qpw%F{cLTnxNsaR%7hMgHek9qA(^F7nf1P@7MXahEn;@n=F z$GdiUivEmkh0Rmq*gPkYGo{!(?>6qkjQby%PcIGpDW4aRD>9#d;~$yz3GADOLy-m6 zmRa00_;+aLSdC3Hf9=qWyS}mOW2D!|C5-U|{H3_P{5q;(t-KcLb{igB##M&w8eHPT zd$8wZ>pctI2=}hNxKBD9T-*TeiQ}gD&Y4gJ(@ru^``~re*iJh0`y76YUEI?iu-T%M z@$f3^M#6>&yr)R@1V7O0-VGfe&gG1yFhRoS^fD_lhCYsc90m&$R-i}^DhsftC+$kT_)g4Cu zfxiUwEd3Bi?mq@ytwHu@V>`%4qu+#Qt2xB}I?MQQMXze#g2rq3Z1bN@1Gho*3;AEb z|9t-SZb-I~vxYn{-^hf6mLn7P@V(r5&iJdG82>+0+tt`f#Q5hrwC<(%`5E?#=sf^U z2chXdrk4|{je!19JuDx7X~_~pOYB#Qp}(Yy>KtPCit5UUqvYy50|-l;@U&wq*;ILr=qazSHD`Xn&9D z1Gs)m+g=we?*C}fJ@7~#2>&kcO`~0{<@IjA)?i$fD=eGXea0)NlVV2ad6>fEEOsp4S-Era7yE@o#7RS&UzKnWA^rd5h{8dnf!U zAD?i6P1MqC@DMaLp-e6s?b$Gs?<<(qhvX=I2o}+wXjRW@ynfpB+A*V~SAo~1RqyzO zFE5>41zqW$p(%2LWc!YDX=-FB^<`In^4ZjPHU7)AzH#-8_M(cmh6}gQ!+@RyZkLbL z&n3;1s~Z?kK)yiethRtU{YLg>nfmrii@+1(lMQnL`KL8TIXGMiO}KQZ_6+RcWDCAr z^*f9lcr%;dKjQfyPwQFZnf*h`S<1x=Iy8WZpNW?kTVBQ;(IrI4c>P$2b&!HPsC^8 zt&gVh1i_nZxYeAq9^j0b?0>3?zGIi^`$WgT@U0XyJ{SJF9U5odnw*I* z0~+aq-@2jWOYn>ElZ)Mu8~$K8_pJ*pJ=B7$=M26))_COqOv}TkLM-CxJl5yZ4=d^a z3HtA)|0%xSXC9%Bx@;ix{jKU2eV_8y^)1TBx@~0NbkVCHno~bsdi|v66?lq}11_&Q z&kU>^ZgHN80smrbhvrlGX@*-*UlC6Li@T3n_dh@_8sp2k5jpidzGNeZ*tdw?mmnYR zcfSD_^ryCvH%FFW0}Cg`z%F0UTE@E+nW%fJ^U&z{EdTvDG|KNK;2{nkN*z3CpY~qx zkcEA`&gy*TB(g|&FyEO6eP8FyLw0uG^iupCTEn%GzqlutJmk>Ku>49*1#7n{&)o1X z^P*?|Ai2lfG+O2Vi4If_!YwY0Yw6R4?KSZxUom~DQv^N);g;bvmnoMrQ~xzvo2?_oH8pqz&f z{X5@xnD|zn+4KA|-_?$nFFTxjURn4eaR-+V3y09J6HWcnbS{Pq8##)bENguD%fR?- zf$yNsb6K3vxef4I0N#_Xu&@KQ=j27LEgq=p!(VbZ>+rgBocrCH{rz?4p4Z-DU_@6K zyVqSmGyklgvy9!T+A&AbMMu$>dk!{j)90pwrfnC2HIZ-YYqjCRvr%)A@5-^tKINiH z<{zMbY{yXJGxZqLZ-q@OYT8}G>1)WRMic=$-UFL&hzcoB)@%}_eyiDNDvrp+Ocua z!~JglyZ9HrymT=ex`+;OzuZGF!r@)uP_*KWkLGdygE#-e#otEk{!(i2HA4fk4de^e zIEcj!!s(;bC$-Q!vRS|L zU%`Jp|I7K$ocoh=tSyU&xPOfMdRDSRbN{n1+H=2#HZA_#^=2Mp^Tvx63nk8S`6=jL zvARm?1y;fvs#j&tuO0VL++X_(vA?#)uQ7Wg&dR2%?C<}9_c=HI@r?S)4ApTkWR<&P37on$O$bad^Dr~W_S;WhLO=EZe zZ#ibi(O>y(dR<`JM+c~V`B=4%+=brKdaM@trFp*xT5{WnF~$;)%~dlX+ihDPdAX^Q z-1K;pKO*0DtSK;3G`&;8E)Xg`v7epUd3cYdlyvL6T@UII>b59~8b z$6!B6JIar8=l7zqhtu&_zw|HosRF-M;5R@!()(?U_n3{}gD!sa!LR1l#euFS$Kxn6 zn)^Owz;xn?zymr`|qkOL~LH~pIX?}Ql ztQCKz*76(uZ@#1d^_{$QV+W~!wZHoR!>1g_FDM#u$Kti2UV}d56RZIajq4-W=w2Gu zJILEj?%Ma_Y=^gU?DdGxp>5T&)7+^E)jxmZS=V~8Qqx>d!Tx-s<_;YXyfAP zgDP5yfw3l(FIP6B;vr+fTNANQUA2A)kf&D1`H|R%xy{rwY-Y`{xM)PUc27l$#PDkq zj!$JVxFrU#xtN?CazfrQrW1@QHXb=VTyZz#EH;4pG!pc%Y=u&Q-%#!Sk;JLndB&M04n~neeG%2vxu;d8M_|^T1!q*k*I@ z9C1MT0ZX@9k+Il3)q8wq?~d{ZPA&z4SPRw`cQOV^qs7l9n}Q~*7ZxJg%QQ*Ee(I*+-LcupR)KyDrK_>+u7Hi5;y z<<2`OV&%kdY15)j!Tk>}LODyK6UDWm!F3w^(HjtfvAuV3$!h#>ivqW8pR6Nqick?`J<`ZIK_k z249U?r$39I@Mx&)CH8U{f1s(6-*AY-lO6g@^FuE9IO^cSi;oQ%=Q%~0hf?aQHCybx zqTlN!lfXw3npuO~2r`xzkk5PBPque-uvO<5Vb|mHwDX066F5r>_<82w-o}rI_prvb zW4yuk-6hCHWI`wOwc~-(KGo504w0|HJZpUA)Xjc^`aP^U>0dQt3)?@W{+S1F|AYD) zW%rjwzpA%$64*{!qrzHSYfcRwfkQr87mn3}gL&x$mqWra%euT0IFci&|LdF|W8gsN zz8f4#d=MJz&n-re#Na!<=e+xJF}hvv+Ik3@L&xhk*Ut1~ z@6ztel|1(*da2svi}-pIMB^RkKi}^EKh(d*O8;gqkeO?kyAr%SXjLRTs(l^N{-|u>-KzUamV@X>!!|vEJMNh);ChAzXA}qnuRz zd~EL3(A>V3in5a*Y&b8P>f(LsYKI%xo5;D|sr6Srb-o+9u^*ehoAb4v8`-!yNo{=j zyy{20^JvR3t@B*p`ENfD?JIW(8J$^w!M5)P=T|7c<--5>UihaIrvZLsR7W$gC^oeV z7zCs8z68gd0XXcnrx%X%9ys0&pA${}pY(ZIlCSZ(=!J#o7UY5p*Zsg1MaF6$%m9Ap zy0BH9S6n!WoM=Y=wxK72=m|&8zPz_F7~UZ{yD*emFxHl_#H;OfG;(!`#)M8yqRTX< zQ3GRgWQuU>oH6okcTD7E{lr5fE`MG${POPj{bUAyZQKGs_&p}FAL&pSEyKrm^|u@o9s4B`bV zt7Gq#h37jt-_9=>6V!Wka3y*l1f$j>?DO^EKbc!9H;V6*YJ(BLnA)nM9e%Y@CtBU4;BJovkO!mfw7;Tqv^)POzO76{t={LzUgv47hF z*}cbzE6etbVeeIQE#|uVW)pioyk-Wr5i(dg)vH^oB280l|792cEW5sWc6-q9d-^+h zMXBUtR;sfpSQf8>&f$YD)(+l%$``18exZnYgVq!5Sw_Y^&05#Qi~Hdf**N~&@$)Ng zy`J+3A0vi)fO%#9wFkCqtpA8Ls^k-e(RyX0&0xEPL1LMYK*^5jpFwghf-|% zVhu1Nl4zP$mRKJs!pt(_s;lbkz3vO|q&C80eFx_CU!y)F z@4Tk=)Q{@ofD^$rV>t2$7z%^dS85oCa8QVxE+n5P^Xw{{9~`(6{DM>C^;jW^am-;mZF+w{@NfmEARzytz)an%>*4dd=vIBg;oy zH!G%jU{9zlvV-#gQs3BIKFV4(&)2d|pQ|nFEAvM28Jm0(vAS55zie1tMcF-h*G(Hn zEOX)eL#caxtZ971d#Ss)=-$5wr5<6O{V4a3`tnUqe)%obyg+`Je-{4{v5-s5iR|4j z?8=@C*#78Wci&AMAGmZz{1WkL@{7AKgvxrznTjIAV^x)9vU$6pmC4XSH*?nwT;1^6 zMcxyRF7e#laaL;lhq#X68sT^7dhSFkHPDvM81%Gt9c{getcwMPn>L1*TB%~z9zLx- zu(PJK$16^|p&&kNWJ#U)6nxEM{ZvN|@+|VqYvG?-`l*`0*zi4QACOtw(@)n}?!kBN zSa*SUcf1>#wtJjLHXkfE;kvlMlg*#?K9p zKgj3%;mI8SkBM)s!f-Ks+ZM96>@@Wcv)i`_7LzNhycU1^C3r$UFhRSZt;HS$~wm%}z@YJ;f@}IbOBmiC$S0h(%NB%PANZfAc%`D~lqr|nCpG8amf%9IhtllU(L;D`q!jDItvo($mr{*HhsD@Pl+#aPK zmFl@FX1$F0KZzf9S)H#;`oet2&#mvxv{6^%E31Ka>*%Wvnr;x?GM{x<{E^w@DX7MM zG3&=Q%ugITT?{?fFvkx9t8xuQ_l?ksd{)#wH8t|9L<7*V==b;FbO-aU-xa?Oh?amu zpM`6k*J1o$%%k#)ULjYuUvdX2gr@9fm!b)L<{sUdofW? zeIRs(=*;-Xkx`38ZyucyMed8BuLq9W<>kyh&R{RXeZKWshuuwWmF%mj8bM>pGg{cm*tTFw)2$2!&CPrXX_Sz~VH z{xZh-mfFKs(>$mz?J4;g_l^la$Lu}TbxvCwc_*Z^n;VKiO+kc>S#RyX2eZ=|KmEga-z<|M?m5A@Rd@txr!>q)OReZ9YFS*VMGaca@S{ zX`^Od1?!mL1o9fGahAoL?)`^F$gp7V2G$R1L-J(r19g3}EraMr>9i;Ekt@gw@rvZT z@@#aqVYb)(7WzSS@e*Skiyys-{3Gx08n^fRbL12hqW@hRN#ng$_Sk3O{efcIZH0Ly?$xtP**-J(}=IUZ0R z;wj|bPvGnG*tkDMEdfd$8W;J636(7k&e9N&js7k+`?Cj6%V z=_=N<32>dnkDt8KyfI?sbX?-O&_Gle8@HSKx7~}Z z@c#Pc&-7pm>rC!`Y9M!`Pi6m-Tf8xwImE_Eb=_p8+OQwgj`lpLols@2v}0@y+QI+3Q934$e`ySMYwSk5USEkt43~BkFK5klB>q#`QuevPvROnUHorQ) z66j0sYQ3p*VH=+GUtV)9@VsJ`b=?$7o#O0ZjbjCKd=VK^csZ~t7rUtNwSb913$NG( z)9<~{=(A1M{nSmu*U*P7UeCQ{{1EYPSM&JvTT^tX+yb>z= zdtg)hJE0G^-OpvT8|VF1+`GfRf6)33esys0U)*2$F6}nbZcjNiq0z@`cN}{#yIJp) zXSCfx8-K1gfJ-yP<4KGlO_9FA6cJ*)8Ju8;?l^0v9 zN}%bB_-DqA$m-}VdSTm>I=jv1yS(yaZQGWPdtuxDsn7(n`9tax8GIhy^>Jqm*m{SB zA9!Qc2zbiCf-K^^v?Hv?S87er30%sl)Y*Reyzhfm=T8t{2{32-azmT7C$+2S=VzQ{Yh8Sl7sCHkMkJ6^i48G|2z|M!urq0gha3Qn)ydhE`$e7NE{tII1N z&J3Zir7MBp~Bn_{gK@^nE8|^v?*DRX^f0`f3q#i@ki% zI(%z*r{IQH?&F>f`|LigU)axU>TAZqzs_1!PKjdSog>+AF4_R+iaVU;T{8#QkguoD zvI|C%zsu)8&uCNhAUq6r@bH|22Y37%hVb87o3N*VA)kG5HJ0_X=1J!d8(SKF&tVPh zFQv{iwwwGKG3Fo%|H+1tKB3Jm%5O0?1~4m5rQg?Lf1?8~H^O^OkMKM6gv~S9pPOUr zwkS1ewHEl#40u2ABNm#x$G*(qNYuKDdP+Ozn-!0*e1Z#_2``@g_C8wEe= z%ZHt@a)I9@3$6yoiZkFNKN3Sfy+~U|E)X-7T=<;&M0UrJ z9e48C{B}&|dxQ?%uHU9N9uYkMB^W&YPVn^Whc@H8pimaWaQrU|auSiyu?o&-0ng7@q;%ho0r*Ugk^G9Q*+ZT@fh~w%xedQ^8?{N>@cFmlqi@4U z|A(raaCL(fsc!J`&snI*B=~02-eXh3o!5LQ621Pz#QX|5S1z|K*2{RAzap#rKX-`F z%=geCwV``aU{A27iE%C70?z^0IDE%lKY?F(Pku;a2Uq3Vc5nxBuiHxPBX9jcX+>l& zKBun24@7##UmxjA@J`O3)A!wxWCH)XpEXQ3YsMYa!srO4j-fBQej=XB?(N`gw?XYX zu_0{rGRei0oQ3YvZE|<0>?@)0UasNEeM(;!h(GGH(x}}^y1dQO`oB`~;SHQjKU9LaCK3B`;efu+V&fxEJ!r$0X z*iCUj)! zLzU;-a;;U0A2t=O-4>k=@1Dpji%+J1&Lv60XPxk98|!lK|6c4D&P04#zP{-6iqsZz zXmyR9n9sY=^4!KFLDt`O#nxfLFQ0Av0`vQdmHHOv2*)ls`tKF$PqE*ulXts#S2nHq zFuMMWk@&B$$(iFQbRNt9P-MK;(_^Xm=&YyPx>-*<@44&frt8`7#5vL3yT2IO4-Z{L zhh0J!ccY7$GwQe$n!N;Oz0POZYu)toCNiUiHFY6t>dFb$qTYhs)*g6t1!qRz!&yVi zSzjl$#y}T6!PD8I6fmv5;9TzowA@Y#j!>|Lf0l-Ta zdm}c$j|p^EvYhi_9Qb?CUl&;qg!*!(b(dG9P9Y<@t14IrTaIr&bcmc1I~D`~c0(84 z<={u3!LQ!wC(bTEj@F^w(2wMXe6pHrwPo%@Q-WFdE5=yUkNqZRT8pFi^}O`H3-|6s z|5m{nMV=_%Q*%;SM2!WrmMm`(vWXh`9D|q2x&H(cwX{#*VZ;XjjRuSKTW zu`~8TIKH%#$bmxW@JkmsGxP-d5#3ph?yN?4a$ZQP5dTmv>uSY9-FSiQ8f=)+k`sy( z>%P%RO?gJw#h`QD_ueap?uDNbPx%=5*5+^(&&#(Rt0H#iAhX{vuAgi`?f68eOI^Y>e|=yGuA^1d}_*Risk2$r<)h~!96Cv zbkN#k@6)UlzHh`A3Z4z`jHV_t{-;lHzk_F^>*q#{EJP2;hLOC~dVu{KVY3cF{waU) z61=K)s`bE zsWm_jdW5=H{9fv_wuG+aOpBs7%+tK|EoYO>3_@cG!CsCg7Zk~;zW8*iW z+nBRv@Z`Ri&3oF*FFWMtG2|j^g`{+obMJfTtRip>{T#HuXxGqr68@dZy$|qjne*@L z_3J*_oRWFW;ch;g-<e$yKE z?G=M{(MGkYIfA~Vi@rmWmS>vzlF5#Bqo zPruGtiN*%M6S}Kr40mBe-5p9TWnIx#%en@6;I+X;XMYWx|JQ}D$;l@$@V##!pCGv$ zngWglFvfwcD=|c#my?%OSj3(*eDC(T_4d3AHtCl;1t0ImfXToIOv&Y}zktt%YeApn zl)FB6dErYgE}h&W_dH}Oo2{M;{+pUZgn^7-flYgG}Sm9r6L%tt?A$G4;->~Yz?ky_U8@{2dz zX02+(j|qN^e@o9vM<$zmWtXDlCo~Z+$ER5gt^??n+4wYHz^6G5pXOeCnu;e@z+VA; znw|JGv+!wh&-gIeL-F7X_%!vs7?=Y1G#l_~9tW;HrdEtQ2R2Mb#-b0NBj4=&XW!l$ zBAzRGT3*Cn0^XOe(hm$(L-EANcYM!*=G{4O;{3Gr z_I$rcF3OtHU120 z1TE5egvGQ4k9ItFWzEJ)E337Qy$K67zr;=&c97e`eC`f1R|jZ|&rP(yTfgnGR{8ke zJY28^9oQN+FQpBwO_a+dT^KjKWb6OTd&TTSs31;P9`vm`!8pt7eXCly)*1Rk2h+|@ z=l3S&RKLg8+jT~z`!%1sBI_J_wsDXk&K~Dq_>~NieEUny7kc!chM1qrj=Y;cQ8FYg z?<(NOV)#+DnAbpWRq$gHT?TwNOQ#9{mGI+O_^}#(R95Z$H9{Q-#VAP9x@_^q4!IrsL2e&_yDY~UdFaPyTK=5IMY== zB*pu&3zV08B%xZjY1GjOlP}A^AIB z3mHGZ&wa1Qj-5WL_in_03LK`r9rikLz3yYX{RP+2ydz)E8`O9=cFWgnyG8cn2!4B& z`;A)DKEpXX(8B|IcRG3j`uQt92L%sxxeJ+7;kuBy(0u)Z_m0U9DlIfQg7@%jihJf+ zo{1HbZ{w?(_V0GTuUqU1jpc_9)$rV}JkLqj*F8^uIXN<`;o~~!rH%6={a2IEH=Mm& zoKLw2*|3Lw!bxCiD`hVdJlBLAkd4=fTsaOL#q$coCFCmp!<}z$1j`D4?c6=~w z!IOpP%qVLHS0_Y?E!FUxa<9;zhh@{ounQlc4d#V?$@aViY5#HVx$AGO2kzs$nR90i z^d|JPk$bjYv2B^eTyjktt#F0bKgbTntjdweW{UGd`3mIZSeYeJHH^xca!HgK9qVtpYPSPwCzJq$FY^Q#+t;Qw>dV91M_i?XBRuq z>N(D3x%O7RV^@q|*v#j&mXn`Vw6hpHNHv{`tn&X1 zk!Nb+f{gX7eDCsU;IAtLryDc+I=-xb>pXCFfveuR6}%<5)*yRVgZFaF>V+Q{374JF z$UvNkw&b@J?`Vy^7T#HUGxi|$tDdB-q8j*R*2m4h{Ta~EDX0CvqW+*{r`q$*jppTs z0o&ikgBK^VyM^aZ3D3~mevb|xjPEqP&7z*#UU*))%u5)zeEI?U)>U*Dhu;+M)!L#9 zJ~KQBJ#}K&qw@|cXKa^))AH!JS+Wyy+&LEJH#qF zTWJ-Au@~4+dtF%jVO77Y6CIV@nng~%)mzipxJ|rYL7Z5!rkZ;p?zu8S_lqs7BVOeT z-^V`7OuBacR|O7j%XhWcOW!8nBfWkxJ{xdZ`561I!Qm`us1O_;hkjH?STvd!?w!E+XcYEL7I>vo>hW+kN-ks`sSMNzi z6g%%+@pdnQ9)NXCC1 z`?VGybuIeXe8xu|;B%Zf^}0Jm_Et zzl)F2muA0ud82h%a?;rF_{pDp%gyt(WxiRLB5PMuW3M8{mu~n9LZv19~fQWYq!t^J9Dk+ zHCkIE(^XGI*W2hn##J>jYh>pD*Qx(299XGag$wvkwDThPInMXb^Dmh_O}|M#9rze_ z?L&v2SZz}&ro;i6YKjQvEJxd?HAbLbLx5NKWIsK^rVq!ANZ!glbPM=Tlu4&8h z>&br8T;0SxeUs;I;eRy$Mt;n)Wxx(SgX}oTGk?c#Q}{Q1BR^LEUT5~YeC6#KCF~~Dd0E$rNz1MFK1m!=a|o- zPlQXD8<&p%V0ccx&_H{Lx$^R)tM9%ic;J}}9-46B$uqvWwEUH?_k`+h02B3rTXqAJ zYdf_C0tTj9V5)UsGM|BIjc9-~NMo)3$Px#>8uIF6wN_X*MH)66f5XX>DMWv}zB%#s zdKYi#2-%UMTlX*X%&g>Ce_0p4=}vU-3*_PL&CP1vGsVO+wy*|Gsg{X!v0?)1=WraG zg!x?xEp>s5Q}{qm_RMWPb!E=uN3UDg+jaBWZRFIXmP1e4@2hvRue6=($Hx)JPhE%2 z-7~hbtfhYZ3_a5WpVqVY<05_P*>Y;*$uC0v!rlPaJYUe%l`N;*A(EwmK4 zg;U|T4If|UPhHzDbZ9NQtCN`7G~`Mru`>Bi?fz|g@%m(=>jUh42uA2;lVyF}IaAW7 zoEKB0=I@A;bA~GM^Qwq^^zvuhZ8>`|^kTkK&lr4p+pd5%Bu_M+9qa*DeXNId_7n2M z$U4SR3=I_#m(erc=f3}xYya5&h^7xI*8;q{{Y6F(?$0xpgVwR^cZ_8T@2ig>^sBj% zER@fr3i_?=scNl)e#@_0)4TZQ)!WcL(7kLI=L+4(R;&T$V3GWs*61K>nND!B7aLpk zO~`9bFn z^gIcAzEp4X(nRRl<)w0mo-guS4)UOjJ_NV7kA8gi6W~p?e;T_}?R(qa0H5l8@mjNo zPw{ygK27plkhbOfRNG15U(0y*0sjTs?tur7A}?CFuA}XJJnO#0ixb4y%~I0s76b*A2g*mp#0&Nj!5<=NF;N#50W!&)g}SfqT#5uUtZH zw}bI6 zH3>Ucc3uz~F1Lc_%*7z{KbtvUTVFgwXZCr2M^`S=?`!z2m*3V{ma_-Uwtsh+Jh@xL z$JqzG4;UqPL(ZIi(wQ^29{2{MzX#W+k=_g7_o=mf9ZM!yXI~E%{#ZvH({5@QQY+;;6PSkO&L!KZ5$z7hx`5LzE&l=o7F{B9q>#I6v7J+T1`+gz5k<7}dH>ZLDDbR{v<~ka4|jv~~8?!0?Vo-fDP! z1mk|hH)7)m`28w!V~1PATl=rGE+5CvK~X==zPG0@(3Z{zlO9q&;IGIb{neGnHY&IA z^*~lf!P^aw7x*9E{242!W90CWtv7MK-zsQbk;<9g15Lj+)1Ug~bbspC<^I&=Du3!% zclynq;MZ^WQ~QQ`_4u;#fc4@{#JPbj3T~t`wmkT?zTbk|!+%@UC)pmo$&ZfooAntA z@obwvr?;1y#hnW)Q~SW}$>>$#6AvuylkARFSDL(&W^^36yW|H{;sfzt-h;2IPWr7V z@E=+5r|g*$&X!pUUw2X0d|!R(4E@f0gta$a@ARPi6LW!;e%kPF2XC-z^z1e9n~#M} zjUGb-4<4#vFKKdarO_|yLw1vN%NqRe>*=EhpM6jLxEazv2k4`PJ|Z4lRC~%~i|!`Z zJdd;dF2VorWfRIC_1c8v&_%LG)ovEHreIM2J?MO$57)vqi*|oGy>g)4Gw9|BGEMUF z$BwP3b}u-(`8)hJ4qMZO*W2!C^u5}x=c;xuv9@#Jo$qPawPC&Rw!cTa2aq>vcOF-@ z``XMjyb({kPkG=y>cIQdd$ikv+*P|1xT;+j)@)?{J_iRDxmL4h^RIb#*O7(FslxVr2|vAS z53I-USa;!b27KEPUvA_K00e7NE9iN4UGi^$1zS;yCsbH1m4s|$zT ztA309E_a2F?C^{^T7|677`JOT>)cAw$z7ro$97I`t&IGQhh|)UIWtD|JGg#cUOi{r z0q3xpYtBvb4QuVC-s?*0y-t3pWBa|ShRv;63tJ~!`5g=L@>>^h_DQwRT6M|MqpH&% zbNn4I=33LVS3R?xDYWw_?L3)vTk8~Sc*kvd!&@~EUt%6!W8M84^C0{`>fryEw4Dq7 zb$`1D?~gio*Y8&m_Z@!gnsZZp!ws&>sR8yY_AR`gwR+nqKQ-tc{8-=0hhH9mKi_Y| zFWgH1>)CHoqa~j3m6iG$kIc*pg_q^bE6c%_p8y|svmc-vTSYN9doOiPd-(|P3!Uci z%p{(f$Ub~x`j_MAjIj@v^cmj;@-v>OC==}JLv-$b&cm-30nd{bXNUi%I9>oB3%A~P zh1YL_*MG~v>zBdnkHKpuPUZi6H++5veweZ|+x8`a%h$l;ccJOF2X6$AFAd=F311qI z-(e0)KNU)46@^mcFIJX$@iNwj4#5|%JXhh6ny?0UL2x$?+%*?u*|>wBnpCeDof89h zHZR*gpRwe+l<+T}FtlEa51#XJMeF}G%c1q!5cfi5^E|Zf%17nXoiXw{9lun(QMLE9 z9?AuliNKOODz7!yz#Akdm%aJGtvNUGR`S(++PhaQy_}gF2b#|?TngJ86(&U6%DUHI$y#9{+Jg{xI_5;4|g5Ci`8%I0`{6w@SbAL(Z;%Fb*g{SsiLY#HU5}lK6l~&)%$RM66js!P>CD#j6bDFemcA6 z{qtGYExwRt>J!TrWDS20@K zOvbr}^{M*Xg^gQG+eJLO#XLQ%#Yb`k;Yd= zEBQW*U-gMX*diu(A080Cgdh2a)aGeo=<@TEA97m!xCDRC8ulCOw^g$GC)cdjXd8- z+|bW>)Su$3RnX=d`nnr@RMNI$LK^#O?nx&6vdG4{3*Wy2pSRB<%~#zm;Rn|ye?;4jAE@VuQvJ6Pw~_tdQ5FuAa~ ztB=U9s_#{~z9WsmDg5{whnw?;YFRHe1=2pp1o&bObM-uauuZi!W5SEULoqcKbx;4u zpIkrfR^i*x_W6{jug$Wf}85tz=K*<~6KGUHCLE-;=(SuKqi!j%aU`|Bk>B z-;)*Qp4Pz9^HI)I*E9O=*HC;6d!QAaFhdw4>(F3IQ+nYoowJ}1dbZu zC<2Z~;BfKkqTJ>0i1F{H^O2O#5N{=43!UNCFTSYrmeC*L^<-<~5&6QB=!0hL6tACY zt@3!WO?Fv|P1^gozLSNY3EE2PJSB98c(H_h%>=fKTjTiAfpd`N_L;Fumt0S-FZBKa z(TvtS*Eb#+vYxTAr_%CCwo8!pj&hAkflqa-(t{AaPYSc?xza%BGl z%S=tI{SVyG*WVC~G_#gX76v1gf-{h=TU|Q?c@2*y`DI@!fqkC|pX#2i zOeOgo=PW~Sz41x(@BS{|qW#(L$i=j6sd0bbfhYD3c{G@wytMQ=FD?Bs8e-lgUp@p4 zX7AoL(7yZJJK;~$m*8)5;Fmo5Q}8!_DEy6-{hhAY{`2?je=z=P zhrnON#J|$}{A zsBI>kC| ziJ9*-zkFk$&osZNpW#kF+W+h2k37R4>G+UrUqA9f`ugr*C|nzur*qY&OMdBl4YfY* zF3JsmJtq`ae8wK19g{&52mS`&SDOvYUxs~k(AqI6 zTnrs8&zQ3YXAFbnfzgkH;rGr(iRJ=$-(xOb&eVw)1Iz__$@oN=izOO|(TBG0@C}n21jXrIW*ArV15ZXZF~8}^*_%y^ z-OyjcUxvRuCHW*Cn&ml9Y8>Z8?c&!} zSYLHv52?nyk@J!jq9Kp0C?3FzE$2Vxrj?VmoOK0fJlSAs0!Sp42 zA#o?P18uqd)u;U=q9@V3#tgqEp{oJi;hbY7**oNz?}R^?kAF5}#zr=F!lrw0x(T_c5Y&6*k=#w>OPSax!XN-Ag=9sUsb;|XgaVuwjD0^W@dkOhu#&2j?ZTZ@7 zw%}FAZgFw)eHSP2Q}TA3N1EX?jcG4@rg5Ca2G%(Q>xi8m^~BT%(Sw7VuYwzIj7)7B zz7(#ZjRD&U`q%|dTsiZp415@S$*Ifn^G~K_%uwUMXk_zX|F`7ueB|&Y;ym{d=UMsC ziv#}smBe`_6X&^?IM2P=)-Cw1HrQ&Z?uOfF8Q@GcO)4b-yX>|YVo;c0DPMk)+ zzeHSNAvi0<&TAm9@G3EpN3xo>eN(v|4}P?7S=?moWT+W}%j4jAFpN0QhHKY||n3oM6{zM=B2roT3cx>_D@p~To2qxBrmRR5o|GPXPCVn0oEIlOBmcK+ ze+u7bZ0Z{w7%%jdX{~yZ{ZR43iZZWU-Z21AdQIcXtB<(2MqXvc8zR*4_SR=M{)V~W z4;~ZU<`AQtYvr`|K)dzO?!<>qZ=VGH%+H$NI?>AOxR{&Qy5P#Z)FpJK@)s5|7n7mo ze9oK{Ew6-@dl_G^L(7vLT7K1`W!<0Yq2juk`syD(y*&?jCS=WP(}EWsknY_zVBgzzabTc-56wCKZu0c&&4->p zg#GT?>w^6lacavN9{$=De45Pn4t#jebFZ0u`2JgFQM+9}Jg>d(!a7#4f+yJz&k0uW zsCiKQ|7ZL*lnuYkf%9GCAw&3Y#20gr=iTtca(H6=L#MX)U{~j4&21fT<#e3P&1qE) zs#DOR{5x}ysnS{aiQw@xOy3`X>7DosdGM#2L+*S!1Hkocq$d#JPvaAK3K2 z$shP}X1p6-dCC*>e&XSD?t?ex{Y&(cS%Vzz3Fe+m5Vc!ACAwOF##jknl5AUrQ-yr(^5l@4|3|4gy;RoXsS%ew8^#{BTI!cb)Q z0~IE(N$V7ib0;!7emgj1Ox@t5>qg*3wn;D52i70S%fZcJXmqw^Jv|Ql#=!LEx+COZ-tq$X4^RiVki4HM*pqwf*z=x4 zExXay;bX+E+5*&aMlY=|Pt#{6lFItLiW!|~Bs*JX#^)uHO$#E;4!hP~VOQ+Hn^;!nn3O>Af zFE&^=_te&Xv}K-okN&>MGxFix$@N>au*<>2V&Wv6Q_)cje8tqKQB0fKAm*G4e8u!v z*#1eL&mo^qwh(wRV<*P92;6aIN$Ajr`Mu6O8+69`@aE?jXTsdmJ~{1C&1(PrYyDfZ zpySMWP#p&G12le?8ZDgr+3uiZEYT+HS_n_T=GSkqY8Bzx)aD6!QAv=bt? zVvp0m@_Wo4bm&O=iE(PRB;h~p(QM)U0}m7t>sBoa_?z4ay+4chgXHxp#`v2*_S|qQ z{5zg02A(4R|5%&a%kVy)8^b?%JyJf^y1WGaZtAsYt;c!E7IkWrzoYsXMvh~*fA4dq z2FmMJh_hR;XKww1Z1zy<8m>FE_x*68sbw-<_p#xR-{tJxw2Ijy@bICJ>Au#E<3p*B z@_8J;|A;n=YViL)GlOUT_Rykn)|Ou>eonjc&v|X46*Fx)uDH!5rv`;9Uu=I!dVhuN z;9by~=-extCFjXgIDhr;UAw}O*^W<2a_n}uAN*1879Wb3^-fxT8$U8Kr=}Y`G?p-y z2RR?o*FO5A@C^J>N9^-?;E~;`wY=a`9R$_glRv=ZgK+JHF1mPEHGeesdWHqb7S$nA zj?RQPz#(!*_O9}qRx?M+v5G@8W2GbM>+1t!vt{#k@F^MTu63?;#>ajWW1qPG$qhzE zr~Q-4X;m(3ZfR9yMG^UUZ&jV|Wgb_u7VRjsp6*4qPQ3i^=AJ-qM+Y>Y_3>yJllP;~Qppe zCY1WJZ&<75N_ynGV>`bYKFv(6mlAJ(dxQ0o7y^ncSm zH_Xtwd?o!~aQbg>#x|MXI@k+xKR8o=`A(Y+8XNr;`ty6|sb5c<-=ob{>`PRe8k5_m zo8SK>etWkz(YvP230%ExzC@dPPi<;- ze^I|P_WL|-?uEBR53*-O2W|L-C!zmZI1fsB7RKXo5@JdM=c0++|hnX&T!t&1z%b8aqhKVjlF$Mq;vb|NcZkBk&92f zk9GpeDGT30jsB_B=)Z#+{ZpyYe@DTwTc;K@-ui_J)IFP^_J9Sth~35K{M)FZ@+tCM zKh62Zw?{5cz9Z7xijFwNdGwO~$hpqD6raiJtwqjvRikqmlYFzXlU3tPc5jsXHq1eE z1@(@>T{F1b58e`YN)GtYEvo6vd6=?o7s}2iZv&g>)M)nZa?WOaIQu>>RFp-3pF`|6 z+rdF_@L6LXUD;fgp6?BgK2iL@_9v(Hqx|LZ$FiY`9B3jp(z8D=a_PInI5T)|L}yH? z=FU;8z?{3b-zwmoubkG-z+WGdUd=|&UBFh$CiZ@km^<;7gWbg2bxy6;=i(LBlv4eE z!Tct=MDgh4weuowoBK?g*{01d#;tr)<&l~AnDg#yycfIH);ozp@Xs2><~Li98e7Ce z?>+m2j3LX=eWeEvF5UO+pT+O9BdR~GwUGW~uekblqS<4R*0<7~iUndf9$tn$cmY33 z6gyOUSikLJp5oMnti;x>#MWIxEIAHMHgP`zekE@t>$RRPf$6#6G+EKRb>ABI?q0+la>;TbKx9AFbibJom zp~jJ=0(%2w3p3zpB|U<3MOIpfxEIS&^1NuEgG=)0b|m%M7_liN5! zr||A(aAD34G<&D)xs+UZll!BPk*aGvlIvCc7dkehE8}Gwx6DZMyXgEj4{clg4cOzx zJ|3JOvi3%6%Q4pNe$EoC{-AySpX_1Hum4FaJaz}NnzIC(IZLqlYvdEx*F7UyRm+;L znlk|7_?9cd2Xw#D&)T_C=MouR>2LqTi>^Iy=afX@W1D{8<$Dgi#&{NKJUN^{>x|>= zk%Rd$iR?ea9OdD2=pG*^n@2qc`6*9xuXAixq?G)JPW+X&A1k~482gP4&bMYq^xnnY zIgw<}Lx(z{E5%@B*Z+`blH;q&g4n7($m|~YZx(*f&L%x0e^_?=cLw$?+jI11cRFh? zi**ul`(J#PbpY?yFXDU_e!GYNW6F7L9v6-g+xM5)^Ou>^x*fVyY+(H#i4CAbU%rPJ zz$Ib;mw-v}tVvD`K>N8w=eqBW0Zj7j_v)Z7oninRJTZVvjDG>X!-XaWFu8A@Ck8Oj zmyQ9f4~CB91gLk4uVytgo>MP*lG7W5UvluzENAY!9p6tkzU6M}t@f*iDZJB(-98f7 zB6PkF~fl++w{(0*s z#Hm#qr&g^W{t};6W814nM(r@_2sP$}zs^4Pnn2-y${#cee8D#c*UD`Zt_!JKTEQF@ zGsbdikS^hK3FqxpS|1Hp)GwaF{15|ZFu0CF3xoI*_%0Ktwra?$|IOs^;+)2Fp8?*G za6IF>@J{&bQ$xV-%A1Js_Yd~3o4q%Wg*{TDt~naxbX5~<<^Qwi060X zvn6&oh{hzBuA;rm$RxLZ#6|pl-tz{HJvAK}HWS|(cGIVz<)mXT=?p-Pc{OWf`9UPd zf3OW-@{OU?So}@$J;(s9~l(n$rR^~qW%x5dn$IEzjKW7x4 za`x1(M;|R`4cOxBch^4b)6~^dt(jV`J=kw?a4vYXww%wN>^!IblInL9I%`Yq$=9B2 zKfeXh1?%yPsof;?Tr@V>#Ru@G_hZ)(-!|>4)~%hNZ?~g=RPhi)`4=?@t9JDNZ zMK;P}*4FZmE(T`#X9Do~4zW56zj zo<%$BiGR4Xn1p8U^XTXSenAF$>nZu63;6Z0;&aHtO_liU;`zY4KD`foqIiJu6av5D zCwx&h52t-->c2tHLEGN=VV>d7w12Kb`@u(IyI+&W1+fL>>5buh(dsqqBLSw^Nb1cZ z_gs9r&r}ZJ&F)+MR?u(KGgiqsV{f0p=Jgl!PQ(xN_Q){<=Nm-P?Xg<^&HBMUlXOqE z&IT=P|2RCMI#}x0t?BR_exEvMd@j$dr>28`moEi>y?IV`7na}?>c&Ur{=VPgfdd0P zklmY$-7g;4O`VA({2NEs8~+yk+y#AWue0iIh$n{Ob9k|S;tckuu-_cIo#@mlaC{D@ z`E8spt93s-p*?`&i{E2sMWI91tVguJNMra*Y+3na->ojy66#XlT4#olN zY;Z@s!r-7G0|yoSw%7x!(M!jshUIsVtkxRe#6XZAI-@6s?H6627l}$wVarzD;_8rv zecJo+VRA<#KR(Fydgt@|xnAddejnE{&gW~K>nN@T&gZL~>u~2fjH_tE^&zjLKk@j4 zA^1(}|IGMmMSkVG^83htWZxA0E?z$j->Dz{ySzRZdEk{Z;`KT7@0BkTGvt}{o)38@ zJxHvI{k;z#8iRk>+m85r(0BYAYWsF)Y!{_}S+8q68%+Mg;Qc3A`1JQ$^64u-!1m|c z`*-Cx(wb4ZC3cSE2js`W_DCRWR0C4}rCVP8BfflSy=4Gq+vYq#et~x$N*!3e^_wm` z=Nn-7An(%W8|W;Ttm~>G`#yl2zYG0|>`5SVjQoMVcHnc6AL$ifjbTF=fBVb$*%vZ5 zvKP?R31q;pd;7Q6VJ~FL$6d%r*#H+ZWTT$j2T$ifj~6Uz#vvmmD^DW_^?c7=)JYr@ zO0}a`T_5^nOj$8`#!B$0nmrAUeyMiwJc-{{pkG`(A7%bz zV=1;W(U;Y+-^w9=yWZGDZS=G5;D&A834 zK>0FN&=<5GM?Wc6)`ctI^xr)_?>YxGM#{yRAf=lR#?vs_j0d2f< zF8QJZ#!+{ zEdM5b^CmKbO;uV143!rgmG@Jw4P5FeTWk4_)m^=Ibt~~C6;|L;?BGo*+SeWC9{8lUTcx{a{6Hlx-IxrWxO5vlbsO?S?|uzkvW(n- zJv5H6Po)QAR8PkC={b{+EQ3~>CvcWTO0n1nhhaPRx(Ph}6}BkCj`) zeVX3?8+E3_IP6_wE#Dr5t%S_lbLqgQ4U|)^j2ha|&e*WN*SH4F?^(;R&z1z=9MO-q zSJFQ1WocGC${{;<`8ME*A7-A+oKyPmH=l9zav#nQ;rnd)zQ_1m(*C4%Is@tftI2Qt zS@}k1rR_)CA5<}m(iH(n9jj*oB(yle%&;+h}JYSYDnLz~Kg z)2KGxImY9?xs2 z^Ca+$+}+>9$la6FCE9ANbmeXnxoTaxi*%u{MwqcEz22TJd$K)3A9ZZD!WYDB+KoS< zaZNhw4j8VST+%5gc3TzCd31+62072LlZ@;j|C;kYMER&k zc7m!4nH))7Jnxj9)7(o(4dMD1$~?+X_Ed)KJb$IpS%qEjbF_z_k9WaOdp}y*zDlqb zEL&y0)pxY$uXq*N0^+O2A>G@2we2pg1uIr=DA%0XGp|>fdds)FEr+ur2M}A2eT1*- z*iP&n*-48}myID0bwf?Q64e`0P#5K3>@NH>5!j*4Z zzvXlE^6=Q*pR%5+Bu*ug=&kcPcGbbZ8qR!-FsGG$s8|8nO5)*bh4^D`wNm&7_saHk z&;4A2J{NCV=a`s~y={|`QNGuF$>f!->}B%Gir2FL%CIwf5Zj)dh;4_h_}UM@96wk| z{KYKd9Le#joTTEX?CZm0$sfaI#e3#a@%Cxd4L%y<)CS?d37NVZT;(6C#%7XV%MZ;K@_su0T67h0+47%- zw~WgnN4ixIyRU?~9I)hDOOBz9*D}X|mdwRg-c20X62{`Yi8~p}TK~|2`1qzYB*MCD-$<9>#i(<)CK0^5jab#`N?bxsY?dk^{-4E$Qycsg^0yyRrm8V|& zOUKK;CdOcg9-?*I`PNg|Z=2^=el`~A$6154L-#X&G7;MPjx1u{m|))EwyB1)_0aML z+GKy1ml7U|XT#SxO3xyk*K(Zo!4UQ9zUs$$rtOK_$-lvU^-Fo3?RVqg4!}$4ikZ+s z|Gxnr+XW*)-oUk1yb5|WhkU6WE596XLuOi$8R-?3Q5)s^Zv^*NT&7dC zA3E|-M#1HsP$emnFwu%W5;tQok>VG{7MinCMX zt4!48W}Jhah}bqDD-@%?s{8snK-5udn3owT; zU$t~zJol1Ay;FUyw6EH>vy5!F+!1XWk9=gv1ZA4wy=3CM&{FvjBokYCmff#3U%HUz z-hO)>awL5wUABcao4roH=3{k!qrc)`K!4Q*GxS$t6*^!IGQO5}EbSY&Wo?MPwp|j8 zWW*0??wD>%o8 z4oyC8l}g8di5vo&-zMt#QT7Ymw;&6WR#QOVH_>UqcwjdC){YC-HXZ%J1{6q2^1@I5aKN4v68NZR9OAqQA zbl!`9foAeyf!kv0ok_jYv#NJ7^=_ozZE3&N%A)Ai)H~DEyV$9Bu~YA2r{2X*y^EcC z^<4Gps(STa^)9Af+WGQK;+rZJ6UP5$et5Dr-a$O5Y^`?Wsv6(ZEONw57|Hx?7<5EF zTacS_o{Oecyes3K;?>F+V~J0->3Ux{bq#clUS!i%ZA@~mY*O=#ur=>F^kxE`XynVO zuk~@_&Cr#m-9xNnvp>uJn;x9QVST!@-SRaoUUEZ=^rrUR| zS?_${yNI8WKX@QKR(C;z?|Es!xa`tksb~PtBuB--X>r;NkIvcVY#Gj`$+_<{`#?54 z`LwDS$Ap{sS4bcG8fz{kD=Xs~ch>WNP_}9?*w7AbpZQ^Be75Xf?4b3;xX5p&eb0xm z$y#f%v*t5K&8|7|MbU?GP`WY6*wHdSoC?pbJ~2f!;(v`N(g4aqnC>WA0K`a z_&SfT1^5+QjsBJlm+=hP72w?p&edEim~#~In{EyMMhiI=%eW@F;v0Qy-Cr3ukw>r0 z{omhb@^3CN9dr1}2Pqpt{i+qdsb9&*Ci`Rj_r<&1BYy1ECGcxwFU#<2hHMk;VC_eG zm1ix}tkgQ`S?H~NIA$E1Moa|H{JQ^^_($yQaCj*`Kfv!>^ndPKppEFX-KFOP*o&i1 zuL_f6Ol6)xZ<{jkUuC|_y<29TM?W-ECdA%o*%?00;=Et=%GMGd+|T9S$i&)kDuJza ziadg$6M3fJe=<5}((%*K@M3<4#!!#!e$lbSreiyHy>GA#GunWKU8&+WV8>}rxtlZrj$$h=Vfxq8@FTJigl;AG~{w&~I&Nz`^oLCC{ zL-?v+2fp?SybgTDj}>wT;B)XX&zHM9@1v!UzHa63t_Qx(tZ$oWk-rt0VXh@vmi>DW z`!pfjcOdkd7&hnb9=OPnKWO!=&i8{>Et;EPvo4g)O1+}h3TS1WK9g42dT9&m`2Wmr zGryPkeR&dmSM27mN8%H&-O_S1a>95%_oj|jzvbP%_WM27^LA`x?nP(%xCfJ$*u;VL z38%jHk?rGl{gw9mO?rLLdS7$6elgCj+*8E9?B8FIwoQ8i$6deqSmm30#@_OjKgs@+ z?D8X^m3Ms+dT=I?8^cm@LiUpE;`b@5wGhksbL)T8lu!Fdil9}|l*`C-UAtxN7-;To zkJT&ojDwHsJNS+E66LY4$^%>(`$0&6|rIGLCmAXnSivD@DAt ziR)|ahkVPQj9$=Mx#px^pOPEi>Um6mUJ z<*B+ygY@&EmVftay{xT)*^%oHPzU{eUI0C_KN^@wov5ixVVpvu)cvEp{Q7TV$WHy*FG{HCpb_`#l#-P3`` zTw&@4-fM2A@AS=ZXjg_DD2Gk;f+&&N4)`z^bDub7bF{@ti z#kY&zUtpIXH|1>?$Lh<$UHDSA6HYJT?#8*>xL*%#$M74?@49R{m)L7eFI|?_+pQ(h zre{6$77aC5ao42X{`V#_?u}KLPYw}tt`TzveJ@{B4m6QH)blX5iEKh_D)|9&*$_N_+N-QhRGj);OgwJw&=vWoj+WT$x`P#d%D-zf_U!3T!gA6t~9bVOQY{V%%Z~i)Kc2yVQa|&;HMbF`7 zlCh(S{|&6>i+T6RmY2C72Yktyk2$1|boE_QMGK6~)! ze;X-3if8@!MYSgLyF!D@TAp9YGr_fH^8>Esz|Gfl;7$PUQ2rO(09S*T1NU*ttNxG1 zv+sfHK>cs@()bhVSFX(b8+mOdGi$owPqux~EE-O=&nqRa+sK~mmsfz%mHi@J;(F|57}Sa41&);;QGYJ(@mBAJ}6>%VI;RUp8@I3G1A!McaBMyyeGtrDJy8Z@=<5 zzI0@w2H1<8zB?1xYw5e&+1t2~y!s1I=8Y~Qul~ZGmdW+u(!hmr6EGxK!mrYSQ38zV zXYK#?x|8CkME|?Q!=BNme{pE!_OCPerx*jPELKFE`?VhaP08Y4^j6j?k&$eAFVC_^ z!}-3IR-z~UKfxPWy7=9bB_HZD>TkY1{?a?f*)s0iRZ&{a zoafoEb*$2OC;I7|$M13LvgO2;=Zi%Pr}dx4T+uMfKEiC7%L9(ro_FJo z@4*)G#vAv(fqrYbXXe^5mwBuSx}YxmQ_Bx4b`3c$c{}HEuzq3 zn}?>ZJTEu$oYqI0t7y(r@;7*9^?~<+Bik9vzKpvgF$o6qki{3I?v(D zW6rmtVqxZ`JhStY zstxOiIV~d2vj`cYuFVzEzMOx}Su2*m!PFfsF!%CbRnouA_leH$S5`Ep-zUdp`uV-O zPV|)QRRxwcxz7uK=Pxb%1GIB=qRa2YS^BHEm%YEN5?x;7=<;#s@>)liXP@_Ck9osl zJC|$Bacyx&pE>(9+K1bGZ}srpt-rwNv-EuQo4Z|^vh8rw|0%EBT56a3=aye?<};b{ zYT;);LEby%$17%!GHcP-QI2tgJviDY7s0Ovzor9M-)OC{>Q_sQz4~<{+l8Bk(?1Oj zS@H6+EU$mGQ%?f^sxmeT} zn@~1DU*ECGr#hxu)DyC-h6?-@-t|@ekFBtGhSpfg17Enn7ne-BV@y;$K~7(E=<3pQ z1a`l7zhODwxb}r)n7)UdeMzj>3VX~Si@h6yuG@KDM4vowVA{rTzb!|H+I=NGriQ7% zD|yJ)=Prx^F&9SKrn(gv+4|hx|Kk}S(HHNG>{umTAYA>E7eOz7!>><*zn-y&e8z^a zmCnG|3%~bNp|2C@YsvB=>Flcu(GiKCMWAs$GLiB8)bwR~j^18I?vR%St9HZ4jJbnL z?;#Goz59PO{$$JlzT<8?)AD}-WwYg9c)<4*{cn$D6~`>}NHJqp1@b4IB0Hn95xLon z-HqI>2S04e&i=2QuEmsR2PyAo{L@M13e_)-|Hv9peF@)vH-5tJH-EzKpZy-GT)nlX!SuT#z+<7eQiJOIBU$6<)PT2+iOt@r}kn6qhpL^inQ=uZ#u z$5q~q#d?M@=vB&;5R0{eacBc$7XH$``09>SVK=nPkB!Y0I>?+lT4-WhUcDH-j(w!P zTy-lf15dG8b&R14Y150sA+C{;qlI?EJms@8IvvpOC*dpM$@nKQ4c-FSq$?_4vE_D|!BR zeqR3Gd@lap*){(<`CE04_w`-BcgN#KY)LEB%Z$ff{g?6HGVhmJ>@#t{ao_*k*rMfU z=-^KLZtJ@K&iDB5T$rxz*42e?>~-rx;kPUiutvJyy7HTCe^sG_tVUn#{)Mhxl4;xj zCwX8sr_1(_xb+dcyRz!taq?$nj43X@%4ZQ+Ssqs`qSfEFRl=5)F?I-l_j_x~Iogk& z%dRVEUXd206i z&i4G_?D$xR&hb8Rj`wZnc>n%6-XHDy{aO0c9;-1J`(d=}{`Bc?`qNqAg)WXQ>jqx# z-vh7eir9nQz&k#q>;8Tg{EYsn>IUAQ{vLRV3u05cf%jH7@H*w`!>;)yKWYe@L}Lj$ zk2%%FMu)S0bhIKg(#)w!c&_=q_6bO)Wn0Z?>|x$T%sk8Az?$pJA7?(*NiXB?O8YOS z;TMYRAD5bsO;l*zc8vAEsS)B-bU#1LIfa2q=3JCS;2T@kGROD+EbON$>es#jts^N% zplm06OGhhMtGnn)d^D`}$yYxXSe*5k;m3&Ttn5>E4zjz>!#5K6+Lr%fJ=u(}j(_VL zqAxyy?)$BECcPH6T zN*thB1091O0$WpSWB4Dp8l21;W_Zgl+VBnPJv9H#bmtm~e9T3639mx4=UH_Wlb=@4-Dkyj*|MZ}$kR%# z%WQLeq6R1MErTw!ee;ZA*wwU2=XRCzOmWMK@78yEUrn2}j_BS;hS}w+Z;v*~9yZ_H zZkhEUZ+)%H%zEa^YG}LAp{>@1{J?(@+G>4KdqB1SPwRl9-Rp{9!gjABKH9{$@lO6# z?aSK_odv&*{})5g#n5v-^jzf7b5RyO7kSo$>OAW~**-+O{_vKc-s$@6C!CP~!S$WI z!yXIC+$@jH?)IPT^>odrg2-GOG?Uyxo0T(ZKe%SBuaBbr%Bf~#i+PBVE$AWHGHc`H z&2NPsGbCHQSG!p!+Y)HzY+55{k8GJQT6yG5d$B8_i{?7oBUI_orP4!}TIB5G`c@YK zy8<~A{Z+qymB^W%>sci-me86mc+T#mUFO>85{Gu(t*5_f{I6+$netAF26L}xy|s^T z^S5^p^B%xvvdVsA&#f}os_u2*XUAu`_%38VS=9Fe`MmRsly8tV&4hF2x9kA-FWcWF z`@s7w``+dMO zJ;bJX{i9kRu~_H-C9tFD2>FwXzyW79>$ud*yS-WOgrCCTSI*2IREg` z!H^Xjy7Q@huigB@@u9!|x8obnOB^q@a^6y`S&}*XC}PoCzqMjt>%5;HkNo+M$18gz zj#n+P*4XW`*GZI5;cPHUx`1IV2xP!8dl<}`zq9s2{XhCo))CElZpx9(+97=*NnAzI z(*AoCom;wjSD*DyqahH>)G-OFJh7CB4ec|(ahRxh764v<;0ei0{K0-5wq4yRJVO+wmr*-HS zbYJCjUnK4;u&JK!$36Ec=3|WS*t*rs$!(h0I^FX8dFz)hXP&lsMxfTLWt$iW=!d@P ztjE`xo5qIaEw8c>%9gO-#x2_d|0GMC@7f7NiRe0mK#qy5Npl77~L9IO3H1cyG5luEk=fnS1&Qbp8yDTQ%n+^XgBG5knZScOqjIz0oz`ZOfKz z6Sr*el?JeBBh5Kx4sYjV!A^j;hZZ1<TU4y;J;G%&k#Q7IQcbO zEY^)Sl$ZLXhqGworIT>HQ81+|(M5^B(I=U|&L@tDKE84W>p3%ssSrMDqn~vi>2BpH z^RMu6wu-f>`F(r|wD&Uw#81-(gL{B6kMA``mpo}1pK&#Nx*lU3ojdT%`lkOK^<7AP z7oVlRkn#r2Wv>o%xf1Vq?C6FYB&UvUh;-3^?Rc5Ae!xySww|#l`E~ZSM6Zk$v42hb zpGCW|%ss1Tm8TNqG?icAZP~lDJ%Ii-_9=bJrn{q~&?mA9E_V7#SMd>tv*I&U&qDZW z;sBzT$NH19Q#t2q0N2Zh8-`z!wTW{B)QWV3xiLYb;Ff4$XUJg z5_mO&R|z%b`lPI^|<(-*JeT%HWv;EmgNo+k!I^TDwWJoO>^<8|yq z;9SzoJ~K1lda4T8Mf4Z#{V`*g6GQie+eTvOc6-|B>f`vwY~S-AqkWS9U?!5Bm{U3d>(y|6Sdy8!S5|)2=>!8>| za;CMx1C144yXfR4Y2Al?+&MS)_Mhch_L1g^(q-zy8b?=S&wBB2?U^>g#x}~fx6TDm z_HkG6_WYgjzR?Z5SGs|h?e8gL50vJ_YIn^7-dKTXpl zxamt-b!OA-^I7llTQJ`CkFke_J)U`-v61GL#)p{0C$GP!vp;0nm;c@g+p#avmx2*> zV7T^Jcjf=JoAUQ}Q~q$4d_?`MA6pm1<{EjmQkP=GOJ9ZTScO z_2#c%o<)D@P_GR6&muz`T)4<&w!hrv?}#k;YR~eDF67do(RW>#@ZkfG&aPrCk)Ox* zKc@E~N|)=;t

OUk~+}~N%h&p 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%0A1`8R>>jzCB9YYmski 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ℑgFpW9$_-N;-uuQO&5 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ξ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

5L7y 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 z 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�w_SnzLE&S;J0gQ{ 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 z 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

%=y4eilM>Ex(SbKe;Va96v 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�e^PZhk8~o+|q|e_5zpxOMOH8dh0I#%;+IL zg@4vdUp>>G6(0XFyZihz1P;5)KPwqeclqZQUo8K8nmmba^H1VvdZQ2h;`J`pW&-|s zM;t!SrVl+yA3fEFZnojEC;Ctsc2n|(OxL(A29ix)-fJ&SEk&P-pkWxC!3j}kx41?UdJ!Pwf+8P`(Zc@6p> zasTBlr4#)v*!SfO>qcz*a`s}>2AAvd|AO%}!q3)FBU;W{+=`trfWNB={x%7F2IjeKCJ9^f6xSG1p z3F!N~X4_8mouK{l?RA~)1E~qx|5_LAJJ!?RI8D{lr^b1&&ICn1){4Dg0W^cI(_pt3 zxXhdm$)_>*mnuhV75)dI&kK7_pQ^9P27Q*>?FC)+CG>d)zhF=3bB&p!e?<@I^I~WE zv~s-03q2;opQ_+Ve_%X`=(E(!gU4RbAohZ{y|MK97jhPa=fv03PfS03O!}lotoYHO z&->e)`R{9H+fMWu&(D;7Y2%ch?nf0455LxPdRZ?x?3uqn_4O+$vR)atMW24{kJ2h0{igU*5f029lOjy_67LHnyB?? zKU+Zlml|_&zJR@kI=sO+YoLg}Hf1=UHLyZ*+8oXr7?`1}vjzsvc0Oxhh4Kl%*UbC& zvj&!EDaKg?yl;&iZ)T;uvU{Au^n~rR6pQ67XDu2tOvQT=I`BAhW|P66>azJnm2FlbXQ)1 z)VNz}*6CkI-f_u!;7R6+KAD^3|0A+6Tk7=lOiOd>tM0P#UGh!CW2yf~ew3>H(tbX5`sX^=>EER6vhOu*Licp6 z)88*jdjab4OFi93C)n!r(}(8@;KF>>yvvgOPcrYq%c*l66g#HW=}+=gpUyw_9Q@o)N5#O=PVI^Q}HDA9{)^%AGPX(edp*yFJXK<8y;fROdJ@d z?j~bh=v8)c#RJ!%w=BM%m$*2P!w(U^Um3S1-R&Pktfr zRq&JA^@G2vOJ1zh5Er_O*3Eqin+oSPv^-_!5haiBq}D1nChF#%ujpj^AnGPFFQJne zU*fDP>MqMZcm%b!!)djv^lRlw; z>zo(qPhuA2YLc;(oUgxnzP3BIA9ryMeF&^%{4$R|eDBWqhY^nv7+|ia0owevCY+iX z|7&wy#cqLx%!S(XuSCyKFzD?Sbff?=xq@SvugrBW&ntS*wrb8B&%VU7nmo&MiyxuA zb2{j~fOoc23%^oJUQq}PhEuy<{coSDr<0 zs+K+LRBFc?`l3)CN~@WXw~3-@f|>VA7f2 z#`4$y|Nq{#{8$ez9_4z3YaQ3aTx+>h-Dmh)F7@=84V2~1szt<&La zn`i1$7vHJgv!xThYSw#xns=r4^&xB^@i?>Sbv3`;#N2M=n$0zfYbMtWuIXH|{sZee z>cG~MqhZy7olhNEyZ_Cx9&Ei4->pcO5%@9sJhwgIz703AjXjs0-jh z)%j-Kfhiql^cnH;YCrMxD~b0LK~It%0B+Ln0BAhKT5QgmlJE>Z_L&Xhm)W0>vC$s#2&85_xfWJTbdlTdX~ljuaI$ku^x!Fa%OtN66Ak~7n9}%| z=x4O_4Oacv0QFac*!zvM&61EA$u)-Gbe6Jx{RMo(a~e#acCGADb8m>9etP_IfvNMa{AL7!~XUC zJ%{~6y@37m^wU$=FaC_M-{J&&;&v0ketJCYy%T_aatG{-T>kcE8|;ZyZstrNMfdlU zlPx)q#QNG}rXQY=81~D00sE|8!2YHl!d`5M$qxPWgzm>Xz`phVj+kj=U9CN4`Y1j} zD`r~3lN?ez9Cuun7>*bA0*>#{Ur+hRCv`oeVS(c>9Qx@A9K*!G#q*C=a!;+;^LRK) z{YwjuJBGj?Ounpg1IahF!*oe@Vwmn{u07?+D;?%~HlDn*hcFeM{2l4%Gw|deI>5Bi z%u_YvoML#gPhd)aDa1KZ$E19XHU_?s+QApXE`Ow{gD-5)Cg#7t$rs37O~$5odtB^4 zzwdE~DN}N4Q7>SBQ5@{M@S&vH-Xe0V zgB}j|vKIW5!#R`5iv3r-fSlGTz;FtB

7^ZkJD6Jl-AXUieGYy!!V7 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.VE7Ul{Kh%|W!>rP0gR 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%0AJRaEf~bZ2j1uRQNZ|E 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

    XD-ez^x^D(4FSIq27YOKx`_Q~!gr>5?WE?> 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 z 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

    cF5w3rA@;K34TRzvJCHq46G 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%0A!O(2qY^ROdL(BXsl$O(MF*c4$ScJm8sTZ( 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 z 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�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

    jB|-SmA*WZm1S?wOOErnV?ZOjATLwDJ-2vm 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

    xZwOY^`=h7&2zx_# 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

    m^H_(k_^ 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 z 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

    os3i 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≪WrU*n+UjJ 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 DV!Bm$x@n0b{!@)NV>0FL{pL@eb*O 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 h7*AalQlMDZpXa@s#=GKPBw(6#w5ddrHjL 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�+sG{7OaXsI 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 z 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%0DO+!vY^|Kj^9-Z;(sPLYBzqX8j8pn3R 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

      3W-zzjKkl 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ɳI%$(mmP~Q-c~p(@zIFlY+nO+mOh8WPkw%^OhaCv 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

      g$@#JKlijC%*U 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

      ?v3EZBI$c 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%0D@8WFMaH#4&=N2 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 None: diff --git a/src/agentkit/quality/cascade_state_store.py b/src/agentkit/quality/cascade_state_store.py index 5e3e8b3..9adde99 100644 --- a/src/agentkit/quality/cascade_state_store.py +++ b/src/agentkit/quality/cascade_state_store.py @@ -143,7 +143,7 @@ class RedisCascadeStateStore: if not self._degraded: self._degraded = True if self._fallback is None: - self._fallback = InMemoryCascadeStateStore() + self._fallback = InMemoryCascadeStateStore(session_ttl=self._session_ttl) logger.warning("Redis cascade store unreachable, degraded to in-memory") def increment_interaction(self, session_id: str) -> int: @@ -223,6 +223,12 @@ class RedisCascadeStateStore: if self._fallback is not None: self._fallback.reset(session_id) + def close(self) -> None: + """Close the Redis connection pool.""" + if self._sync_redis is not None: + self._sync_redis.close() + self._sync_redis = None + # --------------------------------------------------------------------------- # Factory diff --git a/src/agentkit/server/frontend/components.d.ts b/src/agentkit/server/frontend/components.d.ts new file mode 100644 index 0000000..95afcf5 --- /dev/null +++ b/src/agentkit/server/frontend/components.d.ts @@ -0,0 +1,93 @@ +/* eslint-disable */ +// @ts-nocheck +// biome-ignore lint: disable +// oxlint-disable +// ------ +// Generated by unplugin-vue-components +// Read more: https://github.com/vuejs/core/pull/3399 + +export {} + +/* prettier-ignore */ +declare module 'vue' { + export interface GlobalComponents { + AAlert: typeof import('ant-design-vue/es')['Alert'] + ABadge: typeof import('ant-design-vue/es')['Badge'] + AButton: typeof import('ant-design-vue/es')['Button'] + ACard: typeof import('ant-design-vue/es')['Card'] + ACol: typeof import('ant-design-vue/es')['Col'] + ACollapse: typeof import('ant-design-vue/es')['Collapse'] + ACollapsePanel: typeof import('ant-design-vue/es')['CollapsePanel'] + ADescriptions: typeof import('ant-design-vue/es')['Descriptions'] + ADescriptionsItem: typeof import('ant-design-vue/es')['DescriptionsItem'] + ADivider: typeof import('ant-design-vue/es')['Divider'] + ADrawer: typeof import('ant-design-vue/es')['Drawer'] + AEmpty: typeof import('ant-design-vue/es')['Empty'] + AForm: typeof import('ant-design-vue/es')['Form'] + AFormItem: typeof import('ant-design-vue/es')['FormItem'] + AgentLayout: typeof import('./src/components/layout/AgentLayout.vue')['default'] + AInput: typeof import('ant-design-vue/es')['Input'] + AInputNumber: typeof import('ant-design-vue/es')['InputNumber'] + AInputPassword: typeof import('ant-design-vue/es')['InputPassword'] + AInputSearch: typeof import('ant-design-vue/es')['InputSearch'] + AModal: typeof import('ant-design-vue/es')['Modal'] + APopconfirm: typeof import('ant-design-vue/es')['Popconfirm'] + AppLayout: typeof import('./src/components/layout/AppLayout.vue')['default'] + ApprovalNode: typeof import('./src/components/workflow/ApprovalNode.vue')['default'] + ARadioButton: typeof import('ant-design-vue/es')['RadioButton'] + ARadioGroup: typeof import('ant-design-vue/es')['RadioGroup'] + ARow: typeof import('ant-design-vue/es')['Row'] + ASelect: typeof import('ant-design-vue/es')['Select'] + ASelectOption: typeof import('ant-design-vue/es')['SelectOption'] + ASpace: typeof import('ant-design-vue/es')['Space'] + ASpin: typeof import('ant-design-vue/es')['Spin'] + ASwitch: typeof import('ant-design-vue/es')['Switch'] + ATable: typeof import('ant-design-vue/es')['Table'] + ATabPane: typeof import('ant-design-vue/es')['TabPane'] + ATabs: typeof import('ant-design-vue/es')['Tabs'] + ATag: typeof import('ant-design-vue/es')['Tag'] + ATextarea: typeof import('ant-design-vue/es')['Textarea'] + AUploadDragger: typeof import('ant-design-vue/es')['UploadDragger'] + ChatInput: typeof import('./src/components/chat/ChatInput.vue')['default'] + ChatMessage: typeof import('./src/components/chat/ChatMessage.vue')['default'] + ChatSidebar: typeof import('./src/components/chat/ChatSidebar.vue')['default'] + CodeDiffViewer: typeof import('./src/components/code/CodeDiffViewer.vue')['default'] + CommandHistory: typeof import('./src/components/terminal/CommandHistory.vue')['default'] + ConditionNode: typeof import('./src/components/workflow/ConditionNode.vue')['default'] + ContextPill: typeof import('./src/components/chat/ContextPill.vue')['default'] + DashboardOverview: typeof import('./src/components/evolution/DashboardOverview.vue')['default'] + DocumentUpload: typeof import('./src/components/kb/DocumentUpload.vue')['default'] + ExperiencePanel: typeof import('./src/components/evolution/ExperiencePanel.vue')['default'] + ExperienceTimeline: typeof import('./src/components/evolution/ExperienceTimeline.vue')['default'] + FilePreview: typeof import('./src/components/chat/FilePreview.vue')['default'] + FileTree: typeof import('./src/components/code/FileTree.vue')['default'] + FlowCanvas: typeof import('./src/components/workflow/FlowCanvas.vue')['default'] + IconNav: typeof import('./src/components/layout/IconNav.vue')['default'] + MetricsChart: typeof import('./src/components/evolution/MetricsChart.vue')['default'] + MetricsPanel: typeof import('./src/components/evolution/MetricsPanel.vue')['default'] + NodePalette: typeof import('./src/components/workflow/NodePalette.vue')['default'] + OptimizationPanel: typeof import('./src/components/evolution/OptimizationPanel.vue')['default'] + ParallelNode: typeof import('./src/components/workflow/ParallelNode.vue')['default'] + PathOptimizerPanel: typeof import('./src/components/evolution/PathOptimizerPanel.vue')['default'] + PitfallPanel: typeof import('./src/components/evolution/PitfallPanel.vue')['default'] + PitfallRoutePanel: typeof import('./src/components/evolution/PitfallRoutePanel.vue')['default'] + PropertyPanel: typeof import('./src/components/workflow/PropertyPanel.vue')['default'] + QuadrantPanel: typeof import('./src/components/layout/QuadrantPanel.vue')['default'] + RouterLink: typeof import('vue-router')['RouterLink'] + RouterView: typeof import('vue-router')['RouterView'] + SearchTest: typeof import('./src/components/kb/SearchTest.vue')['default'] + SideNav: typeof import('./src/components/layout/SideNav.vue')['default'] + SkillCard: typeof import('./src/components/skills/SkillCard.vue')['default'] + SkillDetail: typeof import('./src/components/skills/SkillDetail.vue')['default'] + SkillNode: typeof import('./src/components/workflow/SkillNode.vue')['default'] + SourceConfig: typeof import('./src/components/kb/SourceConfig.vue')['default'] + SplashScreen: typeof import('./src/components/layout/SplashScreen.vue')['default'] + SplitPane: typeof import('./src/components/layout/SplitPane.vue')['default'] + TerminalEmulator: typeof import('./src/components/terminal/TerminalEmulator.vue')['default'] + TitleBar: typeof import('./src/components/layout/TitleBar.vue')['default'] + ToolCallCard: typeof import('./src/components/chat/ToolCallCard.vue')['default'] + ToolCallIndicator: typeof import('./src/components/chat/ToolCallIndicator.vue')['default'] + TopNav: typeof import('./src/components/layout/TopNav.vue')['default'] + UsagePanel: typeof import('./src/components/evolution/UsagePanel.vue')['default'] + } +} diff --git a/src/agentkit/server/frontend/src/App.vue b/src/agentkit/server/frontend/src/App.vue index bf3365d..9dd1659 100644 --- a/src/agentkit/server/frontend/src/App.vue +++ b/src/agentkit/server/frontend/src/App.vue @@ -1,5 +1,5 @@ @@ -129,7 +220,13 @@ const toolCalls = computed(() => { .chat-message { display: flex; gap: var(--space-3); - padding: var(--space-3) var(--space-4); + padding: var(--space-4) var(--space-5); + animation: messageSlideIn 0.3s ease-out; +} + +@keyframes messageSlideIn { + from { opacity: 0; transform: translateY(8px); } + to { opacity: 1; transform: translateY(0); } } .chat-message--user { @@ -138,14 +235,17 @@ const toolCalls = computed(() => { .chat-message__avatar { flex-shrink: 0; + margin-top: 2px; } .chat-message__avatar--assistant { background: var(--gradient-brand) !important; + box-shadow: 0 2px 8px rgba(99, 102, 241, 0.2); } .chat-message__avatar--user { background-color: var(--color-success) !important; + box-shadow: 0 2px 8px rgba(34, 197, 94, 0.2); } .chat-message__body { @@ -159,6 +259,13 @@ const toolCalls = computed(() => { align-items: flex-end; } +.chat-message__tool-cards { + display: flex; + flex-direction: column; + gap: var(--space-2); + max-width: 100%; +} + .chat-message__tools { display: flex; gap: var(--space-1); @@ -166,7 +273,7 @@ const toolCalls = computed(() => { } .chat-message__content { - padding: var(--space-2) var(--space-3); + padding: var(--space-3) var(--space-4); border-radius: var(--radius-lg); line-height: var(--leading-normal); font-size: var(--font-base); @@ -184,6 +291,7 @@ const toolCalls = computed(() => { color: var(--text-primary); border: 1px solid var(--border-color); border-bottom-left-radius: var(--radius-sm); + box-shadow: var(--shadow-sm); } .chat-message__markdown { @@ -201,11 +309,95 @@ const toolCalls = computed(() => { .chat-message__markdown :deep(pre) { background: var(--code-bg); color: var(--code-fg); - padding: var(--space-3); + padding: 0; border-radius: var(--radius-md); - overflow-x: auto; + overflow: hidden; margin: var(--space-2) 0; font-size: var(--font-sm); + position: relative; +} + +.chat-message__markdown :deep(pre.hljs) { + background: var(--code-bg); +} + +.chat-message__markdown :deep(pre code) { + display: block; + padding: var(--space-3); + overflow-x: auto; + font-family: 'SF Mono', 'Fira Code', 'Cascadia Code', Menlo, Consolas, monospace; +} + +/* Code block header (language label + copy button) */ +.chat-message__markdown :deep(.chat-message__code-header) { + display: flex; + align-items: center; + justify-content: space-between; + padding: var(--space-1) var(--space-3); + background: rgba(0, 0, 0, 0.2); + border-bottom: 1px solid rgba(255, 255, 255, 0.06); +} + +.chat-message__markdown :deep(.chat-message__code-lang) { + font-size: var(--font-xs); + color: var(--code-comment); + text-transform: uppercase; + letter-spacing: 0.5px; +} + +.chat-message__markdown :deep(.chat-message__copy-btn) { + display: flex; + align-items: center; + justify-content: center; + width: 24px; + height: 24px; + border: none; + background: transparent; + color: var(--code-comment); + cursor: pointer; + border-radius: var(--radius-sm); + transition: all var(--transition-fast); + padding: 0; +} + +.chat-message__markdown :deep(.chat-message__copy-btn:hover) { + color: var(--code-fg); + background: rgba(255, 255, 255, 0.1); +} + +/* highlight.js Catppuccin Mocha theme tokens */ +.chat-message__markdown :deep(.hljs-keyword) { color: var(--code-keyword); } +.chat-message__markdown :deep(.hljs-string) { color: var(--code-string); } +.chat-message__markdown :deep(.hljs-number) { color: var(--code-number); } +.chat-message__markdown :deep(.hljs-comment) { color: var(--code-comment); font-style: italic; } +.chat-message__markdown :deep(.hljs-function) { color: var(--code-function); } +.chat-message__markdown :deep(.hljs-variable) { color: var(--code-variable); } +.chat-message__markdown :deep(.hljs-type) { color: var(--code-type); } +.chat-message__markdown :deep(.hljs-built_in) { color: var(--code-type); } +.chat-message__markdown :deep(.hljs-attr) { color: var(--code-function); } +.chat-message__markdown :deep(.hljs-selector-tag) { color: var(--code-keyword); } +.chat-message__markdown :deep(.hljs-selector-class) { color: var(--code-type); } +.chat-message__markdown :deep(.hljs-selector-id) { color: var(--code-type); } +.chat-message__markdown :deep(.hljs-literal) { color: var(--code-number); } +.chat-message__markdown :deep(.hljs-meta) { color: var(--code-comment); } +.chat-message__markdown :deep(.hljs-title) { color: var(--code-function); } +.chat-message__markdown :deep(.hljs-params) { color: var(--code-fg); } +.chat-message__markdown :deep(.hljs-section) { color: var(--code-function); } +.chat-message__markdown :deep(.hljs-addition) { background: var(--code-added-bg); } +.chat-message__markdown :deep(.hljs-deletion) { background: var(--code-removed-bg); } + +.chat-message__markdown :deep(.chat-message__inline-image) { + max-width: 100%; + max-height: 200px; + object-fit: contain; + border-radius: var(--radius-md); + cursor: pointer; + margin: var(--space-2) 0; + transition: opacity var(--transition-fast); +} + +.chat-message__markdown :deep(.chat-message__inline-image:hover) { + opacity: 0.9; } .chat-message__markdown :deep(code) { @@ -216,8 +408,9 @@ const toolCalls = computed(() => { .chat-message__markdown :deep(:not(pre) > code) { background: var(--color-primary-light); color: var(--color-primary); - padding: 1px var(--space-1); + padding: 2px var(--space-1); border-radius: var(--radius-sm); + font-size: var(--font-xs); } .chat-message__markdown :deep(ul), @@ -231,6 +424,7 @@ const toolCalls = computed(() => { .chat-message__markdown :deep(h3) { margin-top: var(--space-3); margin-bottom: var(--space-2); + font-weight: var(--font-weight-semibold); } .chat-message__loading { @@ -246,5 +440,6 @@ const toolCalls = computed(() => { .chat-message__time { font-size: var(--font-xs); color: var(--text-placeholder); + padding: 0 var(--space-1); } diff --git a/src/agentkit/server/frontend/src/components/chat/ChatSidebar.vue b/src/agentkit/server/frontend/src/components/chat/ChatSidebar.vue index ce6d958..5ae5821 100644 --- a/src/agentkit/server/frontend/src/components/chat/ChatSidebar.vue +++ b/src/agentkit/server/frontend/src/components/chat/ChatSidebar.vue @@ -81,12 +81,12 @@ function formatRelativeTime(dateStr: string): string { display: flex; height: 100%; background: var(--bg-primary); - border-right: 1px solid var(--border-color); + border-right: 1px solid var(--border-color-split); transition: width var(--transition-normal); } .chat-sidebar--collapsed { - width: 32px; + width: 36px; } .chat-sidebar:not(.chat-sidebar--collapsed) { @@ -102,7 +102,7 @@ function formatRelativeTime(dateStr: string): string { .chat-sidebar__header { padding: var(--space-3); - border-bottom: 1px solid var(--border-color); + border-bottom: 1px solid var(--border-color-split); } .chat-sidebar__list { @@ -162,7 +162,7 @@ function formatRelativeTime(dateStr: string): string { display: flex; align-items: center; justify-content: center; - width: 32px; + width: 36px; height: 100%; border: none; background: transparent; @@ -170,6 +170,7 @@ function formatRelativeTime(dateStr: string): string { cursor: pointer; flex-shrink: 0; transition: all var(--transition-fast); + border-radius: 0; } .chat-sidebar__toggle:hover { diff --git a/src/agentkit/server/frontend/src/components/chat/FilePreview.vue b/src/agentkit/server/frontend/src/components/chat/FilePreview.vue new file mode 100644 index 0000000..a6760ed --- /dev/null +++ b/src/agentkit/server/frontend/src/components/chat/FilePreview.vue @@ -0,0 +1,155 @@ + + + + + diff --git a/src/agentkit/server/frontend/src/components/chat/MentionDropdown.vue b/src/agentkit/server/frontend/src/components/chat/MentionDropdown.vue index 3af784b..6475404 100644 --- a/src/agentkit/server/frontend/src/components/chat/MentionDropdown.vue +++ b/src/agentkit/server/frontend/src/components/chat/MentionDropdown.vue @@ -1,5 +1,11 @@ - +

      - +

      最近经验

      - 查看全部 + 查看全部
      @@ -55,6 +55,7 @@ v-for="exp in recentExperiences" :key="exp.id" class="experience-item" + @click="openDrawer('experience-detail', exp)" >
      @@ -71,7 +72,7 @@

      避坑预警

      - 查看全部 + 查看全部
      @@ -81,6 +82,7 @@ v-for="(warning, index) in store.pitfalls.slice(0, 5)" :key="index" class="pitfall-item" + @click="openDrawer('pitfall-detail', warning)" > {{ riskLabel(warning.risk_level) }} @@ -91,13 +93,167 @@
      + + + +
      + + + + + + + + + + + + + + + + + + + + + + + +
      +
      + + diff --git a/src/agentkit/server/frontend/src/components/layout/QuadrantPanel.vue b/src/agentkit/server/frontend/src/components/layout/QuadrantPanel.vue index d95dcd6..8f2ba38 100644 --- a/src/agentkit/server/frontend/src/components/layout/QuadrantPanel.vue +++ b/src/agentkit/server/frontend/src/components/layout/QuadrantPanel.vue @@ -114,8 +114,13 @@ defineExpose({ setActiveTab }) height: 100%; overflow: hidden; background: var(--bg-primary); - border: 1px solid var(--border-color); border-radius: var(--radius-lg); + border: 1px solid var(--border-color-split); + transition: border-color var(--transition-normal); +} + +.quadrant-panel:hover { + border-color: var(--border-color); } .quadrant-panel--collapsed { @@ -126,16 +131,16 @@ defineExpose({ setActiveTab }) display: flex; align-items: center; justify-content: space-between; - height: 36px; - padding: 0 var(--space-2); - border-bottom: 1px solid var(--border-color); + height: 38px; + padding: 0 var(--space-3); + border-bottom: 1px solid var(--border-color-split); background: var(--bg-secondary); flex-shrink: 0; } .quadrant-panel__tabs { display: flex; - gap: var(--space-1); + gap: 2px; overflow-x: auto; scrollbar-width: none; } @@ -148,15 +153,16 @@ defineExpose({ setActiveTab }) display: flex; align-items: center; gap: var(--space-1); - padding: var(--space-1) var(--space-2); + padding: var(--space-1) var(--space-3); border: none; background: transparent; color: var(--text-tertiary); font-size: var(--font-xs); cursor: pointer; - border-radius: var(--radius-sm); + border-radius: var(--radius-md); white-space: nowrap; transition: all var(--transition-fast); + position: relative; } .quadrant-panel__tab:hover { @@ -178,13 +184,13 @@ defineExpose({ setActiveTab }) display: flex; align-items: center; justify-content: center; - width: 24px; - height: 24px; + width: 26px; + height: 26px; border: none; background: transparent; - color: var(--text-tertiary); + color: var(--text-placeholder); cursor: pointer; - border-radius: var(--radius-sm); + border-radius: var(--radius-md); flex-shrink: 0; transition: all var(--transition-fast); } diff --git a/src/agentkit/server/frontend/src/components/layout/SplitPane.vue b/src/agentkit/server/frontend/src/components/layout/SplitPane.vue index 6cdf79b..e29b201 100644 --- a/src/agentkit/server/frontend/src/components/layout/SplitPane.vue +++ b/src/agentkit/server/frontend/src/components/layout/SplitPane.vue @@ -190,20 +190,20 @@ function onHandleKeydown(e: KeyboardEvent) { } .split-pane--horizontal > .split-pane__handle { - width: 6px; + width: 8px; cursor: col-resize; flex-direction: column; } .split-pane--vertical > .split-pane__handle { - height: 6px; + height: 8px; cursor: row-resize; flex-direction: row; } .split-pane__handle:hover, .split-pane--dragging .split-pane__handle { - background-color: var(--color-primary); + background-color: var(--color-primary-light); } .split-pane__handle-line { @@ -214,17 +214,17 @@ function onHandleKeydown(e: KeyboardEvent) { .split-pane--horizontal > .split-pane__handle > .split-pane__handle-line { width: 2px; - height: 24px; + height: 28px; } .split-pane--vertical > .split-pane__handle > .split-pane__handle-line { height: 2px; - width: 24px; + width: 28px; } .split-pane__handle:hover .split-pane__handle-line, .split-pane--dragging .split-pane__handle-line { - background-color: transparent; + background-color: var(--color-primary); } .split-pane--dragging { diff --git a/src/agentkit/server/frontend/src/components/skills/SkillCard.vue b/src/agentkit/server/frontend/src/components/skills/SkillCard.vue index 84df04b..ce6a9ad 100644 --- a/src/agentkit/server/frontend/src/components/skills/SkillCard.vue +++ b/src/agentkit/server/frontend/src/components/skills/SkillCard.vue @@ -51,6 +51,11 @@ defineEmits<{ diff --git a/src/agentkit/server/frontend/src/router/index.ts b/src/agentkit/server/frontend/src/router/index.ts index 9ad422f..aa934b7 100644 --- a/src/agentkit/server/frontend/src/router/index.ts +++ b/src/agentkit/server/frontend/src/router/index.ts @@ -2,7 +2,7 @@ import { createRouter, createWebHistory } from 'vue-router' import type { RouteRecordRaw } from 'vue-router' const routes: RouteRecordRaw[] = [ - // Agent-First 四象限布局 (新) + // Agent-First 左对话+右双栏布局 { path: '/agent', name: 'agent', @@ -16,25 +16,19 @@ const routes: RouteRecordRaw[] = [ { path: 'chat', name: 'agent-chat', - meta: { title: '对话', quadrant: 'tl', tab: 'chat' }, + meta: { title: '对话', panel: 'left' }, component: () => import('@/views/ChatView.vue'), }, { path: 'code', name: 'agent-code', - meta: { title: '代码', quadrant: 'tr', tab: 'code' }, + meta: { title: '代码', panel: 'tr', tab: 'code' }, component: () => import('@/views/WorkflowView.vue'), }, - { - path: 'terminal', - name: 'agent-terminal', - meta: { title: '终端', quadrant: 'bl', tab: 'terminal' }, - component: () => import('@/views/TerminalView.vue'), - }, { path: 'monitor', name: 'agent-monitor', - meta: { title: '监控', quadrant: 'br', tab: 'monitor' }, + meta: { title: '监控', panel: 'br', tab: 'monitor' }, component: () => import('@/views/EvolutionView.vue'), }, ], @@ -69,7 +63,7 @@ const routes: RouteRecordRaw[] = [ }, { path: '/terminal', - redirect: '/agent/terminal', + redirect: '/legacy/terminal', }, // Computer Use (保留独立路由,显示"即将推出") diff --git a/src/agentkit/server/frontend/src/stores/chat.ts b/src/agentkit/server/frontend/src/stores/chat.ts index 2caec6e..b91c346 100644 --- a/src/agentkit/server/frontend/src/stores/chat.ts +++ b/src/agentkit/server/frontend/src/stores/chat.ts @@ -36,7 +36,15 @@ export const useChatStore = defineStore('chat', () => { async function loadConversations(): Promise { try { const data = await apiClient.getConversations() - conversations.value = data + // Normalize server response: backend returns {id, created_at, updated_at, message_count} + // but frontend IConversation expects {id, title, messages, created_at, updated_at} + conversations.value = data.map((conv: any) => ({ + id: conv.id, + title: conv.title || '对话', + messages: Array.isArray(conv.messages) ? conv.messages : [], + created_at: conv.created_at, + updated_at: conv.updated_at, + })) } catch (error) { console.error('Failed to load conversations:', error) } @@ -169,6 +177,12 @@ export const useChatStore = defineStore('chat', () => { } ws.value.send(JSON.stringify(wsMessage)) + + // Update conversation title from first user message + const conv = conversations.value.find((c) => c.id === conversationId) + if (conv && conv.title === '新对话') { + conv.title = message.length > 20 ? `${message.substring(0, 20)}...` : message + } } /** Connect to WebSocket for real-time streaming */ @@ -225,22 +239,34 @@ export const useChatStore = defineStore('chat', () => { // --- Internal helpers --- function handleWsMessage(data: Record): void { - const conversationId = currentConversationId.value - if (!conversationId) return - - const conv = conversations.value.find((c) => c.id === conversationId) - if (!conv) return - - const lastAssistantMsg = [...conv.messages] - .reverse() - .find((m) => m.role === 'assistant') - // Backend sends nested data: {type, data: {...}} // Flatten for easier access const payload = data.data ?? data switch (data.type) { - case 'routing': + case 'connected': { + // Backend confirms conversation — update local ID if backend assigned a different one + const serverConvId = data.conversation_id || payload.conversation_id + if (serverConvId && serverConvId !== currentConversationId.value) { + // Rename the local conversation to match the server ID + const localId = currentConversationId.value + const conv = conversations.value.find((c) => c.id === localId) + if (conv) { + conv.id = serverConvId + currentConversationId.value = serverConvId + } + } + break + } + + case 'routing': { + const conversationId = currentConversationId.value + if (!conversationId) break + const conv = conversations.value.find((c) => c.id === conversationId) + if (!conv) break + const lastAssistantMsg = [...conv.messages] + .reverse() + .find((m) => m.role === 'assistant') if (lastAssistantMsg) { updateMessage(conversationId, lastAssistantMsg.id, { matched_skill: data.skill, @@ -250,9 +276,16 @@ export const useChatStore = defineStore('chat', () => { } streamingSteps.value.push(`路由至: ${data.skill} (置信度: ${(data.confidence * 100).toFixed(1)}%)`) break + } case 'step': { - // Backend sends: {type: "step", data: {event_type, step, data, timestamp}} + const conversationId = currentConversationId.value + if (!conversationId) break + const conv = conversations.value.find((c) => c.id === conversationId) + if (!conv) break + const lastAssistantMsg = [...conv.messages] + .reverse() + .find((m) => m.role === 'assistant') const stepInfo = payload const desc = stepInfo.event_type === 'final_answer' ? '生成最终回答' @@ -262,6 +295,44 @@ export const useChatStore = defineStore('chat', () => { ? '思考中...' : `步骤 ${stepInfo.step || ''}: ${stepInfo.event_type || ''}` streamingSteps.value.push(desc) + + // Track tool calls for ToolCallCard rendering + if (lastAssistantMsg) { + const toolCalls = lastAssistantMsg.tool_calls || [] + + if (stepInfo.event_type === 'tool_call') { + const tcId = `tc-${stepInfo.step || toolCalls.length}` + const toolName = stepInfo.data?.tool_name || stepInfo.data?.name || 'unknown' + const params = stepInfo.data?.arguments + ? (typeof stepInfo.data.arguments === 'string' + ? stepInfo.data.arguments + : JSON.stringify(stepInfo.data.arguments, null, 2)) + : undefined + toolCalls.push({ + id: tcId, + name: toolName, + status: 'running', + params: params ? (params.length > 500 ? params.substring(0, 500) + '...' : params) : undefined, + }) + updateMessage(conversationId, lastAssistantMsg.id, { tool_calls: [...toolCalls] }) + } else if (stepInfo.event_type === 'tool_result') { + // Find the last running tool call and update it + const lastRunning = [...toolCalls].reverse().find(tc => tc.status === 'running') + if (lastRunning) { + const resultStr = stepInfo.data?.output + ? (typeof stepInfo.data.output === 'string' + ? stepInfo.data.output + : JSON.stringify(stepInfo.data.output, null, 2)) + : '' + lastRunning.status = stepInfo.data?.error ? 'error' : 'completed' + lastRunning.result = resultStr.length > 2000 ? resultStr.substring(0, 2000) + '...' : resultStr + lastRunning.error = stepInfo.data?.error + lastRunning.duration = stepInfo.data?.duration + updateMessage(conversationId, lastAssistantMsg.id, { tool_calls: [...toolCalls] }) + } + } + } + // Accumulate final_answer content for streaming display if (stepInfo.event_type === 'final_answer' && lastAssistantMsg) { const chunk = stepInfo.data?.output || '' @@ -275,6 +346,13 @@ export const useChatStore = defineStore('chat', () => { } case 'result': { + const conversationId = currentConversationId.value + if (!conversationId) break + const conv = conversations.value.find((c) => c.id === conversationId) + if (!conv) break + const lastAssistantMsg = [...conv.messages] + .reverse() + .find((m) => m.role === 'assistant') // Backend sends: {type: "result", data: {message: "..."}} or {data: {status, content}} const content = payload.message || payload.content || '' if (lastAssistantMsg) { @@ -285,12 +363,26 @@ export const useChatStore = defineStore('chat', () => { status: 'completed', }) } + // Update conversation title from first user message + const firstUserMsg = conv.messages.find((m) => m.role === 'user') + if (firstUserMsg && conv.title === '新对话') { + conv.title = firstUserMsg.content.length > 20 + ? `${firstUserMsg.content.substring(0, 20)}...` + : firstUserMsg.content + } isLoading.value = false streamingSteps.value = [] break } - case 'error': + case 'error': { + const conversationId = currentConversationId.value + if (!conversationId) break + const conv = conversations.value.find((c) => c.id === conversationId) + if (!conv) break + const lastAssistantMsg = [...conv.messages] + .reverse() + .find((m) => m.role === 'assistant') if (lastAssistantMsg) { updateMessage(conversationId, lastAssistantMsg.id, { content: `错误: ${payload.message || '未知错误'}`, @@ -300,12 +392,16 @@ export const useChatStore = defineStore('chat', () => { isLoading.value = false streamingSteps.value = [] break + } } } function appendMessage(conversationId: string, message: IChatMessage): void { const conv = conversations.value.find((c) => c.id === conversationId) if (conv) { + if (!Array.isArray(conv.messages)) { + conv.messages = [] + } conv.messages.push(message) conv.updated_at = new Date().toISOString() } diff --git a/src/agentkit/server/frontend/src/stores/theme.ts b/src/agentkit/server/frontend/src/stores/theme.ts index 378c94d..fa6fb18 100644 --- a/src/agentkit/server/frontend/src/stores/theme.ts +++ b/src/agentkit/server/frontend/src/stores/theme.ts @@ -8,12 +8,15 @@ import { ref, computed, watchEffect } from 'vue' import { defineStore } from 'pinia' +import { theme } from 'ant-design-vue' import type { ThemeConfig } from 'ant-design-vue/es/config-provider/context' export type ThemeMode = 'light' | 'dark' | 'system' const STORAGE_KEY = 'agentkit-theme-mode' +const VALID_MODES: ThemeMode[] = ['light', 'dark', 'system'] + function readToken(varName: string, fallback: string): string { if (typeof document === 'undefined') return fallback const val = getComputedStyle(document.documentElement).getPropertyValue(varName).trim() @@ -26,8 +29,13 @@ function getSystemPreference(): 'light' | 'dark' { } function getStoredMode(): ThemeMode { - if (typeof localStorage === 'undefined') return 'system' - return (localStorage.getItem(STORAGE_KEY) as ThemeMode) || 'system' + try { + if (typeof localStorage === 'undefined') return 'system' + const raw = localStorage.getItem(STORAGE_KEY) + return VALID_MODES.includes(raw as ThemeMode) ? (raw as ThemeMode) : 'system' + } catch { + return 'system' + } } function applyTheme(resolved: 'light' | 'dark') { @@ -38,14 +46,22 @@ function applyTheme(resolved: 'light' | 'dark') { export const useThemeStore = defineStore('theme', () => { const mode = ref(getStoredMode()) + // Separate reactive ref for system preference — allows matchMedia changes + // to trigger Vue reactivity in resolvedMode computed + const systemPreference = ref<'light' | 'dark'>(getSystemPreference()) + const resolvedMode = computed<'light' | 'dark'>(() => { - if (mode.value === 'system') return getSystemPreference() + if (mode.value === 'system') return systemPreference.value return mode.value }) function setMode(newMode: ThemeMode) { mode.value = newMode - localStorage.setItem(STORAGE_KEY, newMode) + try { + localStorage.setItem(STORAGE_KEY, newMode) + } catch { + // localStorage unavailable (private browsing, quota exceeded) — ignore + } } function toggle() { @@ -61,13 +77,10 @@ export const useThemeStore = defineStore('theme', () => { applyTheme(resolvedMode.value) }) - // Listen for system preference changes + // Listen for system preference changes — update reactive ref if (typeof window !== 'undefined') { - window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', () => { - // Force re-evaluation when system preference changes - if (mode.value === 'system') { - applyTheme(getSystemPreference()) - } + window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', (e) => { + systemPreference.value = e.matches ? 'dark' : 'light' }) } @@ -76,7 +89,7 @@ export const useThemeStore = defineStore('theme', () => { const isDark = resolvedMode.value === 'dark' return { - algorithm: isDark ? undefined : undefined, // Ant Design 4.x uses token-based theming + algorithm: isDark ? theme.darkAlgorithm : theme.defaultAlgorithm, token: { colorPrimary: readToken('--color-primary', isDark ? '#818cf8' : '#6366f1'), colorInfo: readToken('--color-primary', isDark ? '#818cf8' : '#6366f1'), diff --git a/src/agentkit/server/frontend/src/styles/responsive.css b/src/agentkit/server/frontend/src/styles/responsive.css index c8f6c54..c8e28fc 100644 --- a/src/agentkit/server/frontend/src/styles/responsive.css +++ b/src/agentkit/server/frontend/src/styles/responsive.css @@ -1,32 +1,32 @@ /** - * Fischer AgentKit Responsive Breakpoints + * Fischer AgentKit Responsive Breakpoints — Left Chat + Right Dual-Column * - * ≥1440px: Four quadrants fully visible - * 1280-1440px: Bottom-right quadrant auto-collapsed - * <1280px: Prompt to use larger screen + * ≥1440px: Full layout, both right panels visible + * 1024-1439px: Bottom-right panel auto-collapsed + * <1024px: Prompt to use larger screen */ -/* ── Full four-quadrant layout ── */ +/* ── Full layout ── */ @media (min-width: 1440px) { .agent-layout__body { display: flex; } } -/* ── Compact: bottom-right quadrant collapsed ── */ -@media (min-width: 1280px) and (max-width: 1439px) { +/* ── Compact: bottom-right panel collapsed ── */ +@media (min-width: 1024px) and (max-width: 1439px) { .agent-layout__body { display: flex; } - /* Auto-collapse bottom-right quadrant at medium widths */ + /* Auto-collapse bottom-right panel at medium widths */ .agent-layout__body .split-pane--horizontal > .split-pane__second .split-pane--vertical > .split-pane__second .quadrant-panel { height: auto !important; } } /* ── Too small: show prompt ── */ -@media (max-width: 1279px) { +@media (max-width: 1023px) { .agent-layout__body { display: none; } @@ -52,14 +52,17 @@ .agent-layout__small-screen h2 { font-size: var(--font-lg); color: var(--text-primary); + font-weight: var(--font-weight-semibold); } .agent-layout__small-screen p { font-size: var(--font-base); max-width: 400px; + color: var(--text-tertiary); + line-height: var(--leading-relaxed); } -/* ── Quadrant min-size for readability ── */ +/* ── Panel min-size for readability ── */ .quadrant-panel { min-width: var(--quadrant-min-size); min-height: var(--quadrant-min-size); diff --git a/src/agentkit/server/frontend/src/styles/theme.ts b/src/agentkit/server/frontend/src/styles/theme.ts index 5cf2f42..5fda9d4 100644 --- a/src/agentkit/server/frontend/src/styles/theme.ts +++ b/src/agentkit/server/frontend/src/styles/theme.ts @@ -1,5 +1,5 @@ /** - * Ant Design Vue Theme Token Mapping + * Ant Design Vue Theme Token Mapping — Notion-Inspired Light Theme * * Reads CSS custom properties at runtime from tokens.css to ensure * single source of truth. Falls back to hardcoded values if CSS @@ -17,28 +17,28 @@ function readToken(varName: string, fallback: string): string { export const themeConfig: ThemeConfig = { token: { // Brand — read from CSS variables - colorPrimary: readToken('--color-primary', '#7c3aed'), - colorInfo: readToken('--color-primary', '#7c3aed'), + colorPrimary: readToken('--color-primary', '#6366f1'), + colorInfo: readToken('--color-primary', '#6366f1'), // Semantic - colorSuccess: readToken('--color-success', '#10b981'), + colorSuccess: readToken('--color-success', '#22c55e'), colorWarning: readToken('--color-warning', '#f59e0b'), colorError: readToken('--color-error', '#ef4444'), // Text - colorText: readToken('--text-primary', '#171717'), - colorTextSecondary: readToken('--text-secondary', '#525252'), - colorTextTertiary: readToken('--text-tertiary', '#737373'), - colorTextQuaternary: readToken('--text-placeholder', '#a3a3a3'), + colorText: readToken('--text-primary', '#1a1a1a'), + colorTextSecondary: readToken('--text-secondary', '#4a4a4a'), + colorTextTertiary: readToken('--text-tertiary', '#6b6b6a'), + colorTextQuaternary: readToken('--text-placeholder', '#9b9b9a'), // Background colorBgContainer: readToken('--bg-primary', '#ffffff'), - colorBgLayout: readToken('--bg-secondary', '#fafafa'), + colorBgLayout: readToken('--bg-secondary', '#fbfbfa'), colorBgElevated: readToken('--bg-primary', '#ffffff'), // Border - colorBorder: readToken('--border-color', '#e5e5e5'), - colorBorderSecondary: readToken('--border-color-split', '#f0f0f0'), + colorBorder: readToken('--border-color', '#ededec'), + colorBorderSecondary: readToken('--border-color-split', '#f2f2f0'), // Font fontSize: 14, @@ -46,7 +46,7 @@ export const themeConfig: ThemeConfig = { fontSizeLG: 16, fontSizeXL: 20, - // Radius + // Radius — Notion-style slightly larger borderRadius: 8, borderRadiusSM: 6, borderRadiusLG: 12, @@ -59,9 +59,9 @@ export const themeConfig: ThemeConfig = { marginLG: 24, marginXL: 32, - // Shadow - boxShadow: '0 1px 2px 0 rgba(0, 0, 0, 0.05)', - boxShadowSecondary: '0 4px 6px -1px rgba(0, 0, 0, 0.07), 0 2px 4px -2px rgba(0, 0, 0, 0.05)', + // Shadow — Notion-style softer shadows + boxShadow: '0 1px 2px rgba(0, 0, 0, 0.04)', + boxShadowSecondary: '0 2px 8px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04)', // Control controlHeight: 32, @@ -70,19 +70,32 @@ export const themeConfig: ThemeConfig = { }, components: { Menu: { - itemSelectedBg: readToken('--color-primary-light', '#ede9fe'), - itemSelectedColor: readToken('--color-primary', '#7c3aed'), + itemSelectedBg: readToken('--color-primary-light', '#eef2ff'), + itemSelectedColor: readToken('--color-primary', '#6366f1'), itemHoverBg: '#f5f3ff', - itemHoverColor: readToken('--color-primary', '#7c3aed'), - itemColor: readToken('--text-secondary', '#525252'), + itemHoverColor: readToken('--color-primary', '#6366f1'), + itemColor: readToken('--text-secondary', '#4a4a4a'), } as Record, Tabs: { - itemSelectedColor: readToken('--color-primary', '#7c3aed'), - itemHoverColor: readToken('--color-primary-hover', '#6d28d9'), + itemSelectedColor: readToken('--color-primary', '#6366f1'), + itemHoverColor: readToken('--color-primary-hover', '#4f46e5'), } as Record, Select: { - colorPrimary: readToken('--color-primary', '#7c3aed'), - colorPrimaryHover: readToken('--color-primary-hover', '#6d28d9'), + colorPrimary: readToken('--color-primary', '#6366f1'), + colorPrimaryHover: readToken('--color-primary-hover', '#4f46e5'), + } as Record, + Button: { + borderRadius: 8, + controlHeight: 32, + } as Record, + Card: { + borderRadiusLG: 10, + } as Record, + Input: { + borderRadius: 8, + } as Record, + Modal: { + borderRadiusLG: 12, } as Record, }, } diff --git a/src/agentkit/server/frontend/src/styles/transitions.css b/src/agentkit/server/frontend/src/styles/transitions.css index 7d8eb20..cfd8888 100644 --- a/src/agentkit/server/frontend/src/styles/transitions.css +++ b/src/agentkit/server/frontend/src/styles/transitions.css @@ -1,8 +1,9 @@ /** - * Fischer AgentKit Transition Animations + * Fischer AgentKit Transition Animations — Notion-Inspired * * Unified transition classes for Vue components. * All durations reference Design Token variables for consistency. + * Notion-style: smoother, more subtle transitions. */ /* ── Fade ── */ @@ -24,7 +25,7 @@ .slide-up-enter-from, .slide-up-leave-to { - transform: translateY(8px); + transform: translateY(6px); opacity: 0; } @@ -36,7 +37,7 @@ .slide-down-enter-from, .slide-down-leave-to { - transform: translateY(-8px); + transform: translateY(-6px); opacity: 0; } @@ -48,7 +49,7 @@ .slide-right-enter-from, .slide-right-leave-to { - transform: translateX(-8px); + transform: translateX(-6px); opacity: 0; } @@ -79,7 +80,7 @@ .scale-enter-from, .scale-leave-to { - transform: scale(0.95); + transform: scale(0.96); opacity: 0; } @@ -94,7 +95,7 @@ .stagger-list-enter-from, .stagger-list-leave-to { - transform: translateY(8px); + transform: translateY(6px); opacity: 0; } @@ -102,19 +103,19 @@ transition: transform var(--transition-normal); } -/* ── Skeleton pulse ── */ +/* ── Skeleton pulse (Notion-style: warmer, subtler) ── */ @keyframes skeleton-pulse { 0% { opacity: 1; } - 50% { opacity: 0.4; } + 50% { opacity: 0.5; } 100% { opacity: 1; } } .skeleton-loading { - animation: skeleton-pulse 1.5s ease-in-out infinite; + animation: skeleton-pulse 2s ease-in-out infinite; background: linear-gradient( 90deg, var(--bg-tertiary) 25%, - var(--border-color) 50%, + var(--border-color-split) 50%, var(--bg-tertiary) 75% ); background-size: 200% 100%; @@ -128,5 +129,15 @@ } .pulse-dot { - animation: pulse-dot 1.5s ease-in-out infinite; + animation: pulse-dot 2s ease-in-out infinite; +} + +/* ── Gentle bounce for interactive elements ── */ +@keyframes gentle-bounce { + 0%, 100% { transform: translateY(0); } + 50% { transform: translateY(-2px); } +} + +.gentle-bounce { + animation: gentle-bounce 0.3s ease; } diff --git a/src/agentkit/server/frontend/src/views/ChatView.vue b/src/agentkit/server/frontend/src/views/ChatView.vue index d324759..7896647 100644 --- a/src/agentkit/server/frontend/src/views/ChatView.vue +++ b/src/agentkit/server/frontend/src/views/ChatView.vue @@ -18,9 +18,19 @@

      o5*Qb5zy6u0N_9M(~3pu*w zll3vb>&)4#3zBCUzNh|~Bkhm&8K+|p` zh5w|%yeasH&lo%L?~gM#%;BM6!{wnHp@Uhf*AIdmI!_0+?b?^AEY zr_DIVs@}EKyPA4y`qU$5rQPo+)x-B6t)w3Q0B?JY_mFF6pRRgk)VrK|*zbMnecGmt zY}K1eJ?vuH?rHTl1=n2?dK8`U!}-*kLcPhDsE5xWwj{M)o$&If z;!t}*VDk>u%cGv3dbg(5YtsBqyC5`<9Q?mjy&mM@QS7Wmsr48K{)`dEPx7ql;me4= zPrdo6^(s}*DmAjDnR*?;!qE0#a1UJIlF;ppt!?_Yr#4Mr_LTd7RGzi#cJ>I`rU#zh zG~If-Ex+Y6oAPTvvzPp*TSnoJlAQd&-zz6+Pjb@m(;?Zt{M27$mp4(rkn&sMvx~%M zopNm7j*BUuPkE5?%3{0z!<5gYyo&N0D33ek_(3{upnNvv*Hd0M)~>&X@>?mtmh!79 zFDbFhS5sa``Ao_yDQ|Vk@#%ClQeH;+<&+1<+4b??bUaDfpvNA?&lH?w*Pl=M)s%lg`TO!!ooC8pRmg#+ z^9;Y$+{-t#o_&;J?LRs?mGZDf4?;UUlb>69yX;Qso+GvA;?bK7JvlP`OwnBpbevhg zO3Lt|s@D&HG;}=CrsFKt>z_Y11S9skJ#rKE`r(fTz8yBd_@nCe&mY@@*V*g4UG@6s zkF1|FSU-1dev^9bt!IT+`~o=`nHoBRPPU2l)4=+1|GVplxTyF#LLD_GWydKLJeevo%Xmlp!;?;4dT)cWTP3YvO2=T^5_41+LF9c*KTi*a&>aj;*xm zqz_*J#twL%aQixWi*x$ow!zh%S2M=gNZJn$Gwn03hK=aeW?Zeq46J?Hr>?8(zexM< z;Dbz?yF)Sr?+p?odbJ-7V7#e!k zrlBvZUO%+aq&dIS*5$5Ny?$uJ)N8Tpl~d2q#!q~`v{8AQOB>+u67Eoz?P-@8+IW?^ zE^WkhI}Vvx9pe72Qnzt%!;!H@MkJ|p&VvWn14 z@Ozm(Ox`#9IK)T9u6FhxwdZgH-xcpio5qK_p!Xe=s|m*M)5K2+NY^2Pbh!C_Gw;m;wF|7 z_pkV$^&i;#3}ZIfdt_VW%cakC_x3z1f4qSiT`Qt~uyNa4b3$u@V=Zt@haW6QhIYWO z+DDEAuHHRA?D4jZ#JstCe%r9mi-~=^FC~ zb=0@09|Pvgl$YUMa5;K*xU1x=;qjxa@Pr~?_$YqqE_htWI_{@tZX)zqc#U#j zaHDs+N@g>@uYwyZJZYjYEPBuw*N=6^7GAY`;WvM5#^zHQW1IB$s@)pvvSP+MDp1<< zUEktjzMFAQ?;U5$pYo=*w~k5D&szMcZhr@NVi)jCewL&D!qCFWR`}pSe3fwpU$`EzmU&fVw0kAYjX<-mO-wDs47 z_qtPn_xgU|9pl1#V=ug3p8MB?d+aH|J-#2f4`G88eun)(a!RoN6AQZ^-2K{vKYnl0 z`M-JZwF}~p(e$odFamNtL#^{S@?CL*bs)Vo`ClLy}p-!43zdF`8MxJ zr@beIlNrRn!@IQyyB=7J@g0ptj&EJNr*U1DHMPCuIJ|&oh8G0K*t}p*|GZ!}dw8qq z&*1CR;K$vM*_C&hDO2o`Q|85=p{JI<>(<5JI$*YdxfqyFfWJ+WOAq#szc%q+&)VJO z%B6;W@OJ~_Nslp}v(5fucn156mANVVi`w6dA&1)~ zkAI6iev;qpg~ZXDI^yU~=nl%;*VP0(lCd)#y^DCE=#v5J;=`AY6UR3Moopp1-vv|9 zjb_qjla*MB?7bh^TW@4<0kUaW_+Y)2IGf-9#2%jXhset7!e)Mci;m)Hvz z_o{j9=MzgXfqe5FYpx?+%FegJ9Ru`{)7*Xo@m-8J1vYffZszR(b-jIcU1~ksHI-PR zTZv~`1b$8I@*tz1O716CyxEw&ML8rc2$?%*kyDC~SA1P;sBM%FU{J&d!oprdIb-Ut9YnS35UPI4NSqo)%5~IBKtJdL3 zD*L(}(=ZO6x0W*q?VLf-`Hr;2l)aze@cT`M^ay#S`Fp?NA%mwZvo0vFn*TgvW6g zyMcvzc6sd`I@7XtMDq6*!IXrZ`z*@!{2c3WE4+8@IQrKZ`R#3YZBg=fX} zd7pMCt6lI{3w*+vkK8o+Eqr_Ne87X}k2`q2%E9wCXKXJ1go}@>UE#Xenl;zD@-q2G zhf&ra&h?I9UR&+V8~dZCJ;rX&4>1u_Si?bR4SS@$%2z5ntAfrV=rUJuK4rT#E%Ykq zTk_doJ;1!eD@RnbuG*{0ONC#rUQ{TWpzRx(>rU2Yk7NS$l{_0dg|$!nGig7-ISaKJ ze!Fq^!u`(}`G_xg*2~ej+!$tT! zEMPSGwBtF+`17x=*w=U&@C^!ofA^qw*Qx!<+n9$z#2`;vHj?%S9W3W}3Az04%g(OP zKXzq(*0J(6f>)oaTI=u*=Ab*66)GfNu8?@S2;arq+AoIZmBI7a->_&;XZ;id@w@wx zr)7+BKI{ErXq>VcoTCy?6d(Hj+dMb?f!Ggzca-dH)VYr65-ag2aS6+%yIDKaQ<%W>`3HIVTX_0luVf7Ltpb^J%kU zv?aV_PZ_zjA2>Uxy8&M?HdNb9$f|qMGu7|+$O~V@9?CjwX7wZg3V8F{6}_@;t+Ba` zYymvflHPdCY_O$a>;L zOd~5l2Ay6PF8trzWsy9mdq%iLdh4jO?Yq8t&pm6gaQVK*5!4lo_BtCGI&}BmMz4(h zs^VoB>yLoJ@S2tOd28>T4I?=lW%M5IqIBw&Pmi+&#Bt?@MWI&x1zX=O*Skt&U=-*2xcrUeZ;|Ia723i+Sw07FveB z+tEo1Iq&s3Y=j89R16*yhc}y;D)@4Hot0Qd-mki0<>6@k&~SVWcN)>hHQ2@Gj$_tL z3>_-A`kHXZ!=Klkx9ExTZAlNY`OU6k_z!$3j((&wImRb-J-iBDem3w$kxzK=~`Wt_PnEUWLyU=zGi0DFqY! zJyzDvd;WaS0~(2`__AqR6i34Z=?VpQUf-i;9U{{W7aF` z%?pl42f|ZsqQ~eUw>fyy{f>4#x1V*LYjl`T1EZH06u~nJ`Hazj)?FkIzKN~-1I~;@ z^0?y)-2*nC{1d-7`DoGoJ}T%vKQCGgw$4cSv#iU=^$;qOFJQr^j9yv40~&%Ch>wb| zYChHzcUs&sDpUb5u4R+Ep%8!U@&NR0@39#F>oD^7 zqdP?kk&oE>is?ir+f-pqPSMFmNM11?S{KS6QLJ`KY+tQuXQ;I}f-Pc?qw+|Lzv}lb zHD!PYg?vTA!@%OtCJ0#-%fE@{uTa%7Y`VSqn#@%cB#-(FgJt%$?RPonedZ zufB@9W!N;|0C$5HESxrJg>ToSPvFm$^6px4 zYm6mFZx43Q`Ly9j?sp>dJIIf+mHnTs?Ekd;mqJ&8%>}$``=Qu3L*}Xsx!*4iZ; z99Z5vmwBO;KM+n%)aOkn(WiVeuhIV#3nopIZ)~Q)N#4N+8Dkjw$X_sj+8_@-?O?p_ z+*EwjGph^v(mlKX@mIRAT+IB>&WwWy<8{Yg!FO9m+h&XL9QF=FgJPL%xsR^{4z0y*j-{Mrl zvwoDj!&+_0&4x5R6gaK1=I+zO|(aUT_WTLVL>D@PjD) zfIFo_J@A7b_(2?g5CwK4|Mf0?+V(~-KX@4!1&_&7Fu!(-@qf@B>uy&BdKZi~+*!aZ zTSaI8(a*rodf?qQLb$+>VR(S}O-{4+KU{wE6zv=Qst+r-{?Q!|?q2?dAHUbW;M^C+ z71Zv&ahS!rl)WZ5?X%&< z@bDNsTsr9tE4x1Thk-CTg?3iq3)`5z;s+h@Yt7|ptfeL^uYRuOua{kdJ&SE_`;BI5 z9;LgXAFo|yh0#Se1<{9?lS`D_>0<7(DAJv$*aWgWqz9XQdT_4$5@ny|qC4i{JHN`x zuiuXx5YOzUADeat8T`9AlP>l5^w}-C1aHzG<%@RP6}=x|O?N@-5!$<&wHCjaJ{=hA z@EZt5?Y(37UMhb~4m2ZJ^L6hAzg>8xW12mE;PKM#XX(F#@j5=JO>jP!&qz4Wt9tTj+ImI#td`-w>!pjg;U`Mn1$~snfqP~$u z(AvkHakW!NurxJT;ZATlpZU}H7BIdAjIY}n-v-9l25kC0k$YR8U_NS)ncbJk~`(Cb8pnx~sIPy9}wr@4%~oH^2b zop_#X-B|PVP3Gt>KG|vWq&ceb%+U|~nV;9t-99Slz5k-8CntP#8}~)EDtXoU=Apep|EtHo_xJ*~3>PCTVW4pY^-? z;oQVK{{Zbwwi4^%gV7$VRJv-c#|l+%z(-f>4=sEeU3PfQW_*IB#PyfD<`nCT z=TD_(Fa7n*&)X{gly9Ezbe^Z+09cbaXq=h&6??0KKZ%3Jyu^dT0W>Tem~oxM{sd>S z7%#m4ywG#BTZ}C8^}PEYcrbn=tx@-R6#6yqJ(X|X3sZj|Ge(9!%7VvA9CwY?YHei6*rz9Dj}YAWm?@7ya00&FAvX5EEirVOXB6> zyoAjIXC4s`)cSdbJAf~9){WO*T4-|Kj!ep2*-P;o;3>#kjm7H+RxSp~imyII4o7e< zx?k5MT01YamNT~tF+ao5c}=r{(=O81=&jQWoKlMv0K_t6Lb`DuZKf4c5__3!)? zeh1|&jIkc8(0{7Xf0T#xnr|6j_NEGGI#$OWs_>|pDP_6gx$EtG4sqxswmL5y;rxwt z&Zy9O-QBG9?c|@F(oYg=~jGcv97hCo7gn0(&Ssk`|8xOL=t|HApxY9?au_w>wCc^>||$9+ehkE1i} zmwy_cL3*g)EaoScZYjKc%B9&I69X((LGI|Af{{_(p##-4sIopK4#@}px0=%HxNndd7f_&Oz zZzzNwl9JOi$Zy%d!pYOfyKHQMwSTs4f$2Ou0#4)T9!r91GmtPkp7bo_++m)@&?Ba! z4@N4HgZ%ymb9oCNL)(sB)4kfBryqFc$M~*M@AFtDg_DUo@(z0`SVQt%l&ujeEp!5{h-`)t_{{!B- zzXHC1ZHoV+YYnvC7@(~H?PB}EuZ&N10x`>VUhdALseM zOn7V2?`_uN%AhqXfd4!)+Ly=zH&O6VDL-lpG5tDU_4|E|9l-h+xD$OUm*3}ssS{q^ z%KWr52JPuI0aFco&XxS{T#bC%$r`B23Pm|@r#0~QXvR-_(trOmy0_8yCHB#Hw`;X% zKhLz?&H6g96J7P#eGeP}PukNuK;IL5c{>k)C+&^Lz>RE(ATY$ioAJRdMMr*>xf$t8 zbg5s;9UE(td~qGiu#I1(FWT-NNiG!0hNXeTB*s&XuSatq0q<`!FYg%pSax83^FjEa z<_x%+?__P1ec88o2mO{E1AqF@@0Mcbh4Xl#!8!Qv@&{=xV|S-HR~yyvra z^L;fBEd<^x!Lxj*bCDUHTfu7q=dm-wFsS)Ef?+GT6+IW&{mX`S`&Zw>;d%7`N6xQ( z(}Cd~!yEF6|H^G1FL++_EnaX2IQ_nF@kDrf+5NzW&+UZpy$F1q?d=b~n*`sB4t$*D z6n^@J5Bkgm-!b-11XuK`0l@P-@Z|LmPle!l-hn6Y1n`i1Clfq-1<#fN;^!y8!#N&vSx@`HKbyfS+f8r$_QJ6HO0l{;(E!o^jymAujVc^Y!C? z;0Xzy-$6&>eY*yTrze5yX#a5io8WrVf$Qk;;kvLNxE48Zt)FW14)ONs)Rnx_83gS; zy#2qBA1m3f9%O~?VXbmbGW5vV;+=QGJC|;LEP@XJ+2GG2mJ7anAF E+h_ZB{nns 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%0D~tLP^^2UCunO=UL+iPH2PM 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%0DJ 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

      jKX9q)tpE!2T@q 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%0D!je0$B$9x*i3b@neN9gntE+RFV}w5%eDGm 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ξg(tNOPSNP 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

    LVt54pS|i2X?X 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 z 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