源码到文档的完整索引
本表按当前受 Git 管理的源码建立对应关系。每个源文件只有一个主要说明页;跨层机制通过该页的相关链接继续阅读。它用于发现遗漏和定位维护位置,不表示每个函数都需要单独写一篇文章。
范围
| 范围 | 文件数 |
|---|---|
packages/agent/src 中的 TS/TSX、CSS、JSON、HTML |
6 |
packages/ai/src 中的 TS/TSX、CSS、JSON、HTML |
46 |
packages/agent-sdk/src 中的 TS |
13 |
packages/coding-agent/src 中的 TS/TSX、CSS、JSON、HTML |
59 |
packages/desktop/src 中的 TS/TSX、CSS、JSON、HTML |
239 |
packages/ui/src 中的 TS/TSX、CSS、JSON、HTML |
105 |
packages/builtin-plugins/src 中的 TS/TSX |
37 |
packages/plugin-compat/src 中的 TS |
2 |
| scripts、examples 支持文件 | 25 |
测试用例按各原理页的回归入口及包内 test 目录维护;测试基础设施见测试原理。图片、字体、音频、Office fixtures 等资源不逐件列作代码模块,归属见下方资源表。
按主要说明页定位
Agent 循环与工具调度
| 目录 | 文件 |
|---|---|
packages/agent/src |
agent-loop.ts · agent.ts · index.ts · streaming-tool-coordinator.ts · tool-execution.ts · types.ts |
后台命令与交互终端
| 目录 | 文件 |
|---|---|
packages/builtin-plugins/src/background |
tasks.ts · processes.ts |
packages/desktop/src/main |
shell-environment.ts · terminal-profile.ts · terminal-shell.ts |
packages/desktop/src/renderer |
BackgroundTaskPane.tsx · TerminalPane.tsx · terminal-presentation.ts |
packages/ui/src/components |
process-presentation.ts |
自定义命令的存储、导入与执行
| 目录 | 文件 |
|---|---|
packages/coding-agent/src/core |
commands.ts |
packages/desktop/src/main |
command-import.ts · custom-command-expansion.ts · custom-command-shell.ts · custom-commands.ts |
packages/desktop/src/renderer |
CommandImportDialog.tsx · CommandSettings.tsx · command-import.css · command-settings.css |
packages/desktop/src/shared |
command-import.ts · custom-commands.ts |
packages/ui/src/components |
command-suggestions.ts |
上下文、压缩与媒体预算
| 目录 | 文件 |
|---|---|
packages/ai/src/utils |
context-breakdown.ts · estimate.ts · media-policy.ts |
packages/coding-agent/src/core |
compaction-utils.ts · compaction.ts · image-limits.ts · images.ts · microcompact.ts |
开发启动与构建链路
| 目录 | 文件 |
|---|---|
scripts |
build.mjs · desktop-build.d.mts · desktop-build.mjs · dev-process.ts · dev.mjs · docs.mjs · docs-deploy.mjs |
scripts/docs |
app.js · html.mjs · render.mjs · style.css · template.mjs |
错误、性能与用量计量
| 目录 | 文件 |
|---|---|
packages/ai/src/utils |
cost.ts · diagnostics.ts · error-body.ts · model-performance.ts · redact-error.ts |
packages/coding-agent/src/core |
model-performance.ts |
packages/desktop/src/main |
error-log.ts · performance-diagnostics.ts |
packages/desktop/src/renderer |
ModelPerformance.tsx · error-log.ts · performance-diagnostics.ts · user-error.ts |
packages/desktop/src/shared |
performance-diagnostics.ts |
packages/ui/src |
user-error.ts |
packages/ui/src/components |
FlipMetricValue.tsx · ModelWaitNotice.tsx |
对话事实、History Worker 与懒加载
| 目录 | 文件 |
|---|---|
packages/coding-agent/src/core |
read-file-bounded.ts · record-validation.ts · session-manager.ts · session-state.ts · transcript-store.ts |
packages/desktop/src/main |
history-index.ts · history-performance.ts · history-storage.ts · history-worker.ts · transcript-copy.ts · transcript-schema.ts · transcript-v2.ts |
packages/ui/src/components |
ConversationHistory.tsx |
输入、附件、引用与发送队列
| 目录 | 文件 |
|---|---|
packages/coding-agent/src/core |
input.ts · markdown-code.ts · mentions.ts |
packages/desktop/src/main |
attachments.ts · draft-store.ts · input-queue.ts |
packages/builtin-plugins/src |
transcripts.ts |
packages/desktop/src/renderer |
FileCommentEditor.tsx · composer-context.ts · file-comments.ts · file-gutter.ts |
packages/ui/src |
conversation-selections.ts |
packages/ui/src/components |
ConversationQueuePanel.tsx · ConversationSelections.tsx · InputContext.tsx · InputNotice.tsx · MentionEditor.tsx · Reference.tsx · editor-history.ts · file-mention-query.ts · prompt-history.ts · session-suggestions.ts · skill-suggestions.ts |
记忆的读取、提取、整合与恢复
| 目录 | 文件 |
|---|---|
packages/builtin-plugins/src/memory |
ad-hoc-instructions.ts · consolidation-instructions.ts · evidence.ts · extraction-instructions.ts · long-memory.ts · prompts.ts · runner.ts · short-memory.ts · workspace.ts |
packages/desktop/src/renderer |
MemorySettings.tsx · memory-settings.css |
消息如何变成模型请求
| 目录 | 文件 |
|---|---|
packages/ai/src |
index.ts · stream.ts · types.ts |
packages/ai/src/api |
anthropic-messages.ts · github-copilot-headers.ts · openai-completions.ts · openai-responses.ts · responses-cache.ts · responses-events.ts · transform-messages.ts |
packages/ai/src/utils |
event-stream.ts · headers.ts · json-parse.ts · provider-cache.ts · sanitize-unicode.ts · text.ts · transcript.ts |
ChatGPT 登录与令牌生命周期
| 目录 | 文件 |
|---|---|
packages/ai/src/auth |
openai-chatgpt.ts |
packages/desktop/src/main |
chatgpt-auth.ts |
packages/desktop/src/renderer |
ChatGPTConnection.tsx |
OpenAI Responses WebSocket 与增量续接
| 目录 | 文件 |
|---|---|
packages/ai/src/api |
responses-session.ts |
packages/desktop/src/main |
responses-proxy.ts |
发行产物、原生模块与平台限制
| 目录 | 文件 |
|---|---|
scripts |
app-icon.mjs · prepare-terminal.ts |
标签身份、完整视图与原生面板
| 目录 | 文件 |
|---|---|
packages/desktop/src/main |
browser-url.ts · pane-services.ts |
packages/desktop/src/renderer |
BrowserPane.tsx · PaneFullViewControls.tsx · PaneLauncher.tsx · PaneTabIcon.tsx · PaneTabOverview.tsx · PaneTabs.tsx · RightPane.tsx · browser-address.ts · browser-pane.css · pane-full-view.ts · pane-store.ts · pane-tabs.css |
文件树、预览格式、备注与交付卡片
项目、任务分组与 Git 工作树
| 目录 | 文件 |
|---|---|
packages/desktop/src/main |
default-file-open.ts · editor-definitions.ts · editors.ts · project-picker.ts · task-groups.ts · workspace-directory.ts · worktrees.ts |
packages/desktop/src/renderer |
DraftProjectPicker.tsx · SortableProjects.tsx · TaskGroupRow.tsx · TaskGroupVirtualList.tsx · TaskGroups.tsx · WorkspaceEditorButton.tsx · WorktreeSettings.tsx · editor-buttons.css · editor-preference-storage.ts · editor-preference.ts · task-group-colors.tsx · task-group-drag.ts · task-group-expansion.ts |
packages/desktop/src/shared |
editors.ts · task-groups.ts |
提供商、模型配置与推理级别
| 目录 | 文件 |
|---|---|
packages/ai/src/api |
constrained-sampling.ts · simple-options.ts |
packages/ai/src/providers |
catalog.json · discovery.ts · registry.ts |
packages/ai/src/utils |
provider-env.ts · reasoning.ts |
packages/ai/src/utils/option-map |
compiler.ts · evaluator.ts · parser.ts · tokenizer.ts · types.ts |
packages/coding-agent/src/core |
model-runtime.ts |
packages/desktop/src/main |
model-runtime-config.ts |
packages/desktop/src/renderer |
ModelConfigAdvanced.tsx · ModelConfigDialog.tsx · ProviderApiFormatSelect.tsx · ProviderCredentialInput.tsx · ProviderHeadingActions.tsx · ProviderLogo.tsx · ReasoningLevelEditor.tsx |
packages/desktop/src/shared |
selectable-models.ts |
结构化提问
| 目录 | 文件 |
|---|---|
packages/builtin-plugins/src |
questions.ts |
packages/desktop/src/renderer |
UserQuestionCard.tsx |
packages/ui/src/components |
AskQuestionToolBlock.tsx · user-question-presentation.ts |
发送失败、超时与恢复
| 目录 | 文件 |
|---|---|
packages/ai/src/utils |
abort.ts · guard-model-stream.ts · model-retry.ts · overflow.ts · provider-retry.ts · retry.ts · stream-idle-timeout.ts |
packages/coding-agent/src/core |
http-idle-timeout.ts · streaming-tool-journal.ts |
流式渲染、Markdown 与阅读位置
指令、技能与系统提示加载
| 目录 | 文件 |
|---|---|
packages/coding-agent/src/core |
markdown.ts · resources.ts · system-prompt.ts |
packages/desktop/src/renderer |
ResourceSettings.tsx |
Git 审查、工具快照与文件回退
| 目录 | 文件 |
|---|---|
packages/coding-agent/src/core |
file-rewind.ts |
packages/desktop/src/main |
diff-worker.ts · file-changes.ts · file-rewind.ts · git-review.ts |
packages/desktop/src/renderer |
ChangesPane.tsx · DiffsWorkerPool.tsx · ReviewPane.tsx · diffs.worker.ts · review-pane.css |
packages/desktop/src/shared |
review.ts |
packages/ui/src |
review-diff.ts |
packages/ui/src/components |
ChangedFiles.tsx · DiffView.tsx · FileRewindConflictDialog.tsx · ReviewDiffViewer.tsx · ToolDiff.tsx |
Electron 启动与进程边界
| 目录 | 文件 |
|---|---|
packages/desktop/src/main |
index.ts · load-renderer.ts |
packages/desktop/src/preload |
index.ts |
packages/desktop/src/renderer |
App.tsx · AppBoundary.tsx · SettingsHelp.tsx · SettingsPage.tsx · SettingsSelect.tsx · app-state.ts · env.d.ts · index.html · main.tsx · store.ts · unwrap.ts · SettingsBreadcrumb.tsx |
packages/desktop/src/shared |
bridge.ts · config.ts |
SDK 装配与扩展边界
| 目录 | 文件 |
|---|---|
examples |
agent-sdk.ts |
packages/coding-agent/src |
index.ts |
packages/coding-agent/src/core |
sdk.ts · settings-manager.ts · types.ts · fs.ts |
packages/agent-sdk/src |
hooks.ts · host.ts · index.ts · messages.ts · permissions.ts · query-result.ts · query.ts · resources.ts · runtime.ts · sessions.ts · tasks.ts · tools.ts · types.ts |
scripts |
build-agent-sdk.mjs |
任务、正文、文件和 Diff 查找
| 目录 | 文件 |
|---|---|
packages/desktop/src/main |
workspace-file-searches.ts |
packages/desktop/src/renderer |
FileSearchStatus.tsx · HighlightedMatchText.tsx · TaskSearchDialog.tsx · task-search-history.ts · task-search-icons.ts · task-search-model.ts · use-task-find.ts · use-workspace-file-search.ts |
packages/desktop/src/shared |
task-search.ts |
packages/ui/src |
find.ts · fuzzy-search.ts · patch-find.ts · review-find.ts |
packages/ui/src/components |
TaskFindBar.tsx · conversation-find.ts · find-dom.ts · markdown-find.ts · use-text-find.ts |
会话、任务与运行生命周期
| 目录 | 文件 |
|---|---|
packages/coding-agent/src/core |
agent-session.ts |
packages/desktop/src/main |
session-activity.ts · session-host.ts |
packages/builtin-plugins/src/title |
generate.ts |
packages/desktop/src/renderer |
ArchivedTasks.tsx · SessionToolbar.tsx · SideChatPane.tsx · TaskActivity.tsx · TaskMenu.tsx · TaskMenuItems.tsx · TaskViewMenu.tsx |
快捷键路由、注册与焦点
| 目录 | 文件 |
|---|---|
packages/desktop/src/main |
shortcut-controller.ts · shortcut-modifier.ts |
packages/desktop/src/renderer |
ShortcutSettings.tsx · app-shortcuts.ts · composer-shortcuts.ts · shortcut-context.ts · shortcut-recording.ts · shortcut-settings-model.ts · use-dialog-dismiss.ts · use-overlay-shortcut.ts · use-stop-on-escape.ts |
packages/desktop/src/shared |
shortcuts.ts · workspace-shortcuts.ts |
业务存储、凭据、generation 与清理
| 目录 | 文件 |
|---|---|
packages/desktop/src/main |
state-schema.ts · state-store.ts · storage-cleanup.ts · storage-generation.ts · storage.ts · task-state.ts |
子智能体的配置、协议与邮箱
| 目录 | 文件 |
|---|---|
packages/builtin-plugins/src/collaboration |
artifacts.ts · built-in.ts · profiles.ts · prompts.ts · protocol.ts · runtime.ts |
packages/desktop/src/renderer |
SubagentPane.tsx · SubagentSettings.tsx |
packages/ui/src/components |
SubagentMessageToolBlock.tsx · SubagentTaskToolBlock.tsx · SubagentToolBlock.tsx |
测试隔离、真实边界与清理
| 目录 | 文件 |
|---|---|
packages/desktop/src/main |
automation.ts |
scripts |
benchmark-history-worker.ts · benchmark-lazy-restore.ts · observe-desktop-tests.mjs · test-desktop.ts · verify-file-manager-parity.mjs · verify-task-list-parity.mjs · verify-test-cleanup.mjs |
read、write、edit、bash 的实现
| 目录 | 文件 |
|---|---|
packages/coding-agent/src/core/tools |
file-change.ts · index.ts |
packages/coding-agent/src/core/tools/pi |
bash.ts · edit-diff.ts · edit.ts · file-mutation-queue.ts · file-read-state.ts · output-accumulator.ts · path-utils.ts · read.ts · text-range-reader.ts · tool-definition-wrapper.ts · truncate.ts · write.ts |
packages/coding-agent/src/core/tools/pi/utils |
bmp-source.ts · child-process.ts · image-budget.ts · image-process.ts · image-resize-core.ts · image-resize.ts · image-source.ts · mime.ts · paths.ts · read-file.ts · shell.ts · text.ts |
联网搜索、抓取与来源图标
| 目录 | 文件 |
|---|---|
packages/builtin-plugins/src/web |
client.ts · tools.ts |
packages/desktop/src/main |
web-icon-image.ts · web-source-icons.ts |
packages/desktop/src/renderer |
WebSearchSettings.tsx · web-search-settings.css |
packages/ui/src/components |
AnswerSources.tsx · WebToolBlock.tsx · answer-sources.css · answer-sources.ts · web-tool-data.ts |
配置、资源与测试设施
| 路径 | 负责的内容 | 说明 |
|---|---|---|
| package.json、package-lock.json、各包 package.json | workspace、版本、依赖、打包入口 | 构建 · 打包 |
| tsconfig.json、biome.json | 类型与格式规则 | 开发 |
| vitest.config.ts、playwright.config.ts、交互配置 | 测试分层、启动与隔离 | 测试 |
| Vite、PDF assets 插件 | renderer、worker、本地 PDF 资源 | 构建 · 预览 |
| desktop assets、public、icon.png | 提供商图标、字体、提示音与应用资源 | 界面 · 打包 |
| tests、各包 test | fixture、假模型、DOM/服务/Electron/平台验证 | 测试 |
| licenses | 随分发保留的第三方许可和来源 | 打包 |
插件与生命周期
| 目录 | 文件 |
|---|---|
packages/coding-agent/src/plugins |
assembly.ts · types.ts · hooks.ts · session-hooks.ts · resources.ts |
packages/plugin-compat/src |
index.ts · command-hooks.ts |
packages/builtin-plugins/src |
index.ts |
packages/builtin-plugins/src |
assembly.ts · tool-validation.ts |
packages/desktop/src/main/plugins |
settings.ts · local-plugins.ts |
packages/builtin-plugins/src/memory |
policy.ts · sources.ts |
packages/builtin-plugins/src/title |
policy.ts |
packages/builtin-plugins/src/tasks |
controls.ts |
packages/desktop/src/shared |
plugins.ts · hooks.ts |
packages/desktop/src/renderer |
PluginSettings.tsx · plugin-settings.css · HooksSettings.tsx · HookForm.tsx · hooks-settings.css |
packages/desktop/src/main/plugins |
configured-hooks.ts · hook-catalog.ts |
内置插件运行时边界
| 目录 | 文件 |
|---|---|
packages/builtin-plugins/src |
runtime.ts · ports.ts · types.ts · models.ts · notifications.ts |
packages/builtin-plugins/src/memory |
types.ts |
packages/builtin-plugins/src/collaboration |
types.ts · inbox.ts |
维护约定
新增、移动或删除源文件时,同步调整本表和主要说明页。只把新文件加进表格不算完成文档:应说明可见行为、状态归属、输入输出、并发/取消/失败,以及最低合适层的回归依据。数值和协议参数在主要说明页维护,功能页通过链接引用。