DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

songying2024 /

songying2024/dsh-plugin-lingxi

Topic repository only

dsh-plugin: 把 DeepSeek Harness 会话记录与工作区产物导入为灵犀(金山办公)可接手的新任务

★ 1 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@58b64661

dsh-plugin-lingxi

dsh-plugin DeepSeek Harness Node

DSH 插件(dsh-plugin):本仓库是 DeepSeek Harness 生态的插件,通过 GitHub 话题标记 dsh-plugin 可被搜索。在 GitHub 检索:topic:dsh-plugin。

把 DeepSeek Harness(DSH) 的会话记录与工作区产物,导入为**灵犀(金山办公)**可接手的新任务。

DSH 是 DeepSeek 开源的 Agent 运行时(@deepseek-ai/dsh,一切皆插件)。本插件在 DSH 内注册一个 import_to_lingxi 工具,把会话日志(事件溯源的 JSONL)解析、重构为一个自包含的导入包,同时保留原始日志与产物文件,作为灵犀接手任务时的完整上下文。

功能特性

  • 解析 DSH SessionEventMap 事件日志,重构成人类可读的 Markdown 对话记录(按轮次/步骤分组,区分用户、助手、工具调用与结果);
  • 原样保留 conversation.jsonl 原始日志,做到「模型可见即已记录」的完整可追溯;
  • 可选收集工作区产物文件,自动排除 node_modules、.git 等无关目录;
  • 生成 manifest.json 任务入口元数据(来源、会话摘要、文件清单),灵犀据此接手;
  • 双触发方式:会话内自然语言(agent 调工具)+ 独立命令行(lingxi-import)。

目录结构

dsh-plugin-lingxi/
├── package.json                 # type: module,Node >= 22
├── lib/
│   ├── index.js                 # 插件入口:name/inject/Config/apply 四导出
│   ├── importer.js              # 核心导入逻辑(纯 Node,可独立运行)
│   └── render.js                # 日志解析 + Markdown 渲染 + 产物扫描
├── bin/
│   └── lingxi-import.mjs        # 独立命令行入口
├── example/
│   └── preset.cordis.yml        # preset 配置示例
└── README.md

安装

环境要求:Node 22+,已安装 @deepseek-ai/dsh(npm i -g @deepseek-ai/dsh)。

# 1. 安装插件自身依赖(本插件核心逻辑零第三方依赖,此步可选)
# 2. 把包加入 profile,使 preset 能用裸包名引用
dsh plugin --profile web add ./dsh-plugin-lingxi

dsh plugin add 不会把包变成 profile 层(那需 bundle 声明);它只让裸包名可解析。用本地目录迭代时也可直接换用绝对路径。

配置(preset)

在 profile 的组合文件末尾追加一行(只消费 host 的 tools 注册表、不发布 service,必须平铺在顶层,勿放进 isolate group):

# agent.cordis.yml 末尾追加
- id: lingxi
  name: dsh-plugin-lingxi
  config:
    targetDir: C:/Users/你/lingxi-imports   # 导入包输出目录(灵犀可读的位置)
    includeArtifacts: true                   # 是否包含工作区产物
    dshHome: ''                              # 留空则默认 ~/.dsh

改配置后若无效,先用 dsh --profile web --dump-config 看最终配置树,而不是猜。

注意:preset 在会话创建时锁定。想看到新插件,必须开新会话。

使用方式一:会话内自然语言触发

在 DSH 会话里直接说,例如:

  • 「把当前会话导入到灵犀」
  • 「帮我把最近这次会话和生成的文件交给灵犀」

agent 会调用 import_to_lingxi 工具,产出导入包并返回目录路径。工具参数(均可省略):

参数 说明
sessionLogPath 日志文件绝对路径,优先级最高
sessionId 会话 ID,缺省导入最近一次会话
workspaceDir 产物目录,缺省当前工作目录
targetDir 输出目录,缺省按 config,再缺省 ~/lingxi-imports
includeArtifacts 是否含产物,缺省按 config

使用方式二:独立命令行

不依赖 DSH 运行时,直接对日志文件打包:

node bin/lingxi-import.mjs \
  --session-log ~/.dsh/sessions/app/session-42/log.jsonl \
  --workspace ~/projects/app \
  --target-dir ~/lingxi-imports

或按会话 ID 自动定位:

lingxi-import --session-id session-42 --dsh-home ~/.dsh --target-dir ~/lingxi-imports

--no-artifacts 可跳过产物收集;--help 查看全部选项。

导入包结构

<targetDir>/lingxi-import-<sessionId>-<时间戳>/
├── manifest.json         # 任务入口:来源、摘要、文件清单(灵犀先读这个)
├── conversation.md       # 人类可读的对话记录
├── conversation.jsonl    # 原始日志(完整可追溯,兜底)
└── artifacts/            # 工作区产物文件(可选)

在灵犀中接手

在灵犀里发起新任务时,把导入包目录(或直接给 manifest.json 路径)交给灵犀即可。灵犀读取 manifest.json 和 conversation.md,就能把 DSH 会话当作一个新任务“接过来”继续处理,产物文件一并可用。

兼容性说明

  • 日志字段基于 packages/core/session/src/types.ts 的 SessionEventMap;解析器对 content 的字符串/数组/对象形态均做了稳健提取,个别无法识别的行会原样保留到 conversation.jsonl,不丢信息。
  • agent 的输出仅用于人类阅读,模型表面(含 compaction 替换区间)不纳入 transcript,符合官方「append 来源事件才是人类记录的持久源材料」的建议。
—/ 5

No ratings yet

Manifest verification required

Commit 58b64661e240

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout