LLM Space开源生态:贡献代码与插件开发入门指南 LLM Space开源生态贡献代码与插件开发入门指南【免费下载链接】llm-spaceA desktop app to prototype agent ideas, inspect every harness step, replay failures, and evaluate performance, all in one place. Local-first.项目地址: https://gitcode.com/gh_mirrors/ll/llm-spaceLLM Space是一款面向AI智能体开发者的桌面工作台让你能够在本地环境中快速构建、调试和评估AI智能体。这款开源项目为开发者提供了完整的代码贡献和插件开发生态让每个人都能参与其中共同打造更强大的智能体开发工具。无论你是想修复bug、添加新功能还是创建自定义工具插件LLM Space的开源架构都为你铺平了道路。 为什么选择LLM Space开源生态LLM Space不仅仅是一个桌面应用更是一个完整的开源生态系统。作为DeerFlow的姊妹项目它已经经历了四个主要版本的迭代积累了丰富的开发经验和稳定的架构设计。参与LLM Space的开源贡献你将获得直接参与AI智能体工具开发接触最前沿的智能体开发工具链学习现代桌面应用架构深入了解Electrobun、Bun、React等现代技术栈贡献真实可用的功能你的代码将被全球开发者使用加入活跃的开发者社区与核心团队和其他贡献者交流学习 项目架构概览LLM Space采用Bun monorepo架构主要分为两个核心部分packages/ core/ # 共享逻辑类型定义、智能体循环、线程存储 apps/ desktop/ # 桌面应用Electrobun外壳 React UI核心包llm-space/core包含浏览器安全的客户端代码./client、./thread、./types和Node/Bun专用的服务端实现./server。桌面应用的Bun进程使用llm-space/core/server而渲染器则通过RPC与Bun进程通信。️ 开发环境搭建准备工作首先需要克隆仓库并安装必要的工具链# 克隆项目 git clone https://gitcode.com/gh_mirrors/ll/llm-space cd llm-space # 安装BunJavaScript运行时和包管理器 # 按照官方指南安装Bunhttps://bun.com/docs/installation安装依赖LLM Space使用mise作为任务管理前端Bun作为包管理器和JS运行时# 使用mise安装锁定的工具链和JS依赖推荐 mise run setup # 或者直接使用Bun安装依赖 bun install运行开发环境启动桌面应用的开发服务器mise run dev这会启动Vite HMR服务器端口5173和Electrobun开发环境。如果要使用CEF/CDP进行调试可以运行mise run dev:cef这将暴露CDP调试端口9333方便进行深入的渲染器调试。 代码贡献流程理解代码规范在开始贡献之前请熟悉项目的代码规范文件命名所有.ts/.tsx文件使用kebab-case如tool-call-list-item.tsx标识符命名React组件、类、类型、接口使用PascalCase函数、变量、钩子使用camelCase模块级常量使用UPPER_SNAKE_CASE私有成员使用前导下划线_foo()、_config主要开发区域根据你的贡献目标可以关注以下关键模块智能体核心逻辑packages/core/src/server/agent/stream.ts - 智能体流式处理的核心实现RPC桥接层apps/desktop/src/shared/rpc.ts - 定义Bun进程和渲染器之间的通信协议工具注册系统apps/desktop/src/bun/tools/tool-registry.ts - 工具贡献点的实现线程存储管理packages/core/src/server/storage/index.ts - 本地文件系统存储逻辑提交Pull Request目前LLM Space只接受DeerFlow核心团队成员的PR。但是所有人都可以通过提交Issue来帮助改进项目——bug报告、功能建议和反馈都能让项目变得更好。 插件开发指南工具插件系统LLM Space提供了一个稳定的工具贡献点ToolContribution通过ToolRegistry注册。虽然这不是一个完整的公开插件SDK但你可以通过以下方式扩展功能创建自定义工具要添加新的内置工具你需要实现ToolContribution接口export interface ToolContribution { readonly id: string; readonly name: string; readonly tools: ToolDefinition[]; }在启动时注册在DesktopHost生命周期边界内同步注册工具定义工具描述和参数模式使用JSON Schema描述工具参数MCP服务器集成LLM Space支持通过MCPModel Context Protocol服务器集成外部工具要添加MCP服务器支持你需要在设置界面配置MCP服务器连接服务器提供的工具将自动暴露给模型工具执行由对应的MCP服务器处理 测试与验证代码质量检查在提交代码前确保通过所有质量检查# 运行代码检查 mise run lint # 自动修复可修复的问题 mise run lint:fix # 类型检查 mise run typecheck构建验证验证生产构建是否正常# 构建canary版本 mise run build:canary # 构建稳定版本 mise run build:stable本地打包测试测试不同环境的打包# 本地打包跳过签名 mise run pack # 性能版打包嵌入CEF mise run pack:perf # 临时签名打包 mise run pack:adhoc # 创建本地更新源 mise run pack:feed 发布流程版本管理LLM Space的版本号有单一来源apps/desktop/package.json。electrobun.config.ts会导入这个版本号如果推送的标签不匹配CI会失败。发布新版本# 发布稳定版 mise run release # 发布canary版 mise run release:canary发布脚本会自动运行commit-and-tag-version基于conventional commits的版本更新创建提交和v*标签推送更改更新日志项目的CHANGELOG.md是手动维护的遵循Keep a Changelog格式。在发布稳定版本前需要手动添加## [x.y.z]部分。CI会从该版本对应的CHANGELOG.md部分提取内容生成GitHub发布说明。 性能优化建议LLM Space的UI会流式处理事件并重新渲染热列表消息、工具调用因此需要特别注意渲染性能使用React.memo对频繁重新渲染或位于列表中的组件使用memo()包装稳定的props使用useMemo/useCallback稳定props细粒度状态选择通过useThreadStore(selector)读取store的窄切片避免不必要的memo不要在廉价、很少渲染的组件上滥用memo() 调试技巧渲染器调试使用CEF/CDP调试真实的桌面渲染器# 启动带CDP调试的开发环境 mise run dev:cef这会在127.0.0.1:9333暴露Chrome DevTools Protocol端口你可以使用Chrome DevTools进行调试。运行时沙盒当需要隔离的应用数据根目录时可以将运行时沙盒数据放在系统临时目录TMP_ROOT$(mktemp -d ${TMPDIR:-/tmp}/llm-space-XXXXXX) LLM_SPACE_HOME$TMP_ROOT mise run dev:cef日志和追踪LLM Space会在~/.llm-space/traces/目录下保存追踪和调试工作台数据这对于诊断复杂问题非常有帮助。 成为核心贡献者虽然目前只有DeerFlow核心团队成员可以直接合并PR但通过以下方式你可以逐步成为社区的重要成员提交高质量的Issue详细描述bug、提出清晰的改进建议参与文档改进帮助完善用户指南和开发文档分享使用经验在社区中分享LLM Space的最佳实践创建示例项目展示LLM Space的高级用法和集成方案 学习资源官方文档docs/index.md - 完整的用户手册核心概念docs/core-concepts.md - 深入理解LLM Space的核心概念快速开始docs/get-started.md - 新手入门指南设置指南docs/settings.md - 详细配置说明 开始你的贡献之旅LLM Space的开源生态为你提供了一个绝佳的学习和实践平台。无论你是想修复一个小bug还是实现一个全新的功能都可以从这里开始。记住每个伟大的开源项目都是从第一个commit开始的你的贡献可能会影响全球的AI智能体开发者准备好开始了吗克隆仓库搭建环境选择一个你感兴趣的问题然后开始编码吧【免费下载链接】llm-spaceA desktop app to prototype agent ideas, inspect every harness step, replay failures, and evaluate performance, all in one place. Local-first.项目地址: https://gitcode.com/gh_mirrors/ll/llm-space创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考