跳到主要内容

技术文档总览

本节说明 Foya 当前已经实现的技术系统。文档面向希望理解、评估或参与 Foya 的 读者,不要求预先阅读源码。

除本页作为导航外,每篇文档只聚焦一个主题。

建议阅读顺序

标题链接

第一次了解 Foya 的实现,建议依次阅读:

  1. 系统架构
  2. Kernel 与 Service
  3. Agent Runtime
  4. 消息模型
  5. Session
  6. 事件存储
  7. 上下文
  8. 上下文压缩
  9. 工具系统
  10. 权限系统
  11. 数据存储

系统边界

标题链接
主题 文档
整体分层和数据流 系统架构
服务装配与业务协调 Kernel 与 Service
REST、SSE、Unix Socket 与远程连接 REST 与事件流
SSH、TLS 与服务端运维 远程内核
Vue、Tauri 与 Sidecar 桌面运行时
启动、关闭和中断恢复 进程生命周期与恢复
配置来源和覆盖关系 配置系统
信任和风险边界 安全模型

Agent Runtime

标题链接
主题 文档
模型与工具循环 Agent Runtime
User、Assistant 和 Tool 数据 消息模型
会话、队列、分支和回退 Session
Child Session 与任务树 子 Agent
Project 与工作目录 Project
模型连接和能力配置 模型连接

上下文与知识

标题链接
主题 文档
单次模型请求输入 上下文
长历史压缩与恢复 上下文压缩
跨会话事实 记忆
行为约束 规则

Context、Memory 和 Rule 是三个独立机制,不应互相替代。

执行系统

标题链接
主题 文档
Tool 注册、发现和执行 工具系统
Approval 与 Sandbox 权限系统
Agent 生命周期回调 Hooks
用户显式 Prompt 入口 Commands
Plan、Spec 和 Goal 状态 Workflows
文件变更与撤销 文件审查
PTY 与后台进程 Terminal
WebView 自动化 Browser Runtime
搜索路由与网页抓取 Web Search

扩展与集成

标题链接
主题 文档
可复用指令包 Skills
外部 Tool、Resource 和 Prompt MCP
模型协议与 Route Provider 与模型路由
定时 Agent 任务 自动化
外部聊天平台 消息渠道

视觉与媒体

标题链接
主题 文档
Session 二进制附件 Artifact
持久节点式视觉工作区 Canvas
图片和视频生成 媒体生成

数据与观测

标题链接
主题 文档
Canonical Event 与 Projection 事件存储
SQLite 与文件布局 数据存储
Token 与活跃度统计 Usage 统计
Trace、Metrics 与 OTLP 导出 OpenTelemetry

文档约定

标题链接

技术文档统一使用以下术语:

  • Session:长期会话身份。
  • Turn:一次用户输入触发的完整运行。
  • Step:Turn 中的一次模型请求。
  • Event:已经发生并可持久化的事实。
  • Projection:从事实派生的读取视图。
  • Provider:模型协议适配器。
  • Tool:模型可以请求的执行单元。
  • Route:Connection 与 Model 的稳定运行身份。

“当前边界”描述现有实现限制,不代表长期 Roadmap。