复用已配模型驱动五种编码 CLI 并编排成 DAG 工作流
30.4/100
综合分
2
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/11/3 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add koko2376/dsh-lulux-flow该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · tool
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 11 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件发起外部网络请求
查看扫描证据(共 4 处,展示前 4 条)
- 发起网络请求src/index.ts:222
const outcome = await service.request({ agent, toolName: `${record.kernelId}: ${ask.toolName}`, reason: `${ask.toolName} ${detail}` }) - 发起网络请求src/index.ts:301
const outcome = await service.request({ agent: binding.agent, toolName: `${BRAND.toolPrefix}_workflow_run`, callId: binding.callId, reason: `${run.wor - 删除本地文件递归src/index.ts:356
rmSync(join(dataDir, 'tmp'), { recursive: true, force: true, maxRetries: 3 }) - 发起网络请求src/tools.ts:98
const outcome = await service.request({
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-agent@deepseek-ai/dsh-llm@deepseek-ai/dsh-subagent@deepseek-ai/dsh-tool-subagent@deepseek-ai/dsh-tools@deepseek-ai/schemastery给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
README
由 DeepSeek 最新模型翻译生成DSH-LULUX Flow
用你在 DSH 里已经配置好的模型运行 Claude Code、Codex、Gemini CLI、Qwen Code 和 Grok CLI —— 不用登录 CLI,服务商密钥从不传给 CLI —— 再把它们接入 DAG 工作流。
English · 简体中文
非官方社区项目,独立开发与维护。与 DeepSeek、Anthropic、OpenAI、Google、Alibaba 或 xAI 均无关联。
在 DSH 聊天会话中把 Claude Code 选为智能体
工作流画布运行检查器
为什么做这个
你已经在 DeepSeek Harness 里配置好了服务商:DeepSeek、中转服务、本地模型,随便你用哪种。可每个编码 CLI 都想要自己的登录、自己的 API 密钥、自己的计费。DSH 官方的 Claude Code 和 Codex 子代理沿用这套原生登录模型,于是每多一个 CLI,就多一个账号,也多一处存放密钥的地方。
DSH-LULUX Flow 在 DSH 内部放了一个小网关。每个 CLI 启动时只拿到一个运行级 token,这个 token 只能对那个网关生效,网关再把每次调用转发给 DSH 正在用的模型。服务商密钥从不传给 CLI(不在环境变量里,不在参数里,也不在配置里),你也不用登录任何东西。
展开完整文档(README 剩余 1 节)
DSH-LULUX Flow
用你在 DSH 里已经配置好的模型运行 Claude Code、Codex、Gemini CLI、Qwen Code 和 Grok CLI —— 不用登录 CLI,服务商密钥从不传给 CLI —— 再把它们接入 DAG 工作流。
English · 简体中文
非官方社区项目,独立开发与维护。与 DeepSeek、Anthropic、OpenAI、Google、Alibaba 或 xAI 均无关联。
在 DSH 聊天会话中把 Claude Code 选为智能体
工作流画布运行检查器
为什么做这个
你已经在 DeepSeek Harness 里配置好了服务商:DeepSeek、中转服务、本地模型,随便你用哪种。可每个编码 CLI 都想要自己的登录、自己的 API 密钥、自己的计费。DSH 官方的 Claude Code 和 Codex 子代理沿用这套原生登录模型,于是每多一个 CLI,就多一个账号,也多一处存放密钥的地方。
DSH-LULUX Flow 在 DSH 内部放了一个小网关。每个 CLI 启动时只拿到一个运行级 token,这个 token 只能对那个网关生效,网关再把每次调用转发给 DSH 正在用的模型。服务商密钥从不传给 CLI(不在环境变量里,不在参数里,也不在配置里),你也不用登录任何东西。CLI 仍以你的操作系统用户身份运行,所以它能读你的用户能读的文件;见安全模型。之后你就可以把这些 CLI 当作聊天智能体、当作子代理,或者当作工作流里的节点,和 DSH 自带的智能体放在一起用。
功能
限定范围的网关:CLI 无需登录
- 五个 CLI:Claude Code、Codex、Gemini CLI、Qwen Code 和 Grok CLI。
- 一个网关,四种线路格式:Anthropic Messages、OpenAI Chat Completions、OpenAI Responses 和 Gemini,全部转译到 DSH 的模型运行时。流式输出、工具调用和 token 用量都会透传。
- 密钥从不传给 CLI:CLI 的环境变量按白名单构建,每次运行都有独立的配置目录,LULUX Flow 交给它的唯一凭证是一个运行级 token,运行结束即吊销。CLI 以你的操作系统用户身份运行,能读你的用户能读的内容;处理不可信仓库时,请用操作系统沙箱或单独的用户。
- 把 CLI 当作聊天智能体:在会话头部的内核选择器,或在 DSH 的模型选择器里选 lulux-flow-<cli>/default。Claude Code 和 Codex 在轮次之间恢复各自的原生会话。
- 子代理:服务商 lulux-flow-claude-code、lulux-flow-codex、 lulux-flow-gemini-cli、lulux-flow-qwen-code、lulux-flow-grok 与 DSH 自带的服务商并列注册,并附带可选的 lulux_flow_subagent_ 工具。
- 权限由你选:read-only、ask、edit 或 full,分别映射到各命令行自己的参数(分命令行对照表)。Kernels 页面的设置是上限:工作流节点可以要求更少权限,绝不能更多。Claude Code 的权限提示会以 DSH 审批的形式出现。
- 全局模式:按命令行单独开启,用于你确实想用它的原生登录时。
- 内核管理器:检测已安装的命令行及其版本,把缺失的装进插件的数据目录。
依赖树先对着 registry.npmjs.org 解析;随后 tarball 从最快的镜像下载,每个都在任何安装脚本运行前按该 lockfile 校验。
工作流画布
- DSH Web 里的 DAG 编辑器,有十种节点类型:input、output、 agent(DSH 智能体)、kernel(命令行)、script、http、condition、 loop、approval 和 notify。
- 描述出来,就得到一张图:「Generate with AI」根据一句话起草工作流,然后对它做 lint。
- 成功/失败边与 true/false 边、带退避的重试、超时、失败后继续、并发上限,以及 token / 节点运行预算。
- 触发器:画布、聊天(模型工具)、cron 定时和签名 webhook。
- 运行前先审阅:聊天模型写出的、AI 生成的或导入的工作流,初始状态为 未审阅,在你于画布中批准之前不会运行(或在 DSH 的审批对话框里批准单次运行)。
- 运行检查器,可看每个节点的输入、输出、trace 和 token 用量;还有运行历史、取消、重启后恢复和重新运行。
工程与安全
- 仅限回环的网关,带 Host/Origin 校验;token 经过哈希、按运行隔离。
- HMAC 签名的 webhook,带重放窗口;HTTP API 上带 CSRF 头。
- HTTP/notify 节点有 SSRF 防护;跨源重定向时丢弃凭据;名称含 secret 的字段在运行记录和工具输出中会被脱敏。
- 脚本节点默认关闭,只能在插件配置里启用。
- TypeScript 严格模式,单元测试与集成测试,CI 覆盖 Linux、macOS 和 Windows。见 SECURITY.md 和 docs/verification.md。
安装
需要 DeepSeek Harness >=0.2.1-rc.2 <0.3.0 和 Node.js >=22.15.0。
from GitHub
dsh plugin --profile web add github:koko2376/dsh-lulux-flow
or from npm
dsh plugin --profile web add dsh-lulux-flow
DSH Desktop 用 --profile desktop。之后重启 DSH; DSH-LULUX Flow 会出现在侧边栏和设置里。
构建许可(GitHub 安装)。 构建产物没有提交到仓库,所以从 GitHub 安装时会通过包的 prepare 脚本现场编译。如果 pnpm 如果安装因某依赖声明了 prepare、或需要 allowBuilds 而中断,把报错里列出的包名加到配置档的 pnpm-workspace.yaml(例如 ~/.dsh/profiles/web/pnpm-workspace.yaml),然后重新安装:
allowBuilds:
dsh-lulux-flow: true
esbuild: true
允许构建意味着该包的脚本会在你的机器上运行;想固定来源,就锁定 tag 或 commit(github:koko2376/dsh-lulux-flow#v0.1.1)。npm 包自带预构建文件,无需构建。
这些命令行本身是可选的:在 Kernels 页面安装你需要的那些,或者在设置里让某个 kernel 指向已有的二进制文件。
快速开始
1. 用命令行作为聊天智能体
1. 在 DSH Web 中打开一个聊天会话。
2. 在会话头部打开 kernel 选择器,选择 Claude Code(或 Codex、Gemini CLI、Qwen Code、Grok CLI)。
3. 发送消息。命令行在会话的工作目录中运行,模型调用走你的 DSH 模型。选择 DSH agent 可切回。
Kernel 状态与安装
2. 工作流
1. 从侧边栏打开 DSH-LULUX Flow → Workflows → New workflow,或者点 Generate with AI 描述任务。
2. 拖入一个 input、一个或多个 kernel / agent 节点和一个 output,把它们连起来。提示词可以用 {{ inputs.topic }} 这类模板引用前面的结果。
3. 点 Run,然后在运行检查器里观察每个节点。
4. 可选:在 Triggers 下添加 cron 定时或启用 webhook。
聊天模型也能通过 lulux_flow_workflow_ 工具使用同一批工作流。模型创建或修改的工作流、AI 生成的工作流、以及你导入的工作流都会标记为 unreviewed:打开它,检查节点,点 Approve,之后才能由任何触发器运行。当模型启动一个未审核工作流的运行,或启动含 edit/full 命令行、script、HTTP 或 notify 节点的工作流时,DSH 的审批对话框会先询问你。模型无法审批 approval 节点。
与 ds-bot 配合使用
ds-bot(DS Bot,0.2.x)会列出 DSH 提供的所有模型,所以两个插件都装好后,这些命令行会以 Bot models 出现(lulux-flow-claude-code/default 等)。在 Bot 的设置或 Create Bot 表单里为它选一个即可,不需要其他操作。
- 最适合当工作成员,而不是 Main Bot。 命令行 Bot 会在自己的文件夹里用自己的工具回复私聊消息、群聊轮次(@Name、[PASS])、其他 Bot 的请求和交接,但它拿不到 DS Bot 的工具(message_bot、ask_user、update_group 等),所以 Main Bot 和群管理员请继续用 DSH 模型。在群里,命令行成员通过写 @Name 来呼叫其他成员。
- Bot 的名称、角色、指令和团队规则会作为额外的系统指令传给命令行(Claude Code:--append-system-prompt-file;Codex:developer instructions;其他命令行:附加在新会话的提示词之上)。DS CLI Bot 的记忆摘要、/btw 侧问(ds-bot 0.2.1)以及其他一次性调用,都走网关模型,不会启动 CLI:侧问只根据当前聊天内容作答,不进入 CLI 自己的会话。图片先由 DS Bot 的图片读取器转成文本,因为 CLI 路由声明只接受文本输入。
- 长任务: DS Bot 给群聊回合约 4 分钟。CLI 任务运行更久时,先显示「(no answer)」;CLI 结束后,结果会发到群里。
- 权限: 群里使用的 CLI 请用 read-only 或 auto 类级别(edit);用 ask 时,审批提示会出现在成员的隐藏群会话里。
- 多个成员可以同时启动 CLI。kernelMaxConcurrent(所有 CLI,默认 6)和 kernelMaxConcurrentPerCli(每个 CLI,默认 3)限制并发数;多出的运行在队列里等待,启动前显示一行「Queued」。停止排队中的成员会把它移出队列,不启动它的 CLI。
配置
在界面里(Settings → DSH-LULUX Flow),按用户保存在 /settings.json:
| 设置 | 默认值 | 含义 |
| Language / 语言 | 中文(zh-CN) | 插件界面语言,以及插件写入 DSH 审批对话框的文字语言:中文或 English。与 DSH 自身语言无关;切换立即生效。 |
| Gateway model | 空 | CLI 流量走哪个 provider/model。留空则跟随 DSH 的默认模型;如果默认模型本身就是 CLI 路由,则用该配置档最近一次见到的真实模型。此处拒绝 CLI 路由。 |
| 每个 CLI:enabled | 开 | 显示并允许这个 CLI。 |
| 每个 CLI:mode | scoped | scoped 走网关,不登录;global 用 CLI 自己的登录和环境。 |
| 每个 CLI:permission | ask | read-only、ask、edit 或 full(Grok CLI 没有 edit)。也是工作流节点的上限;无人值守运行把 ask 当作 read-only。 |
| 每个 CLI:binary path | 自动 | 显式指定可执行文件(.exe、.cmd、脚本;两侧引号忽略);留空则搜索插件的安装目录、PATH 和 CLI 的常见安装位置。这个路径会被执行(--version 也一样),所以只指向你信任的程序。 |
| Registry override | 自动 | CLI tarball 的 npm 镜像(只接受 https://;http:// 仅限 127.0.0.1/localhost);留空则探测默认值并选最快的。 |
| Trust mirror | 关 | registry.npmjs.org 不可达时允许安装。关:拒绝安装,因为 lockfile 必须来自 npmjs.org。开:整棵依赖树都信任镜像自己的元数据。 |
| Check for updates automatically | 插件配置(开) | 启动后不久检查 GitHub Releases,之后每天检查,有新版本时显示小提示。 |
| Update source | 插件配置(自动) | auto 选最快的节点,official 只问 GitHub,mirror 只问 jsDelivr 镜像(适合连不上 GitHub 的网络)。 |
部署默认值放在配置档 cordis.patch.yml 的插件行里(id: dsh-lulux-flow)。补丁层会整行替换 config,所以每个字段都要重新写全。
| 字段 | 默认值 | 含义 |
| dataDir | <DSH home>/dsh-lulux-flow | 工作流、运行记录、设置、已安装的命令行 |
| allowScriptNodes | false | 脚本节点的唯一开关。不是沙箱:脚本节点以你的操作系统用户身份运行代码(独立 Node 进程,不能访问文件系统,不能启动子进程,但可以联网) |
| scriptTimeoutMs / scriptMaxHeapMb | 5000 / 64 | 脚本节点限制 |
| gatewayMaxBodyMb | 32 | 网关请求体上限 |
| gatewayRequestTimeoutMs | 600000 | 每个网关请求的上游超时 |
| kernelTimeoutMs | 1800000 | 单次命令行运行的最长时长 |
| registerChatRoutes | true | 添加 lulux-flow-<cli>/default 模型路由 |
| registerSubagentProviders | true | 注册 lulux-flow-<cli> 子代理服务商 |
| registerTools | true | 注册 lulux_flow_* 模型工具 |
| allowPrivateHosts | [] | HTTP/notify 节点可以访问的主机,即使是私有地址也放行 |
| outboundMaxResponseKb / outboundTimeoutMs | 2048 / 30000 | HTTP/notify 节点限制 |
| registries | npmjs、npmmirror、腾讯、华为 | 安装命令行时候选的 npm 源 |
| registryProbeTimeoutMs / registryCacheTtlMs | 4000 / 6 h | 镜像探测 |
| installTimeoutMs | 15 min | 命令行安装超时 |
| defaultConcurrency | 4 | 每次运行的并行节点数 |
| maxRunsPerWorkflow | 200 | 每个工作流保留的运行历史条数 |
| modelObserveIntervalMs | 5000 | 采样 DSH 默认模型的间隔 |
| defaultRunDeadlineMs | 6 h | 工作流未设置时限时的运行墙钟上限(0 = 不限) |
| maxActiveRuns | 16 | 同时执行的运行数;再启动会被拒绝 |
| kernelEnvPassthrough | [] | 额外传给受限命令行的变量名,例如走 SSH 的 git 需要 SSH_AUTH_SOCK。列出的变量对命令行可见 |
| kernelMaxConcurrent | 6 | 所有命令行同时运行的上限(聊天会话、ds-bot 成员、工作流、子代理);超出的运行在 FIFO 队列里等待 |
| kernelMaxConcurrentPerCli | 3 | 单个命令行同时运行的上限;该命令行超出的运行在队列里等待 |
| updateAutoCheck | true | 启动约 90 秒后检查新版本,之后每天检查一次(界面设置会覆盖此项) |
| updateSource | auto | auto、official(仅 GitHub)或 mirror(仅 jsDelivr);界面设置会覆盖此项 |
| updateMirrors | fastly / gcore / testingcf / cdn .jsdelivr.net | 兼容 jsDelivr 的 https:// 镜像,用来查询最新版本号 |
子代理工具(lulux_flow_subagent_claude_code 等)是同一文件里的独立行,默认关闭。启用其中一个:
- id: lulux-flow-subagent-claude-code
disabled: false
更新检查
有新版本时插件会提示你 GitHub Releases;它从不下载或安装任何东西。LULUX Flow 页面右上角会出现一个小巧的 New x.y.z 徽标,显示当前版本和最新版本、一段简短的发布说明摘要,以及三个按钮:View release(打开 GitHub 发布页)、Remind later(隐藏一天)和 Skip this version(隐藏到出现更新版本为止)。在画布工具栏里点 More → Check for updates,或点 Settings → Updates 下方的按钮,会立即检查并报告「已是最新」「有新版本」或「检查失败」。
为了服务所有网络环境,首次检查会同时向 GitHub(api.github.com、github.com)和几个 jsDelivr 镜像发起请求,超时 4 s,保留最快的一个用于后续检查;如果两者都响应,以 GitHub 的结果为准。系统时区只在接近平局时起作用。镜像只提供版本号,链接始终指向 github.com。所有会联系的 host 见 SECURITY.md。
安全模型
- 密钥。 服务商密钥从不传给命令行:不放进它的环境变量、参数或配置文件。限定模式下,命令行的环境变量由白名单构建(PATH、HOME、locale、终端、临时目录、Windows 系统变量、不带凭据的代理,外加 kernelEnvPassthrough)。
- 这覆盖不到的部分。 命令行以你的操作系统用户身份运行,因此它仍能读取你的用户可读的文件,包括 DSH 自己的配置,在 Linux 上还能读取其他进程的 /proc/<pid>/environ。LULUX Flow 在命令行支持的地方收窄了范围(Claude Code 会拿到针对 DSH home、插件数据目录和 /proc 的拒绝规则;Codex 工具命令只拿到核心环境变量,且在 full 以下没有网络),但这不是操作系统沙箱。对于不可信的仓库,请在操作系统沙箱中或以单独用户身份运行 DSH。
- 网关只监听 127.0.0.1,检查 Host 头,并拒绝浏览器请求(任何 Origin 头)。
- 每次命令行运行都会拿到一个随机的运行级 token,绑定到该次运行、模型和协议。网关只存它的哈希;运行结束时它过期并被吊销。
- 工作流节点无法把命令行的权限或模式提升到 Kernels 页面设置之上,权限字段也不能使用模板。模型编写、生成和导入的工作流需要你批准后才能运行。
- 画布 API 需要你的 DSH 会话加一个 CSRF 头。Webhook 需要 HMAC-SHA256 签名,时间戳窗口为 ±5 分钟,并做重放检查。
- HTTP/notify 节点会拦截私有地址和元数据地址,在连接时和每次重定向时重新检查;重定向改变来源时会丢弃凭据。
- 脚本节点需在插件配置中主动开启,且不是沙箱。
完整威胁模型、残余风险和报告方式:SECURITY.md。
架构
flowchart LR
subgraph Browser["DSH Web"]
UI["Canvas · Runs · Kernels · Settingssession kernel picker"]
end
subgraph Host["DSH host process"]
API["HTTP API/dsh-lulux-flow/api"]
ENG["Workflow enginecron · webhooks · approvals"]
ROUTES["Model routeslulux-flow-<cli>/default"]
SUB["Subagent providerslulux-flow-<cli>"]
RUN["Kernel runnerscrubbed env · private home"]
GW["Scoped gateway 127.0.0.1Anthropic · OpenAI Chat/Responses · Gemini"]
LLM["ctx.llmyour DSH providers + keys"]
end
CLI["Claude Code · Codex · Gemini CLIQwen Code · Grok CLI"]
UP["Model provider"]
UI --> API --> ENG
ENG --> RUN
ROUTES --> RUN
SUB --> RUN
RUN -- "spawn + run-scoped token" --> CLI
CLI -- "vendor wire format + token" --> GW
GW --> LLM --> UP
ENG -- "agent nodes" --> LLM
对比
以下内容按各项目在撰写时的 README 如实汇总。它们各自擅长的方向都做得不错;多数解决的是不同问题,其中几个可以并存安装。
| 项目 | 是什么 | 运行外部编码命令行 | 命令行凭据 | 可视化 DAG 编辑器 | 触发器 | 许可证 |
| DSH-LULUX Flow | 面向五种命令行的作用域网关 + 工作流画布 | Claude Code、Codex、Gemini CLI、Qwen Code、Grok CLI | 作用域模式无需凭据(用 DSH 的模型和密钥);可选原生登录 | 有 | 画布、聊天工具、cron、webhook | Apache-2.0 |
| @deepseek-ai/dsh-subagent-claude-code / -codex | 官方一次性子代理服务商 | Claude Code / Codex(内置,运行时版本固定) | 原生命令行登录与设置;API 密钥通过 env 传入 | — | 模型委派 | BSD-3-Clause |
| Workflow One | 面向 DSH 智能体的可视化工作流编排器 | 未说明 | — | 有(智能体、脚本、条件、HTTP、通知节点) | 画布、聊天、webhook、cron;飞书投递 | MIT |
| omdsh-dev/dsh_workflow | 基于 DSH 子代理的可保存、可恢复工作流层(/workflow 命令、capsule) | 未说明 | — | 无(代码定义的 capsule) | 命令、模型工具 | MIT |
| GZX2211/dsh-Visual-Workflow | 可视化智能体编排平台:元编排、智能体团队、MCP、human-in-the-loop | 未说明 | — | 有 | 画布、定时任务、API 服务模式 | MIT |
| xuanyuanzhifeng/dsh-plugin-agent-workflow | 只读的「Workflow」标签页,可视化展示会话的模型调用与工具调用 | 否 | — | 无(执行时间线视图) | — | MIT |
「未说明」指项目 README 没有提到,不代表做不到。欢迎提 issue 指正。
常见问题
我需要 Claude、OpenAI、Google、Qwen 或 xAI 账号吗? 不在作用域模式下。命令行连接插件的网关,网关使用你在 DSH 里配置的模型。你仍然需要命令行二进制文件(Kernels 页面可以安装)。
命令行实际用哪个模型? 如果你设了 Gateway model,就用它;否则用 DSH 的默认模型。命令行自带的模型名(sonnet、gpt-5 等)会映射到那个模型上。
命令行的表现会和用厂商自家模型时完全一样吗? 命令行的工具、提示词和工作流不变,但质量取决于网关背后的模型。工具调用能力扎实的模型效果最好。
网页或本机其他程序能用网关吗? 浏览器一律拒绝,其他本地程序需要有效的运行 token。token 只发给命令行进程(通过环境变量;Claude Code 还会拿到其每次运行 home 目录下权限为 0600 的文件),运行结束即吊销。以你自己的用户身份运行的程序,在运行期间可以读到它;见 SECURITY.md。
命令行能读到我的服务商密钥吗? 密钥从不传给它。但命令行以你的操作系统用户身份运行,所以能读你的用户能读的任何文件,包括 DSH 的配置。Claude Code 对这些路径有拒绝规则;其他命令行没有路径规则。对你不信任的仓库,请用操作系统沙箱或单独的用户。
命令行能拿到 DSH 的工具或 MCP 服务器吗? 不能。命令行运行自己的工具。DSH 把它的活动看作推理行,把它的最终回答看作回复。
我的数据在哪? 默认在 ~/.dsh/dsh-lulux-flow/:工作流、运行记录、设置、聊天会话绑定,以及插件安装的命令行。除了经由你的 DSH 服务商和你添加的 HTTP/notify 节点,数据不会发往任何地方。
怎么给 webhook 签名? X-Lulux-Flow-Timestamp: <unix seconds> 和 X-Lulux-Flow-Signature: sha256=<hex HMAC-SHA256 of "<timestamp>.<raw body>"> 使用启用 webhook 时只显示一次的密钥(再次启用会轮换它)。
已知限制
- 转发时图片会被丢弃。 网关把文本转发给 DSH 的模型运行时;命令行发来的内联图片会被替换成占位符,远程图片 URL 从不抓取。
- Gemini CLI、Qwen Code 和 Grok CLI 重放上下文,而不是恢复原生会话,所以长对话每轮都会重发历史。Claude Code 和 Codex 原生恢复。
- Windows 上启动命令行是尽力而为。 npm 的 .cmd shim 会解析到它启动的程序:原生可执行文件(如 Claude Code 的 claude.exe)直接运行,JavaScript 入口用 Node 运行(两者都解析不了时,通过 cmd.exe 并转义参数运行)。shim 解析和引号处理有单元测试;在 Windows 上启动每个命令行尚未端到端验证。
- DSH Desktop 里的 Node.js。 DSH Desktop 自己的可执行文件不是 Node.js。入口是 JavaScript 文件的命令行(Codex 的启动器、Gemini CLI、Qwen Code、Windows 上的 Grok CLI)、脚本节点和命令行安装都使用 Node.js 20+ 在 PATH 中找到(或在其常规安装位置找到)。没有 Node.js 时,如果应用允许,DSH Desktop 会以 Node.js 方式运行;否则 Kernels 页面会说明这一点,并且不会启动任何东西。安装 Node.js 22+ 可以避免这种情况。
- Grok CLI 没有 edit 级别:它没有「可编辑文件但不可使用 shell」模式,因此只提供 read-only/ask(只读工具)和 full。
- 只有 Claude Code 会把权限提示桥接到 DSH 审批;其他 CLI 使用各自的沙箱 / 审批标志。
- 以聊天智能体身份运行的 CLI 不会获得 DSH 自带的工具。
- Gemini CLI、Qwen Code 和 Grok CLI 已通过适配器测试验证,尚未针对真实二进制文件测试。参见 docs/verification.md。
- DSH 尚处于预发布阶段;未来的 DSH 版本可能需要匹配的插件更新。
免责声明
DSH-LULUX Flow 是非官方社区项目,与 DeepSeek、Anthropic、OpenAI、Google、Alibaba 或 xAI 无关联,也未获其认可或赞助。DeepSeek、Claude Code、Codex、Gemini CLI、Qwen Code 和 Grok 等产品名称均为各自所有者的商标。你需要自行负责遵守所用 CLI 和模型服务商的条款。
贡献
欢迎提交 issue 和 pull request;参见 CONTRIBUTING.md(提交需要 DCO 签署)和行为准则。
许可证
Apache License 2.0 © 2026 koko。第三方声明:NOTICE、THIRD_PARTY_LICENSES.md。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
koko2376/dsh-lulux-flow
复用已配模型驱动五种编码 CLI 并编排成 DAG 工作流
相关插件 · 工具 / 效率
破甲管控台kingcharleslzy-ai/dsh-purge
dsh-purge Community · DeepSeek Harness 社区维护版:宿主兼容、状态诊断、提示词管理、更新与本机备份回滚。基于小杨 / YuJunZhiXue 的 dsh-purge。
★ 4,330已汉化DeepSeek 客户端
74.5
网文长卷lingfengQAQ/webnovel-writer
基于 Claude Code 的长篇网文辅助创作系统,解决 AI 写作中的「遗忘」和「幻觉」问题,支持 200…
★ 7,636已汉化DSH
72.2
多智能体协作HKUDS/AutoSwarm
AutoSwarm: Unify Your Agents. Unify Your Context (Codex · Claude Code · DeepSeek Harness · Muse · Grok · WorkBuddy· nanobot · and more)
★ 2,349已汉化DSH
71.6
Vox 拼贴视频生成Alisa0808/vox-director
🎬 Vox Director拼贴动效导演
★ 2,129已汉化DSH
71.4
Agent 演化引擎Q00/ouroboros
智能体 OS:智能体自己变聪明,我们只守住底线:面试准入、分阶段评估、带预算的进化循环。MCP 服务器,14 种运行时:Claude Code、Codex CLI、Gemini CLI、OpenCode、Copilot、Kiro 等。
★ 6,311已汉化DSH
71.4
智能体运行框架路由HarnessRouter/harnessrouter
智能体 harness 的统一接口。
★ 3,984已汉化DSH
71.3
这是你的仓库?认领条目