dshplugin.devDeepSeek Harness Plugins
hanai-investment-dsh plugin logo
DeepSeek Harness Plugin

hanai-investment-dsh

2
Published by hancao97

Local-first A-share research workbench for DeepSeek Harness: market dashboards, watchlists, valuation, four investor agents, versioned reports, and continuous post-report chat.

Automationa-shareai-agentdeepseek-harnessdsh-plugin

Get this plugin

Review the source, then continue to the publisher.

Get this plugin
Share on X ↗

About this plugin

Source snapshot 8/16/2026

Hanai Worth · 值见

价格有报价,价值靠研究。

Hanai Worth · 值见——以向上 K 线、MACD 金叉与证据点构成的价值研究品牌图

DeepSeek Harness Node.js Tests License

Hanai Worth · 值见 是以 DeepSeek Harness 为 Agent 内核的本地优先 A 股价值研究工作台。它将旧版客户端按原有信息架构迁移到 React:保留“今日市场、自选与发现、大师研判、专家中心、设置与诊断”五个一级页面以及个股、研判详情,不重新发明页面和业务语义。DeepSeek Harness(DSH)负责模型、Agent、工具、Session、流式事件和会话持久化;Hanai Worth 负责投资业务、研究资料、不可变报告快照和全部产品界面。

品牌中的两条趋势线在证据点形成金叉:价格给出市场报价,研究帮助看见价值。每一份研判,都应能回到证据、方法与上下文。

界面预览

黑夜模式保留原客户端的信息密度、页面位置与 A 股涨红跌绿语义;市场热力图由 ECharts treemap 绘制,面积对应板块成交额。

Hanai Worth · 值见黑夜模式市场页

亮色模式只替换语义色彩 token,侧栏、顶栏、卡片、表格和图表的位置与尺寸保持不变。

Hanai Worth · 值见亮色模式市场页

个股详情恢复旧版左右布局:左侧为默认日 K、行情快照和基本面,右侧为五维雷达与独立价值曲线;金线是供应商大师价值序列,蓝线是股价,红/绿带分别表示高估与低估区间。

Hanai Worth · 值见个股详情与价值曲线

核心体验

  • 今日市场:按旧版顺序展示六大指数、市场宽度,以及左侧 ECharts 行业/概念 treemap 与右侧四类榜单;面积代表成交额,颜色代表涨跌幅。
  • 自选与发现:保留分组管理、添加/移动/删除、三态排序、加入日期、加入以来表现和行情新鲜度。
  • 大师研判:保留研判列表、筛选、执行过程、失败态、归档信息与报告默认视图;每次研判绑定独立工作区和持久 DSH Session。
  • 专家中心:按旧版两列信息卡展示段永平、查理·芒格、沃伦·巴菲特和混江龙,不增加人物营销入口。
  • 设置与诊断:保留 Agent、数据源、本地存储和关于声明;在原页面内增加 DSH Credentials 管理的 DeepSeek API Key 与模型状态。
  • 个股详情:从全局搜索、自选或榜单进入,保留 ECharts 分时、日/周/月 K 线、五维雷达和独立价值曲线,以及旧版行情、基本面和估值字段。
  • 报告后继续对话:报告 ready 后默认仍展示报告;用户可切换到“继续对话”,在同一个 dshSessionId 中和生成报告的大师追问,不复制消息或另建会话。
  • 普通亮色/黑夜模式:两套主题只替换语义色彩 token,页面 DOM、文案、尺寸、顺序、图表数据和业务色保持一致。
  • Hash 深链接:#/dashboard#/watch#/judgements#/personas#/settings 以及个股/研判详情均可刷新、前进、后退和直接打开。
  • 完全自有界面:使用 React 18、DSH Slot/Runtime 和 CSS Modules;不显示或复用 DSH 原生聊天 UI。

架构

Hanai Worth · 值见架构

flowchart LR
  U["用户"] --> W["Hanai React Workbench\nshell.overlay"]
  W --> R["/hanai Connection RPC"]
  W --> C["DSH Credentials / Models"]
  W --> S["DSH Session Runtime"]
  R --> H["Hanai Host Service"]
  H --> D["SQLite / Reports / Masters"]
  H --> M["Eastmoney / Tencent / GuruFocus"]
  H --> S
  S --> A["DSH Agent + Tools"]
  A --> L["DeepSeek Models"]
  S --> P["DSH Session Persistence"]

关键边界:

  • DSH 是聊天与 Agent 的唯一事实源;Hanai 不建立第二套 messagesturns 表。
  • Hanai SQLite 只保存自选、证券主数据、研判索引、报告版本和 opaque dshSessionId
  • 报告是 Hanai 封存的业务快照;工作区 REPORT.md 只是 Agent 可写的生成副本。
  • 浏览器不接触文件系统或 SQLite;全部业务写入经由同源 /hanai RPC。

更完整的设计见 总体架构ADR 索引

运行要求

  • Node.js ^22.19.0>=24.0.0
  • pnpm 11.7.0
  • DeepSeek Harness 0.1.0-rc.5<0.2.0;推荐 CLI、Web App 与 Hanai 使用同一 rc 版本
  • 一个 DeepSeek API Key(只在实际运行 Agent 时需要)

DSH 仍处于 pre-release,rc 之间不承诺兼容。仓库把 Host、Client 和 profile 装配都纳入兼容性检查,但升级前仍应运行完整门禁。

