dsh-feiyu-life:用校歷與作息爲對話注入「此刻在幹什麼」

前言

在 DeepSeek Harness(DSH)裏做陪伴或角色類智能體時,常見做法是隻讓模型根據當輪對話猜狀態:你什麼時候開口,它就什麼時候「在線」,心情也全由話術推導。真實生活裏的人還有另一面——今天是不是假期、這節有沒有課、手機是靜音還是拿在手上、身上還壓着哪件小事。缺了這層,角色容易像永遠掛機的 NPC。

dsh-feiyu-life(目錄與 npm 包名同爲 dsh-feiyu-life,維護者 Vansnc)是 DSH 生態裏的客戶端插件:按校歷、課表、作息和可選事件池做本地計算,必要時用模型寫當日劇本,再在每輪組裝提示詞時往 systemPrompt.context 注入幾行生活上下文,並自帶 Web 設置頁。純上下文注入,不新增可調用的 life_now 類工具,也不寫會話日誌到別處。

這是什麼

  • 定位:大肥魚的生活線插件——給她一條「自己的時間」,補「今天是什麼日子、這會兒在幹什麼」。
  • 分類:客戶端(platform: web,向設置槽位注入 UI)。
  • 版本(package.json):0.3.0;運行環境 Node ≥ 22;許可證 MIT。
  • 依賴 DSH:dsh engines >=0.2.0-rc.1。
  • 社區目錄:SkillHub 插件頁;源碼與文檔:GitHub — Vansnc/dsh-feiyu-life。目錄站爲社區站點,與 DeepSeek / 幻方無官方從屬關係。

插件以當前 DSH 進程權限讀寫 ~/.dsh/ 下配置與日劇本文件;安裝前宜自行查看源碼與許可證。

核心功能

注入長什麼樣

每輪會在上下文中加入類似內容(0.3 起劇本模式更完整):

(今天)11月9日 週一·上課日。肚子還墜着。
(此刻)老師當衆點評我作業,臉有點燒,手機靜音,身上是藏青衛衣。
(早些時候)回宿舍躺着,抱熱水袋刷手機,然後專業課排版式,一個標題改到第三遍。
(接下來)17:30 取快遞是買的畫冊,順路喫了碗熱面。
(說話)這些是你自己的日子,別當時間表念:不說"按日程/計劃/安排",不報時間段、不列清單。

早期版本以兩行「此刻 / 今天」爲主;0.3.0 起支持全天分段劇本(在哪、做什麼、穿什麼、手機是否在手上)。

四層計算邏輯

年:學期 · 寒暑假 · 考試周 · 節日        ← 決定今天走哪張作息表
周:課表(只寫在學期裏有課的日子)
日:作息表切段(日常 / 晚起 / 假期 / 備考)
刻:此刻命中哪一段 + 身體感覺 + 偶爾小動作

優先級:特殊(考試周)> 假期 > 放假節日 > 學期。落在假期或放假的節日裏,自動走假期作息、不上課。

0.2.0 起爲同一日曆日引入按日 / 小時 / 十分鐘的隨機偏離(躺平日、身體感覺、臨時小動作等),概率可在設置頁調爲 0 以嚴格按表走。

每日劇本(0.3.0)

除課表與作息外,當天首次需要時可調用模型生成 00:00–24:00 分段劇本;傍晚可寫明天。失敗或不合法時退回模板。劇本落在 ~/.dsh/feiyu-life-days/<date>.json,同日不變。角色側可用 life_adjust 臨時改計劃,下一輪注入隨之更新。

設置頁

路徑:設置 → 魚的生活線。六個頁籤:

頁籤 作用
此刻 當前注入預覽與「爲什麼這麼算」;可選時間點預覽別日
年度 學期 / 假期 / 考試周起止;固定節日與按日期放假
課表 週一至週日每段:起止、在幹什麼、手機狀態
作息 日常 / 晚起 / 假期 / 備考四表;可睡晚的星期
身體 經期、三類「不按表走」概率
事件 按時段與條件(如早課)抽小事

保存後按配置文件 mtime 熱更,無需重啓宿主。裝完或改過插件代碼後需刷新頁面,瀏覽器側模塊才加載設置 UI。

配置文件

默認路徑:~/.dsh/feiyu-life-config.json。字段與 README 示例一致,含總開關、時區、校歷、節日、四張作息表、課表、事件池、偏離概率等。工作區 爲目錄前綴數組:留空則所有頂層會話都注入;若只想在特定項目裏啓用陪伴上下文,可填例如 ["/home/ubuntu/dsh-agentchat"]。

手機狀態僅支持:在手 / 靜音 / 在牀頭 / 不在手邊。作息表須有一段含「睡着」,用於推算起牀時間。

刻意不做的事

  • 日常路徑不以調模型算狀態(劇本生成除外,且可回退模板)。
  • 不提供查狀態的專用工具按鈕。
  • 不碰其他插件,只改 systemPrompt.context。
  • 子代理不注入:僅掛在 agents.roots()。

安裝與啓用

官方安裝命令(來自 README,勿自行拼接 github: 形式):

dsh plugin --profile web add dsh-feiyu-life

裝完後刷新頁面,在設置中可見「魚的生活線」。

更新建議先卸再裝,避免緩存舊副本:

dsh plugin --profile web remove dsh-feiyu-life
dsh plugin --profile web add dsh-feiyu-life

本地開發可用絕對路徑 link 安裝;若設置頁不出現,需按 README 調整 cordis.patch.yml 中 name 爲 index.js 絕對路徑,改代碼後卸載再裝一次方能加載新模塊。

典型用法

  1. 安裝並刷新 Web 端,打開 設置 → 魚的生活線。
  2. 在「年度」填學期、寒假、考試周;「課表」「作息」按真實或虛構校歷填寫。
  3. 在「此刻」頁籤覈對當前注入是否符合預期;需要時用「工作區」限制注入範圍。
  4. 開啓總開關後,在目標會話里正常對話,觀察 system 上下文中的生活線段落是否隨時間與配置變化。
  5. 若使用 0.3 劇本能力,確認模型可用;失敗時應自動退回模板,且當日 JSON 仍可讀。

配置也可直接編輯 ~/.dsh/feiyu-life-config.json,存盤即生效。

適用場景與注意

適合:需要角色帶「日程感」、與課表/假期/手機狀態一致的陪伴或 persona 實驗;希望少寫 prompt 手工維護「今天在幹嘛」的 DSH 用戶。

注意:

  • 插件只管「知道自己在幹什麼」,不決定是否回覆消息(例如上課時仍會回,只是上下文裏有上課)。
  • 農曆節日需自行按當年公曆日期填進配置。
  • 僅 Web profile;Node 與 DSH 版本需滿足 package.json / README 要求。
  • 問題可參照 README「已知邊界」與排錯說明,或到 GitHub Issues 按模板反饋。

結尾

dsh-feiyu-life 把校歷、課表、作息和可選日劇本收成一段穩定的生活上下文,掛進 DSH 每輪提示詞,並可用設置頁或 JSON 維護。進一步瞭解可看 SkillHub 目錄頁 與 GitHub 倉庫 README。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