在同一界面切换多种编程 Agent 干活
30.3/100
综合分
5
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/17 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查未通过:缺少 main/exports/bin 入口声明;engines.node 要求 >=24.0.0,不满足 Node 22.19.0;仓库 package.json 标记 private,未发布到 npm,需从源码安装。以下命令仍可尝试,但可能失败。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add loopwithai/LoopWithAI该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · ui
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 80 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装缺少 main/exports/bin 入口声明;engines.node 要求 >=24.0.0,不满足 Node 22.19.0;仓库 package.json 标记 private,未发布到 npm,需从源码安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包loopwithai(未发布到 npm,仅可源码安装)
✗Node 引擎要求 >=24.0.0 · 基线 Node 22.19 不满足
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明
源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/7 04:11:31
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件读取剪贴板或密钥环境变量发起外部网络请求
查看扫描证据(共 25 处,展示前 25 条)
- 读取密钥环境变量apps/web/lib/dsh-agent-driver.test.ts:28
const previous = process.env.DEEPSEEK_API_KEY; - 读取密钥环境变量apps/web/lib/dsh-agent-driver.test.ts:29
delete process.env.DEEPSEEK_API_KEY; - 读取密钥环境变量apps/web/lib/dsh-agent-driver.test.ts:37
if (previous === undefined) delete process.env.DEEPSEEK_API_KEY; - 读取密钥环境变量apps/web/lib/dsh-agent-driver.test.ts:38
else process.env.DEEPSEEK_API_KEY = previous; - 读取密钥环境变量apps/web/lib/dsh-agent-driver.ts:18
private readonly apiKey = process.env.DEEPSEEK_API_KEY; - 发起网络请求apps/web/lib/dsh-agent-driver.ts:32
const response = await fetch(`${this.apiUrl}/models`, { - 发起网络请求apps/web/lib/dsh-agent-driver.ts:71
const response = await fetch(`${this.apiUrl}/chat/completions`, { - 删除本地文件递归apps/web/lib/sqlite-event-store.test.ts:38
rmSync(directory, { recursive: true, force: true }); - 写入本地文件apps/web/lib/sqlite-event-store.ts:20
mkdirSync(dataDirectory, { recursive: true, mode: 0o700 }); - 执行外部命令来自配置/变量packages/agent-loop-codex/src/index.ts:102
const child = this.child = spawn(process.env.CODEX_BINARY ?? 'codex', ['app-server', '--stdio'], { - 发起网络请求packages/agent-loop-codex/src/index.ts:222
const result = asRecord(await this.server.request('turn/start', { - 发起网络请求packages/agent-loop-codex/src/index.ts:238
await this.server.request('turn/steer', { - 发起网络请求packages/agent-loop-codex/src/index.ts:250
await this.server.request('turn/interrupt', { threadId: this.threadId, turnId: this.activeTurnId }) - 发起网络请求packages/agent-loop-codex/src/index.ts:352
const result = asRecord(await this.server.request('model/list', { limit: 100 })) - 发起网络请求packages/agent-loop-codex/src/index.ts:407
const result = asRecord(await this.server.request(method, { - 发起网络请求packages/agent-loop-codex/src/index.ts:451
await this.server.request('thread/resume', { - 发起网络请求packages/agent-loop-selector/src/client.ts:172
const response = await fetch(path, init) - 读取本地文件packages/agent-loop-selector/src/index.ts:276
const body = await readFile(clientPath) - 执行外部命令固定命令packages/network-proxy/src/index.ts:130
return parseMacosSystemProxy(execFileSync('/usr/sbin/scutil', ['--proxy'], { encoding: 'utf8', timeout: 2_000 })) - 发起网络请求packages/network-proxy/src/index.ts:194
? new UndiciAgent({ allowH2: false }) - 发起网络请求packages/network-proxy/src/index.ts:195
: new EnvHttpProxyAgent({ - 发起网络请求packages/network-proxy/src/index.ts:212
private readonly originalDispatcher = getGlobalDispatcher() - 发起网络请求packages/network-proxy/src/index.ts:235
setGlobalDispatcher(this.originalDispatcher) - 发起网络请求packages/network-proxy/src/index.ts:276
const response = await globalThis.fetch(TEST_URL, { method: 'GET', signal: controller.signal }) - 发起网络请求packages/network-proxy/src/index.ts:294
setGlobalDispatcher(dispatcher)
扫描于 2026/11/2(1 天前) · 范围 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 切换多种编程智能体
- 集成Pi与Codex
- 支持ClaudeCode
多智能体 DeepSeek Harness 工作台,可切换 Pi、OpenAI Codex、Claude Code 和原生 DeepSeek 智能体循环。
README
由 DeepSeek 最新模型翻译生成LoopWithAI
基于 DeepSeek Harness 的本地多 Agent 工作台。
在同一个 Web UI 中使用 Pi、OpenAI Codex、Claude Code 或 DeepSeek 原生 Agent Loop。
DeepSeek Harness
快速开始
LoopWithAI 把 DeepSeek Harness 扩展成一个本地多 Agent 编程工作台。它保留 Harness 原生的 Cordis 插件体系,把 Agent Loop 做成可替换插件,因此可以在 Pi Coding Agent、OpenAI Codex、Claude Code 和 DeepSeek 原生 Agent Loop 之间切换,不需要额外的 ACP 网关或另一套 Driver。
默认 Agent 是 Pi。每套运行时仍然使用自己的模型、工具、审批、MCP、Skills/Extensions 和本地认证。
DeepSeek Harness 目前仍处于 Developer Preview。LoopWithAI 紧贴其插件 API,上游出现不兼容更新时可能需要同步升级。
主要能力
- 一个 Harness,多套 Agent:直接在输入框下方切换 Pi、DeepSeek、Codex 和 Claude Code。
展开完整文档(README 剩余 1 节)
LoopWithAI 基于 DeepSeek Harness 的本地多 Agent 工作台。 在同一个 Web UI 中使用 Pi、OpenAI Codex、Claude Code 或 DeepSeek 原生 Agent Loop。 DeepSeek Harness 快速开始 LoopWithAI 把 DeepSeek Harness 扩展成一个本地多 Agent 编程工作台。它保留 Harness 原生的 Cordis 插件体系,把 Agent Loop 做成可替换插件,因此可以在 Pi Coding Agent、OpenAI Codex、Claude Code 和 DeepSeek 原生 Agent Loop 之间切换,不需要额外的 ACP 网关或另一套 Driver。 默认 Agent 是 Pi。每套运行时仍然使用自己的模型、工具、审批、MCP、Skills/Extensions 和本地认证。 DeepSeek Harness 目前仍处于 Developer Preview。LoopWithAI 紧贴其插件 API,上游出现不兼容更新时可能需要同步升级。 主要能力 - 一个 Harness,多套 Agent:直接在输入框下方切换 Pi、DeepSeek、Codex 和 Claude Code。 - 原生接入:Pi 直连 TypeScript SDK,Codex 使用 codex app-server,Claude Code 使用 Agent SDK,DeepSeek 保留原始 Harness Agent Loop。 - 模型与 Thinking 控制:每次对话都能在输入区选择 Provider、模型和模型支持的思考级别。 - 不阉割工具:保留各 Agent 支持的 read、bash、edit、write、项目指令、Skills、Extensions、MCP 和审批能力。 - 本地认证与会话:凭据仍由 Pi、Codex、Claude Code 或系统环境管理,不经过 LoopWithAI 托管网关。 - 工作区自动恢复:启动时自动打开上一次工作区;首次使用默认创建 ~/.lwa/workspace。 - Clash/代理支持:支持终端环境变量、macOS 系统代理、手动 HTTP 代理和强制直连。 - Vite HMR:开发输入区控件时可以热更新,无需反复重启 Harness。 支持的 Agent | Agent | 接入方式 | 登录方式 | 保留的原生能力 | | Pi(默认) | @earendil-works/pi-coding-agent SDK | Accounts、pi /login 或 ~/.pi/agent | 多 Provider/模型、工具、Skills、Extensions、会话、Thinking | | DeepSeek | 原始 @deepseek-ai/dsh-agent-loop | DEEPSEEK_API_KEY 和 Harness 原生设置 | 原生 Agent Loop 与 DeepSeek 模型 | | OpenAI Codex | codex app-server --stdio | 已有的 codex login 会话 | 工具、MCP、Sandbox、审批、线程、模型、Reasoning Effort | | Claude Code | @anthropic-ai/claude-agent-sdk | 已有 Claude Code 登录或 Anthropic 环境变量 | Claude Code 工具预设、Settings、Skills、Plugins、MCP、权限审批 | LoopWithAI 通过 Cordis Loader 事务性替换进程内唯一的 Agent Loop。空白会话可以直接切换;会话已有历史时,界面会先确认,再在同一 Workspace 中新建会话,避免用户误以为历史会话中途更换了 Agent。 快速开始 环境要求: - Node.js 24 或更高版本 - npm 和 Git - 至少配置好一套想使用的 Agent 凭据 克隆、安装、启动: git clone https://github.com/loopwithai/LoopWithAI.git cd LoopWithAI npm install npm run dev 也可以一条命令完成: git clone https://github.com/loopwithai/LoopWithAI.git && cd LoopWithAI && npm install && npm run dev 浏览器打开 http://127.0.0.1:3210。开发模式还会在 5174 端口启动 Vite HMR。 不启动 Vite、以本地生产方式运行: npm start 登录与认证 Pi 在输入区选择 Pi,再点击 Accounts。Web 登录支持 Pi 暴露的 OAuth Provider,包括 ChatGPT/OpenAI Codex 与 Anthropic。也可以在终端登录: pi 然后输入 /login Pi 的配置与凭据仍由 Pi 保存在 ~/.pi/agent;LoopWithAI 不会把原始 Token 返回浏览器。 OpenAI Codex 安装并登录官方 OpenAI Codex CLI,然后在 LoopWithAI 中选择 Codex: npm install -g @openai/codex codex login 需要时 LoopWithAI 会启动 codex app-server --stdio,并复用 Codex CLI 已有的本地登录。只有当 codex 不在 PATH 中时才需要设置 CODEX_BINARY。 Claude Code 按 Claude Code 的正常方式完成认证,再选择 Claude Code: npm install -g @anthropic-ai/claude-code claude 运行时使用 Claude Agent SDK 和原有 Claude Code Settings;标准 Anthropic 环境凭据也仍然有效。 DeepSeek 原生 Agent Loop 启动前配置 DeepSeek Key: export DEEPSEEK_API_KEY="your-api-key" npm run dev 也可以继续使用 Harness 自己的凭据与 Settings 层;需要自定义服务地址时可设置 DEEPSEEK_BASE_URL。 使用方法 1. 选择或添加 Workspace。启动时优先恢复上次有效工作区,否则使用操作系统用户目录下的 ~/.lwa/workspace。 2. 在输入框下方选择 Pi、DeepSeek、Codex 或 Claude Code。 3. 选择可用的模型与 Provider。 4. 如果模型支持,选择 Thinking Level。 5. 选择 Workspace 访问/审批模式,然后发送任务。 6. Agent 请求工具或权限时,在 Harness UI 中完成确认。 助手记录会分别保存 runtime、provider、model 和 reasoning 来源,回放历史时仍能确认回复来自哪套 Agent。 Clash 与全局代理 打开 Settings → Proxy: - Auto(默认):依次读取 LOOPWITHAI_PROXY、HTTPS_PROXY、HTTP_PROXY、ALL_PROXY 及其小写形式;macOS 下还会读取当前系统 HTTP/HTTPS 代理,因此 Clash 开启系统代理后可以自动生效。 - Manual:使用页面填写的 http:// 或 https:// 地址,并覆盖自动检测。例如 http://127.0.0.1:7897。 - Off:强制直连,并从 Agent 子进程环境中移除继承的代理变量。 保存后会立即影响后续请求,无需重启 Harness。自动和手动模式保留 NO_PROXY/no_proxy。带密码的代理地址按只写 Secret 处理,不会由 API 返回浏览器。首版暂不支持 SOCKS/PAC,请使用 Clash 暴露的 HTTP 或 Mixed 端口。 开发命令 npm run dev # DeepSeek Harness + Vite HMR,默认 Pi npm start # 构建插件后启动 Harness,不启动 Vite npm run build # 构建全部 Agent 插件并校验 Harness Profile npm test # 使用 Fake/本地 Provider 运行测试 npm run typecheck # 严格 TypeScript 检查 npm run check # Vendor 检查 + 测试 + 类型检查 + 生产构建 Harness Patch 在启动时根据当前仓库位置生成 file: URL,所以可以把项目克隆到任意目录,包括带空格的跨平台路径。服务端 TypeScript 代码修改后仍需重启 Harness;packages/agent-loop-selector/src/client.ts 由 Vite 热更新。 架构 DeepSeek Harness Web + Cordis └── agent-loop-runtime(事务性 Loader Entry) ├── Pi Agent Loop — Pi TypeScript SDK ├── DeepSeek Agent Loop — Harness 原始插件 ├── Codex Agent Loop — codex app-server 协议 └── Claude Code Agent Loop — Claude Agent SDK apps/harness-web/ 可移植 Harness Profile 与本地启动器 packages/agent-loop-selector/ Runtime/Model/Thinking 控件与 Loader 切换 packages/agent-loop-pi/ Pi SDK AgentFactory 与 Harness 事件桥接 packages/agent-loop-codex/ Codex app-server AgentFactory packages/agent-loop-claude/ Claude Agent SDK AgentFactory packages/network-proxy/ 进程级代理服务与 Settings UI 旧的事件溯源 Loop 原型保留在 apps/web 和 packages/core,但它不是默认产品入口,也不属于当前开发重点。 安全与隐私 - 工作台在本机运行,不会通过 LoopWithAI 云服务转发 Agent 请求。 - 凭据继续保存在各 Agent 的原生本地存储或环境变量中。 - 凭据接口只提供登录状态和安全模型元数据,不返回 Secret。 - 工具执行和网络权限仍取决于所选 Agent 以及用户选择的审批模式。 基于以下项目 - DeepSeek Harness:插件优先的 Agent Harness 与 Web 工作台基础 - Pi Coding Agent:默认的多 Provider 编程 Agent 运行时 - OpenAI Codex:Codex CLI 与 app-server 协议 - Claude Code:Claude Code 与 Claude Agent SDK 参与贡献 欢迎提交 Issue 和 Pull Request。提交前请运行 npm run check,新增 Agent 也应继续遵守 DeepSeek Harness/Cordis 原生 Agent Loop 插件边界。 License 状态 项目所有者尚未为 LoopWithAI 选择 License。在仓库加入 LICENSE 之前,请勿推定拥有适用版权法以外的复用或再分发权利。第三方组件继续保留各自 License,详见 THIRD_PARTY_NOTICES.md。 LoopWithAI 是独立项目,与 DeepSeek、OpenAI、Anthropic 及 Pi 维护者不存在隶属关系。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
loopwithai/LoopWithAI
在同一界面切换多种编程 Agent 干活
相关插件 · UI / 主题
破甲增强版JeffKeeping/dsh-purge-plus
dsh-purge 的非官方分支fork:适配 DeepSeek Harness 0.2.1-rc.2、破甲内核…
★ 387已汉化DeepSeek 客户端
71.9
无代码业务系统平台nocobase/nocobase
NocoBase 是什么
★ 24,804已汉化DSH
71.8
1Panel 服务器面板1Panel-dev/1Panel
全球 250 万+ 自托管用户共同喜爱。
★ 37,344已汉化DSH
71.5
终端编码代理esengine/DeepSeek-Reasonix
· 指南 · ACP · 扩展开发 · 规格 · 官方网站 · Discord · QQ
★ 36,045已汉化DSH
71.2
工作状态行动态ccch1mneyyy/working-activity
作者:chimney@ccch1mneyyy。社区项目,非 DeepSeek 官方项目。
★ 664已汉化DSH
71.2
多模型配置管家farion1231/cc-switch
跨平台桌面一体化助手,支持 Claude Code、Codex、OpenCode、DeepSeek Harness 等工具,唯一官网 ccswitch.io
★ 151,202已汉化DSH
71.1
这是你的仓库?认领条目