OnecaratEditor CoreLocal AI, right inside your everyday writing.
Work text that can't go out to the internet — handled by a local AI that runs inside your PC.
Turn meeting notes into minutes
Dig through an error log
Write a SQL query
Draft a reply to an email
Summarize a long document
Tidy up a voice transcript
Internet
Meeting notes→Minutes
Error log→Sorted out
Email→Reply draft
Long text→Summary
Requirements→SQL
File Edit View Macro Settings Helpoct9_sync_notes.txtOct 9 syncAttendees: Sato, Tanaka, Suzuki- New feature release locked for Nov 14- Tanaka drafts the announcement by Oct 31Ln 1, Col 1LLM running
You want to use AI at work: meeting notes, error logs, SQL, email replies, long documents, voice transcripts. But that information can't go out to the internet. A local AI runs inside your PC, and today's local AI can handle this kind of work. OnecaratEditor Core brings that local AI into the editor you write in.
02Product theater
Those same tasks, for real.
Huh. So that's how you'd use it.
…Could this fit the way I work?
03CaratPREVIEW
The things you repeat can be wrapped up, just for you.
A small Python-like language that combines text handling with AI.
You don't have to write all the code: ask Coashi in plain words, and build it together.
CTalk through some code with Coashi
Write a polite reply to the selected email and open it in a new tabFrom the selected requirements, write a SQL SELECT and open it in a new tab
Write it
The code (you can edit it before inserting)
body = SELECTION
reply = AIWRITE("Write a polite reply to this email", body)
NEWTAB(reply, "Reply")
req = SELECTION
sql = AIWRITE("Write a SQL SELECT that meets these requirements", req)
NEWTAB(sql, "SQL")
Insert into the editor
Untitled 1ReplySQL▶ RUN
Subject: Delivery date
Thanks for your help as always.
Could the materials we asked for move
from Oct 20 to Oct 24?Members who ordered 3+ times last month
(member ID, name, order count)
Thank you for reaching out.
Moving the date to Oct 24 works for us.
We look forward to receiving the materials.SELECT m.member_id, m.name, COUNT(*) AS orders
FROM members m JOIN orders o ON o.member_id = m.member_id
WHERE o.ordered_at >= DATE '2026-09-01'
AND o.ordered_at < DATE '2026-10-01'
GROUP BY m.member_id, m.name
HAVING COUNT(*) >= 3;
reply_draft finished (output in new tab Reply)make_sql finished (output in new tab SQL)
Only the SQL text is written. It isn't run.
Carat StudioPREVIEWStop partway and check what's going on.04_ai_sort.carat
行 = [x for x in SELECTION.split("\n") if x.strip() != ""]
if len(行) == 0:
print("仕分けるものがありません。テキストを選んでから実行してください")
else:
種類 = ["仕事", "私用", "その他"]
仕分け = {}
for 名前 in 種類:
仕分け[名前] = []
VARIABLES
(Run it and stop at a breakpoint: the variables show up here)
(Running. The variables show up when it stops at a breakpoint)
Stopped at line 10
Stopped at line 11
行list 12 items
種類list 3 items["仕事", "私用", "その他"]
Run
Stop
Look at the variables
One line at a time
In Carat Studio, ask Coashi in plain words what the macro should do.
Coashi returns Carat code that reads the selection, has the AI write the text with AIWRITE, and opens it with NEWTAB. You read it and insert it yourself.
Run it on the selected email: the reply draft opens in a new tab.
In Carat Studio, ask Coashi in plain words what the macro should do.
Coashi returns Carat code that reads the selection, has the AI write the text with AIWRITE, and opens it with NEWTAB. You read it and insert it yourself.
Run it on the selected requirements: the SQL text opens in a new tab. It isn't run.
Carat Studio: run the bundled sample, it stops at the breakpoint on line 10, the variables show the list 行 with 12 items, and STEP runs one line and stops at line 11.
Demo · recreated screen
04Functions in motion
And there's more, on the same PC.
Answers from your own folder — with the sources.
C:\Docs\MeetingsDone: 3 files / 18 chunks
Answer from folders
When is the release, and what's due first?
The release is set for Nov 14 [1]. The announcement is due by Oct 31 [2].
Sources
[1]retro_1006.md(chars 40–96)
[2]release_plan.md(chars 0–58)
Speak, get a transcript, then turn it into notes.
● RecordListening
[00:03]Let's lock the release for November 14.
[00:09]The announcement needs to be ready by the end of October.
TranscriptSummaryMinutesTODOIdeas
- Prepare the announcement (by Oct 31)
- Confirm the Nov 14 release
An AI that works inside the editor — pick who answers.
CRinRin
Can you make this intro friendlier?
Sure! How about: "Hi everyone — here's what's new this week."
Replies stay in the chat. Copy what you want into your document.
Demo · recreated screenClick a feature to see it again.