Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BOTCF Agent Logo

BOTCF Agent

登录即可使用的本地 AI Agent 桌面客户端
由 DeepSeek Harness 驱动,并与 BOTCF / NewAPI 账号、令牌、模型和路由状态原生集成。

License: PolyForm Noncommercial 1.0.0 Platforms: macOS and Windows Powered by DeepSeek Harness

Important

本仓库采用“源代码开放(source-available)、仅限非商业用途”的方式发布。个人使用、学习、研究、修改与非商业再分发不另设项目方限制;任何商业使用均须事先取得书面授权。它不属于 OSI 认证的开源软件,完整条款见 LICENSE

BOTCF的 Agent 主引擎已经替换为 DeepSeek Harness(DSH)。开发服务与 Electron 桌面端都直接启动官方 DSH Web UI,不再经过 Pi Bridge;原 Vinext 界面和 Pi Bridge 源码仅作为兼容层保留。

为什么是 BOTCF Agent

  • 登录即用:使用 BOTCF 账号完成 NewAPI 授权,自动加载全部已启用 Token 与模型,无需手工复制 API Key。
  • OpenAI Codex 缓存链路:NewAPI 中的 GPT、o 系列等 OpenAI 官方模型经本机受限适配层封装为 Codex Responses 请求,并按稳定提示词和工具前缀生成缓存亲和键;其他模型继续使用兼容协议。
  • 模型能力完整同步:读取上游能力声明,并通过官方规则与用户覆盖补齐模型思考等级。
  • 账号与令牌控制台:查看总额度、已用与剩余额度、请求统计,并创建、编辑、启停或删除 Token。
  • 渠道健康可见:独立路由状态页展示可用性、延迟、PING 与近期检测历史;选模型时直接显示对应 BOTCF 渠道健康状态。
  • 本地优先:凭据由桌面主进程和系统安全存储处理;DSH 服务仅监听本机回环地址。
  • 完整 Agent 工作台:内置知识库、DAG 工作流、Skills、MCP、文件、Git、终端、浏览器、SSH 与应用管理。

第一次使用

  1. 从本项目的 Releases 页面下载 macOS Apple 芯片版或 Windows x64 安装包。
  2. 启动 BOTCF Agent,并在登录页输入 BOTCF 账号。
  3. 登录成功后,应用会自动同步账号下的 Token、模型与思考能力;直接新建会话即可使用。

当前公开安装包未进行 Apple Developer ID 或 Windows Authenticode 商业证书签名。首次安装时系统可能显示“未知开发者”或“未知发布者”,请从本仓库 Releases 获取安装包并核对 SHA-256 校验值。

当前主链路

DSH 官方 Web UI
      │  loopback HTTP
      ▼
DeepSeek Harness 0.1.0-rc.6
      ├─ Agent presets(标准 / PTC / 极简 / 创造)
      ├─ Sandbox + Approval + Permission presets
      ├─ Plan 模式安全联动
      └─ BOTCF项目资源插件(知识库 / 工作流 / Skills / MCP)

DSH 只监听本机回环地址。Electron 使用随机端口启动运行时,渲染进程保持 sandbox: truenodeIntegration: false,并拒绝网页权限请求。

开发启动

npm install
npm run dev

默认工作区是 pi-client 的上级项目目录。也可以显式指定工作区或让 DSH 选择随机端口:

npm run dev -- --workspace /absolute/path/to/project --port 0

Electron 开发模式:

npm run desktop:dev

桌面版启动后会先进入BOTCF登录页。使用 BOTCF 账号登录后,应用会自动完成以下工作:

  • 在主线路 https://edge-cn.botcf.com 与备用线路 https://botcf.com 之间自动容灾登录
  • 读取账号中全部已启用 Token,并按协议注册独立的 DSH 模型供应商;OpenAI 官方模型通过本机 Codex 适配层走 openai-responses,其他模型走 openai-completions
  • 根据 Token 的模型白名单同步可用模型;优先沿用上次默认 Token,否则使用最新启用项
  • 将首个可用模型设为当前会话及后续新会话的默认模型
  • 通过 DSH 凭据服务单独保存 Key,不向页面返回明文

