🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

交易控制台 0xEryx/clustr-trading-console

DeepSeek Harness
0xEryx75 天前有提交已提供中文文档扫描:含敏感能力

统一管理多交易所账户,受控执行交易决策

23.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/25 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add 0xEryx/clustr-trading-console
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · tool
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 75 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 81 处,展示前 80 条)
  • 发起网络请求
    src/index.js:417
    const outcome = await approval.request({
  • 发起网络请求
    src/index.js:1273
    const outcome = await approval.request({
  • 发起网络请求
    src/index.js:1437
    const outcome = await approval.request({
  • 发起网络请求
    lib/client.js:396
    const res = await fetch(path, { cache: "no-store" });
  • 发起网络请求
    lib/client.js:402
    const res = await fetch(path, { method: "POST", headers: { "content-type": "application/json", "x-clustr-csrf": csrfToken }, body: JSON.stringify(body
  • 发起网络请求
    lib/client.js:4749
    fetch("/api/crypto/status").then((response) => response.ok ? response.json() : null),
  • 发起网络请求
    lib/client.js:4750
    fetch(contextUrl).then((response) => response.ok ? response.json() : null)
  • 发起网络请求
    lib/client.js:4873
    fetch(`/api/crypto/session-modes?ids=${encodeURIComponent(ids.join(","))}`, { headers: { accept: "application/json" } }).then(async (response) => {
  • 发起网络请求
    lib/client.js:4945
    const res = await fetch("/api/crypto/session");
  • 执行外部命令固定命令
    bin/clustr-console.js:51
    const result = spawnSync('dsh', args, {
  • 读取本地文件
    src/bridge.js:22
    const pkg = JSON.parse(readFileSync(pkgPath, 'utf8'))
  • 执行外部命令来自配置/变量
    src/bridge.js:59
    this.child = spawn(bin, args, { stdio: ['pipe', 'pipe', 'pipe'], env })
  • 发起网络请求
    src/bridge.js:83
    await this.request('initialize', {
  • 发起网络请求
    src/bridge.js:126
    const result = await this.request('tools/list', {})
  • 发起网络请求
    src/bridge.js:132
    const result = await this.request('tools/call', { name, arguments: args ?? {} })
  • 读取本地文件
    src/audit.js:21
    const parsed = JSON.parse(readFileSync(FILE, 'utf8'))
  • 写入本地文件
    src/audit.js:30
    await mkdir(dirname(FILE), { recursive: true, mode: 0o700 })
  • 写入本地文件
    src/audit.js:32
    await writeFile(temporary, snapshot, { mode: 0o600 })
  • 写入本地文件
    src/audit.js:33
    await rename(temporary, FILE)
  • 读取本地文件
    src/operating-core.js:114
    const parsed = JSON.parse(await readFile(this.file, 'utf8'))
  • 写入本地文件
    src/operating-core.js:127
    await mkdir(dirname(this.file), { recursive: true, mode: 0o700 })
  • 写入本地文件
    src/operating-core.js:129
    await writeFile(temporary, JSON.stringify(state, null, 2), { mode: 0o600 })
  • 写入本地文件
    src/operating-core.js:130
    await chmod(temporary, 0o600).catch(() => {})
  • 写入本地文件
    src/operating-core.js:131
    await rename(temporary, this.file)
  • 发起网络请求
    src/bybit.js:185
    const payload = await this.request('/v5/market/tickers', { category, symbol: normalizedSymbol })
  • 发起网络请求
    src/bybit.js:229
    const payload = await this.request('/v5/market/instruments-info', { category: normalizedCategory, limit: 1000, cursor })
  • 发起网络请求
    src/bybit.js:254
    const payload = await this.request('/v5/market/kline', {
  • 发起网络请求
    src/bybit.js:297
    const payload = await this.request('/v5/market/orderbook', {
  • 读取本地文件
    src/bybit-mcp.js:24
    const pkg = JSON.parse(readFileSync(pkgPath, 'utf8'))
  • 发起网络请求
    src/bybit-mcp.js:125
    await this.request('initialize', { protocolVersion: '2024-11-05', capabilities: {}, clientInfo: { name: 'clustr-trading-console', version: CLUSTR_VERS
  • 发起网络请求
    src/bybit-mcp.js:176
    const result = await this.request('tools/list', {})
  • 发起网络请求
    src/bybit-mcp.js:183
    const result = await this.request('tools/call', { name, arguments: args })
  • 发起网络请求
    src/hyperliquid.js:159
    const payload = await this.request({ type: 'allMids', ...(dex ? { dex } : {}) })
  • 发起网络请求
    src/hyperliquid.js:215
    this.request({ type: 'meta' }),
  • 发起网络请求
    src/hyperliquid.js:216
    this.request({ type: 'spotMeta' }),
  • 发起网络请求
    src/hyperliquid.js:254
    const payload = await this.request({
  • 发起网络请求
    src/hyperliquid.js:302
    const payload = await this.request(body)
  • 执行外部命令固定命令
    src/network.js:27
    return parseScutilProxy(execFileSync('/usr/sbin/scutil', ['--proxy'], {
  • 发起网络请求
    src/network.js:88
    this.dispatcher = new EnvHttpProxyAgent({
  • 发起网络请求
    src/network.js:98
    fetch(input, init = {}) {
  • 发起网络请求
    src/network.js:100
    return undiciFetch(input, { ...init, dispatcher: this.dispatcher })
  • 发起网络请求
    src/network.js:132
    const response = await this.fetch(url, {
  • 请求外部主机api.ipify.org
    src/network.js:153
    response = await this.fetch('https://api.ipify.org?format=json', {
  • 发起网络请求
    src/network.js:153
    response = await this.fetch('https://api.ipify.org?format=json', {
  • 读取本地文件
    src/session-binding.js:26
    parsed = JSON.parse(await readFile(this.file, 'utf8'))
  • 删除本地文件
    src/session-binding.js:70
    await unlink(this.file)
  • 写入本地文件
    src/session-binding.js:85
    await mkdir(dirname(this.file), { recursive: true, mode: 0o700 })
  • 写入本地文件
    src/session-binding.js:88
    await writeFile(temporary, JSON.stringify(value, null, 2), { mode: 0o600 })
  • 写入本地文件
    src/session-binding.js:89
    await chmod(temporary, 0o600).catch(() => {})
  • 写入本地文件
    src/session-binding.js:90
    await rename(temporary, this.file)
  • 删除本地文件
    src/session-binding.js:92
    await unlink(temporary).catch(() => {})
  • 读取本地文件
    src/execution-policy.js:96
    const parsed = JSON.parse(await readFile(this.file, 'utf8'))
  • 写入本地文件
    src/execution-policy.js:147
    await mkdir(dirname(this.file), { recursive: true, mode: 0o700 })
  • 写入本地文件
    src/execution-policy.js:150
    await writeFile(temporary, JSON.stringify(value, null, 2), { mode: 0o600 })
  • 写入本地文件
    src/execution-policy.js:151
    await chmod(temporary, 0o600).catch(() => {})
  • 写入本地文件
    src/execution-policy.js:152
    await rename(temporary, this.file)
  • 删除本地文件
    src/execution-policy.js:154
    await unlink(temporary).catch(() => {})
  • 读取本地文件
    src/session-tape.js:56
    const parsed = JSON.parse(readFileSync(file, 'utf8'))
  • 写入本地文件
    src/session-tape.js:83
    await mkdir(dirname(this.file), { recursive: true, mode: 0o700 })
  • 写入本地文件
    src/session-tape.js:85
    await writeFile(temporary, snapshot, { mode: 0o600 })
  • 写入本地文件
    src/session-tape.js:86
    await rename(temporary, this.file)
  • 读取本地文件
    src/preset-installer.js:21
    await access(path)
  • 读取本地文件
    src/preset-installer.js:34
    const entries = await readdir(directory, { withFileTypes: true })
  • 读取本地文件
    src/preset-installer.js:47
    return createHash('sha256').update(await readFile(path)).digest('hex')
  • 读取本地文件
    src/preset-installer.js:74
    const info = await stat(target)
  • 读取本地文件
    src/preset-installer.js:79
    managed = JSON.parse(await readFile(join(target, MANAGED_FILE), 'utf8'))
  • 写入本地文件
    src/preset-installer.js:96
    await writeFile(join(stage, MANAGED_FILE), `${JSON.stringify({
  • 写入本地文件
    src/preset-installer.js:121
    await mkdir(dirname(target), { recursive: true, mode: 0o700 })
  • 写入本地文件
    src/preset-installer.js:125
    await rename(stage, target)
  • 删除本地文件递归
    src/preset-installer.js:128
    await rm(stage, { recursive: true, force: true }).catch(() => {})
  • 写入本地文件
    src/preset-installer.js:135
    await rename(target, backup)
  • 写入本地文件
    src/preset-installer.js:137
    await rename(stage, target)
  • 写入本地文件
    src/preset-installer.js:139
    await rename(backup, target).catch(() => {})
  • 删除本地文件递归
    src/preset-installer.js:140
    await rm(stage, { recursive: true, force: true }).catch(() => {})
  • 删除本地文件递归
    src/preset-installer.js:144
    if (!force) await rm(backup, { recursive: true, force: true })
  • 删除本地文件递归
    src/preset-installer.js:157
    await rm(state.target, { recursive: true, force: false })
  • 读取本地文件
    src/credential-index.js:29
    const parsed = JSON.parse(await readFile(this.file, 'utf8'))
  • 写入本地文件
    src/credential-index.js:44
    await mkdir(dirname(this.file), { recursive: true, mode: 0o700 })
  • 写入本地文件
    src/credential-index.js:46
    await writeFile(temporary, payload, { mode: 0o600 })
  • 写入本地文件
    src/credential-index.js:47
    await rename(temporary, this.file)
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
涉及外部主机:api.ipify.org

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

面向 DeepSeek Harness 的工业级 AI 交易控制台,支持多交易所账户、确定性风控和 Session Tape。

README

由 DeepSeek 最新模型翻译生成
AI 交易员的全能终端。 统一市场、账户、决策与风控,让复杂交易清晰可控。 安装 ·首次使用指南 ·产品手册 ·分析库 ·安全 Clustr Trading Console 是 DeepSeek Harness 的 AI 交易员操作系统。它把一次交易请求变成可追溯的工作流:收集当前市场与账户证据,运行用户选定的分析,套用确定性风控规则,为写操作申请审批,通过选定的交易所适配器提交,核对订单状态,最后把结果记入 Session Tape。 一条命令完成安装 npx @clustrai/trading-console@latest install --profile web 等终端打印 Clustr Trading Console installation complete,然后重启 DeepSeek Harness Web。首次下载可能要几十秒。 在 Harness 里: 1. 如果是全新安装,先完成 Harness 的模型访问配置。这个密钥让 Harness 访问语言模型,与任何交易所凭证无关。 2. 新建会话,在 Agent Preset 里选择 Clustr Trading Console。 3. 打开 Clustr Settings,创建一个命名交易所账户,运行 Test Connection。 4. 验证并保存账户。先用只读 API 密钥。
展开完整文档(README 剩余 1 节)
AI 交易员的全能终端。
统一市场、账户、决策与风控,让复杂交易清晰可控。

安装 ·首次使用指南 ·产品手册 ·分析库 ·安全

Clustr Trading Console 是 DeepSeek Harness 的 AI 交易员操作系统。它把一次交易请求变成可追溯的工作流:收集当前市场与账户证据,运行用户选定的分析,套用确定性风控规则,为写操作申请审批,通过选定的交易所适配器提交,核对订单状态,最后把结果记入 Session Tape。

一条命令完成安装

npx @clustrai/trading-console@latest install --profile web

等终端打印 Clustr Trading Console installation complete,然后重启 DeepSeek Harness Web。首次下载可能要几十秒。

在 Harness 里:

1. 如果是全新安装,先完成 Harness 的模型访问配置。这个密钥让 Harness 访问语言模型,与任何交易所凭证无关。
2. 新建会话,在 Agent Preset 里选择 Clustr Trading Console。
3. 打开 Clustr Settings,创建一个命名交易所账户,运行 Test Connection。
4. 验证并保存账户。先用只读 API 密钥。
5. 问一个账户、市场、分析或规划方面的问题。执行保持锁定,直到用户明确开启有边界的执行窗口。

安装器支持 macOS、Windows 10/11 和 Linux 桌面,用的是同一个 npm 包。操作系统要求、更新、卸载和故障排查见安装与首次使用。

为什么选 Clustr

◈ 懂交易的上下文市场结构、账户状态、持仓、风控边界和订单状态各自独立,都是带时间戳的事实。
⌁ 用户主动触发的分析十二套分析系统返回证据、反证、关键价位、事件与失效条件。
◇ 受控执行每次写入都受这些保护:最新数据、精确的账户范围、确定性的风险许可、一次性审批、超时对账。

▤ 会话磁带交易指令、决策节点、响应时间、订单状态与核验过的滑点,共同构成标准化回放。
⌾ 本地凭据保管密钥留在 macOS Keychain、Windows Credential Manager 或 Linux Secret Service 中,绝不回传浏览器。
↯ 快路径运行时按意图定制的推理与紧凑行情数据包,减少不必要的模型开销,同时不削弱确定性控制。

激活与隔离

安装插件不会替换 DeepSeek Harness 的默认体验。新会话仍使用内置的 cordis 预设,除非你在 Agent Preset 选择器里选中 Clustr Trading Console。只有预设为 crypto-trader 的会话,才会挂载 Clustr 背景、交易主视觉、安全状态与控制台上下文。

预设选择按会话生效。因此不同工作区可以同时存在普通 Harness 会话和 Clustr 交易会话。已经包含消息的会话保留原预设;想切换模式,请新建会话,避免把交易指令混进无关对话。

能力

- Clustr 体验覆盖 Harness 侧边栏、会话头部、输入区、对话视图、设置和智能体预设
- 通过官方 OKX Agent Trade Kit MCP 提供 OKX 公共、账户、现货、永续合约工具
- 可搜索的合约目录,以及跨 OKX、Binance、Bybit、Hyperliquid 的 K 线加载
- 每个已连接的交易所配置档都有独立的账户余额与持仓视图
- OKX、Binance Spot/USDⓈ-M、Bybit Unified 账户的原生账户适配器
- 通过官方 REST API 完成 Binance Spot 与 USDⓈ-M 的签名下单、查询、撤单,以及降低风险的合约平仓
- 通过官方 Bybit Trading MCP 完成 Bybit Spot、Linear、Inverse 的下单、查询、撤单、预检,以及降低风险的平仓
- 跨交易所价格共识,附带来源新鲜度与离散度警告
- 十二种用户主动触发的市场分析方法,输出标准化的证据、反证、价位、事件与失效条件
- 结构化的交易论点、基于角色的分歧记录、对比场景、限时 K 线回放、交易记忆,以及决策溯源
- 确定性的仓位计算器和策略期望值计算器
- 每单风险限额,以及每次启用写入时由 Harness 一次性审批
- 原子化消耗自主权限范围与一次性风险许可、稳定的客户端订单 ID、超时对账,以及全局紧急停止
- 一个 Clustr 插件包,自动选择凭据保险库:macOS Keychain、Windows Credential Manager 或 Linux Secret Service;密钥绝不进入命令行参数,保存后也绝不返回浏览器
- 支持代理的交易所网络访问,遵循显式或环境代理设置,并自动检测 macOS 的 HTTP/HTTPS 系统代理
- 持久化、脱敏的决策溯源,外加会话级交易指令磁带,记录响应时间和已验证滑点指标

安全默认值

- 默认启用只读模式;符合条件的用户可以在「设置」中明确选择一个具名的 OKX、Binance 或 Bybit 账户,并开启一个限时、需审批的执行窗口
- 执行解锁严格限制为一对交易所/配置档、1–30 个交易品种、最大订单数量、单笔交易风险上限,以及自动过期;恢复只读会撤销未使用的许可,并将自主权限退回 Observe
- 提现、划转、充值以及地址白名单变更永久排除在工具目录之外
- 没有可信 MCP readOnlyHint 的工具一律拦截,不做猜测
- 本地 API 要求回环主机地址和客户端地址;凭据变更还要求同源 JSON 请求和每进程 CSRF token
- API 凭据绝不存入预设、插件配置、localStorage、聊天历史或审计日志
- 交易所 SDK 版本精确锁定
- 凭据在存储前先对交易所做测试;具备提现或划转能力的密钥会被拒绝

对于交易所 API 密钥,从只读权限开始。如果需要执行,只启用 Read + Trade,配置 IP 白名单,使用专用子账户,并保持提现权限关闭。

交易所能力边界

| 交易所 | 账户连接 | 私有账户读取 | 交易执行 |
| | API key、secret、passphrase;多个具名配置档 | 余额与持仓 | OKX Agent Trade Kit,需限时用户解锁、风险许可、限定范围的自主权限,以及 Harness 一次性审批 |
| | API key 和 secret;支持多个命名配置档 | Spot 余额,以及 USDⓈ-M 账户与持仓 | 官方 Spot 与 USDⓈ-M REST 端点,签名调用;背后有精确账户授权、交易所过滤器、新鲜数据、风险许可、一次性审批、稳定客户端 ID 和超时对账 |
| | API key 和 secret;支持多个命名 Live 或 Testnet 配置档 | 统一钱包、未结订单,以及通过 V5 获取的常见线性/反向持仓 | 固定版本的官方 Bybit Trading MCP;背后有精确账户授权、官方 Linear 预检查、同环境新鲜数据、风险许可、一次性审批、稳定订单链接 ID,以及实时/历史对账 |
| | 不可用 | 不可用 | 公开行情数据仍可用;本版本不开放账户连接与执行 |

Exchanges 界面表示的是账户连接能力,不代表图表数据来自哪里。行情场所要在品种搜索里单独选择。账户资料已保存、账户可读取、执行已启用,是三种不同状态。Hyperliquid 账户连接不可用,Clustr 绝不会索要 Hyperliquid 私钥或助记词。

快速路径智能体运行时

Clustr 向 Clustr 会话开放十个任务级工具:上下文、行情包、分析、风险、订单、论点、模拟、记忆、来源和运行状态。原始交易所方法和通用开发工具不进入面向模型的目录。它们组合在任务级工具背后,因此智能体看到的是一个小而稳定的接口,而确定性执行链仍保留原有检查。

请求按意图走不同路径:

- 账户、余额、持仓、报价、连接和状态类问题使用最低推理预算,完成所需读取后可能立即返回;
- 行情分析、交易计划和明确的订单操作使用更高推理预算;
- 深度、对抗性和压力测试请求使用最高推理预算;
- 行情分析消费一个紧凑行情包,其中包含新鲜度、趋势、波动率、支撑/阻力、价差和深度证据,而不是把原始 K 线数组塞进对话;
- 周期性心跳时间戳不改变系统提示词。只有有意义的执行、自主性、紧急停止、账户或不确定订单变化,才推进提示词状态版本。

这种路由改变的是响应成本和延迟,不是安全权限。模型推理永远不会取代风险内核、限定范围自主性、一次性审批、执行账户检查或订单对账状态机。

安装与验证

环境要求:DeepSeek Harness Web、Node.js 22.19 或更高版本、pnpm 10.33。私有账户连接还需要当前操作系统的原生凭据保险库:

- macOS:Keychain 和随附的 Security Framework 辅助程序;
- Windows 10/11:通过 Windows PowerShell 使用 Windows 凭据管理器;
- Linux 桌面:已解锁的 Secret Service 服务商和 secret-tool 命令,通常由 libsecret-tools 或发行版中的对应包提供。

插件包在所有操作系统上完全相同,根据 process.platform 和 process.arch 选择后端。如果匹配的保险库缺失、被锁定或不受支持,公开市场功能仍可用,但凭据保存和私有账户访问会失败关闭。Clustr 绝不会回退到 .env、明文 JSON、浏览器存储或未加密文件。

包内包含 Clustr 安装器,因为 DeepSeek Harness 把用户编写的智能体预设放在 npm 包目录之外。安装器通过官方 DSH 插件命令添加精确的包版本,然后原子化安装 crypto-trader 预设,不会静默覆盖本地修改:

npx @clustrai/trading-console@latest install --profile web

安装后重启 DeepSeek Harness Web。打开 Clustr 设置,选择交易所,输入命名的配置档,先点 Test Connection,再点 Verify and Save。

创建交易所凭据时只授予 Read 权限。如果之后有意启用 OKX、Binance 或 Bybit 交易执行,请另建一把密钥,授予 Read + Trade,禁用 Withdraw/Transfer,绑定实际网络出口 IP,并使用专用子账户。保存测试凭据时选择 Bybit Testnet;它的 MCP 进程、账户读取、交易品种和价格都与 Live 隔离。Clustr 绝不会静默混用测试与实盘环境。

等价的显式两步安装方式:

dsh plugin --profile web add @clustrai/trading-console
npx @clustrai/trading-console setup

卸载时,同时移除 DSH 包和它管理的预设:

npx @clustrai/trading-console@latest uninstall --profile web

更新时,重新运行安装命令。npm 解析 @latest,Harness 替换已安装的包,安装器只更新未被修改的 Clustr 管理预设:

npx @clustrai/trading-console@latest install --profile web

卸载前,如果希望同时删除操作系统保险库中对应的条目,请先在 Clustr 设置里移除已连接的账户。移除插件并不声称会清除仍留在操作系统保险库中的凭据。

安装器拒绝覆盖或删除本地修改过的预设。--force 是显式操作且可恢复:旧预设会被移到带时间戳的备份,而不是被删除。
源码检出后,先运行 pnpm install,再运行 pnpm run release:check。这条命令会构建浏览器 bundle,跑完整测试套件和发布门禁,并打印 npm tarball 的确切内容,但不会发布。

补丁示例:

- insert:
- id: clustr-trading-console
name: '@clustrai/trading-console'
config:
okxProfile: demo
readOnly: true
allowUserExecutionUnlock: true
maxExecutionUnlockMinutes: 480
useSystemProxy: true
modules: [market, account, spot, swap]

在 macOS 上,Clustr 自动读取已启用的系统 HTTP/HTTPS 代理。所有平台都支持 HTTPS_PROXY、HTTP_PROXY 和 NO_PROXY。必要时可以显式配置 proxyUrl;状态响应中会隐去代理凭据。Clustr 绝不会切换到未知的第三方代理。

Clustr 在 ~/.dsh/clustr/credential-index.json 维护一份不含密钥的账户索引。索引只记录交易所名和配置档名,这样 Linux 无需枚举或导出 Secret Service 的值,就能恢复具名账户行。真正的 API 凭据始终只存放在操作系统保险库中。

跨平台发布契约

Clustr Trading Console 是一个产品、一个插件版本。通用 UI、智能体工具、风险内核、账户适配器和执行策略在各平台间共享,只有凭据保险库后端不同。市场安装应始终是单个 Install 操作。离线分发可以使用带平台标签的归档包,但每个归档包必须携带相同的插件版本和源码修订号。

跨平台发布前,CI 必须运行通用测试套件,并在 macOS、Windows 和 Linux 上运行原生集成任务。每个任务都必须验证:保存、读取、重启后持久化、锁定保险库时拒绝、删除确认、密钥不出现在 argv/stdout/stderr/日志/审计/HTTP 响应中,以及保险库不可用时按失败关闭处理。

设置操作 Query Current Network Egress IP 只在用户点击时访问 api.ipify.org。结果用于配置交易所 IP 白名单;不会向该服务发送任何交易所凭据。

操作核心

Clustr 把交易工作组织成九个相互连接的能力层:

1. 多源市场情报
2. 结构化的协作判断记录
3. 持久化的交易论题与证据
4. 对比场景
5. 限时 K 线回放
6. 确定性风险评估与一次性许可
7. 有范围、会过期的自主级别
8. 本地交易记忆与结果复盘
9. 脱敏的决策溯源分析工具箱包含 Wyckoff、艾略特波浪候选、ATR 标准化江恩角度、道氏理论、一目均衡表、斐波那契回撤、Volume Profile、SMC 结构、海龟/唐奇安突破、Bollinger + RSI + MACD、SuperTrend + ADX/ATR,以及 VWAP + OBV + MFI。每种方法都由你手动启用,绝不会因为图表可见就自动运行。启发式结构评分不是校准过的概率。公式来源与方法局限记录在 ANALYSIS_METHODS.md。

插件不会改动 DeepSeek Harness 核心文件。所有界面都通过 Harness 的服务与插槽注册,因此卸载插件后即可恢复产品原貌。
预览分享卡片长什么样 ↓0xEryx/clustr-trading-console
分享 · DeepSeek Harness Hub
0xEryx/clustr-trading-console

统一管理多交易所账户,受控执行交易决策

这是你的仓库?认领条目

回到顶部