临城职 Agent
桌面 AI Agent 与内部模型网关
Overview
临城职 Agent 是一个面向校园用户的本地优先 AI Agent 产品:桌面端负责本地文件、对话与工具执行,内部网关负责模型号池、用户分组额度、调用日志和流式转发,论坛负责校园身份、入口和用户流量。
Problem
用户不应直接拿到明文模型 API Key,上游 Key 只应存在于服务端配置或桌面端可控环境中。需要同时解决:本地文件安全读写、模型额度管控、流式输出的用户体验和校园身份打通。
Solution
分离桌面端和网关两个系统。桌面端基于 Tauri 2 + React 19 + TypeScript + Vite + Rust 构建,内部网关基于 Node.js 原生 http server 构建。桌面端承担本地文件读取、上下文管理、工具执行和交互体验,网关承担模型池、额度、分组、调用日志和管理控制台。
- 高密度工具台 UI:顶栏、活动栏、文件列表、对话时间线、设置面板
- 支持免费模型、用户自带 OpenAI-compatible Key、本地模型三种模式
- 用户自带 Key 由 Rust/Tauri 后端保存读取,支持 Windows keyring
- 流式输出:Rust 后端请求 stream=true,解析 SSE 后通过 Tauri event 推送前端
- 本地文件读取、目录列表、路径解析、路径验证、PDF 读取
- 写文件前设计用户确认和备份机制
- 自然语言路径识别:"桌面上的第二大脑文件夹"
- opencode kernel 执行模式集成
- 内部网关:模型池、用户分组额度、调用日志、流式转发、管理控制台
Tech
桌面端:Tauri 2 + React 19 + TypeScript + Vite + Rust。内部网关:Node.js 原生 http server + 原生 HTML/CSS/JavaScript 控制台。模型代理连接:deepseek、kimi、通义千问等。
Result
已形成可运行的桌面 Agent 工作台雏形和可独立运行的内部网关。网关支持模型号池管理、用户分组额度控制和调用日志,控制台已经上线。桌面端在文件读取、路径识别和流式输出方面已完成核心验证。
Reflection
这个项目最大的判断是"不要让用户直接接触上游模型 API Key"。所有模型密钥都应封存在服务端或桌面端可控环境中。后续需要补充分组配额、数据统计看板和更完整的错误处理与重试机制。