勾选“在这台设备上自动登录”后,密码只会通过 Electron safeStorage 加密保存。可在“设置 > BOTCF 控制台”查看账户总余额、已用额度、剩余额度和请求数,创建、编辑、启停或删除 Token,并手动重新同步全部模型路由;“设置 > 账号”保留账号摘要与退出登录。项目侧边栏的“渠道状态”读取 BOTCF 公开模型状态窗口,展示逐模型成功率、首字延迟、吞吐和最近一分钟趋势;模型状态接口暂时不可用时,自动降级为主、备用线路探测。默认服务地址为 https://edge-cn.botcf.comhttps://botcf.com;开发部署可通过逗号分隔的 BOTCF_NEWAPI_ROUTES 覆盖(仍兼容旧的 LAOBOS_NEWAPI_ROUTES)。

DSH 模型选择器采用三级来源解析思考等级:先读取 New API /v1/models 返回的显式能力声明,没有声明时按 New API 官方模型族和后缀规则推导,最后允许在“设置 > BOTCF 控制台 > 模型思考能力”按模型手动覆盖或标记为不支持。控制台会显示每个模型当前使用的是“上游声明 / 官方规则 / 手动覆盖 / 未识别”哪一种来源;手动设置按服务地址与用户 ID 隔离,并具有最终优先级。普通且未声明能力的模型不会伪造思考等级,避免向不支持的上游发送无效参数。

桌面安装包

公开发布提供两个原生安装包:macOS Apple 芯片版(DMG)与 Windows x64 版(NSIS EXE)。两者都由 GitHub Actions 在对应系统的原生 Runner 上构建,避免原生模块交叉编译导致不兼容。

# macOS Apple Silicon
npm run desktop:installer -- --mac dmg --arm64

# Windows x64
npm run desktop:installer -- --win nsis --x64

当前公开构建未配置 Apple Developer ID 或 Windows Authenticode 证书,因此首次安装会出现系统的“未知开发者/未知发布者”安全提示;发布页同时提供 SHA-256 校验值用于核对文件完整性。签名证书和密码只允许通过 CI Secret 注入,禁止提交到仓库。

常用诊断:

npm run dump-config
npm run test:dsh
npm test
npm run lint

四种 Agent 模式

项目直接使用 DSH 官方 presets:

preset 界面名称 适用场景
standard 标准模式 通用 Agent 工作
code PTC 模式 代码与工具密集任务
minimal 极简模式 更少上下文与更轻执行
cordis 创造模式 Cordis / 创造型工作流

模式选择、会话、模型配置和运行状态均由 DSH 官方 UI 管理。

安全审批

config/laobos.cordis.patch.yml 提供三档权限预设:

preset 沙箱 审批策略
read-only 只读 越权操作询问
workspace-write 工作区可写 敏感操作询问(默认)
danger-full-access 完全访问 不询问,仅限可信环境

进入 Plan 模式会强制切换到 read-only;退出 Plan 后恢复进入前的权限。状态来自 DSH 会话事件,因此恢复会话或重启后仍可正确联动。

Pi 数据迁移

首次启动时,如果发现 ~/.pi/agent 且 DSH 尚无迁移 manifest,会自动迁移,并保留原 Pi 数据不动。迁移内容包括:

  • Provider 配置与 API Key(写入 DSH 凭据文件,不打印明文)
  • 默认模型与推理级别
  • SYSTEM、MEMORY、Skills 与附件
  • Pi JSONL 历史会话到 DSH 原生会话
  • 原知识库与工作流 SQLite 快照

手动预检和执行:

npm run migrate:pi
npm run migrate:pi -- --apply

已有 DSH 配置默认不会覆盖;只有显式追加 --force 才覆盖同名配置。

macOS 默认数据目录:

~/Library/Application Support/botcf-dsh-agent/dsh

