Joffoo's blog

The ethereal flight, oft rehearsed in the theater of one's dreams...

Vol.018 开始收集消波块了!

“湖是水的操场,河是水的跑道。”

🐎 跑马场

🌊 意识流

在几十年的苦心耕耘中,人们慢慢发现这些心理状态的名称与其过程和内容并不相符,也逐渐意识到了情感与行为动机的多义性、含糊性与异质性,于是文学放弃了对上述这些状态的命名,转而开始进行详尽的描述。对“意识流”或只能用行为来表现的行为的描述越精确,作家也就越接近现实,并从这种巨大的局限和放弃中获得了最佳的效果。因为读者会和作品中的主人公一样,以一种自然而然又循序渐进的方式被推向故事的关键性高潮。“啊哈!原来他所做的一切,都是因为爱她啊!”他会在某一刻这样告诉自己。这一心理发现,使得虚构人物的情感状态要比只是多次重复“爱”这个字眼要真实一百倍。而且更重要的是,这种碎片化的复杂情感,其飘忽不定和发展变化,以及上述人物最后独特又鲜明的“风格”,都只能通过这种方式来传达。

——斯塔尼斯瓦夫·莱姆《技术大全》

我也意识到,现代意识流小说中,思与行的断裂是永恒的,大段绵延的思绪必然以行动的中断为代价。在现实生活中,一个人其实很难产生长时间的浮想联翩,因为他会被白天外界的各种琐事打断,或者被晚间的睡眠吞没,哪怕是彻夜失眠的人,也会有翻来覆去的动作,像《尤利西斯》最后一章莫莉长达几十页的幻想,根本只能是纯文学的产物。我当然明白,作家们这么“悬浮”地描绘意识是有其美学追求的,当读者艰难地阅读着福克纳笔下自杀者长达数页的心理活动时,那些铺张蜿蜒的句子简直就像一支看不到头的送葬队伍,将主角护送到冰凉的河底。只是有时候,我因为太过好奇,倒还是很想邀请同学们为大段大段幻想着的人增补几个动作,因为我实在难以想象一个人什么也不做,光想就想了十几页

——张秋子《与达洛维夫人共度一天》

之所以说意识流不是对人类意识状态真实情况的把握,只是一种想象性的把握,是因为对于意识的还原仍然借助于语言和文字。只要我们使用文字,就必然是事后构建秩序。没有人能边想边写,让文字和思绪同步,就好像你没法一边唱歌一边咽水。人只能够想完以后再用笔记录下来,事后的行为永远是追加的秩序,哪怕这种秩序看上去挺无序的。

——张秋子《堂吉诃德的眼镜》

但是,意识流和内心独白虽同为刻画心理,却又有着本质的差别。对此,郑树森有着精当的解释:只有加入了自由联想,内心独白才能变为意识流。看清楚了这一点,我们就能洞悉《喧哗与骚动》和《罪与罚》的微妙差别:前者是主人公主体非线性的意识流动,后者却是人物脑海中没有听众的自我辩诘。

——但汉松《以读攻读》

那么,小说语言是否有效到底取决于什么?取决于两个特性:内部的凝聚力和必要性。小说讲述的故事可以是不连贯的,但塑造故事的语言必须是连贯的,为的是让前者的不连贯可以成功地伪装成名副其实的样子并且有生命力。一个典型例子就是乔伊斯的《尤利西斯》结尾处莫莉·布卢姆的内心独白,混乱的意识流中充满了回忆、感觉、思考、激情,其令人着迷的魅力之处在于曲折的不连贯的表面叙事行文,以及在这笨拙无序的外表下面保持的一种严密的连贯性,一种这段内心独白文字丝丝毫离开的规章、原则体系或者模式指挥的结构。这是对一个流动意识的准确描写吗?不是。这是一种文学创作,其说服力是如此强大,让我们觉得好像是在复制莫莉的意识漫步,而实际上是在创作。

——马里奥·巴尔加斯·略萨《给青年小说家的信》

⚡ 闪念集

AI 对工作的两种影响,帮工和监工。


除了时薪,还可以算一下自己的 Token 费率。


废旧点子:随机分配一个温度数字,让模型猜出自己的温度。


“涅槃乐队,轮回演出。”


“芭蕾不过脚点地。”


“残奥会比奥运会表现还好的时候,科技就真发达了。”


湖是水的操场,河是水的跑道。


无糖饮料说自己不含糖,有糖饮料说自己不含甜味剂。


作家只写你喜欢的,导演只拍你喜欢的,那他们的品味得多差啊……

