发现 AI 代理的未来arrow_forward

Knot Code

calendar_today收录于 2026年4月24日
category智能体与应用工具
code开源
TypeScriptNode.js桌面应用Rust大语言模型Next.jsReactAI代理智能体与应用工具模型与推理框架开发者工具/代码协议/API/集成

轻量级 AI 原生代码编辑器,通过本地 OpenClaw Gateway 接入任意 LLM,支持内联编辑与 GitHub 直接操作。

Knot Code 是一款以"AI coding, without the bloat"为理念的代码编辑器,采用 Next.js 16 + React 19 + Tauri v2 双目标架构,同一代码库同时支持 Web 自托管和桌面应用(macOS/Windows/Linux,iOS 即将推出)。编辑器本身不内置模型,而是通过本地 OpenClaw Gateway(WebSocket + JSON-RPC 协议,默认地址 ws://127.0.0.1:18789)连接用户自选的任意大模型,实现 Ask、Agent、Plan 三种 AI 交互模式,均支持流式响应。

AI 代理交互

  • Agent Builder 可选人设、自定义系统提示、配置代理行为
  • 内联编辑:代理提议修改后,用户按 hunk 逐块审查 diff,接受或拒绝
  • 7 个 Slash 命令:/edit/explain/refactor/generate/search/commit/diff
  • 会话隔离:以 agent:main:code-editor:{chatId} 为独立会话键,避免消息交叉

编辑器核心

  • 基于 Monaco Editor 的多标签编辑,支持 Vim 模式、语法高亮、Cmd/Ctrl+P 模糊快速打开
  • 基于 LCS 算法的双行号并排 Diff 查看器
  • 24 种内置主题(Claude、Supreme、Obsidian、Neon、Catppuccin 等),通过 CSS 自定义属性实现,Monaco 自动跟随

GitHub 集成

  • Token 认证、commit、push、分支切换
  • 递归文件树获取、文件内容读取、单文件/多文件提交
  • 无需本地 clone 即可浏览和编辑远程仓库

桌面原生能力(Tauri v2)

  • 本地文件系统直接访问、git 操作、OS Keychain 凭据存储
  • 内置 xterm.js 终端,支持 Gateway slash 命令
  • 内置 Spotify + YouTube 音乐/视频插件

安全机制

  • 三层认证:WorkOS AuthKit(OAuth)、Gateway 密码(WebSocket challenge/response)、IP 白名单(可选 CIDR 限制)

架构要点

  • Web 路径:Next.js → 服务端渲染 → Vercel Edge(含 API Routes、proxy.ts 安全中间件)
  • Desktop 路径:Next.js → 静态导出 → Tauri WebView(系统 WebKit,无 Node.js 服务端)
  • next.config.ts 通过检测 TAURI_ENV_PLATFORM 自动切换导出模式
  • 三层 Context:GatewayContext(WebSocket + JSON-RPC)、RepoContext(仓库/分支/文件树)、EditorContext(文件/标签页/脏文件跟踪)

性能数据(自报,未经独立验证)

  • 安装包约 7.8 MB(Cursor 约 500 MB)
  • 空闲内存约 80 MB(Cursor 500 MB–2 GB)
  • 启动时间 <1s

前置条件与安装

  • Node.js 20+、pnpm、OpenClaw Gateway 本地运行
  • 桌面端:从 GitHub Releases 下载 .dmg/.exe/.msi/.AppImage/.deb
  • Web 端:pnpm dev(localhost:3080)或 pnpm build 静态导出
  • macOS 未公证处理:xattr -cr /Applications/KnotCode.app

待确认事项

  • OpenClaw Gateway 的独立仓库链接与安装说明在编辑器仓库中未提供
  • iOS 发布无具体时间线
  • Web 自托管模式下 AI 代理功能的可用性未明确说明
  • 是否支持远程 Gateway 或自定义端口配置未明确

保持更新

获取最新的 AI 工具和趋势,直接发送到您的收件箱。没有垃圾邮件,只有智能。

rocket_launch