@goodfish/jarvy 0.1.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md ADDED
@@ -0,0 +1,65 @@
1
+ # Changelog
2
+
3
+ All notable changes to Jarvy. Versions follow [semantic versioning](https://semver.org/) as used before 1.0: a patch release only fixes bugs; a minor release adds features or upgrades the database.
4
+
5
+ ## 0.3.0 — 2026-10-13
6
+
7
+ Upgrading moves the database from schema v17 to v18 on first start: a DM that has no message yet loses its old placeholder title. A v18 database cannot be opened by 0.2.0; keep a copy if you may need to go back.
8
+
9
+ ### Added
10
+
11
+ - **Chinese and English.** Every screen comes in both languages. The first visit follows the browser's languages (`zh*` gives Chinese, anything else English); 设置 → 通用 / Settings → General and an EN / 中 switch on the login page change it, remembered in this browser. Dates, times and numbers follow the language. (A45)
12
+ - **English toward the model.** The system prompt, tool descriptions, batch notes and tool results are English for every Bot, and a new Language section tells a Bot to reply in the language of the people it talks to. Personas, notices, summaries and messages stay as people wrote them. (A45)
13
+ - **Bot usage.** Bot info → 运行 → 用量 / Usage shows calls, input, output, cache read and cache write tokens and cost per model for today, 7 days or 30 days, with a total row; a model with no price says so instead of showing 0. (A46)
14
+ - **Thread sorting and filters.** Both thread lists sort by last update, creation time or status, remembered per list; followed threads add Open and Done tabs with counts.
15
+ - **About page** in Settings: the version, the one-line description, and links to the source, the npm package, the license and the third-party notices.
16
+ - **Upload progress.** Pasted, dropped or picked files appear as cards above the composer at once, with a progress bar while they upload; the drop hint sits inside the composer, so nothing below it jumps.
17
+ - **Preview: the cat as an NPC.** Opening a DM with `?npc=demo` in the address plays a scripted turn of the floating cat: a thought bubble, muttering and speech, actions for reading, typing, waiting, yawning and stretching, and a panel with every step. It is not yet driven by the Bot's real work.
18
+
19
+ ### Changed
20
+
21
+ - **Question cards** are part of the Bot's message: options look like the bubbles, and a settled question folds to one line (「✓ 已选:…」 or 「已忽略」).
22
+ - Failures carry a stable code and the interface words them in its language; the server's own text is English.
23
+ - Stored titles no longer contain interface words: quotes are written as "passage", an attachment-only first message gives its file name, and a DM between two Bots is called "A · B".
24
+ - New Bots are named by the interface (New Bot / 新 Bot); the server requires a name.
25
+ - The root message's author follows a thread opened under it; the follow button uses a plain bell (the crossed-out bell is only for mute).
26
+
27
+ ### Fixed
28
+
29
+ - Getting a model list from a wrong address, an unreachable host or a web page gives a clear message instead of a server error.
30
+ - Uploading in one chat no longer blocks sending in another.
31
+
32
+ ## 0.2.0 — 2026-10-12
33
+
34
+ Upgrading moves the database from schema v16 to v17 on first start. A v17 database cannot be opened by 0.1.0; keep a copy if you may need to go back.
35
+
36
+ ### Added
37
+
38
+ - **Search.** The sidebar box (Ctrl+K) now searches everything you can read and groups the results: chats by name, threads and channels by title, topic, notice or summary, then messages, newest first. Ctrl+F, or the search button in a channel or thread header, searches the open chat; a channel's search includes its threads. A result opens where the message is, scrolled to and highlighted.
39
+ - **Partial quotes.** On desktop, select part of a message and choose 「在回复中引用」. Each quote is a tag above the composer (up to 10 per message); in the sent message the tag jumps to the source and highlights the passage, also when the source is a thread reply quoted in a copy to the channel. Bots receive each quote as a `> name (message id): passage` line. Phones show and follow quotes but do not create them yet. (A44)
40
+ - **Drafts.** Every chat keeps its unsent text, pending attachments and quotes when you switch chats, close a thread or reload the page. A send interrupted by a reload is not sent twice. Logging out clears drafts and deletes their pending attachments.
41
+ - **Threads read like channels.** The title and summary stay pinned above the replies (the summary folds to one line), and 「回到最新」 appears while you read older replies, with the count of new ones.
42
+ - **Channel header and channel info.** The channel name opens a side pane with pin, mute, add members, name and topic edited in place, the channel group, a members page that shows what each Bot is doing, and delete.
43
+ - **`bots.list`.** A read-only tool that tells a Bot which other Bots are running, idle, stopped, waiting for an answer or failing. (A43)
44
+ - **Followed threads** open beside the list, with 全部 and 未读 tabs.
45
+ - Prompt: clearer rules for a Bot's workspace, and a Bot acknowledges messages addressed to it, usually with an emoji mark.
46
+
47
+ ### Changed
48
+
49
+ - The @ menu lists only the channel's members; a last row 「不在本频道中」 opens everyone else with a search box, and picking someone from it adds them to the channel.
50
+ - A hint about a thread on a channel row names the thread (「X 更新了线程「…」的摘要」), and opening the row opens that thread with its summary unfolded.
51
+ - Reactions are switches: marking a message again with the same emoji removes the mark, and the tool says which way it went. (A42)
52
+ - The thread composer no longer offers 「同时发到 #频道」; only a thread's conclusion is also posted to the channel.
53
+ - The channel group picker uses the app's own menu instead of the browser's native list.
54
+ - Working dots swell in turn; the notice uses a megaphone icon.
55
+
56
+ ### Fixed
57
+
58
+ - Opening or reopening a thread lands exactly on the newest reply; when the last reply is yours, a refresh no longer pulls the pane to the bottom while you read older ones or follow a search result.
59
+ - On phones, opening a chat lands on the newest message, and older pages no longer load before that jump.
60
+ - The 未读 tab of followed threads no longer lists the thread being read.
61
+ - Bot info and the member page say 未运行 for a stopped Bot.
62
+
63
+ ## 0.1.0 — 2026-10-12
64
+
65
+ First release on npm as `@goodfish/jarvy`.
package/README.md CHANGED
@@ -20,7 +20,7 @@ Jarvy looks like the team chat you already know: direct messages, channels, thre
20
20
 
21
21
  It is local and single-user. Your account, Bots, chats, files and model keys stay in one SQLite database on your machine.
22
22
 
23
- > The interface is currently in Chinese.
23
+ The interface comes in English and Chinese, following your browser's language; switch it in Settings → General or on the login page. Bots answer in the language you write to them in.
24
24
 
25
25
  ## Highlights
26
26
 
@@ -69,7 +69,7 @@ jarvy on # run in the background
69
69
  jarvy off # stop
70
70
  ```
71
71
 
72
- To install your own build instead: `npm run build && npm pack --pack-destination /tmp && npm install -g /tmp/goodfish-jarvy-0.1.0.tgz`.
72
+ To install your own build instead: `npm run build && npm pack --pack-destination /tmp && npm install -g /tmp/goodfish-jarvy-*.tgz`.
73
73
 
74
74
  | Command | What it does |
75
75
  | --- | --- |
package/README.zh-CN.md CHANGED
@@ -20,6 +20,8 @@ Jarvy 用起来就像熟悉的团队聊天工具:私信、频道、线程,
20
20
 
21
21
  Jarvy 在本地运行,只有一个用户。账号、Bot、聊天、文件和模型密钥都存在你电脑上的一个 SQLite 数据库里。
22
22
 
23
+ 界面有中文和英文两种,默认跟随浏览器语言,可以在「设置 → 通用」或登录页切换。你用什么语言跟 Bot 说话,它就用什么语言回答。
24
+
23
25
  ## 亮点
24
26
 
25
27
  **Bot 是成员,不是侧边栏助手。** 在频道里 @ 它、回复它的消息,或者直接私信它。发给 Bot 的内容才会送到它那里,包括私信、@、回复和它关注的线程。它工作时你发了新消息,它会被打断,马上看到。它可以在有权限的聊天里发消息、建频道、关注线程,也能用选择题卡片问你。
@@ -67,7 +69,7 @@ jarvy on # 后台运行
67
69
  jarvy off # 停止
68
70
  ```
69
71
 
70
- 想装自己构建的版本:`npm run build && npm pack --pack-destination /tmp && npm install -g /tmp/goodfish-jarvy-0.1.0.tgz`。
72
+ 想装自己构建的版本:`npm run build && npm pack --pack-destination /tmp && npm install -g /tmp/goodfish-jarvy-*.tgz`。
71
73
 
72
74
  | 命令 | 作用 |
73
75
  | --- | --- |