Electron 登录资料、凭据引用、缓存与 DSH 数据统一放在独立的 botcf-dsh-agent 用户目录,不会与旧版默认目录、参考项目的 BOTCF平台 目录或其他 BOTCF 桌面版本共用。可通过 BOTCF_USER_DATABOTCF_DSH_HOME 分别覆盖用户目录与 DSH 数据目录。 可通过 LAOBOS_USER_DATA 覆盖整个应用数据目录,通过 LAOBOS_DSH_HOME 单独指定 DSH 目录,通过 LAOBOS_WORKSPACE 指定默认工作区。

项目侧栏与资源管理

@laobos/dsh-system-tools 作为 DSH 插件运行。官方会话栏保持在左侧;项目导航固定在最右侧,与中间工作区组成三列布局。右栏折叠时保留 56px 图标轨道,展开宽度默认为 224px,并可在 200–300px 之间拖动调整。点击“对话、工作流、知识库、Skills、MCP、设置”都会复用中间工作区进行独立页面切换;设置页包含系统提示词编辑,以及可直达模型、Agent 预设、安全审批、插件分区的 DSH 系统设置入口;原左侧设置入口已迁移到右栏底部。

  • 本地 SQLite + FTS 全文检索,支持自然问句拆词、标题加权和相邻片段扩展
  • Agent 可按需自动创建、读取和更新知识;删除经过 DSH 审批,暂停的知识库不会被全局搜索访问
  • Agent 默认把知识写入当前工作区;只有明确的跨项目知识才进入全局作用域
  • 知识库页面保持轻量插件形态,支持召回测试、资料编辑、重新索引、启停和删除
  • DAG 工作流由 Agent 通过 workflow_manager 创建、读取、更新、测试、发布和启停,删除经 workflow_delete 审批
  • 工作流页面使用纯列表和 SVG 快捷操作;查看、编辑会打开弹窗,用户可在弹窗内查看流程图、微调节点、试运行、发布版本、启停和删除,不提供手动新建入口
  • 首次发布会自动启用并注册为 DSH Agent 工具;后续发布保留用户设置的启停状态
  • 已发布工作流同时投影到“设置 > Plugins > Agent 自动化”虚拟插件页,任一侧启停或删除都会同步
  • Skills 以名称、简介、范围、状态和实际文件位置的管理表展示;默认管理 DSH 原生目录,可按需查看 .agents/skills 兼容内容,并支持一键复制位置、启停、删除和 DSH 热更新
  • MCP 支持 stdio 与 streamable HTTP,以 Server、连接方式、连接目标、工具数量和连接状态的管理表展示;可启停、重连和删除,密钥只以遮罩返回界面
  • 插件市场源码内置于 packages/laobos-market,可在“设置 > 插件市场”搜索、安装和管理带有 dsh-plugin topic 的插件;代理地址和上传账号默认留空,由使用者自行配置
  • 管理页支持右栏折叠按钮、再次点击当前菜单项、页面“收起”按钮和 Esc 快速返回对话;未保存的 Skills/MCP 修改会先确认
  • 设置中的“系统提示词”默认展示可编辑的“三橘”身份,以 order: 39 注册在 preset persona 与旧迁移指令之后、工具说明之前;用户修改姓名或角色后会覆盖冲突设定,不会保留旧名称作为别名
  • 实体插件清单与虚拟工作流插件统一使用 DSH 官方“设置 > Plugins”页面,不占用项目主侧栏
  • HTTP 管理接口只接受本机请求并校验 Origin

数据位于 DSH Home 的 data/system-tools.db

桌面增强与插件

