Kanadego/dsh-heartbeat
Kanadego/dsh-heartbeat心跳循环:默认每 20 分钟自己醒一次——维护一份关于你兴趣与偏好的本地画像,按你设的兴趣范围上网搜新东西并存下来。攒到值得分享的内容,就向你绑定的会话送一份简短的素材包。能不能开口由代码里的规则决定(静默时段、忙时窗口、每日上限、冷却),说不说由那个会话里的 agent 自己判断。仅支持 Windows。
在 DSH 内提供 Claude Code 风格工作台:工作区/会话侧栏、流式文档式对话与统一工具卡、思考过程、Markdown 与 Mermaid 渲染、暗色主题,以及由宿主内 HTTP/WebSocket 服务驱动的可拖动悬浮面板。
将 Claude Code 集成到 DeepSeek Harness(DSH) 中,以 DSH 原生插件的方式提供 Web 工作台。
插件由宿主端和客户端两部分组成,并复用插件内部的 server.cjs 提供 HTTP / WebSocket 服务。
DeepSeek Harness
│
Plugin API
│
▼
┌────────────────────────┐
│ dsh-claude-code-web │
│ │
│ lib/index.js │
│ │ │
│ ▼ │
│ server.cjs │
│ HTTP / WebSocket │
│ ▲ │
│ │ │
│ lib/client.js │
│ │ │
│ ▼ │
│ Claude Code Web UI │
└────────┬───────────────┘
│
▼
Claude Codelib/index.js 是 DSH Plugin 入口,通过 DSH 的 webServer 注册:
/claude HTTP 前缀路由/claude/api/stream WebSocket 路由插件加载时初始化服务,卸载时释放 HTTP、WebSocket 以及服务端资源。
lib/client.js 提供浏览器端工作台,包括侧边栏入口和悬浮面板,并通过 /claude/api/* 与服务端通信。
server.cjs 负责 Claude Code Web 的核心 HTTP / WebSocket 处理逻辑。插件直接复用该服务,而不是要求额外启动一个独立的 Web 服务。
环境要求及完整安装步骤请查看:
基本依赖:
webServer.registerUpgrade 的 DSH插件通过 DSH 官方 profile bundle 机制加载:dsh plugin --profile web add ... 安装到 profile 的 node_modules,并自动登记进 package.json 的 dependencies / dsh.profile.bundles(插件自带的 dsh.bundle.patch → cordis.patch.yml 完成注册);同时保留离线自包含包方式。详细步骤请参考 INSTALL.md。
插件运行数据默认存储在用户目录 ~/.claude-code-web/,不会写入插件源码目录。
常见配置包括:
CLAUDE_BIN:Claude Code CLI 可执行文件路径CLAUDE_CODE_WEB_HOME:插件运行数据目录具体配置及跨平台部署说明请查看 DEPLOY.md。
dsh-claude-code-web/
├── README.md
├── INSTALL.md
├── DEPLOY.md
├── package.json
├── cordis.patch.yml
├── server.cjs
├── public/
│ └── mermaid.min.js # 随插件分发的 Mermaid 运行时(按需加载,离线可用)
└── lib/
├── index.js
└── client.js这个插件遵循一个核心原则:
DSH 作为宿主,Plugin 负责具体能力。
Claude Code Web 的 UI、HTTP / WebSocket 服务和相关运行逻辑尽可能封装在插件内部,避免修改 DSH 核心实现,同时保持插件可以独立维护和演进。
插件依赖 DSH 当前提供的 Plugin API,因此不同 DSH 版本之间可能存在兼容性差异。使用前请确认当前 DSH 版本满足安装文档中的要求。
本插件当前未单独声明 License。使用或分发前请确认仓库实际许可协议。