這是蒼何的第 448 篇原創!
大家好,我是愛折騰 Obsidian 的b蒼何。
最近實在是閑的蛋疼,各種折騰 Obsidian,配合 CLI,感覺能玩的地方太多了。
這不,又花了點時間,用 Claude Code 開發了個 Obsidian 插件,姑且叫內容分發助手。
它能夠將我在 Obsidian 中寫的公眾號長文,一鍵轉成符合各個平臺風格的文章。
比如轉成小紅書文案:
![]()
甚至是標簽都能自動生成,點擊一鍵復制,就可以直接去小紅書后臺發送了。
還有即刻風格的:
![]()
還有 X 風格,這對于 X 做海外賬號來說,別提多有用,省去了轉換到翻譯的過程。(當然翻譯與否也是可以選擇的)
![]()
在整體設置上,插件支持進行大模型配置和平臺配置,甚至我還把提示詞也做了配置,你可以用默認提示詞也可以根據習慣自行更改。
![]()
目前支持的平臺有這些:
![]()
支持的模型有這些:
![]()
當點擊獲取 api key 的時候能自動跳轉到對應的開放平臺獲取 key。
![]()
點擊測試連接的時候,會對 API 進行驗證。
![]()
以上就是整個 MVP 版本內容分發助手插件的全部功能。
我已經用這個插件跑了幾天了,目前測下來,效果相當驚人。
![]()
小紅書上也是表現不錯:
![]()
相當做到了一魚多吃,對于公眾號長圖文創作來說,可以說是法寶了,至少我目前感覺給我提效不少。
如果你對這個插件感興趣,也可以點贊留言告訴我,人多我就考慮給它發布出來。
但你想象不到,整個開發我全程用的居然是字節新出的 Doubao-Seed-Code 做的,因為我在上周就已經拿到火山新模型的測試資格。
![]()
他們正式官宣是雙十一這天, 還搞了個 9.9 的活動,有點意思。
![]()
這個信息圖也是用 Doubao-Seed-Code 做的:
![]()
除了模型選擇外,我開發的環境也相當的奇葩,用的 Obsidian 來開發 ob 插件,可以說整個地球上就湊不齊多少人。(瞎幾把吹牛)
有幾點 Obsidian 插件開發的經驗特別想和你分享,當然了,按照慣例,我也會手把手帶著大家來一次用 CC 進行 Obsidian 插件的開發。
這也會導致這篇文章的內容又會顯得巨長,如果你沒耐心看完,可以先點個贊收藏慢慢看。
整篇文章結構大概是這樣的:
![]()
介紹一下用到的工具
先從模型開始,這次選的 Doubao-Seed-Code 主要也是為了測試其在實際應用開發中的能力,我發現單純的用單個 demo 來驗證能力,大家很多也看麻了,還是得在應用中來體現。
如你所料,Doubao-Seed-Code 出世也是直接在 SWE-Bench-Verified 中刷新 SOTA。
![]()
也是,現在大模型發布問世,不刷新 SOTA 那還玩個 der。
實際測下來的感受是:能干事,挺便宜。
還有比較亮眼的點是,Doubao-Seed-Code 是支持多模態能力的,它可參照 UI 設計稿、截圖或手繪草圖生成代碼,或對生成頁面進行視覺比對,自主完成樣式修復和 Bug 修復。
![]()
比如我第一輪出來的 UI 效果有些抽象,我直接手繪了一個草圖,它先識別圖片內容,然后再轉為 UI 設計樣式。
這個能力,據我所知,還是國內第一家支持視覺理解能力的編碼模型。
雙十一,他們也在做活動,9.9 一個月,我把活動地址放在最后了,想要沖的可以點文末閱讀原文去沖,畢竟雙十一就這一次。
![]()
好,關于模型,就先介紹到這,更多信息,可以去火山官網做了解。
然后再一次介紹下 Obsidian,這是一個本地的開源的筆記創作軟件,其插件生態非常繁榮,自由度非常高,而且非常安全,在上面的所有文檔均是大模型最愛的 markdown 格式的。
Claude Code 就不用多介紹了,很多朋友早玩的很 6 了。
那如何把這三個工具完美融合呢?
首先是把 Claude Code 安裝到 Obsidian 就很簡單,下載個 Terminal 插件一配就好,之前的文章也講過啦,不會的可以去看看。
![]()
最后就是把 Doubao-Seed-Code 配置到 Claude Code ,輸入這個配置就好:
export ANTHROPIC_BASE_URL=https://ark.cn-beijing.volces.com/api/compatible export ANTHROPIC_AUTH_TOKEN=你的key export ANTHROPIC_MODEL=doubao-seed-code-preview-latest key 的獲取就在火山后臺:
![]()
一、熟悉下插件開發整體流程
新建一個新的倉庫用來測試。(防止亂搞)
![]()
保存到指定文件夾:
![]()
先下載個插件模板吧:
第一步,下載示例插件
下載模板:https://github.com/obsidianmd/obsidian-sample-plugin ![]()
點擊 Use this template。
在 Repository name 選項中, 輸入您的插件名稱。 Obsidian 的插件名稱往往以 obsidian- 開頭。 舉個 , obsidian-instant-coffee。
點擊 Create repository from template。
我的名字就叫做:obsidian-content-remix
![]()
創建 GitHub 倉庫:
![]()
將 GitHub 代碼下載到指定文件夾:
cd path/to/vault/.obsidian/plugins git clone https://github.com/your-username/obsidian-instant-coffee.git 第二步,構建插件
跳轉對應文件夾,并安裝依賴:
# 進入目錄cd path/to/vault/.obsidian/plugins/obsidian-instant-coffee # 安裝依賴 npm install # 編譯插件代碼 npm run dev 第三步,啟用插件
這時候重啟 obsidian,打開倉庫-設置-第三方插件,就可以看到了。點擊啟用。
![]()
第四步,修改插件配置
manifest.json 的修改如下:
![]()
package.json 的修改如下:
![]()
第五步,修改源碼:
比如修改這段
![]()
點擊左側插件,就會蹦出剛才的提示信息。
![]()
需求定義及 claude. md 編寫
在 obsidian 中配置 cc 后的效果是這樣的:
![]()
為了讓 AI 更好的工作,我習慣會在項目的 claude. md 中寫上相關規范和要求。
claude. md 文檔定義我也直接貼出來了:
# Role: Obsidian插件開發專家
## Profile
- language: 中文
- description: 專業的Obsidian插件開發專家,專注于內容分發助手插件的設計與實現
- background: 擁有豐富的Obsidian插件開發經驗,熟悉TypeScript、Node.js和Obsidian API
- personality: 嚴謹細致,注重用戶體驗,善于解決技術難題
- expertise: Obsidian插件架構設計、UI組件開發、API集成、內容轉換算法
- target_audience: Obsidian用戶、內容創作者、技術開發者
## Skills
1. 核心開發技能
- TypeScript編程: 精通TypeScript語言特性及Obsidian插件開發規范
- UI組件設計: 熟練使用Obsidian的UI組件庫構建用戶界面
- API集成: 能夠集成各種大模型API實現內容轉換功能
- 配置管理: 實現靈活的平臺配置和Prompt模板管理
2. 輔助開發技能
- 文檔解析: 解析Obsidian筆記的Markdown格式和元數據
- 錯誤處理: 完善的錯誤處理機制和用戶反饋系統
- 性能優化: 確保插件運行流暢,不影響Obsidian主程序性能
- 測試調試: 全面的單元測試和集成測試方案
## Rules
1. 開發原則:
- 代碼規范: 嚴格遵循Obsidian官方開發規范和TypeScript最佳實踐
- 模塊化設計: 采用模塊化架構,確保代碼可維護性和可擴展性
- 用戶體驗: 界面簡潔直觀,操作流程順暢,反饋及時明確
- 兼容性: 確保插件兼容主流Obsidian版本和操作系統
2. 行為準則:
- 安全第一: 妥善處理用戶數據和API密鑰,不泄露隱私信息
- 穩定可靠: 確保插件在各種使用場景下都能穩定運行
- 持續改進: 根據用戶反饋不斷優化功能和性能
- 文檔完善: 提供清晰的使用說明和技術文檔
3. 限制條件:
- 資源限制: 合理使用系統資源,避免影響Obsidian性能
- API限制: 遵守各平臺API的使用條款和頻率限制
- 功能邊界: 專注于內容分發功能,不涉及無關特性
- 法律合規: 確保內容轉換符合版權和平臺規定
## Workflows
- 目標: 開發功能完整的Obsidian內容分發助手插件
- 步驟 1: 分析需求,設計插件架構和UI界面布局
- 步驟 2: 實現核心功能模塊:筆記解析、平臺配置、大模型集成
- 步驟 3: 開發用戶界面:平臺選擇、內容預覽、一鍵復制功能
- 步驟 4: 集成測試和性能優化,確保插件穩定可靠
- 預期結果: 用戶能夠在Obsidian中輕松將筆記轉換為各平臺風格的文案## Initialization
作為Obsidian插件開發專家,你必須遵守上述Rules,按照Workflows執行任務。
插件開發
因為事先定義好了 claude. md,這里 Chat 的提示詞就可以簡單一些,我們把背景和要求都寫好了。
提示詞:我想開發個內容分發助手的obsidian插件,請根據相關需求幫我開發。 沒幾分鐘,就出來一個版本,我們打開他發現有了。
![]()
但并不是我要的效果,他是個彈窗。
![]()
我希望是在側邊欄能打開,于是我簡單畫了個草圖,讓它按照我的草圖來設計 UI。
先問問豆包是否能識別到我的草圖。
他說能
![]()
于是我才大膽的截圖直接發給他。
提示詞: OK,這個obsidian內容分發助手插件我不滿意,你根據我的草圖重新設計下,我不希望是彈窗打開,而是tab頁面打開,UI設計參考我的草圖. ![]()
接到需求后,開始賣力干活。
![]()
樣式有點不對,這個地方字體都顯示不對。沒關系,就是要經過不斷的描述需求和檢查結果的過程。
![]()
選擇平臺這里文字沒法展示全, 請修改此地方, 其他無需修改, 現在樣式你可以自己看我給你的截圖. 。
![]()
好,修復好了。
![]()
在 obsidian 中直接進行插件開發有個好處就是,隨心所欲的絲滑。
指揮 Claude Code ,把之前需要切換應用看效果這事直接省去。
只需要在第三方插件這個地方重新開關一下,就完成了重新加載。
![]()
經過幾輪的調教,一個不辣么簡單的插件就開發好了。
可以一鍵轉為小紅書風格:
![]()
即刻風格:
![]()
X 風格:
![]()
在整體設置上,支持進行大模型配置和平臺配置,甚至我還把提示詞也做了配置,你可以用默認提示詞也可以根據習慣自行更改。
![]()
未來的生產力,或許不再是誰能寫出更晦澀的算法,而是誰能更好地駕馭 AI,更快地構建出有價值的產品。
希望這個插件和這篇教程,能幫你把我踩過的坑都填平。也希望你能拿起這個新的杠桿,去復活你項目列表里那個“一直想做,卻沒時間做”的絕妙想法。
感謝你閱讀這篇文章,我們下一期見!
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.