01月31日
一、今日完成情况
- AI工作流方法梳理,实现读取小说,并且导出为确定的小说当中一个主人公第一视角展开叙述的内容。
- 系统性的查看那个自主创业的up主,在AI学习技巧方面是如何实现的。
- 没什么信息量,她算是一个科普旅游自媒体,科技方面差一些了,不过今天发现B站刷视频的软件好软件,手机端可以使用。
- Google购买来的账号实现基本的安全和第三方登录配置,我第一次被骗,之前号称一年学生账号的账号居然是一个月体验订阅。
二、今日感悟
- 核心业务数据:
- VNC 公网多设备连接
- Google账号重新设置
- AI工作流小说第一人称简单读取
- 今日工作总结:
- 都是碎片化的任务,系统化的还是比较少,最近刚出来的,openclaw配置了半天。
- 明日工作计划:
- 长篇小说工作流路径看一下
- 今日学习成长:
- 未来有多个设备包括nas设备就可以实现了
- 工作流长篇小说还需要有知识图谱的配置,这个非常重要,明天尝试看看如何实现。
三、备注
- 无
四、短篇小说第一人称视角转化
1. 短篇小说 (Short Stories, < 1万字)
- 挑战:低。
- 策略:全量上下文 (Full Context)。
- 设计要点:
- 你可以直接把整篇小说放入 Prompt 的 Context 中。
- LLM 可以一次性理解人物关系和伏笔。
- 处理方式:甚至不需要复杂的 RAG,直接用一个长窗口模型(如 Claude 3.5 Sonnet 或 Gemini 1.5 Pro),Prompt:“阅读全文,以 XXX 的视角重写整个故事”。
下面有我的作品,祥林嫂:
2、工作流架构
LLM1:
你是一位文学分析专家。
请阅读以下小说文本,重点分析角色。
请输出以下 3 点分析(不要输出无关内容):
1. **核心动机**:该角色在本文中行动的深层心理驱动力是什么?
2. **关键关系**:该角色与其他角色的关系现状(爱、恨、误解等)。
3. **情感基调**:该角色在文中的整体情绪色彩(焦虑、甜蜜、绝望等)。
小说正文:
LLM2:
python notion 内容获取脚本:
3、作品展示
第一人称视角下面的祥林嫂:
雪,又下起来了。像撒盐似的,起初还是碎碎的,后来就成了棉絮,一片一片,慢悠悠地往下落,盖住了地上的泥,盖住了屋顶的瓦,也盖住了我的头发。
我的头发早就白了,和这雪分不出彼此。我拄着那根比我还高的竹竿,底下已经裂开了,戳在雪里,就是一个浅浅的窟窿,很快又被新的雪填满,好像我从来没来过一样。
冷。这冷是从骨头缝里钻出来的,比山坳里的风还尖。我提着一只空碗的篮子,手冻得像胡萝卜,早就没了知觉。可我眼睛还在看,看路上有没有人。镇上的人都忙着呢,忙着“祝福”。
我听得见远处隐隐约约的爆竹声,闻得见空气里飘着的淡淡的火药味和肉香。那是鲁四老爷家的,我晓得。他们家的福礼,从前都是我一个人备下的。
杀鸡,宰鹅,洗那一大块的猪肉,一双手在冬月的水里泡得通红,再裂开一道道的口子,像小孩子的嘴。可那时候,我不觉得冷,心里是热的,手脚有使不完的劲。那时候,我的脸上还能有个笑影。 那时候……那时候是什么时候了?记不清了。
日子过得浑浑噩噩,像一锅熬烂了的粥。我只记得,刚到鲁镇的时候,头上还扎着白的头绳,心里也像揣了块冰。可四婶留下了我,让我有活干,有饭吃,我就觉得那冰块也慢慢化了。我干活,拼了命地干,好像把力气都使光了,心里的苦就没地方待了。
我以为,日子就这样往下过,也挺好。 可他们还是找来了。河边的那只白篷船,像一张早就张开的嘴,就等着我。我记得那两个男人的手,铁钳一样,箍得我生疼。我喊,我骂,可嘴很快就被堵上了,什么声音都发不出来。后来,我就在贺家坳了。
我不想依,真的不想依。我一头撞在香案角上,血糊住了眼睛,我以为就这样死了倒干净。可我没死成。他们把我跟贺老六关在一间屋里,他是个闷葫芦,不说话,就是力气大。我闹,我骂,骂到喉咙哑了,也没用。 后来……后来我也就不闹了。
他会打柴,会干活,我们有了自己的屋,有了……阿毛。 阿毛……我的阿毛。 雪花落在我的眼睫上,凉凉的,化成了水,和眼泪混在一起。我一想到阿毛,心就像被狼的牙齿一遍遍地啃。我真傻,真的。我单知道下雪的时候,山里的野兽没东西吃,会跑到村子里来;我不知道春天也会有。
那天早上,天刚蒙蒙亮,我开门,让他坐在门槛上剥豆。他最听我的话,我说什么他都听。我叫他剥豆,他就乖乖地坐在那里,小手一颗一颗地剥。屋后头的柴还没劈完,锅里的米刚下进去……我喊他,阿毛!阿毛! 没人应。 只有那一地的青豆,撒得到处都是,像他的眼泪。
他的小篮子还紧紧地攥在手里……肚子里的五脏……都没了…… 我跟人说,一遍一遍地说。起初,那些女人们还陪着我掉眼泪,那眼泪热乎乎的,好像能把我的心烫得暖和一点。
可后来,她们的眼泪也干了,脸上的神情也变了。她们听腻了。她们看见我就躲,或者不等我开口,就抢着说:“是的,你是单知道雪天野兽才会到村里来。”那话像一把锥子,又冷又尖,扎得我再也开不了口。我的苦,我的痛,在他们嘴里嚼来嚼去,嚼成了没味的渣子,吐在了地上。
柳妈说我造了孽。她说我死了以后,两个男人要在阴间里争,阎王爷要把我拿锯子锯开,分给他们。我一想,浑身就发抖。锯子……那得多疼啊。她让我去捐门槛,给千人踏,万人跨,赎了这辈子的罪。我信了。我把辛辛苦苦攒下的一千多文工钱,换了十二块鹰洋,全捐了出去。
我看着庙祝把那条新的门槛安上,心里一下子就亮堂了。我赎了罪了,我干净了。 冬至祭祖,我心里高兴,忙前忙后。四婶把福礼都摆好了,我记着以前的规矩,坦然地就去拿酒杯和筷子。 “祥林嫂,你放着罢!我来摆。” 四婶的声音不大,可听在我耳朵里,就像一个炸雷。我的手猛地缩了回来,像被火烙了似的。我看着她,她的脸是那么的陌生。
我捐了门槛,我把我的罪都赎了,为什么?为什么还是不行?我还是个不干不净的人?祖宗还是不肯吃我沾手的东西? 那一刻,我心里的那点光,噗的一声,就灭了。黑了,全都黑了。
眼前的人是黑影,天是黑的,雪也是黑的。我什么都怕,怕黑,怕人,连四叔四婶看我一眼,我都觉得像老鼠见了猫。我的记性越来越坏,头发白得更快了。后来,他们就不要我了。
雪越下越大了,镇子被罩在一片白茫茫里。我看见前面有个人,是个读书人的样子,斯斯文文的。是他,鲁家的那位少爷,出门好多年,回来了。
他识字,见识多,一定懂。我心里那点快熄灭的灰,忽然又冒出了一点火星。我得问问他。我得知道。 我迎上去,用尽了全身的力气,站直了身子。 “你回来了?” 他点点头。
我凑近了些,把那几个在心里滚了千百遍的字,一个一个地吐出来:“一个人死了之后,究竟有没有魂灵的?”
他的眼睛里闪过一丝惊慌,就像受了惊的兔子。他支支吾吾,说“也许有罢”。 有?那是不是说,我能见到我的阿毛了?我心里一热,又紧跟着一凉。
“那么,也就有地狱了?”我追着问。地狱里有锯子。 他更慌了,眼神躲躲闪闪,嘴里说着什么“论理,就该也有”,又说什么“未必”。 我顾不上这些了,我只想知道最重要的那件事。
“那么,死掉的一家的人,都能见面的?”我能见到我的阿毛,还有他爹吗?我们可以一家人在一起吗? 他彻底答不上来了,嘴里含含糊糊地说着“实在,我说不清”。 说不清。 他走了,逃也似的走了。
我站在雪地里,没动。那点火星,最后的一点点,也终于被这漫天的大雪给浇灭了。 说不清。连读书人也说不清。
这个世界上,没有我的容身之处。捐了门槛,也洗不净我的“罪”。到了阴间,有没有魂灵,能不能和家人见面,会不会被锯子锯开,也还是一个“说不清”。 那么,我活着是为什么呢?我死了又能到哪里去呢? 天地的尽头,都是一片白茫茫的雪,
什么都没有。我的碗是空的,肚子是空的,心,也是空的。爆竹声好像又响了,是鲁四老爷家在“祝福”了。真热闹啊。 我累了。竹竿拄不住了,身子一软,就倒在了雪地里。
雪花落在我脸上,凉飕飕的,倒也舒服。就这样躺着吧,很快,雪就会把我盖住,就像盖住一块没人要的石头。干干净净的,挺好。
五、长篇小说思路
| 维度 | 短篇小说方案 | 长篇小说方案 |
|---|---|---|
| 工具选择 | Dify 单一 LLM 节点 或 简单 Chain | Python 代码控制逻辑 + AI API |
| 上下文策略 | 一次性全部扔进去 | 必须分块 (Chunking) + 向量检索 |
| 连贯性 | 模型自动处理 | 需人工维护“剧情状态”和“摘要链” |
| 难点 | 提取细节 | 保持人物语气一致、处理时间跨度 |
长篇小说 (Novels, > 10万字)
- 挑战:极高。主要面临 “遗忘”、“幻觉” 和 “逻辑断裂”。
- 策略:滑动窗口 (Sliding Window) + 摘要链 (Summary Chain) + 向量检索 (RAG)。
长篇小说的特殊设计方案:
A. 场景非连续性处理 (The “Gap” Problem)
- 问题:小说原文中,第1章主角在场,第2-4章主角不在,第5章主角又出现了。
- 解决:在第1章和第5章的生成内容之间,你需要插入一个**“过渡桥梁”**。
- Prompt 设计:“(第2-4章期间,你并没有直接参与主线,但你可能在后台做了什么?或者你是如何得知后续消息的?)请以回忆或听闻的方式,简要带过中间的时间流逝,然后接入第5章的剧情。”。
B. 长期记忆管理 (Memory Bank)
- 你需要建立一个动态的
Character_Profile。随着剧情发展,角色受了伤、拿到了关键道具、得知了秘密,这些状态必须更新。 - Python 实现:在处理第 N 章时,输入不仅是原文,还有
Current_State(例如:目前左腿受伤,持有倚天剑)。
- 你需要建立一个动态的
C. 避免 OOC (Out Of Character)
- 长篇生成容易导致后期语气平淡化。
- 方案:在 System Prompt 中强制由 few-shot (少样本) 示例引导。比如先人工写一段该角色的第一人称高读,作为风格锚点。
知识图谱的方法算是工业级别的,下面是思路:
结论是:完全可行,且是长篇叙事重构的“工业级”解法。 微软最近推崇的 GraphRAG 技术路线正是为了解决这类问题
核心理念:不仅是“图谱”,更是“动态状态机”
在长篇小说中,图谱不是静止的。
- 第1章:A 和 B 是朋友(关系边:
Friend)。 - 第50章:A 杀了 B 的父亲(关系边变更为:
Enemy, 属性:仇恨值: MAX)。
因此,我们需要设计一个**“带时间戳/章节戳”的动态知识图谱**。
六、Openclaw配置
需要配置依赖,在设置页面如下:
需要安装CLI,需要配置tailscale,其中tailscal是干嘛的,我需要配置完成之后才知道,现在我ping通了我的安卓手机和MacBook,似乎是用来网络建立隧道的。
nano ~/.openclaw/openclaw.json
或者
code ~/.openclaw/openclaw.json
openclaw的grok配置:
xai-TWUo38uDnIIL8ok4BJdnsa1fsgRP8OwdZyw40MxBPugsrEgU9r3wXUF0yTaHoHIIKew33eDelOyAw1Q1
查看其运行的状态:
(base) kipley@kipleys-MacBook-Air ~ % openclaw gateway status
**🦞 OpenClaw** 2026.1.29 (a5b4d22)
I'm the assistant your terminal demanded, not the one your sleep schedule requested.
Service: LaunchAgent (loaded)
File logs: /tmp/openclaw/openclaw-2026-01-31.log
Command: /opt/homebrew/bin/node /opt/homebrew/lib/node_modules/openclaw/dist/index.js gateway --port 18789
Service file: ~/Library/LaunchAgents/ai.openclaw.gateway.plist
Service env: OPENCLAW_GATEWAY_PORT=18789
Config (cli): ~/.openclaw/openclaw.json
Config (service): ~/.openclaw/openclaw.json
Gateway: bind=loopback (127.0.0.1), port=18789 (service args)
Probe target: ws://127.0.0.1:18789
Dashboard: http://127.0.0.1:18789/
Probe note: Loopback-only gateway; only local clients can connect.
Runtime: running (pid 22266)
RPC probe: ok
Listening: 127.0.0.1:18789
Troubles: run openclaw status
Troubleshooting: https://docs.openclaw.ai/troubleshooting
我放弃了,无论如何配置API,它都无法访问,不过还是有所进步的,因为我知道了一个软件,关于内网穿透的软件的基本上手使用,未来大概率有用。
七、打通VNC
PC和手机连接,无需wifi局域网的情况下。
需要两个软件,一个是tailscale,实现多个设备在同一个公网IP下面,实现多个设备连接。
下面是使用VNC,手机端打开移动数据而非连接wifi,远程连接MacBook,可以的,而且不太卡,链接非常顺利。
展示就不展示了,算是实现了多种设备自由互联,包括在家里的许多物联网设备包括树莓派也可以实现。
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 kipleyarch@gmail.com