views

Recent Posts

Drive Agent 设计

> 这是第一次设计这种比较完整的 Agent 系统并集成到实际应用中,因此记录一下实现 Google Drive Clone 的 Agent 部分的设计。 > LLM 调用直接使用 URL fetch 访问 Deepseek API,并且全部未使用 Agent 框架、直接手搓实现,之后可能会用框架重构一下。 Agent 包含的模块和交互流程如下: ```mermaid graph TD...

OnlyOffice 编辑器实现记录

> 在一个项目中引入了 OnlyOffice 作为 office 编辑器,这里记录一下实现过程和一些配置上的坑。 ```mermaid graph TD subgraph Frontend[前端] direction TB A[React App] --> A1[浏览器打开<br>OnlyOffice 编辑器] end subgraph Backend[后端] direction TB...

agent-in-sandbox 设计

最近在开发一个Agent Sandbox执行平台,用户可以在 Docker 环境中接入Agent,Agent可以在沙箱中执行命令、用 docker-compose. yml 初始化依赖,完全不会干扰本机环境。目前搭建完成了 demo 版本,这里简单记录一下。 最初的技术选型...

Go 并发模式

> 在写连接池的时候遇到了一些并发的问题,在这里记录一下。 假设我们有一个管理 Docker 连接的连接池,我们需要检查池子是否需要补充新的容器。下面是一个最简单的实现: ```go func (p *Pool) maintainPool() { p. Lock() currentCount := len(p...

TypeScript Dispatch Map

> 在写 React Query 的时候遇到了一个神奇的结构,这里记录一下。 Discriminated Dispatch Map / Type-safe Lookup Table 是一种利用联合类型+映射类型的数据类型,它在编译期强制保证:每一种 discriminator 都必须有一个处理逻辑,而且永远不会取到...

SVD 分解

我们前面介绍了矩阵的对角化分解: $$ A = X\Lambda X^{-1} $$ 但是这种分解有下面的问题: 1. 正交性问题:对角化分解中的特征向量矩阵 $X$ 通常不是正交的(除非 $A$ 是对称矩阵)。这使得计算和几何解释变得复杂。 2...

特征值与特征向量

通常情况下,当我们用一个矩阵 $A$ 去乘一个向量 $x$ 时,得到的向量 $Ax$ 会改变方向。但是存在一些特殊的向量$x$,它们被 $A$ 乘过之后,方向不改变,只是被拉长、缩短或者反向了,也即: $$ Ax = \lambda x $$...