🛠️ 操作台

🤖 AI 翻译(续)

宝玉的一篇文章记录了 AI 翻译方式的迭代,从“翻译-审校-意译”的三步法,到推理模型的“重写”,再到最近的 Agent 工作流(总结成了 Skill—— baoyu-translate)。

为了让翻译文章的 Skill 也可用于翻译 Epub 电子书,我按照之前的思路(Vol.015 个人的体验),做了以下改动:

  • SKILL.md 文件中补上一节内容(附在下面)
  • scripts 加一段 epub2md.ts 代码
  • references 文件夹中附上了 epub-style.css 文件。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
## EPUB 电子书处理流程

针对 EPUB 格式的文件,在原有 Markdown 翻译流程前后增加以下处理步骤:

### 1. 前置处理 (EPUB -> Markdown)

当输入源为 `.epub` 文件时,调用自定义脚本进行格式转换、元数据提取及图片解压。

- **执行指令**:`${BUN_X} ${SKILL_DIR}/scripts/epub2md.ts "{input}.epub"`

- **处理逻辑**:自动在 EPUB 同级目录创建同名文件夹,将转换后的 Markdown 和 `media/` 资源存入其中。

- **转换过程**:ZIP 解压提取 -> XML 解析获取目录 (OPF) -> HTML 转 Markdown (Turndown) -> 自动关联本地图片。


### 2. 翻译阶段

- **翻译流程**:同上(遵循上述分片、分析及精翻逻辑)。


### 3. 后置清理与结构优化

- **合并与编码**:将翻译后的分片合并。必须显式指定 `UTF8` 编码读取和写入。

- **标题层级重整 (Heading Leveling)**:由于 EPUB 原文 HTML 常将所有节标题标记为 `<h1>`,合并后会导致层级扁平化。需执行以下逻辑:

- **锚定章标题**:识别包含 "Chapter"、"第X章" 或书籍核心章节标志的行,保持为 `#`。

- **全局降级**:将其余所有 `#` 标题降级为 `##`,`##` 降级为 `###`,以此类推。

- **清理元信息**:将原本是 `######` 的图片说明或小提示改为加粗文本(`**...**`),避免其进入目录。

- **图片路径**:确保图片路径正确指向 `./media`。


### 4. 重组导出 (Markdown -> EPUB)

翻译完成后,可将 Markdown 重新打包为 EPUB。此步骤仍推荐使用 `pandoc` 以利用其强大的电子书组装能力。

- **参考样式**:使用 `${SKILL_DIR}/references/epub-style.css` 优化中文排版(首行缩进、Teal 色调标题等)。

- **执行指令**:`pandoc "{final}.md" -o "{translated}.epub" --metadata title="{书名}" --metadata author="{作者}" --resource-path="{dir}" --css="${SKILL_DIR}/references/epub-style.css" --split-level=1`

- **注意事项**:确保 `--resource-path` 指向包含 `media/` 的目录,以便 Pandoc 能正确嵌入图片。

我还是在用 Gemini CLI, Ctrl+Y 打开 YOLO 模式之后,就可以静待任务执行了。

效果其实一般,还是比较适合非虚构类书籍。如果要翻译长篇小说的话,人名还是会翻得五花八门(还不如“遇到人名一律不翻译”),部分章节漏译也不容易发现。

整体来说,我还是对之前写的网页应用 Gemini EPUB Translator 更满意一些。如果想试一下 Agent 翻译 Epub 的效果,可以参考我修改后的 Skill—— epub-translator

🧩 Obsidian 插件(续)

对于写笔记时遇到的一些小问题,用 AI 写一个 Obsidian 插件来解决,倒不如直接写成最简单的脚本,然后封装成便于 Agent 调用的 Skill。

就像之前写的 Obsidian 插件(Vol.013 记忆外包),用了很长时间排查问题,最终只能勉强实现功能。

现在我让 Agent 读了代码,写成一个新的 Skill 版本,保存于 Joffoo-gemini-skills

之前也可以用 AI 写代码脚本,但保存在笔记库里显得“扞格”。直到 Skill 给了一个统一的管理标准,提示词、代码通通可用,SKILL.md 就像是写给 Agent 看的 README.md

文章目录

  1. 🐎 跑马场
    1. 🌊 意识流
  2. ⚡ 闪念集
  3. 🛠️ 操作台
    1. 🤖 AI 翻译(续)
    2. 🧩 Obsidian 插件(续)

Proudly powered by Hexo and Theme by Hacker
© 2026 Fengyukongzhou