Files
hack/tools/scripts/llm-key-hunter/results/_cache/content/aidara233_agentlilaraprojectsolution.json
T

1 line
40 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{"repo": "aidara233/agentlilaraprojectsolution", "files": {"docs/core/configuration.md": {"18f865061cecbcf7ce06dc41c7164d7d73d1638f": {"t": 1785746424.4814785, "n": 5007, "h": "190da22287be3b3d", "c": "# Core 配置指南\n\n## 配置文件位置\n\n```\nStorage/Core/{CoreName}.json\n```\n\n每个 Core 按其名称加载同名 JSON 配置。文件不存在时回退到 `Storage/Core/Base.json`。\n\n## 完整配置字段\n\n### 通用字段(所有协议)\n\n| JSON 键 | 类型 | 默认值 | 说明 |\n|---------|------|--------|------|\n| `apiKey` | string | `\"\"` | API 密钥 |\n| `apiEndpoint` | string | `\"https://api.siliconflow.cn/v1/chat/completions\"` | API 端点完整 URL |\n| `model` | string | `\"deepseek-ai/DeepSeek-R1-Distill-Qwen-7B\"` | 模型 ID |\n| `temperature` | double | `0.7` | 采样温度 |\n| `maxTokens` | int? | `null` | 最大输出 token 数 |\n| `topP` | double? | `null` | 核采样参数 |\n| `frequencyPenalty` | double? | `null` | 频率惩罚 |\n| `presencePenalty` | double? | `null` | 存在惩罚 |\n| `stream` | bool | `true` | 是否流式输出 |\n| `n` | int | `1` | 候选回复数 |\n| `useNativeTools` | bool | `false` | 是否使用原生 tool_use/function_calling |\n| `extraBody` | dict? | `null` | 注入请求体的额外字段 |\n| `conversationHistory` | List\\<Message\\> | `[]` | 预设对话历史(系统提示词等) |\n| `provider` | string | `\"openai\"` | 协议选择(见下方) |\n\n### Claude/Anthropic 专属字段\n\n| JSON 键 | 类型 | 默认值 | 说明 |\n|---------|------|--------|------|\n| `anthropicVersion` | string? | `null` | Anthropic API 版本头(如 `\"2023-06-01\"`) |\n| `promptCaching` | bool | `false` | 启用细粒度 prompt caching(system/user 消息自动加 `cache_control`) |\n\n---\n\n## 协议选择 (`provider`)\n\n`provider` 字段是**唯一的协议切换开关**,在 `ModelClientFactory.Create()` 中决定使用哪个 SDK:\n\n| `provider` 值 | 客户端类 | SDK |\n|---------------|----------|-----|\n| `\"claude\"` 或 `\"anthropic\"` | `ClaudeModelClient` | `Anthropic.SDK` |\n| `\"openai\"` 或其他/省略 | `OpenAIModelClient` | `OpenAI` NuGet |\n\n### OpenAI 协议配置示例\n\n```json\n{\n \"apiKey\": \"sk-xxx\",\n \"apiEndpoint\": \"https://api.deepseek.com/v1/chat/completions\",\n \"model\": \"deepseek-v4-flash\",\n \"temperature\": 0.7,\n \"maxTokens\": 4096,\n \"stream\": true,\n \"useNativeTools\": true\n}\n```\n\n- `provider` 可省略(默认值 `\"openai\"`)\n- `apiEndpoint` 填完整路径(含 `/v1/chat/completions`)\n- 适用后端:DeepSeek、SiliconFlow、OpenAI 官方、任何 OpenAI 兼容 API\n\n### Claude 协议配置示例\n\n```json\n{\n \"apiKey\": \"sk-xxx\",\n \"apiEndpoint\": \"https://514claude.xyz/v1/messages\",\n \"model\": \"claude-opus-4-6\",\n \"provider\": \"claude\",\n \"temperature\": 0.7,\n \"maxTokens\": 4096,\n \"stream\": true,\n \"useNativeTools\": true,\n \"anthropicVersion\": null,\n \"promptCaching\": true\n}\n```\n\n- `provider` **必须设为** `\"claude\"`(或 `\"anthropic\"`)\n- `apiEndpoint` 填 Anthropic 格式基路径(`/v1/messages`),SDK 自动拼接 `{base}/{version}/messages`\n- `promptCaching` 启用时自动在 system/user 消息上添加 `cache_control`\n- `extraBody.thinking` 可启用 Claude 扩展思考(`{\"type\": \"enabled\", \"budget_tokens\": 16000}`)\n\n### 协议互换注意事项\n\n切换 `provider` 时必须同步更新 `apiEndpoint`,否则 API 调用会 404:\n\n| 切换方向 | Endpoint 变化 |\n|----------|--------------|\n| Claude → OpenAI | `/v1/messages` → `/v1/chat/completions` |\n| OpenAI → Claude | `/v1/chat/completions` → `/v1/messages` |\n\n协议专属功能在切换后**静默丢失**(不报错):\n- `promptCaching` → OpenAI 客户端忽略\n- `anthropicVersion` → OpenAI 客户端忽略\n- `extraBody.thinking` → OpenAI 客户端忽略\n- Thinking 流事件 → OpenAI 客户端不发出\n\n---\n\n## Persona 注入\n\nPersona.txt 作为普通 prompt 文件处理。需要 Persona 的 Core 在 `promptFiles` 数组首项加入 `\"Persona.txt\"`,由 `PromptLoader` 统一按序加载。不需要 Persona 的 Core(工具性核心如 SummarizationCore、MemoryExtractionCore 等)不在 `promptFiles` 中包含即可。\n\n---\n\n## 当前配置分布\n\n| 配置文件名 | provider | model | useNativeTools | 用途 |\n|-----------|----------|-------|:---:|------|\n| `Base.json` | openai | deepseek-v4-flash | - | 默认回退 + 工具核心共用 |\n| `SessionCore.json` | claude | claude-opus-4-6 | ✓ | RuntimeSession 多轮推理(原 WorkingCore) |\n| `ExpressCore.json` | claude | claude-sonnet-4-6 | ✓ | 频道循环 Express 模式 |\n| `SystemCore.json` | claude | claude-opus-4-6 | ✓ | 系统循环 |\n| `ReviewCore.json` | openai | deepseek-v4-pro | ✓ | 复盘引擎 |\n| `CombineCore.json` | openai | deepseek-v4-flash | - | 记忆组合 |\n| `LinkCore.json` | openai | deepseek-v4-flash | - | 关联分析 |\n| `ConsolidationCore.json` | openai | deepseek-v4-flash | - | 记忆整合第一轮 |\n| `ConsolidationFinalCore.json` | openai | deepseek-v4-flash | - | 记忆整合第二轮 |\n| `DedupCore.json` | openai | deepseek-v4-flash | - | 记忆去重 |\n| `WeightCore.json` | openai | deepseek-v4-flash | - | 权重评估 |\n| `MemoryExtractionCore.json` | openai | deepseek-v4-flash | - | 记忆提取 |\n| `MemoryQueryCore.json` | openai | deepseek-v4-flash | - | (已废弃) |\n| `SleepTalkCore.json` | openai | deepseek-v4-flash | - | 梦话生成 |\n| `SummarizationCore.json` | — | — | — | (已删除,模板归档于 templates/Core/) |\n\n> 注:`VisionProvider.json`、`OcrProvider.json`、`EmbeddingProvider.json` 不是 Core 配置,而是独立 Provider 的配置。\n\n---\n\n## ExtraBody 用法\n\n`extraBody` 用于向 API 请求体注入非标准字段,常见用途:\n\n### DeepSeek 思考功能(OpenAI 协议)\n\n```json\n{\n \"extraBody\": {\n \"thinking\": { \"type\": \"enabled\" }\n }\n}\n```\n\n### Claude 扩展思考(Claude 协议)\n\n```json\n{\n \"extraBody\": {\n \"thinking\": { \"type\": \"enabled\", \"budget_tokens\": 16000 }\n }\n}\n```\n\n> 警告:`extraBody.thinking` **仅被 ClaudeModelClient 解析**。在 OpenAI 协议下,需要通过 `extraBody` 的原始注入机制(取决于中转站是否支持转发)。\n\n---\n\n## conversationHistory(预设消息)\n\n`conversationHistory` 用于注入固定的系统提示词和预设对话:\n\n```json\n{\n \"conversationHistory\": [\n { \"role\": \"system\", \"content\": \"你是一个记忆管理助手...\" },\n { \"role\": \"user\", \"content\": \"请开始处理。\" }\n ]\n}\n```\n\n消息在 `ApplyExtraMessages()` 中按顺序注入到客户端。\n"}, "d7a45c076cbf977c33b96744382305c50d2d79fa": {"t": 1785764002.7998183, "n": 5007, "h": "190da22287be3b3d", "c": "# Core 配置指南\n\n## 配置文件位置\n\n```\nStorage/Core/{CoreName}.json\n```\n\n每个 Core 按其名称加载同名 JSON 配置。文件不存在时回退到 `Storage/Core/Base.json`。\n\n## 完整配置字段\n\n### 通用字段(所有协议)\n\n| JSON 键 | 类型 | 默认值 | 说明 |\n|---------|------|--------|------|\n| `apiKey` | string | `\"\"` | API 密钥 |\n| `apiEndpoint` | string | `\"https://api.siliconflow.cn/v1/chat/completions\"` | API 端点完整 URL |\n| `model` | string | `\"deepseek-ai/DeepSeek-R1-Distill-Qwen-7B\"` | 模型 ID |\n| `temperature` | double | `0.7` | 采样温度 |\n| `maxTokens` | int? | `null` | 最大输出 token 数 |\n| `topP` | double? | `null` | 核采样参数 |\n| `frequencyPenalty` | double? | `null` | 频率惩罚 |\n| `presencePenalty` | double? | `null` | 存在惩罚 |\n| `stream` | bool | `true` | 是否流式输出 |\n| `n` | int | `1` | 候选回复数 |\n| `useNativeTools` | bool | `false` | 是否使用原生 tool_use/function_calling |\n| `extraBody` | dict? | `null` | 注入请求体的额外字段 |\n| `conversationHistory` | List\\<Message\\> | `[]` | 预设对话历史(系统提示词等) |\n| `provider` | string | `\"openai\"` | 协议选择(见下方) |\n\n### Claude/Anthropic 专属字段\n\n| JSON 键 | 类型 | 默认值 | 说明 |\n|---------|------|--------|------|\n| `anthropicVersion` | string? | `null` | Anthropic API 版本头(如 `\"2023-06-01\"`) |\n| `promptCaching` | bool | `false` | 启用细粒度 prompt caching(system/user 消息自动加 `cache_control`) |\n\n---\n\n## 协议选择 (`provider`)\n\n`provider` 字段是**唯一的协议切换开关**,在 `ModelClientFactory.Create()` 中决定使用哪个 SDK:\n\n| `provider` 值 | 客户端类 | SDK |\n|---------------|----------|-----|\n| `\"claude\"` 或 `\"anthropic\"` | `ClaudeModelClient` | `Anthropic.SDK` |\n| `\"openai\"` 或其他/省略 | `OpenAIModelClient` | `OpenAI` NuGet |\n\n### OpenAI 协议配置示例\n\n```json\n{\n \"apiKey\": \"sk-xxx\",\n \"apiEndpoint\": \"https://api.deepseek.com/v1/chat/completions\",\n \"model\": \"deepseek-v4-flash\",\n \"temperature\": 0.7,\n \"maxTokens\": 4096,\n \"stream\": true,\n \"useNativeTools\": true\n}\n```\n\n- `provider` 可省略(默认值 `\"openai\"`)\n- `apiEndpoint` 填完整路径(含 `/v1/chat/completions`)\n- 适用后端:DeepSeek、SiliconFlow、OpenAI 官方、任何 OpenAI 兼容 API\n\n### Claude 协议配置示例\n\n```json\n{\n \"apiKey\": \"sk-xxx\",\n \"apiEndpoint\": \"https://514claude.xyz/v1/messages\",\n \"model\": \"claude-opus-4-6\",\n \"provider\": \"claude\",\n \"temperature\": 0.7,\n \"maxTokens\": 4096,\n \"stream\": true,\n \"useNativeTools\": true,\n \"anthropicVersion\": null,\n \"promptCaching\": true\n}\n```\n\n- `provider` **必须设为** `\"claude\"`(或 `\"anthropic\"`)\n- `apiEndpoint` 填 Anthropic 格式基路径(`/v1/messages`),SDK 自动拼接 `{base}/{version}/messages`\n- `promptCaching` 启用时自动在 system/user 消息上添加 `cache_control`\n- `extraBody.thinking` 可启用 Claude 扩展思考(`{\"type\": \"enabled\", \"budget_tokens\": 16000}`)\n\n### 协议互换注意事项\n\n切换 `provider` 时必须同步更新 `apiEndpoint`,否则 API 调用会 404:\n\n| 切换方向 | Endpoint 变化 |\n|----------|--------------|\n| Claude → OpenAI | `/v1/messages` → `/v1/chat/completions` |\n| OpenAI → Claude | `/v1/chat/completions` → `/v1/messages` |\n\n协议专属功能在切换后**静默丢失**(不报错):\n- `promptCaching` → OpenAI 客户端忽略\n- `anthropicVersion` → OpenAI 客户端忽略\n- `extraBody.thinking` → OpenAI 客户端忽略\n- Thinking 流事件 → OpenAI 客户端不发出\n\n---\n\n## Persona 注入\n\nPersona.txt 作为普通 prompt 文件处理。需要 Persona 的 Core 在 `promptFiles` 数组首项加入 `\"Persona.txt\"`,由 `PromptLoader` 统一按序加载。不需要 Persona 的 Core(工具性核心如 SummarizationCore、MemoryExtractionCore 等)不在 `promptFiles` 中包含即可。\n\n---\n\n## 当前配置分布\n\n| 配置文件名 | provider | model | useNativeTools | 用途 |\n|-----------|----------|-------|:---:|------|\n| `Base.json` | openai | deepseek-v4-flash | - | 默认回退 + 工具核心共用 |\n| `SessionCore.json` | claude | claude-opus-4-6 | ✓ | RuntimeSession 多轮推理(原 WorkingCore) |\n| `ExpressCore.json` | claude | claude-sonnet-4-6 | ✓ | 频道循环 Express 模式 |\n| `SystemCore.json` | claude | claude-opus-4-6 | ✓ | 系统循环 |\n| `ReviewCore.json` | openai | deepseek-v4-pro | ✓ | 复盘引擎 |\n| `CombineCore.json` | openai | deepseek-v4-flash | - | 记忆组合 |\n| `LinkCore.json` | openai | deepseek-v4-flash | - | 关联分析 |\n| `ConsolidationCore.json` | openai | deepseek-v4-flash | - | 记忆整合第一轮 |\n| `ConsolidationFinalCore.json` | openai | deepseek-v4-flash | - | 记忆整合第二轮 |\n| `DedupCore.json` | openai | deepseek-v4-flash | - | 记忆去重 |\n| `WeightCore.json` | openai | deepseek-v4-flash | - | 权重评估 |\n| `MemoryExtractionCore.json` | openai | deepseek-v4-flash | - | 记忆提取 |\n| `MemoryQueryCore.json` | openai | deepseek-v4-flash | - | (已废弃) |\n| `SleepTalkCore.json` | openai | deepseek-v4-flash | - | 梦话生成 |\n| `SummarizationCore.json` | — | — | — | (已删除,模板归档于 templates/Core/) |\n\n> 注:`VisionProvider.json`、`OcrProvider.json`、`EmbeddingProvider.json` 不是 Core 配置,而是独立 Provider 的配置。\n\n---\n\n## ExtraBody 用法\n\n`extraBody` 用于向 API 请求体注入非标准字段,常见用途:\n\n### DeepSeek 思考功能(OpenAI 协议)\n\n```json\n{\n \"extraBody\": {\n \"thinking\": { \"type\": \"enabled\" }\n }\n}\n```\n\n### Claude 扩展思考(Claude 协议)\n\n```json\n{\n \"extraBody\": {\n \"thinking\": { \"type\": \"enabled\", \"budget_tokens\": 16000 }\n }\n}\n```\n\n> 警告:`extraBody.thinking` **仅被 ClaudeModelClient 解析**。在 OpenAI 协议下,需要通过 `extraBody` 的原始注入机制(取决于中转站是否支持转发)。\n\n---\n\n## conversationHistory(预设消息)\n\n`conversationHistory` 用于注入固定的系统提示词和预设对话:\n\n```json\n{\n \"conversationHistory\": [\n { \"role\": \"system\", \"content\": \"你是一个记忆管理助手...\" },\n { \"role\": \"user\", \"content\": \"请开始处理。\" }\n ]\n}\n```\n\n消息在 `ApplyExtraMessages()` 中按顺序注入到客户端。\n"}, "43a6ba1189d584c97ebae00c4897f560568fd9a3": {"t": 1785764004.7491975, "n": 5072, "h": "ea8b4c0052bb419c", "c": "# Core 配置指南\n\n## 配置文件位置\n\n```\nStorage/Core/{CoreName}.json\n```\n\n每个 Core 按其名称加载同名 JSON 配置。文件不存在时回退到 `Storage/Core/Base.json`。\n\n## 完整配置字段\n\n### 通用字段(所有协议)\n\n| JSON 键 | 类型 | 默认值 | 说明 |\n|---------|------|--------|------|\n| `apiKey` | string | `\"\"` | API 密钥 |\n| `apiEndpoint` | string | `\"https://api.siliconflow.cn/v1/chat/completions\"` | API 端点完整 URL |\n| `model` | string | `\"deepseek-ai/DeepSeek-R1-Distill-Qwen-7B\"` | 模型 ID |\n| `temperature` | double | `0.7` | 采样温度 |\n| `maxTokens` | int? | `null` | 最大输出 token 数 |\n| `topP` | double? | `null` | 核采样参数 |\n| `frequencyPenalty` | double? | `null` | 频率惩罚 |\n| `presencePenalty` | double? | `null` | 存在惩罚 |\n| `stream` | bool | `true` | 是否流式输出 |\n| `n` | int | `1` | 候选回复数 |\n| `useNativeTools` | bool | `false` | 是否使用原生 tool_use/function_calling |\n| `extraBody` | dict? | `null` | 注入请求体的额外字段 |\n| `conversationHistory` | List\\<Message\\> | `[]` | 预设对话历史(系统提示词等) |\n| `provider` | string | `\"openai\"` | 协议选择(见下方) |\n\n### Claude/Anthropic 专属字段\n\n| JSON 键 | 类型 | 默认值 | 说明 |\n|---------|------|--------|------|\n| `anthropicVersion` | string? | `null` | Anthropic API 版本头(如 `\"2023-06-01\"`) |\n| `promptCaching` | bool | `false` | 启用细粒度 prompt caching(system/user 消息自动加 `cache_control`) |\n\n---\n\n## 协议选择 (`provider`)\n\n`provider` 字段是**唯一的协议切换开关**,在 `ModelClientFactory.Create()` 中决定使用哪个 SDK:\n\n| `provider` 值 | 客户端类 | SDK |\n|---------------|----------|-----|\n| `\"claude\"` 或 `\"anthropic\"` | `ClaudeModelClient` | `Anthropic.SDK` |\n| `\"openai\"` 或其他/省略 | `OpenAIModelClient` | `OpenAI` NuGet |\n\n### OpenAI 协议配置示例\n\n```json\n{\n \"apiKey\": \"sk-xxx\",\n \"apiEndpoint\": \"https://api.deepseek.com/v1/chat/completions\",\n \"model\": \"deepseek-v4-flash\",\n \"temperature\": 0.7,\n \"maxTokens\": 4096,\n \"stream\": true,\n \"useNativeTools\": true\n}\n```\n\n- `provider` 可省略(默认值 `\"openai\"`)\n- `apiEndpoint` 填完整路径(含 `/v1/chat/completions`)\n- 适用后端:DeepSeek、SiliconFlow、OpenAI 官方、任何 OpenAI 兼容 API\n\n### Claude 协议配置示例\n\n```json\n{\n \"apiKey\": \"sk-xxx\",\n \"apiEndpoint\": \"https://514claude.xyz/v1/messages\",\n \"model\": \"claude-opus-4-6\",\n \"provider\": \"claude\",\n \"temperature\": 0.7,\n \"maxTokens\": 4096,\n \"stream\": true,\n \"useNativeTools\": true,\n \"anthropicVersion\": null,\n \"promptCaching\": true\n}\n```\n\n- `provider` **必须设为** `\"claude\"`(或 `\"anthropic\"`)\n- `apiEndpoint` 填 Anthropic 格式基路径(`/v1/messages`),SDK 自动拼接 `{base}/{version}/messages`\n- `promptCaching` 启用时自动在 system/user 消息上添加 `cache_control`\n- `extraBody.thinking` 可启用 Claude 扩展思考(`{\"type\": \"enabled\", \"budget_tokens\": 16000}`)\n\n### 协议互换注意事项\n\n切换 `provider` 时必须同步更新 `apiEndpoint`,否则 API 调用会 404:\n\n| 切换方向 | Endpoint 变化 |\n|----------|--------------|\n| Claude → OpenAI | `/v1/messages` → `/v1/chat/completions` |\n| OpenAI → Claude | `/v1/chat/completions` → `/v1/messages` |\n\n协议专属功能在切换后**静默丢失**(不报错):\n- `promptCaching` → OpenAI 客户端忽略\n- `anthropicVersion` → OpenAI 客户端忽略\n- `extraBody.thinking` → OpenAI 客户端忽略\n- Thinking 流事件 → OpenAI 客户端不发出\n\n---\n\n## Persona 注入\n\nPersona.txt 作为普通 prompt 文件处理。需要 Persona 的 Core 在 `promptFiles` 数组首项加入 `\"Persona.txt\"`,由 `PromptLoader` 统一按序加载。不需要 Persona 的 Core(工具性核心如 SummarizationCore、MemoryExtractionCore 等)不在 `promptFiles` 中包含即可。\n\n---\n\n## 当前配置分布\n\n| 配置文件名 | provider | model | useNativeTools | 用途 |\n|-----------|----------|-------|:---:|------|\n| `Base.json` | openai | deepseek-v4-flash | - | 默认回退 + 工具核心共用 |\n| `SessionCore.json` | claude | claude-opus-4-6 | ✓ | RuntimeSession 多轮推理(原 WorkingCore) |\n| `ExpressCore.json` | claude | claude-sonnet-4-6 | ✓ | 频道循环 Express 模式 |\n| `SystemCore.json` | claude | claude-opus-4-6 | ✓ | 系统循环 |\n| `ReviewCore.json` | openai | deepseek-v4-pro | ✓ | 复盘引擎 |\n| `CombineCore.json` | openai | deepseek-v4-flash | - | 记忆组合 |\n| `LinkCore.json` | openai | deepseek-v4-flash | - | 关联分析 |\n| `ConsolidationCore.json` | openai | deepseek-v4-flash | - | 记忆整合第一轮 |\n| `ConsolidationFinalCore.json` | openai | deepseek-v4-flash | - | 记忆整合第二轮 |\n| `DedupCore.json` | openai | deepseek-v4-flash | - | 记忆去重 |\n| `WeightCore.json` | openai | deepseek-v4-flash | - | 权重评估 |\n| `MemoryExtractionCore.json` | openai | deepseek-v4-flash | - | 记忆提取 |\n| `MemoryQueryCore.json` | openai | deepseek-v4-flash | - | (已废弃) |\n| `SleepTalkCore.json` | openai | deepseek-v4-flash | - | 梦话生成 |\n| `SubAgentCore.json` | openai | deepseek-v4-flash | - | (已废弃) |\n| `SummarizationCore.json` | — | — | — | (已删除,模板归档于 templates/Core/) |\n\n> 注:`VisionProvider.json`、`OcrProvider.json`、`EmbeddingProvider.json` 不是 Core 配置,而是独立 Provider 的配置。\n\n---\n\n## ExtraBody 用法\n\n`extraBody` 用于向 API 请求体注入非标准字段,常见用途:\n\n### DeepSeek 思考功能(OpenAI 协议)\n\n```json\n{\n \"extraBody\": {\n \"thinking\": { \"type\": \"enabled\" }\n }\n}\n```\n\n### Claude 扩展思考(Claude 协议)\n\n```json\n{\n \"extraBody\": {\n \"thinking\": { \"type\": \"enabled\", \"budget_tokens\": 16000 }\n }\n}\n```\n\n> 警告:`extraBody.thinking` **仅被 ClaudeModelClient 解析**。在 OpenAI 协议下,需要通过 `extraBody` 的原始注入机制(取决于中转站是否支持转发)。\n\n---\n\n## conversationHistory(预设消息)\n\n`conversationHistory` 用于注入固定的系统提示词和预设对话:\n\n```json\n{\n \"conversationHistory\": [\n { \"role\": \"system\", \"content\": \"你是一个记忆管理助手...\" },\n { \"role\": \"user\", \"content\": \"请开始处理。\" }\n ]\n}\n```\n\n消息在 `ApplyExtraMessages()` 中按顺序注入到客户端。\n"}, "dea8e289b9583d7816e4a28eeb8bd884ca57a84b": {"t": 1785764006.5379024, "n": 5054, "h": "4ea24037808fc328", "c": "# Core 配置指南\n\n## 配置文件位置\n\n```\nStorage/Core/{CoreName}.json\n```\n\n每个 Core 按其名称加载同名 JSON 配置。文件不存在时回退到 `Storage/Core/Base.json`。\n\n## 完整配置字段\n\n### 通用字段(所有协议)\n\n| JSON 键 | 类型 | 默认值 | 说明 |\n|---------|------|--------|------|\n| `apiKey` | string | `\"\"` | API 密钥 |\n| `apiEndpoint` | string | `\"https://api.siliconflow.cn/v1/chat/completions\"` | API 端点完整 URL |\n| `model` | string | `\"deepseek-ai/DeepSeek-R1-Distill-Qwen-7B\"` | 模型 ID |\n| `temperature` | double | `0.7` | 采样温度 |\n| `maxTokens` | int? | `null` | 最大输出 token 数 |\n| `topP` | double? | `null` | 核采样参数 |\n| `frequencyPenalty` | double? | `null` | 频率惩罚 |\n| `presencePenalty` | double? | `null` | 存在惩罚 |\n| `stream` | bool | `true` | 是否流式输出 |\n| `n` | int | `1` | 候选回复数 |\n| `useNativeTools` | bool | `false` | 是否使用原生 tool_use/function_calling |\n| `extraBody` | dict? | `null` | 注入请求体的额外字段 |\n| `conversationHistory` | List\\<Message\\> | `[]` | 预设对话历史(系统提示词等) |\n| `provider` | string | `\"openai\"` | 协议选择(见下方) |\n\n### Claude/Anthropic 专属字段\n\n| JSON 键 | 类型 | 默认值 | 说明 |\n|---------|------|--------|------|\n| `anthropicVersion` | string? | `null` | Anthropic API 版本头(如 `\"2023-06-01\"`) |\n| `promptCaching` | bool | `false` | 启用细粒度 prompt caching(system/user 消息自动加 `cache_control`) |\n\n---\n\n## 协议选择 (`provider`)\n\n`provider` 字段是**唯一的协议切换开关**,在 `ModelClientFactory.Create()` 中决定使用哪个 SDK:\n\n| `provider` 值 | 客户端类 | SDK |\n|---------------|----------|-----|\n| `\"claude\"` 或 `\"anthropic\"` | `ClaudeModelClient` | `Anthropic.SDK` |\n| `\"openai\"` 或其他/省略 | `OpenAIModelClient` | `OpenAI` NuGet |\n\n### OpenAI 协议配置示例\n\n```json\n{\n \"apiKey\": \"sk-xxx\",\n \"apiEndpoint\": \"https://api.deepseek.com/v1/chat/completions\",\n \"model\": \"deepseek-v4-flash\",\n \"temperature\": 0.7,\n \"maxTokens\": 4096,\n \"stream\": true,\n \"useNativeTools\": true\n}\n```\n\n- `provider` 可省略(默认值 `\"openai\"`)\n- `apiEndpoint` 填完整路径(含 `/v1/chat/completions`)\n- 适用后端:DeepSeek、SiliconFlow、OpenAI 官方、任何 OpenAI 兼容 API\n\n### Claude 协议配置示例\n\n```json\n{\n \"apiKey\": \"sk-xxx\",\n \"apiEndpoint\": \"https://514claude.xyz/v1/messages\",\n \"model\": \"claude-opus-4-6\",\n \"provider\": \"claude\",\n \"temperature\": 0.7,\n \"maxTokens\": 4096,\n \"stream\": true,\n \"useNativeTools\": true,\n \"anthropicVersion\": null,\n \"promptCaching\": true\n}\n```\n\n- `provider` **必须设为** `\"claude\"`(或 `\"anthropic\"`)\n- `apiEndpoint` 填 Anthropic 格式基路径(`/v1/messages`),SDK 自动拼接 `{base}/{version}/messages`\n- `promptCaching` 启用时自动在 system/user 消息上添加 `cache_control`\n- `extraBody.thinking` 可启用 Claude 扩展思考(`{\"type\": \"enabled\", \"budget_tokens\": 16000}`)\n\n### 协议互换注意事项\n\n切换 `provider` 时必须同步更新 `apiEndpoint`,否则 API 调用会 404:\n\n| 切换方向 | Endpoint 变化 |\n|----------|--------------|\n| Claude → OpenAI | `/v1/messages` → `/v1/chat/completions` |\n| OpenAI → Claude | `/v1/chat/completions` → `/v1/messages` |\n\n协议专属功能在切换后**静默丢失**(不报错):\n- `promptCaching` → OpenAI 客户端忽略\n- `anthropicVersion` → OpenAI 客户端忽略\n- `extraBody.thinking` → OpenAI 客户端忽略\n- Thinking 流事件 → OpenAI 客户端不发出\n\n---\n\n## Persona 注入\n\nPersona.txt 作为普通 prompt 文件处理。需要 Persona 的 Core 在 `promptFiles` 数组首项加入 `\"Persona.txt\"`,由 `PromptLoader` 统一按序加载。不需要 Persona 的 Core(工具性核心如 SummarizationCore、MemoryExtractionCore 等)不在 `promptFiles` 中包含即可。\n\n---\n\n## 当前配置分布\n\n| 配置文件名 | provider | model | useNativeTools | 用途 |\n|-----------|----------|-------|:---:|------|\n| `Base.json` | openai | deepseek-v4-flash | - | 默认回退 + 工具核心共用 |\n| `SessionCore.json` | claude | claude-opus-4-6 | ✓ | RuntimeSession 多轮推理(原 WorkingCore) |\n| `ExpressCore.json` | claude | claude-sonnet-4-6 | ✓ | 频道循环 Express 模式 |\n| `SystemCore.json` | claude | claude-opus-4-6 | ✓ | 系统循环 |\n| `ReviewCore.json` | openai | deepseek-v4-pro | ✓ | 复盘引擎 |\n| `CombineCore.json` | openai | deepseek-v4-flash | - | 记忆组合 |\n| `LinkCore.json` | openai | deepseek-v4-flash | - | 关联分析 |\n| `ConsolidationCore.json` | openai | deepseek-v4-flash | - | 记忆整合第一轮 |\n| `ConsolidationFinalCore.json` | openai | deepseek-v4-flash | - | 记忆整合第二轮 |\n| `DedupCore.json` | openai | deepseek-v4-flash | - | 记忆去重 |\n| `WeightCore.json` | openai | deepseek-v4-flash | - | 权重评估 |\n| `MemoryExtractionCore.json` | openai | deepseek-v4-flash | - | 记忆提取 |\n| `MemoryQueryCore.json` | openai | deepseek-v4-flash | - | (已废弃) |\n| `SleepTalkCore.json` | openai | deepseek-v4-flash | - | 梦话生成 |\n| `SubAgentCore.json` | openai | deepseek-v4-flash | - | (已废弃) |\n| `SummarizationCore.json` | (特殊格式) | - | - | 摘要压缩 |\n\n> 注:`VisionProvider.json`、`OcrProvider.json`、`EmbeddingProvider.json` 不是 Core 配置,而是独立 Provider 的配置。\n\n---\n\n## ExtraBody 用法\n\n`extraBody` 用于向 API 请求体注入非标准字段,常见用途:\n\n### DeepSeek 思考功能(OpenAI 协议)\n\n```json\n{\n \"extraBody\": {\n \"thinking\": { \"type\": \"enabled\" }\n }\n}\n```\n\n### Claude 扩展思考(Claude 协议)\n\n```json\n{\n \"extraBody\": {\n \"thinking\": { \"type\": \"enabled\", \"budget_tokens\": 16000 }\n }\n}\n```\n\n> 警告:`extraBody.thinking` **仅被 ClaudeModelClient 解析**。在 OpenAI 协议下,需要通过 `extraBody` 的原始注入机制(取决于中转站是否支持转发)。\n\n---\n\n## conversationHistory(预设消息)\n\n`conversationHistory` 用于注入固定的系统提示词和预设对话:\n\n```json\n{\n \"conversationHistory\": [\n { \"role\": \"system\", \"content\": \"你是一个记忆管理助手...\" },\n { \"role\": \"user\", \"content\": \"请开始处理。\" }\n ]\n}\n```\n\n消息在 `ApplyExtraMessages()` 中按顺序注入到客户端。\n"}, "237aa6617cf96d781b2f6409625577bc28ad1910": {"t": 1785764007.8529928, "n": 5035, "h": "4c54ca05191eb3a9", "c": "# Core 配置指南\n\n## 配置文件位置\n\n```\nStorage/Core/{CoreName}.json\n```\n\n每个 Core 按其名称加载同名 JSON 配置。文件不存在时回退到 `Storage/Core/Base.json`。\n\n## 完整配置字段\n\n### 通用字段(所有协议)\n\n| JSON 键 | 类型 | 默认值 | 说明 |\n|---------|------|--------|------|\n| `apiKey` | string | `\"\"` | API 密钥 |\n| `apiEndpoint` | string | `\"https://api.siliconflow.cn/v1/chat/completions\"` | API 端点完整 URL |\n| `model` | string | `\"deepseek-ai/DeepSeek-R1-Distill-Qwen-7B\"` | 模型 ID |\n| `temperature` | double | `0.7` | 采样温度 |\n| `maxTokens` | int? | `null` | 最大输出 token 数 |\n| `topP` | double? | `null` | 核采样参数 |\n| `frequencyPenalty` | double? | `null` | 频率惩罚 |\n| `presencePenalty` | double? | `null` | 存在惩罚 |\n| `stream` | bool | `true` | 是否流式输出 |\n| `n` | int | `1` | 候选回复数 |\n| `useNativeTools` | bool | `false` | 是否使用原生 tool_use/function_calling |\n| `extraBody` | dict? | `null` | 注入请求体的额外字段 |\n| `conversationHistory` | List\\<Message\\> | `[]` | 预设对话历史(系统提示词等) |\n| `provider` | string | `\"openai\"` | 协议选择(见下方) |\n\n### Claude/Anthropic 专属字段\n\n| JSON 键 | 类型 | 默认值 | 说明 |\n|---------|------|--------|------|\n| `anthropicVersion` | string? | `null` | Anthropic API 版本头(如 `\"2023-06-01\"`) |\n| `promptCaching` | bool | `false` | 启用细粒度 prompt caching(system/user 消息自动加 `cache_control`) |\n\n---\n\n## 协议选择 (`provider`)\n\n`provider` 字段是**唯一的协议切换开关**,在 `ModelClientFactory.Create()` 中决定使用哪个 SDK:\n\n| `provider` 值 | 客户端类 | SDK |\n|---------------|----------|-----|\n| `\"claude\"` 或 `\"anthropic\"` | `ClaudeModelClient` | `Anthropic.SDK` |\n| `\"openai\"` 或其他/省略 | `OpenAIModelClient` | `OpenAI` NuGet |\n\n### OpenAI 协议配置示例\n\n```json\n{\n \"apiKey\": \"sk-xxx\",\n \"apiEndpoint\": \"https://api.deepseek.com/v1/chat/completions\",\n \"model\": \"deepseek-v4-flash\",\n \"temperature\": 0.7,\n \"maxTokens\": 4096,\n \"stream\": true,\n \"useNativeTools\": true\n}\n```\n\n- `provider` 可省略(默认值 `\"openai\"`)\n- `apiEndpoint` 填完整路径(含 `/v1/chat/completions`)\n- 适用后端:DeepSeek、SiliconFlow、OpenAI 官方、任何 OpenAI 兼容 API\n\n### Claude 协议配置示例\n\n```json\n{\n \"apiKey\": \"sk-xxx\",\n \"apiEndpoint\": \"https://514claude.xyz/v1/messages\",\n \"model\": \"claude-opus-4-6\",\n \"provider\": \"claude\",\n \"temperature\": 0.7,\n \"maxTokens\": 4096,\n \"stream\": true,\n \"useNativeTools\": true,\n \"anthropicVersion\": null,\n \"promptCaching\": true\n}\n```\n\n- `provider` **必须设为** `\"claude\"`(或 `\"anthropic\"`)\n- `apiEndpoint` 填 Anthropic 格式基路径(`/v1/messages`),SDK 自动拼接 `{base}/{version}/messages`\n- `promptCaching` 启用时自动在 system/user 消息上添加 `cache_control`\n- `extraBody.thinking` 可启用 Claude 扩展思考(`{\"type\": \"enabled\", \"budget_tokens\": 16000}`)\n\n### 协议互换注意事项\n\n切换 `provider` 时必须同步更新 `apiEndpoint`,否则 API 调用会 404:\n\n| 切换方向 | Endpoint 变化 |\n|----------|--------------|\n| Claude → OpenAI | `/v1/messages` → `/v1/chat/completions` |\n| OpenAI → Claude | `/v1/chat/completions` → `/v1/messages` |\n\n协议专属功能在切换后**静默丢失**(不报错):\n- `promptCaching` → OpenAI 客户端忽略\n- `anthropicVersion` → OpenAI 客户端忽略\n- `extraBody.thinking` → OpenAI 客户端忽略\n- Thinking 流事件 → OpenAI 客户端不发出\n\n---\n\n## Persona 注入\n\nPersona.txt 作为普通 prompt 文件处理。需要 Persona 的 Core 在 `promptFiles` 数组首项加入 `\"Persona.txt\"`,由 `PromptLoader` 统一按序加载。不需要 Persona 的 Core(工具性核心如 SummarizationCore、MemoryExtractionCore 等)不在 `promptFiles` 中包含即可。\n\n---\n\n## 当前配置分布\n\n| 配置文件名 | provider | model | useNativeTools | 用途 |\n|-----------|----------|-------|:---:|------|\n| `Base.json` | openai | deepseek-v4-flash | - | 默认回退 + 工具核心共用 |\n| `WorkingCore.json` | claude | claude-opus-4-6 | ✓ | 频道循环 Working 模式 |\n| `ExpressCore.json` | claude | claude-sonnet-4-6 | ✓ | 频道循环 Express 模式 |\n| `SystemCore.json` | claude | claude-opus-4-6 | ✓ | 系统循环 |\n| `ReviewCore.json` | openai | deepseek-v4-pro | ✓ | 复盘引擎 |\n| `CombineCore.json` | openai | deepseek-v4-flash | - | 记忆组合 |\n| `LinkCore.json` | openai | deepseek-v4-flash | - | 关联分析 |\n| `ConsolidationCore.json` | openai | deepseek-v4-flash | - | 记忆整合第一轮 |\n| `ConsolidationFinalCore.json` | openai | deepseek-v4-flash | - | 记忆整合第二轮 |\n| `DedupCore.json` | openai | deepseek-v4-flash | - | 记忆去重 |\n| `WeightCore.json` | openai | deepseek-v4-flash | - | 权重评估 |\n| `MemoryExtractionCore.json` | openai | deepseek-v4-flash | - | 记忆提取 |\n| `MemoryQueryCore.json` | openai | deepseek-v4-flash | - | (已废弃) |\n| `SleepTalkCore.json` | openai | deepseek-v4-flash | - | 梦话生成 |\n| `SubAgentCore.json` | openai | deepseek-v4-flash | - | (已废弃) |\n| `SummarizationCore.json` | (特殊格式) | - | - | 摘要压缩 |\n\n> 注:`VisionProvider.json`、`OcrProvider.json`、`EmbeddingProvider.json` 不是 Core 配置,而是独立 Provider 的配置。\n\n---\n\n## ExtraBody 用法\n\n`extraBody` 用于向 API 请求体注入非标准字段,常见用途:\n\n### DeepSeek 思考功能(OpenAI 协议)\n\n```json\n{\n \"extraBody\": {\n \"thinking\": { \"type\": \"enabled\" }\n }\n}\n```\n\n### Claude 扩展思考(Claude 协议)\n\n```json\n{\n \"extraBody\": {\n \"thinking\": { \"type\": \"enabled\", \"budget_tokens\": 16000 }\n }\n}\n```\n\n> 警告:`extraBody.thinking` **仅被 ClaudeModelClient 解析**。在 OpenAI 协议下,需要通过 `extraBody` 的原始注入机制(取决于中转站是否支持转发)。\n\n---\n\n## conversationHistory(预设消息)\n\n`conversationHistory` 用于注入固定的系统提示词和预设对话:\n\n```json\n{\n \"conversationHistory\": [\n { \"role\": \"system\", \"content\": \"你是一个记忆管理助手...\" },\n { \"role\": \"user\", \"content\": \"请开始处理。\" }\n ]\n}\n```\n\n消息在 `ApplyExtraMessages()` 中按顺序注入到客户端。\n"}, "43cfe0640971b1d3a300e89267040d84aac48a16": {"t": 1785764009.3265114, "n": 5108, "h": "32841d774d3a18e8", "c": "# Core 配置指南\n\n## 配置文件位置\n\n```\nStorage/Core/{CoreName}.json\n```\n\n每个 Core 按其名称加载同名 JSON 配置。文件不存在时回退到 `Storage/Core/Base.json`。\n\n## 完整配置字段\n\n### 通用字段(所有协议)\n\n| JSON 键 | 类型 | 默认值 | 说明 |\n|---------|------|--------|------|\n| `apiKey` | string | `\"\"` | API 密钥 |\n| `apiEndpoint` | string | `\"https://api.siliconflow.cn/v1/chat/completions\"` | API 端点完整 URL |\n| `model` | string | `\"deepseek-ai/DeepSeek-R1-Distill-Qwen-7B\"` | 模型 ID |\n| `temperature` | double | `0.7` | 采样温度 |\n| `maxTokens` | int? | `null` | 最大输出 token 数 |\n| `topP` | double? | `null` | 核采样参数 |\n| `frequencyPenalty` | double? | `null` | 频率惩罚 |\n| `presencePenalty` | double? | `null` | 存在惩罚 |\n| `stream` | bool | `true` | 是否流式输出 |\n| `n` | int | `1` | 候选回复数 |\n| `useNativeTools` | bool | `false` | 是否使用原生 tool_use/function_calling |\n| `extraBody` | dict? | `null` | 注入请求体的额外字段 |\n| `conversationHistory` | List\\<Message\\> | `[]` | 预设对话历史(系统提示词等) |\n| `provider` | string | `\"openai\"` | 协议选择(见下方) |\n\n### Claude/Anthropic 专属字段\n\n| JSON 键 | 类型 | 默认值 | 说明 |\n|---------|------|--------|------|\n| `anthropicVersion` | string? | `null` | Anthropic API 版本头(如 `\"2023-06-01\"`) |\n| `promptCaching` | bool | `false` | 启用细粒度 prompt caching(system/user 消息自动加 `cache_control`) |\n\n---\n\n## 协议选择 (`provider`)\n\n`provider` 字段是**唯一的协议切换开关**,在 `ModelClientFactory.Create()` 中决定使用哪个 SDK:\n\n| `provider` 值 | 客户端类 | SDK |\n|---------------|----------|-----|\n| `\"claude\"` 或 `\"anthropic\"` | `ClaudeModelClient` | `Anthropic.SDK` |\n| `\"openai\"` 或其他/省略 | `OpenAIModelClient` | `OpenAI` NuGet |\n\n### OpenAI 协议配置示例\n\n```json\n{\n \"apiKey\": \"sk-xxx\",\n \"apiEndpoint\": \"https://api.deepseek.com/v1/chat/completions\",\n \"model\": \"deepseek-v4-flash\",\n \"temperature\": 0.7,\n \"maxTokens\": 4096,\n \"stream\": true,\n \"useNativeTools\": true\n}\n```\n\n- `provider` 可省略(默认值 `\"openai\"`)\n- `apiEndpoint` 填完整路径(含 `/v1/chat/completions`)\n- 适用后端:DeepSeek、SiliconFlow、OpenAI 官方、任何 OpenAI 兼容 API\n\n### Claude 协议配置示例\n\n```json\n{\n \"apiKey\": \"sk-xxx\",\n \"apiEndpoint\": \"https://514claude.xyz/v1/messages\",\n \"model\": \"claude-opus-4-6\",\n \"provider\": \"claude\",\n \"temperature\": 0.7,\n \"maxTokens\": 4096,\n \"stream\": true,\n \"useNativeTools\": true,\n \"anthropicVersion\": null,\n \"promptCaching\": true\n}\n```\n\n- `provider` **必须设为** `\"claude\"`(或 `\"anthropic\"`)\n- `apiEndpoint` 填 Anthropic 格式基路径(`/v1/messages`),SDK 自动拼接 `{base}/{version}/messages`\n- `promptCaching` 启用时自动在 system/user 消息上添加 `cache_control`\n- `extraBody.thinking` 可启用 Claude 扩展思考(`{\"type\": \"enabled\", \"budget_tokens\": 16000}`)\n\n### 协议互换注意事项\n\n切换 `provider` 时必须同步更新 `apiEndpoint`,否则 API 调用会 404:\n\n| 切换方向 | Endpoint 变化 |\n|----------|--------------|\n| Claude → OpenAI | `/v1/messages` → `/v1/chat/completions` |\n| OpenAI → Claude | `/v1/chat/completions` → `/v1/messages` |\n\n协议专属功能在切换后**静默丢失**(不报错):\n- `promptCaching` → OpenAI 客户端忽略\n- `anthropicVersion` → OpenAI 客户端忽略\n- `extraBody.thinking` → OpenAI 客户端忽略\n- Thinking 流事件 → OpenAI 客户端不发出\n\n---\n\n## Persona 注入\n\n若 Core 的 `UsePersona = true` 且 `Storage/Core/Persona.txt` 文件存在,`Processor` 构造时会自动将 Persona 文本注入到配置的 `conversationHistory` 的第一条 system 消息之前。\n\n控制逻辑:\n- `CoreBase` 默认 `UsePersona = true`(虚属性)\n- 子类通过 `override bool UsePersona => false` 跳过\n- `AgentCore` 通过 `usePersona` 构造参数条件化控制\n\n---\n\n## 当前配置分布\n\n| 配置文件名 | provider | model | useNativeTools | 用途 |\n|-----------|----------|-------|:---:|------|\n| `Base.json` | openai | deepseek-v4-flash | - | 默认回退 + 工具核心共用 |\n| `WorkingCore.json` | claude | claude-opus-4-6 | ✓ | 频道循环 Working 模式 |\n| `ExpressCore.json` | claude | claude-sonnet-4-6 | ✓ | 频道循环 Express 模式 |\n| `SystemCore.json` | claude | claude-opus-4-6 | ✓ | 系统循环 |\n| `ReviewCore.json` | openai | deepseek-v4-pro | ✓ | 复盘引擎 |\n| `CombineCore.json` | openai | deepseek-v4-flash | - | 记忆组合 |\n| `LinkCore.json` | openai | deepseek-v4-flash | - | 关联分析 |\n| `ConsolidationCore.json` | openai | deepseek-v4-flash | - | 记忆整合第一轮 |\n| `ConsolidationFinalCore.json` | openai | deepseek-v4-flash | - | 记忆整合第二轮 |\n| `DedupCore.json` | openai | deepseek-v4-flash | - | 记忆去重 |\n| `WeightCore.json` | openai | deepseek-v4-flash | - | 权重评估 |\n| `MemoryExtractionCore.json` | openai | deepseek-v4-flash | - | 记忆提取 |\n| `MemoryQueryCore.json` | openai | deepseek-v4-flash | - | (已废弃) |\n| `SleepTalkCore.json` | openai | deepseek-v4-flash | - | 梦话生成 |\n| `SubAgentCore.json` | openai | deepseek-v4-flash | - | (已废弃) |\n| `SummarizationCore.json` | (特殊格式) | - | - | 摘要压缩 |\n\n> 注:`VisionProvider.json`、`OcrProvider.json`、`EmbeddingProvider.json` 不是 Core 配置,而是独立 Provider 的配置。\n\n---\n\n## ExtraBody 用法\n\n`extraBody` 用于向 API 请求体注入非标准字段,常见用途:\n\n### DeepSeek 思考功能(OpenAI 协议)\n\n```json\n{\n \"extraBody\": {\n \"thinking\": { \"type\": \"enabled\" }\n }\n}\n```\n\n### Claude 扩展思考(Claude 协议)\n\n```json\n{\n \"extraBody\": {\n \"thinking\": { \"type\": \"enabled\", \"budget_tokens\": 16000 }\n }\n}\n```\n\n> 警告:`extraBody.thinking` **仅被 ClaudeModelClient 解析**。在 OpenAI 协议下,需要通过 `extraBody` 的原始注入机制(取决于中转站是否支持转发)。\n\n---\n\n## conversationHistory(预设消息)\n\n`conversationHistory` 用于注入固定的系统提示词和预设对话:\n\n```json\n{\n \"conversationHistory\": [\n { \"role\": \"system\", \"content\": \"你是一个记忆管理助手...\" },\n { \"role\": \"user\", \"content\": \"请开始处理。\" }\n ]\n}\n```\n\n消息在 `ApplyExtraMessages()` 中按顺序注入到客户端。\n"}}}}