桌面版把右侧项目栏分成“对话 / 工作台 / 集成管理”三组,并把高权限能力收敛到 Electron 主进程。网页侧只能调用经过校验的最小化 preload API,文件路径会做工作区边界、真实路径和符号链接检查。

  • 会话:编辑上一轮并从稳定边界创建分支、重试上一轮、完整分页导出 PDF、重命名和可恢复删除
  • 右键菜单:工作区可打开文件管理器、Git 审查和终端;会话可打开、编辑、重试、导出、重命名和删除
  • 文件工作台:目录浏览、文本/图片/PDF/音视频预览和 Finder 定位;敏感文件名、二进制内容和超大文件会被限制
  • 版本中心:状态与 staged/unstaged diff、未跟踪文件预览、提交历史、初始化、暂存、提交、分支管理,以及需确认的恢复和远端同步;桌面 UI 与 Agent 共用结构化 Git 服务
  • 文件上传:图片继续使用 DSH 原生图片附件;普通文件通过输入框回形针选择,复制到受管目录后以文件 Chip 显示,并把受管副本的绝对路径封装进提示词
  • 上传路径:在“设置 > 文件上传”中选择“默认”或“工作区内”;默认写入 DSH Home 的 uploads/v1,后者使用当前工作区的 update 文件夹
  • 终端插件:基于 node-pty 与 xterm;每个标签使用独立的稳定命名 tmux 会话,打开或重连时自动回到当前工作区,未安装 tmux 时明确提示并回退到登录 Shell
  • 浏览器插件:使用隔离的 WebContentsView 预览 HTTP(S) 地址;BrowserOps daemon 仅在用户点击后启动,并可随时停止
  • SSH 插件:密码和私钥使用系统 safeStorage 加密,主机密钥采用 TOFU 校验,发生变更时阻止连接
  • 应用管理插件:登记、探测、启动、停止和查看日志;进程始终以 shell: false 启动,“移出管理”不会删除项目文件
  • 账号授权:登录页直接对接 BOTCF/NewAPI,会自动获取 Token 和模型并写入 DSH 原生模型路由;密码只在用户启用自动登录时通过系统安全存储加密落盘

删除的会话会先归档,再移动到 DSH Home 下的BOTCF回收站;不会直接永久擦除。Terminal、BrowserOps、SSH 和应用管理均为独立 DSH 客户端插件,配置位于 config/laobos.cordis.patch.yml。修改终端或 SSH 的 JSX 源码后,可单独重建浏览器插件:

npm run build:desktop-plugins

兼容入口

旧代码没有删除,但不再是默认 Agent 引擎:

npm run site:dev             # 原 Vinext 管理界面
npm run pi:bridge            # 原 Pi Bridge
npm run pi:dev               # 原 Pi Bridge + Vinext 全量开发

桌面打包

npm run desktop:package
npm run desktop:make

桌面包会携带 DSH 及其运行依赖,不再打包或查找 Pi 二进制。macOS 签名身份可通过 LAOBOS_CODESIGN_IDENTITY 设置;未设置时使用临时签名。

发布与隐私检查

用户创建的 API Key、工作区选择、会话、知识库、工作流数据和 SSH 配置均属于本机运行数据,不是本仓库源码的一部分。桌面版数据默认保存在系统的应用数据目录;开发模式的 .dsh.pi、数据库、JSONL、SSH 凭据和环境变量文件已加入 .gitignore

公开提交前请执行:

npm run audit:public

该检查会扫描所有待提交源码,阻止常见真实密钥、私钥块、本机绝对路径,以及数据库、会话和 SSH 配置等高风险文件进入版本库。它不能替代密钥轮换;如果密钥曾被提交到任何远端,应立即撤销并重新生成。

贡献

提交 Issue 或代码前请阅读 CONTRIBUTING.md。安全问题请遵循 SECURITY.md,不要在公开 Issue 中披露漏洞或凭据。

许可与非商业声明

本项目自有代码和自有资源采用 PolyForm Noncommercial License 1.0.0

  • 允许符合许可定义的个人学习、研究、实验和非商业组织使用。
  • 允许在许可范围内修改和再分发,但必须保留许可条款及 Required Notice。
  • 除禁止商业使用和许可证要求的必要声明外,项目方不附加额外使用限制。
  • 任何商业使用、预期商业应用或商业分发均须另行取得书面授权。
  • “BOTCF”名称、Logo 和其他品牌标识不因源码许可而授予商标权。

第三方组件以及内置插件市场继续适用各自的许可证,详见 THIRD_PARTY_NOTICES.md。如本说明与 LICENSE 冲突,以 LICENSE 原文为准。

About

BOTCF Agent:基于 DeepSeek Harness 的本地 AI Agent 桌面客户端,集成 BOTCF/NewAPI、多 Token 模型路由与渠道健康监测(非商业许可)

Topics

Resources

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages