在对话里做个股研究、整理资料并管理模拟基金
44.7/100
综合分
30
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/11/4 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
该插件未发布到 npm,按作者文档从 GitHub 源安装即可(静态检查只覆盖 npm 路径,不代表插件不可用)。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add DKKD13/dsh-finance该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
dsh 原生插件 · tool
装得上吗
作者未把包发布到 npm,只能用源码安装
插件本身没问题,是分发方式不同
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 2 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装仓库 package.json 标记 private,未发布到 npm,需从源码安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包dsh-research-graph(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/4 06:34:38
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 51 处,展示前 45 条)
- 写入剪贴板client/clipboard.ts:62
await environment.clipboard.writeText(text) - 发起网络请求client/finance-store.ts:190
return await this.gateway.request(request) - 发起网络请求client/research-store.ts:163
return this.graph.request({ op: 'graph.snapshot' }).then(response => { - 发起网络请求client/research-store.ts:268
response = await this.graph.request({ op: 'graph.plan', plan: plan as never }) - 发起网络请求client/research-store.ts:315
const read = await this.graph.request({ op: 'node.get', id }) - 发起网络请求client/research-store.ts:319
const response = await this.graph.request({ op: 'node.update', id, patch: { metadata: { ...node.metadata, stance } } }) - 发起网络请求client/research-store.ts:361
response = await this.graph.request({ op: 'history.list' }) - 发起网络请求client/store.ts:261
return await this.gateway.request(request) - 发起网络请求clipper-extension/background.js:108
const response = await fetch(globalThis.DSHClipperPayload.importUrl(settings.endpoint), { - 写入本地文件src/finance/clipper-http.ts:81
await mkdir(dirname(file), { recursive: true }) - 读取本地文件src/finance/clipper-http.ts:84
const stat = await lstat(file) - 读取本地文件src/finance/clipper-http.ts:86
const token = (await readFile(file, 'utf8')).trim() - 写入本地文件src/finance/clipper-http.ts:88
await chmod(file, 0o600) - 写入本地文件src/finance/clipper-http.ts:95
await writeFile(file, token, { encoding: 'utf8', mode: 0o600, flag: 'wx' }) - 写入本地文件src/finance/clipper-http.ts:96
await chmod(file, 0o600) - 发起网络请求src/finance/service.ts:240
const batch = await this.dataPlane.fetch(input) - 执行外部命令来自配置/变量src/finance/sources.ts:78
nodeExecFile(file, [...args], options, (error, stdout, stderr) => { - 发起网络请求src/finance/sources.ts:310
async fetch(inputValue: SourceFetchInput): Promise<{ - 发起网络请求src/finance/sources.ts:377
const payload = await this.http.request(url, { accept: 'application/json' }) - 请求外部主机www.sec.govsrc/finance/sources.ts:428
const payload = await this.http.request('https://www.sec.gov/files/company_tickers.json', { accept: 'application/json', ...this.secHeaders() }) - 发起网络请求src/finance/sources.ts:428
const payload = await this.http.request('https://www.sec.gov/files/company_tickers.json', { accept: 'application/json', ...this.secHeaders() }) - 发起网络请求src/finance/sources.ts:473
const payload = await this.http.request(url, { accept: 'application/json', ...this.secHeaders() }) - 发起网络请求src/finance/sources.ts:497
const payload = await this.http.request(url, { accept: 'application/json', allowLoopback: true }) - 发起网络请求src/finance/sources.ts:544
const payload = await this.http.request(url, { accept: 'application/atom+xml, application/rss+xml, application/xml, text/xml;q=0.9' }) - 读取本地文件src/importer.ts:90
const text = await readFile(resource.file, 'utf8') - 读取本地文件src/importer.ts:105
const text = await readFile(skill.file, 'utf8') - 写入本地文件src/service.ts:336
await mkdir(target, { recursive: true }) - 读取本地文件src/service.ts:354
const realTarget = await realpath(target) - 读取本地文件src/service.ts:358
const actual = await realpath(existing).catch((error: NodeJS.ErrnoException) => { - 写入本地文件src/service.ts:368
await mkdir(dirname(file), { recursive: true }) - 读取本地文件src/service.ts:369
if (!inside(realTarget, await realpath(dirname(file)))) throw new GraphError('EXPORT_PATH_OUTSIDE_ROOT', 'An export directory points outside the selec - 读取本地文件src/service.ts:370
const info = await lstat(file).catch((error: NodeJS.ErrnoException) => { - 读取本地文件src/service.ts:376
const realSkillsRoot = await realpath(skillsRoot).catch((error: NodeJS.ErrnoException) => { - 读取本地文件src/service.ts:389
const info = await stat(candidate).catch((error: NodeJS.ErrnoException) => { - 写入本地文件src/service.ts:432
await writeFile(destination, [`# ${relative(skillsRoot, source)}`, '', ...children.map(([child, entries]) => `- ${nodeMarkdownLink(relative(source, ch - 写入本地文件src/service.ts:436
await copyFile(actual, destination) - 写入本地文件src/service.ts:448
await writeFile(file, renderNodeMarkdown({ ...node, content }, outgoing, id => { - 写入本地文件src/service.ts:458
await writeFile(indexFile, index.join('\n'), 'utf8') - 读取本地文件src/skills-provider.ts:75
text = await readFile(locator.file, 'utf8') - 读取本地文件src/skills.ts:87
const entries = await readdir(dir, { withFileTypes: true }) - 读取本地文件src/skills.ts:120
const parsed = parseMarkdown(await readFile(file, 'utf8'), rel) - 读取本地文件src/store.ts:193
text = await readFile(store.file, 'utf8') - 写入本地文件src/store.ts:327
await mkdir(this.dir, { recursive: true }) - 写入本地文件src/store.ts:329
await writeFile(staging, `${JSON.stringify(document, null, 2)}\n`, 'utf8') - 写入本地文件src/store.ts:330
await rename(staging, this.file)
扫描于 2026/11/4(0 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库
涉及外部主机:www.sec.gov
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-commands@deepseek-ai/dsh-skill@deepseek-ai/dsh-tools@deepseek-ai/schemastery给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
DKKD13 个人开发的第三方 DSH 金融研究插件:研究 Skills、证据资料库、个股图表与模拟基金。与 DeepSeek 官方无隶属关系。
README
由 DeepSeek 最新模型翻译生成DKKD13 个人开发的 DSH 金融研究插件。
An independent personal plugin for DeepSeek Harness.
开始使用 · 功能实图 · 日常研究 · 能力与数据来源
DSH Finance 把市场、研究 Skills、资料、观点和模拟基金放进同一个 DeepSeek Harness 工作台。选一个研究任务,带着材料进入对话;读结论时,随时回到原文,继续追问。
这是 DKKD13 个人开发和维护的第三方插件,与 DeepSeek 官方无隶属关系。当前为 0.1.0 预览版,适用于桌面 Web Client。
首次试用请先读 安装检查与常见问题。当前安装包为预览版;已知问题、修复进度和未完成的验收会在该页说明。
看看它能做什么
一间有分工的 AI 投研办公室
为虚拟基金创建基金经理、行业研究员与复盘角色。每个工位都有自己的头像、研究风格、任务和覆盖标的;点开工位,可以查看最近研究并继续对话。工作动态集中展示研究产物,持仓、现金和净值由统一的纸面账本计算。
虚拟基金的研究工位与工作动态
同一张纸面账本保存历史净值。曲线可悬停或用方向键查看每个已保存的截面,研究讨论与组合记录可以一起回顾。
展开完整文档(README 剩余 1 节)
DKKD13 个人开发的 DSH 金融研究插件。 An independent personal plugin for DeepSeek Harness. 开始使用 · 功能实图 · 日常研究 · 能力与数据来源 DSH Finance 把市场、研究 Skills、资料、观点和模拟基金放进同一个 DeepSeek Harness 工作台。选一个研究任务,带着材料进入对话;读结论时,随时回到原文,继续追问。 这是 DKKD13 个人开发和维护的第三方插件,与 DeepSeek 官方无隶属关系。当前为 0.1.0 预览版,适用于桌面 Web Client。 首次试用请先读 安装检查与常见问题。当前安装包为预览版;已知问题、修复进度和未完成的验收会在该页说明。 看看它能做什么 一间有分工的 AI 投研办公室 为虚拟基金创建基金经理、行业研究员与复盘角色。每个工位都有自己的头像、研究风格、任务和覆盖标的;点开工位,可以查看最近研究并继续对话。工作动态集中展示研究产物,持仓、现金和净值由统一的纸面账本计算。 虚拟基金的研究工位与工作动态 同一张纸面账本保存历史净值。曲线可悬停或用方向键查看每个已保存的截面,研究讨论与组合记录可以一起回顾。 模拟基金的净值历史与截面查看 从一个 Skill,进入一场研究 公司研究、财报前瞻、深度研究、估值、每日简报、假说论证,以及不同人物的思考视角,都有对应入口。卡片悬停查看说明,点击选择研究上下文,再进入原生 DSH 对话。包内包含 38 个可注册 Skills。 研究工作流与 Skills 卡片 资料不是附件堆,是判断的起点 在同一个资料库里阅读材料、AI 摘要、原文高亮和关联观点。材料、洞见和研究记录分组展示;原始链接与来源时间保留在旁边,方便核对。支持网页剪藏,以及 PDF、DOCX、Markdown 等文件导入。 资料库中的摘要、原文与关联研究 看行情,也把问题带进研究 个股页包含价格图表、时间区间、比较、历史数据及研究入口。Yahoo 报价与历史行情通过显式请求读取;财务、持有人、预期等栏目展示已导入资料。图表与历史数据支持 PNG / CSV 导出。 个股图表与公司研究界面 把看多与看空的理由放到一起 在多空观点中对照判断、证据与反证;研究报告保留 Markdown,已有报告可以继续讨论。DCF、可比公司和组合计算使用明确输入,预测到期后再结算,让研究留下可回顾的记录。 多空观点与证据阅读 以上为实际插件组件的截图,使用隔离的公开材料与合成示例数据。它们展示界面及数据结构,不代表实时市场、真实投资业绩或已运行的后台研究。 开始使用 需要已安装的 DeepSeek Harness >=0.2.1-rc.1 <0.3.0,以及可用的模型配置。插件复用 Harness 的模型和原生对话,不附带模型密钥。 1. 从 Releases 下载 dsh-research-graph-0.1.0.tgz 并解压到一个固定目录。 2. 在 DSH 对话中,请插件管理器安装这个目录: 请使用 plugin_manager 的 install_bundle,安装以下本地目录: <你解压后的 package 目录绝对路径> 3. 插件激活后,打开侧栏的 金融。 4. 到 工作流 选择“公司研究”或“每日研究简报”,输入问题,选择已有或新建对话,检查草稿后发送。 首次使用也可以从右上菜单的指南开始。网页剪藏扩展单独提供在 Release 的 dsh-local-clipper.zip;它是本地扩展包,尚未在扩展商店上架,配置说明见 Clipper README。 研究资料保存在本地 图谱默认写入 ~/.dsh-research-graph/graph.json,可在插件配置中修改。材料、关系、修订历史和模拟基金共用这份数据,不需要额外部署数据库。 “本地保存”不意味着离线推理:进入 DSH 对话后,选中的资料可能发送到你配置的模型服务;抓取外部资料也会访问对应来源。 可选配置 - insert: - id: dsh-research-graph name: dsh-research-graph config: autoIndexSkills: true writeMirror: false historyLimit: 256 SEC 需要配置 secContact;OpenBB 和 AlphaSift 需要你已有相应服务或 CLI。商业数据库连接器不随包提供。完整能力说明见 能力与数据来源。 本地开发 npm ci npm run typecheck npm run build npx vitest run --maxWorkers=1 --minWorkers=1 node --test "tests/skills/*.test.mjs" 完整测试需要 Google Chrome;默认使用 macOS 的标准安装路径,其他环境通过 CHROME_BIN 指定。浏览器回归测试需要先运行构建。 无模型配置也可以查看隔离的示例工作台: node scripts/preview-server.mjs 48941 node scripts/seed-showcase.mjs http://127.0.0.1:48941 打开 http://127.0.0.1:48941/scripts/preview.html?lang=zh&theme=light&panel=finance-workbench。预览只用于 UI 和本地服务演示,不提供原生对话,也不接真实外部行情;关闭服务后,临时图谱清除。 当前边界 - 虚拟基金是纸面模拟,不连接券商,也不执行真实交易。 - 持续覆盖依赖实际创建成功的 DSH 计划任务;关掉插件页面不等于配置好了后台研究。 - 财务表、预期、持有人、财报日历和预测市场依赖已导入字段,尚未统一接入实时服务商。 - 行情可用性受公开来源和网络限制;价格提醒在浏览器前台检查。 许可证与来源 插件代码采用 MIT。随包研究技能与参考方法保留各自的许可证和归属,详见 Third-Party Notices。人物视角是基于公开资料的研究方法,不代表本人或其机构背书。用于研究与模拟,不构成投资建议。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
DKKD13/dsh-finance
在对话里做个股研究、整理资料并管理模拟基金
相关插件 · 工具 / 效率
破甲管控台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
这是你的仓库?认领条目