clawock-dsh
v0.3.1
模型与账号
可执行外部程序发起网络请求动态执行代码
DeepSeek Harness 的投资决策工作流插件:agent 走完 「读请求 → 研究 + 正反辩论 → 写决策 → Python 校验结算」四步, web GUI 多一个 Decision Mind tab 把每笔成交的决策轨迹钉在页面上。
作者原文(英文)
DSH (DeepSeek Harness) plugin for investment decisions: evidence-gated research, a forced bull/bear debate, Python-settled outcomes the model cannot grade, and the Decision Mind tab that pins every real trade to its plan and T+1 verdict
中文简介由 DeepSeek 模型翻译,仅供参考。
dshdeepseekdeepseek-harnesspluginclawockinvestmentdecisionsettlement
源仓库没有任何提交 仓库存在但是空的,没有源码可看。npm 上的包仍然可以安装,但作者没有公开对应源码。
检测报告
关注度高。命中了不少能力模式,其中可能有需要留意的。逐条看下面的清单。
1高关注2需留意5一般16未命中
高关注需留意一般
能力清单
- 可执行外部程序
spawns-processes高关注2 处命中lib/balance.js:4import { spawn } from "node:child_process";lib/taskqueue.js:5import { execFile } from "node:child_process";- 看它调用哪些程序。调用本机已有的工具是常见做法。
- 发起网络请求
network需留意1 处命中lib/balance.js:328response = await fetch(url, {- 看请求发往哪些域名。发往作者自己的后端是常见做法。
- 动态执行代码
dynamic-code需留意1 处命中lib/client.js:153new Function("");- 看 eval / new Function 的入参来自哪里。常量字符串和用户输入是两回事。
- 接触凭据或密钥
credentials一般96 处命中lib/balance.js:8* answered with the SAME keys the harness's adapters use (credentials seamlib/balance.js:52const DEFAULT_CLAUDE_CREDENTIALS_PATH = join(homedir(), ".claude", ".credentials.json");lib/balance.js:74* The credentials seam reference the official DeepSeek adapter resolves.lib/balance.js:75* A plain string on purpose, not credentialRef(): the branding helper is a- 看它读取哪些凭据、发往哪里。用于登录自己的服务是正常的。
- 读取文件
reads-files一般36 处命中lib/balance.js:304const parsed = JSON.parse(readFileSync(path, "utf8"));lib/balance.js:312if (!existsSync(configPath)) return void 0;lib/balance.js:315cfg = JSON.parse(readFileSync(configPath, "utf8"));lib/balance.js:471if (command.includes("/")) return existsSync(command) ? command : void 0;- 读文件是绝大多数插件的正常工作方式,本身不构成顾虑。
- 读取环境变量
reads-env一般4 处命中lib/balance.js:297const ambient = process.env[ref];lib/balance.js:472for (const dir of (process.env.PATH ?? "").split(delimiter)) {lib/chat.js:2478const workspace = ctx.config?.agents?.defaults?.workspace ?? process.env.CLAWOCK_WORKSPACE ?? join(homedir(), ".openclaw…lib/index.js:58const workspaceOf = () => process.env.CLAWOCK_WORKSPACE || process.cwd();- 环境变量里常混有密钥。看它是否把整个 env 都读走。
- 动态加载模块
dynamic-import一般2 处命中lib/types/client.d.ts:60export declare function createDecisionMindStore(): import("@deepseek-ai/dsh-client-store").EngineStoreHandle<DecisionMin…lib/types/client.d.ts:163export declare function createBalanceStore(): import("@deepseek-ai/dsh-client-store").EngineStoreHandle<BalanceUiState, …- 动态导入本身无害,但会让依赖关系难以静态审阅。
- 文中出现远程脚本地址
remote-url-reference一般2 处命中README.md:325| ops entry | [`ops/host/task_queue_ops.py`](https://github.com/KCNyu/clawock/blob/master/ops/host/task_queue_ops.py), i…README.md:426| ops 入口 | [`ops/host/task_queue_ops.py`](https://github.com/KCNyu/clawock/blob/master/ops/host/task_queue_ops.py),装到 `/…- 只是文本里出现了远程脚本地址,没有看到加载它的调用。多半是文档或注释;若确实可疑,搜一下这个地址在包里的其他出现位置。
逐条扫描明细
| 能力 | 标识 | 关注度 | 命中次数 |
|---|---|---|---|
| 可执行外部程序 | spawns-processes | 高关注 | 2 |
| 发起网络请求 | network | 需留意 | 1 |
| 动态执行代码 | dynamic-code | 需留意 | 1 |
| 接触凭据或密钥 | credentials | 一般 | 96 |
| 读取文件 | reads-files | 一般 | 36 |
| 读取环境变量 | reads-env | 一般 | 4 |
| 动态加载模块 | dynamic-import | 一般 | 2 |
| 文中出现远程脚本地址 | remote-url-reference | 一般 | 2 |
这份报告的口径
扫描读的是包里的源码,全程不执行第三方代码。 本次读了 40 个文件,扫描于 2026-10-14。 命中次数只说明源码里出现过这类调用,不说明行为好坏——一个插件读写文件 500 次和 1 次 都会被记为「读取文件」。这是能力清单,不是信任评分,也不是安全结论: 没扫出来的能力可能只是写法没被规则覆盖。