Skip to content

Repository files navigation

Codex Loaf Reader Skill

一个伪装成 Codex 对话界面的本地摸鱼阅读插件。

它会在浏览器侧栏中播放本地小说,并穿插看起来正在工作的合成内容。书籍、进度和内容缓存都留在本机,播放过程不调用模型,也不消耗 token。

Important

本项目是非官方社区工具,与 OpenAI 没有隶属或背书关系。Codex 和 OpenAI 是其各自权利人的商标。

快速开始

需要 Python 3.11 或更高版本,以及支持 plugins/skills 的 Codex 或 ChatGPT 客户端。

  1. 下载或克隆本仓库。
  2. 在 Codex 中调用 $plugin-creator,让它把当前文件夹加入个人 marketplace。
  3. 刷新插件目录并安装 Codex Loaf Reader Skill
  4. 在新任务中发送 摸了

首次启动时,如果当前 Python 没有 Flask,启动器会在应用数据目录创建独立 venv 并自动安装依赖。

暗号

指令 行为
摸了 启动或复用本地服务
在摸吗 查询服务状态
不摸了 停止服务
摸鱼收集 / 收集一下 生成并保存新的工作内容样本

网页暂停时输入 不摸了 也会退出服务。

怎么摸

点击输入框左侧的加号导入书籍或选择当前书籍,然后发送任意内容开始播放。

Codex 风格控件 实际作用
请求批准菜单 切换纯小说、小说混播或纯工作内容
模型版本 调整工作内容与小说内容的混播比例
推理低/中/高/超高 调整等待时间和逐字输出速度
速度普通/快速 切换小说段落的分割线或高亮样式
停止/发送按钮 暂停或继续播放

书籍菜单支持名称搜索、章节切换和每本书独立的阅读进度。页面语言跟随浏览器,明暗主题跟随系统设置。

功能

  • 支持 TXT、Markdown、JSONL、EPUB 和未加密 MOBI。
  • 独立记录每本书的章节、位置和百分比进度。
  • 工作内容池由安全词库生成,不包含真实对话或私人路径。
  • 收集 skill 可根据当前可见任务生成更多中性工作内容。
  • 本地缓存默认最多 20MB、500 项,超出时自动裁剪。
  • 可通过本地接口接入行情、报告等其他文本源。

手动运行

不安装插件也可以直接启动。

Windows PowerShell:

py -3 -m venv .venv
.\.venv\Scripts\python -m pip install -r requirements.txt
.\.venv\Scripts\python run.py

macOS / Linux:

python3 -m venv .venv
./.venv/bin/python -m pip install -r requirements.txt
./.venv/bin/python run.py
python run.py          # 启动或复用服务
python run.py status   # 查询状态
python run.py stop     # 停止服务

默认地址为 http://127.0.0.1:8765/。若端口被占用,启动器会选择后续可用端口。

支持格式

  • .txt
  • .md
  • .jsonl,每行形如 {"title":"章节","text":"内容"}
  • .epub
  • .mobi,仅支持未加密 PalmDOC/MOBI 文本

加密或带 DRM 的 MOBI 不受支持。请只导入你有权使用的内容。

模型名称

界面中的模型名称来自数据目录的 config.json。停止服务后可修改 streamPolicy.modelDisplayNames,再重新启动:

{
  "streamPolicy": {
    "modelDisplayNames": {
      "balanced": "5.6 Sol",
      "work-heavy": "5.6 Terra",
      "novel-heavy": "5.6 Luna",
      "spark": "5.5"
    }
  }
}

这些键对应固定的混播比例档位。修改名称不会改变比例和已保存的选择。

本地数据

服务只监听 127.0.0.1,不会上传书籍、进度或缓存,也不会读取其他任务、Codex 数据库或浏览器历史。

默认数据目录:

  • Windows:%USERPROFILE%\.codex-loaf-reader
  • macOS / Linux:~/.codex-loaf-reader

可通过 CODEX_LOAF_READER_HOME 覆盖。停止服务并删除该目录即可清除全部本地数据。

外部文本接口

POST /api/send-text 可以向播放队列加入其他本地内容:

{
  "source": "local-feed",
  "kind": "brief",
  "text": "要加入内容流的文本"
}

请求需要 Authorization: Bearer <localToken>,防止其他本地程序随意注入内容。token 只保存在本地 config.jsonGET /api/config 不会返回它。

许可证

MIT

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages