DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

yujh129 /

yujh129/dsh-literature-agents

Verified

文学与古典文献研究:9 个检索与翻译工具、11 位文史专家子代理、3 个评审团。

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

dsh-literature-agents

文学与古典文献领域专家插件,面向 DeepSeek Harness 0.2.1-rc.2。

一个 Host bundle + 一个 Web client 模块:9 个文献工具、11 位文史专家子代理、3 个评审团, 外加输入区的一个「古籍」开关,用来按对话启停整套能力。

运行逻辑与入口位置参考 @michengai/dsh-agency-agents(计算机领域精简替代版 dsh-agency-agents-cs): 一条 cordis.patch.yml insert 行、模型侧工具 + 常驻系统提示 + 经 ctx.subagents.startActivation() 运行的专家子代理。

能力(9 个工具)

能力 工具 数据源
论文检索 search_scholar_papers Crossref、OpenAlex,网页搜索兜底
学人生平 get_scholar_biography Wikidata(属性级溯源)+ OpenAlex 著作
古籍检索 search_classic_texts 中文维基文库全文检索
古籍阅读 get_classic_text 中文维基文库页面正文
古籍翻译 translate_classic 先检索平行文本/旧注,再由翻译专家今译/英译
引用核验 verify_citation Crossref DOI、题名相似度
专家召唤 summon_literature_expert 11 位文史专家子代理
评审团 run_literature_panel 3 个并行评审团
专家名册 list_literature_experts 列出全部专家、领域与评审团

每个检索类输出都带一行 数据源:… ✓/✗(原因),源失败时如实降级,不补造结果。

专家(11 位,5 个领域)

  • 史学与人物:史学史专家 historiographer、学人行实考据专家 biographer
  • 文献考据:校勘学家 textual-critic、目录版本学家 bibliographer、训诂学家 philologist
  • 古籍翻译:古籍翻译家 classics-translator、注疏专家 scholia-expert
  • 文学研究:文学批评家 literary-critic、比较文学学者 comparatist
  • 数字人文与核验:数字人文研究者 digital-humanist、学术核验员 citation-auditor

评审团(3 个)

  • 古籍考据评审团 classics-research-panel:目录 + 校勘 + 训诂 + 注疏
  • 文学研究评审团 literature-review-panel:史学史 + 文学批评 + 比较文学 + 引用核验
  • 古籍翻译审校团 translation-review-panel:译文 + 旧注 + 训诂 + 引用

评审团只返回成员独立意见;主会话负责核验证据、去重、按严重级别汇总后交付。

技能

skills/literature-research/SKILL.md 由第二个 Host 行(@deepseek-ai/dsh-skill-filesystem)挂载, 提供分层检索、事实纪律、生平考据、古籍阅读、翻译规范与引用核验清单。

@deepseek-ai/dsh-skill-filesystem 由 @deepseek-ai/dsh-base 提供(每个 profile 的第一个 bundle), 插件不 import 它,只在 patch 里按模块名挂载,因此不声明 peerDependencies——声明会让 pnpm 在 profile 里 另装一份旧版本,反而遮蔽宿主自带的那份。

安装

从插件市场(dsh-market)

在 dsh-market 中搜索 Literature & Classics Agents 安装。安装目标就是本仓库:

dsh plugin add github:yujh129/dsh-literature-agents

桌面版默认不会把 dsh 加进 PATH。命令行提示「无法将“dsh”项识别为 cmdlet」时,改用完整路径 <DSH 安装目录>\resources\runtime\cli\bin\dsh.cmd,或把该 bin 目录加进 PATH,或让 agent 用下面的 plugin_manager 方式安装。

也可以让 agent 在当前会话里调用:

plugin_manager install_bundle target="github:yujh129/dsh-literature-agents"

安装会自动加入 profile 的 dsh.profile.bundles 并热装载;若曾被停用,再启用一次:

plugin_manager set_bundle target="dsh-literature-agents" enabled=true

生效后新会话或下一模型步即可看到 9 个工具、技能与输入区「古籍」开关。

本地开发(源码目录)

plugin_manager install_bundle target="<本仓库的绝对路径>"

卸载

plugin_manager remove_bundle target="dsh-literature-agents"

输入区开关

输入框左侧工具行有一个「古籍」开关(conversation.input.left,id literature-toggle):

  • 开(品牌色圆点):本对话可调用 9 个文献工具,系统提示中含专家引导。
  • 关(灰色圆点):tools.restrict({deny}) 在该会话的 Agent 上下文里隐藏全部 9 个工具, 并移除专家引导段;其他对话不受影响。技能仍在目录中,但没有工具可调用。
  • 状态按 SessionId 保存在 ~/.dsh/dsh-literature-agents/toggles.json(DSH_HOME 优先), 重启后仍在;新对话默认开启。
  • 切换立即作用于该会话的 Agent;若某一轮正在生成,从下一模型步开始生效。
  • 这是用户专属操作:没有对应的 Agent 工具,模型无法自行打开或关闭。

客户端模块是 client.js,由本包 package.json 的 dsh.client 声明注入 Web 启动图; 状态、门控与两个路由(GET /plugins/dsh-literature-agents/state、 POST /plugins/dsh-literature-agents/toggle)都在 index.js。

配置

- id: literature-agents
  name: dsh-literature-agents
  config:
    provider: spawn   # 子代理 provider;默认 spawn,缺失时回退到任一非 fork provider
    maxDepth: 1       # 召唤出的专家最多再委派一层;provider 不支持时自动省略

目录

  • index.js:工具、系统提示、专家/评审团运行逻辑、会话门控与两个开关路由、literatureSkills 服务
  • client.js:Web 客户端,输入区「古籍」开关
  • experts.js:专家与评审团数据(纯数据,便于增删)
  • sources.js:数据源适配器(Crossref / OpenAlex / Wikidata / Wikisource / 网页)
  • skills/literature-research/SKILL.md:研究协议
  • cordis.patch.yml:两个 Host 行
  • locale/*.json、icon.svg:插件管理器显示元数据

网络依赖

  • 必需:Crossref、OpenAlex、Wikidata、中文维基文库。
  • 可选:宿主网页搜索服务(dsh-free-search 等),仅作兜底与线索。
  • 已知不可达(本机实测):zh.wikipedia.org、ctext.org、Semantic Scholar、Gutendex;这些源不参与主链路,只在输出中作为引用地址出现。
  • Wikidata 的 www.wikidata.org 接口在共享 IP 上常见 403 Too Many Reqs;插件对 403/429 做三次退避重试,仍失败时如实降级并给出网页线索,不补造数据。

适配要点(改代码前必读)

  • 工具参数必须编译成 JSON Schema:宿主 ctx.tools.register() 原样保存 parameters,由模型适配器 直接作为 input_schema 发送;它不会执行 defineTool() 里的 parameterSchemaSpecToJsonSchema()。插件仍按 property-map 写法维护参数(便于增删), 但注册前统一经本地 parameterSchema() 编译为 {type:"object", properties, required}——与宿主编译结果逐字段一致。 跳过这一步会让工具以裸属性表进入请求,DeepSeek API 直接返回 400 Invalid schema for function ...。
  • 该编译在插件内完成,不依赖解析宿主安装目录里的 @deepseek-ai/dsh-tools, 因此在不存在 node_modules 的目录安装、或以 link: 方式安装时都可工作。
  • 客户端模块的 id 必须等于包名(window.__ModuleLoader__.load({ id: 'dsh-literature-agents' })): 宿主按包名把 dsh.client 声明合进 Web 启动图,id 不一致模块不会被找到。
  • 专家子代理经 ctx.subagents.startActivation() 启动;maxDepth 仅在 provider 声明 capabilities.depthLimit 时传入,其余情况自动省略。

开发自检

改完代码先跑这两个离线冒烟测试(不联网、不写状态、不装依赖):

npm run smoke          # 两个都跑
npm run smoke:host     # index.js:9 个工具的参数必须是合法 JSON Schema,2 条开关路由已注册
npm run smoke:client   # client.js:模块 id 等于包名,输入区只注册一个入口

dev/ 不在 files 里,不会被发布出去。

发布到插件市场(维护者)

dsh-market 从 curated registry 读取目录,收录方式是向 awesome-dsh-plugin/awesome-dsh-plugin 提一个 PR,新增 data/plugins/yujh129__dsh-literature-agents.yml。 仓库需要满足:公开、有 dsh.bundle、创建满 24 小时、带 GitHub topic dsh-plugin。 条目只需 url、name、category、description.{en,zh} 四个字段,一个 PR 最多三条。

许可

MIT,见 LICENSE。

English summary

dsh-literature-agents gives DeepSeek Harness a literature and classical-Chinese research kit: 9 tools (scholarly paper search, scholar biographies from Wikidata, Chinese Wikisource full-text retrieval, grounded translation, citation verification), 11 specialist subagents across 5 domains, 3 parallel review panels, a bundled research-protocol skill, and a composer switch that gates the whole kit per conversation. Every retrieval prints its data source and degrades honestly instead of filling gaps.

—/ 5

No ratings yet

Verified DSH bundle

Commit a94471270830

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