DeepSeek Harness(DSH)的 HistoPilot 工具插件。它把一次完整的病理切片导航任务暴露为高层工具,让 DSH 负责编排、HistoPilot 负责切片导航与标注、PathTogether 负责病例和协作数据。
- PathTogether:病理切片平台、病例协作、插件宿主。
- HistoPilot:独立导航 Agent 服务。
- HistoPilot-DSH:只负责 DSH 工具注册与 HistoPilot HTTP/SSE 适配。
本插件不包含 PathTogether,也不复制 HistoPilot 的导航算法。
histopilot_run:开始新的全切片导航/筛查任务,等待 SSE 任务结束并返回摘要、标注 ID 和会话 ID。histopilot_continue:继续达到步数上限后暂停的主会话。histopilot_session:读取会话元数据和 transcript。histopilot_cancel:按会话 ID 或切片 ID 取消任务。
模型网关密钥来自插件配置,不会成为模型可见的工具参数。
- Node.js 20 或更高版本。
- 已运行 HistoPilot;HistoPilot 已配置到可访问的 PathTogether 实例。
- DSH profile 已安装
@deepseek-ai/dsh-tools。
在 DSH Web profile 目录执行:
cd ~/.dsh/profiles/web
pnpm add github:solarise94/HistoPilot-DSH把包加入 package.json 的 dsh.profile.bundles:
{
"dsh": {
"profile": {
"bundles": [
"@deepseek-ai/dsh-base",
"@deepseek-ai/dsh-web-app",
"@solarise94/histopilot-dsh"
]
}
}
}然后在 cordis.patch.yml 增加配置:
- id: histopilot
config:
enabled: true
baseUrl: http://127.0.0.1:8055
internalToken: ${HISTOPILOT_INTERNAL_TOKEN}
aiBaseUrl: https://your-model-gateway.example/v1
aiApiKey: ${HISTOPILOT_MODEL_API_KEY}
aiModel: your-vision-model
apiProtocol: openai
timeoutMs: 600000重启对应 DSH profile 后,在工具列表中确认四个 histopilot_* 工具出现。
internalToken必须与 HistoPilot 的HISTOPILOT_INTERNAL_TOKEN一致。不要把真实密钥提交到 Git;如果你的 Cordis loader 不展开${...},请改用其密钥管理机制或只在本机私有配置中填写。
对 DSH 说:
用 HistoPilot 检查
cases/2026-001.svs,重点寻找可疑腺体区域并落标注。
DSH 会调用 histopilot_run。任务完成后可用返回的 sessionId 调用 histopilot_session 获取完整会话。
- HistoPilot 建议绑定
127.0.0.1;跨主机部署必须启用 HTTPS/受控网络及内部令牌。 histopilot_run可能执行真实标注写入,属于有副作用工具;DSH 侧应保留相应审批策略。- 单次工具调用最长由
timeoutMs和 DSH 工具超时策略共同约束,取消信号会传递给 HTTP 请求。 - 病理输出仅供研究或辅助工作流使用,不替代执业病理医师诊断。
npm install
npm run check
npm test
npm run pack:checkMIT