从源码安装

git clone git@github.com:hancao97/hanai-investment-dsh.git
cd hanai-investment-dsh
pnpm install
pnpm run build
pnpm run profile:install -- --package .
pnpm run profile:verify
dsh --profile hanai-investment

安装器会创建或安全迁移独立的 hanai-investment Profile。最终 Bundle 顺序固定为 DSH Base、DSH Web App、Hanai;只有 hanai-investment-dsh 是 Profile dependency。Base 与 Web App 必须由当前 DSH CLI 的 installation fallback 提供,不能再用 dsh plugin add @deepseek-ai/dsh-web-app 安装到 Profile,否则相同版本的 DSH runtime 仍可能被加载成两个模块实例。安装器会拒绝修改 webheadless 等保留 Profile,也会在目标 Profile 含无关依赖或 Bundle 时停止。

通用 DSH Web 仍按原方式启动:

dsh web

两者可以使用不同端口同时运行。详见 ADR-0003

安装发布包或修复旧 Profile

在包含本仓库安装脚本的发布目录中,把 --package 换成 npm 包名即可。重复执行是安全的,也会迁移早期错误安装过 Web App dependency 的 Profile:

pnpm run build
pnpm run profile:install -- --package hanai-investment-dsh
pnpm run profile:verify
dsh --profile hanai-investment

迁移前请先停止正在运行的 dsh --profile hanai-investment 进程。不要手工执行 dsh plugin ... add @deepseek-ai/dsh-web-app;它会重新引入 Profile-local DSH runtime shadow。

数据与隐私

Hanai 业务数据默认写入:

~/.hanai-investment-dsh/
├── db/hanai.sqlite
├── cache/
├── judgements/<id>/workspace/
└── judgements/<id>/reports/<version>/

新版不会检测、读取、导入、修改或删除旧版数据目录。首次启动会建立一套空数据库,自选和研判需要重新创建。

以下内容仍由当前 $DSH_HOME 管理:

  • DeepSeek Key 与模型设置;
  • Session 事件、消息、工具历史;
  • 聊天附件和 Profile 安装状态。

Hanai 数据根默认权限为 0700,普通数据文件为 0600。API Key 是 write-only secret:页面提交后清空输入,RPC 不返回明文,日志和报告也不得包含它。

行情与来源语义

数据源必须把“真实值”和“可用性”一起交给 UI:

  • 东方财富实时集群可用时标记 fresh;
  • Node TLS 环境被实时集群拒绝时,非历史行情降级到东方财富延迟源;
  • 分时和 K 线在必要时降级到腾讯行情;
  • 最近成功快照标记 stale,完全不可用则显示 unavailable;
  • 缺失值始终显示为 ,绝不解释成 0
  • 页面不合成不存在的指数走势,也不把延迟或缓存数据标成 LIVE。

GuruFocus 接口仅作为个人研究原型使用,遵循页面声明的来源、缓存时间与再分发限制。生产或商业部署应替换为有正式授权和 SLA 的数据供应商。

开发与验证

pnpm run typecheck
pnpm run test
pnpm run build
pnpm run pack:check

一键执行全部门禁:

pnpm run check

门禁覆盖:

  • Provider 解析、降级、缓存和证券同步;
  • SQLite migration、事务、权限和数据隔离;
  • 报告校验、修复、原子封存、哈希与版本;
  • DSH Session 报告/普通聊天生命周期;
  • 自绘聊天的格式化、pending、queue 和交互;
  • DSH Client ModuleLoader 单文件协议;
  • npm allowlist、入口、source map、大师资产与旧数据路径硬隔离。

真实装配验证使用临时 DSH_HOME 安装 hanai-investment Profile,再以随机 loopback 端口启动 Host/Web;不会触碰用户的官方 web Profile。

完整的已验证启动步骤、首次设置、浏览器矩阵和故障排查见 启动与验收报告。逐页功能与布局约束见 客户端迁移与验收基线

目录结构

packages/
├── contracts/          JSON-safe Host/Client 合约
├── domain/             SQLite、报告、行情、估值、证券与自选领域逻辑
├── host/               Cordis Host、/hanai RPC、DSH Session 编排
├── client-workbench/   全屏 React 产品工作台
├── client-chat/        Hanai 自绘 DSH Session 对话
└── masters/            四位大师的 Skill 与参考资料
tooling/
└── dsh-client-bundle/  树外 DSH Client closure 构建适配器
scripts/                profile 安装/校验与发布门禁
docs/                   架构与 ADR

当前边界

  • shell.overlay 是 DSH AppFrame 的全屏插件画布,不是弹窗、iframe 或命令行 Shell。它让 Hanai 在不 fork DSH 的前提下拥有完整页面;Workbench 通过 location.hash 提供页面深链接,不要求 DSH 增加通用 Router Slot。
  • DSH 尚未发布稳定的树外 Client Plugin 构建 SDK,因此仓库维护了一个最小、版本锁定的 bundler adapter。
  • DSH Session 删除与跨版本迁移能力仍有限;备份持续对话时,需要同时保留 Hanai 数据根和 DSH Session 数据。
  • 本项目是研究辅助工具,不构成投资建议,不承诺数据实时性、完整性或投资收益。

License

MIT

客户端 bundle 内联依赖的许可证与声明见 THIRD_PARTY_NOTICES.md