@weibaohui/dsh-code-poem
代码如诗:4598 条古诗词、成语与《龙文鞭影》典故随机成笺——右下角浮着一只可拖拽的线装书小宠(同 dsh-xiuxian 的宠物形式),写代码的间隙它自己一跳,为你翻开一张宣纸诗笺,赠你一句古人的话。
点书翻笺 · 滚动读释义 · 拖角调大小 · 拖书搬家
事件联动
诗笺通过会话事件流感知你在做什么,在恰好的时机送上一张:
| 会话事件 | 诗笺缘起 |
|---|
| 回合结束 | 【功行圆满,且读一句——】 |
| 工具报错 | 【路遇荆棘,诗以解之——】 |
| 回合中止 | 【收势小憩,翻页片刻——】 |
| 道友提问 | (25% 概率)【道友起意,赠笺一张——】 |
防打扰三件套:90 秒内最多自动浮现一次、14 秒无操作自动收起、页脚 🔔 随时可关联动。
核心功能
- 随机诗笺:右下角线装书小宠,点一下书儿跳起、翻开诗笺;每次内容随机,近期 10 条不重复;按住可把书拖到任意位置,卡片跟随
- 五类过滤:随机 / 诗 / 词 / 文 / 成语 / 典故,选择持久化,池子按类别即时换血
- ❤ 收藏:喜欢的句子点爱心收藏(localStorage 持久化);⭐ 打开收藏夹,点击回看、✖ 取消
- 固定尺寸卡片:卡片默认 352×460 不随内容变长,正文区滚动看全部——原文、释义、白话解说、古注、出处、故事、注释、赏析;右下角拖拽可调大小(自动记住),✕ 收起与 ❤ 收藏、🎲 换一条等操作同在底部一条工具栏
- 宣纸美学:米色宣纸卡片、楷体墨字、朱砂印章类别戳(诗/词/文/语/典)、双线装裱边框,在暗色 Web UI 里恰如一张真笺
- 低频批量拉取:每 5 分钟(或回合开始时)一次批量取 30 条存本地池,事件触发与换笺都从池里消费,几乎不产生请求压力
安装
dsh plugin --profile web add @weibaohui/dsh-code-poem -w
装完重启 dsh web 即生效。数据集已随包内置(6.8MB),无需任何配置。
使用
- 打开 Web UI → 右下角找到 线装书小宠,点它翻开诗笺(首次自动抽一条);拖住书可挪位置
- 🎲 换一条:从当前过滤类别里再抽一张
- ❤ 收藏:遇到心动句子点一下;⭐ 打开收藏夹回看全部收藏
- 滚动阅读:解释、典故、赏析都在卡片内滚动查看;拖卡片右下角可调大小(下次沿用),✕ 收起
- 页脚类别小签切换过滤;🔔 开关事件联动
示例
| 场景 | 你会看到的诗笺 |
|---|
| 测试全绿,回合结束 | 【功行圆满】诗笺:「青山依旧在,几度夕阳红」 |
| 构建、测试一路报错 | 【路遇荆棘】典故笺:塞翁失马——"路遇荆棘,诗以解之——" |
| 长回合跑完想歇口气 | 【收势小憩】词笺:晏殊《浣溪沙》"无可奈何花落去,似曾相识燕归来" |
| 刚提了一个问题 | (偶发)【道友起意】成语笺:管中窥豹——"从竹管小孔里看豹……" |
数据集说明
data/entries.json 随包自带 4598 条,统一 schema(id / kind / title / sub / author / front / digest / sections):
- 典故 2064:《龙文鞭影》初集+二集逐四字句,含白话释义(乔天一译注本)、古注(杨臣诤增订·李恩绶校补)、简注
- 成语 1930:《中华成语故事大全集》+《中华成语典故大全》两书合并,含释义/出处/故事/注释/溯源/用典
- 诗词文 604:陈引驰《你应该熟读的中国古诗/古词/古文》,含注释与赏析
schema 与三个上游知识库("一条目一 md + 变更记录")解耦:scripts/export_data.py 负责把三种 md 版式解析成统一格式,上游任何修订重跑导出即可,插件侧不感知来源差异。
数据更新后可 curl "http://127.0.0.1:19080/dsh-code-poem/api/reload" 热刷新,或用插件配置 dataDir 指向外部数据集。
开发
npm run export:data # 从三个本地知识库重新导出数据集
npm run build:client # 重建 client/bundle-mc.js
npm run check # 语法检查
npm test # smoke 测试
HTTP API(/dsh-code-poem/api/*):/draw 随机抽一条、/bundle?n=30 批量抽取、/entry?id= 取整条、/feed?after=N 会话事件流、/status、/reload。
联系我 :飞书群
link