donteatfriedrice
e6b570e613
feat(core): support network search in chat block center peek ( #10186 )
...
[BS-2582](https://linear.app/affine-design/issue/BS-2582/chat-block-center-peek-支持-network-search )
2025-02-14 12:43:31 +00:00
Saul-Mirone
d111f8ac88
feat(editor): add WidgetViewExtension ( #10180 )
...
Closes: [BS-2282](https://linear.app/affine-design/issue/BS-2282/replace-widgetviewmapextension-with-widgetextension )
2025-02-14 11:00:01 +00:00
akumatus
1bf1832211
refactor(core): get copilot sessions api ( #10168 )
...
Fix issue [BS-2575](https://linear.app/affine-design/issue/BS-2575 ).
### What Changed?
- Refactor `getCopilotSessions` api.
- Add `docId` parameter.
- Add `action` parameter.
2025-02-14 06:57:58 +00:00
L-Sun
9d08f446cc
refactor(editor): remove redundant edgeless icons ( #10169 )
...
Continue [BS-2240](https://linear.app/affine-design/issue/BS-2240/%E6%B8%85%E7%90%86%E9%87%8D%E5%A4%8D%E7%9A%84icon )
This PR removes `icons/edgeless.ts` and refactor with `@blocksuite/icons` for reducing redundant icons
2025-02-14 05:03:26 +00:00
akumatus
79d5f55471
feat(core): move context docs to user prompt ( #10162 )
...
Fix issue [BS-2522](https://linear.app/affine-design/issue/BS-2522 ).
### Why make this change?
If the user data contains illegal content, carrying the user data in the system prompt will run the risk of having the account banned.
### What Changed?
- Move the `Context Documents` to the user prompt.
- Add `withPrompt` in `QueryChatHistoriesInput` options.
- Get chat histories without prompt messages.
- Omit document context when saving messages to the `aiSessionMessage` db.
2025-02-13 12:08:13 +00:00
donteatfriedrice
40c6e42ab8
fix(core): edgeless text ai action should generate image correctly ( #10158 )
...
[BS-2570](https://linear.app/affine-design/issue/BS-2570/edgeless-text-没有被正确的作为上下文放入-app )
2025-02-13 09:38:13 +00:00
akumatus
d17f5651f1
feat(core): add with your docs label to ai answer ( #10124 )
...
Fix issue [BS-2425](https://linear.app/affine-design/issue/BS-2425 ).

2025-02-13 03:28:27 +00:00
donteatfriedrice
30612de1ad
fix(core): wrap code in ai chat ( #10108 )
...
[BS-2540](https://linear.app/affine-design/issue/BS-2540/ai-chat-中-code-block-需要默认换行 )
2025-02-12 09:43:52 +00:00
donteatfriedrice
e350ba4a9c
test: enable chat block e2e test ( #10111 )
2025-02-12 09:26:52 +00:00
akumatus
58fed5928b
feat: add doc copilot context api ( #10103 )
...
### What Changed?
- Add graphql APIs.
- Provide context and session service in `AIProvider`.
- Rename the state from `embedding` to `processing`.
- Reafctor front-end session create, update and save logic.
Persist the document selected by the user:
[录屏2025-02-08 11.04.40.mov <span class="graphite__hidden">(uploaded via Graphite)</span> <img class="graphite__hidden" src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/sJGviKxfE3Ap685cl5bj/195a85f2-43c4-4e49-88d9-6b5fc4f235ca.mov " />](https://app.graphite.dev/media/video/sJGviKxfE3Ap685cl5bj/195a85f2-43c4-4e49-88d9-6b5fc4f235ca.mov )
2025-02-12 08:33:07 +00:00
donteatfriedrice
19f0eb1931
fix(core): use patched preview spec builder in ai chat ( #10090 )
...
[BS-2526](https://linear.app/affine-design/issue/BS-2526/chat-panel-里的-footnote-popup-需要支持交互 )
2025-02-11 15:11:54 +00:00
akumatus
9ca2133e34
fix(core): input not automatically focused ( #10050 )
...
Fix issue [AF-2161](https://linear.app/affine-design/issue/AF-2161 ).
2025-02-11 13:43:41 +00:00
Saul-Mirone
6b78d2dcf2
refactor(editor): reduce getService ( #10100 )
2025-02-11 12:26:02 +00:00
Saul-Mirone
dbf0f9dc20
refactor(editor): remove global types in edgeless ( #10092 )
...
Closes: [BS-2553](https://linear.app/affine-design/issue/BS-2553/remove-global-types-in-edgeless )
2025-02-11 12:09:44 +00:00
Saul-Mirone
39eb8625d6
refactor(editor): remove block models global type ( #10086 )
2025-02-11 11:00:57 +00:00
zzj3720
a47369bf9b
feat(editor): ai panel supports displaying table blocks ( #10091 )
2025-02-11 10:28:56 +00:00
Saul-Mirone
652865c7cf
refactor(editor): remove global types in model ( #10082 )
...
Closes: [BS-2249](https://linear.app/affine-design/issue/BS-2249/remove-global-types-in-model )
```ts
// before
matchFlavours(model, ['affine:page']);
// after
matchFlavours(model, [PageBlockModel]);
```
2025-02-11 08:18:57 +00:00
akumatus
397887e3b5
fix(core): not using Internet search after user selects document or file ( #10058 )
...
Fix issue [BS-2546](https://linear.app/affine-design/issue/BS-2546 ).
2025-02-10 10:40:14 +00:00
EYHN
92f4f0c2d9
feat(core): guard service ( #9816 )
2025-02-09 23:26:38 +00:00
donteatfriedrice
0df94b8e35
fix(core): typo ( #10022 )
...
[BS-2532](https://linear.app/affine-design/issue/BS-2532/typo-tidy-a-article-with-ai-mindmap-action-tidy-an-article-with-xxxxx )
2025-02-07 11:09:00 +00:00
pengx17
5066f50c4f
fix(editor): should focus the textarea will clicking the chat input box ( #9983 )
...

Clicking outside of the textarea should also focuses the textarea
2025-02-06 10:20:05 +00:00
donteatfriedrice
9cae1c3a28
fix(core): copilot client should throw right ai error ( #9958 )
...
[BS-2488](https://linear.app/affine-design/issue/BS-2488/copilot-client-需要正确返回错误类型 )
2025-02-05 12:46:13 +00:00
doouding
02122098c7
fix: drag block issue ( #9902 )
...
### Changed
- Added support for changing the preview offset during dragging.
- Fixed the preview rendering for embed block and surface-ref block
- Resolved an issue where the host element might be reused in certain cases, which could cause unexpected behavior
- Moved viewport-related constants and methods to a more appropriate location
2025-02-05 07:25:53 +00:00
Saul-Mirone
17bf75e843
refactor(editor): remove dependency of command global types ( #9903 )
...
Closes: [BS-2216](https://linear.app/affine-design/issue/BS-2216/remove-global-types-in-command )
2025-01-27 12:28:46 +00:00
donteatfriedrice
4b553d153a
feat(core): update chat error style ( #9885 )
...
[BS-2487](https://linear.app/affine-design/issue/BS-2487/报错样式更新 )
2025-01-24 12:39:10 +00:00
zzj3720
5a5779c05a
feat(editor): simple table block ( #9740 )
...
close: BS-2122, BS-2125, BS-2124, BS-2420, PD-2073, BS-2126, BS-2469, BS-2470, BS-2478, BS-2471
2025-01-24 10:07:57 +00:00
donteatfriedrice
c0eb735890
fix(core): extract text blocks markdown from doc ( #9879 )
...
[AF-2162](https://linear.app/affine-design/issue/AF-2162/ai-提取-markdown-内容不完整 )
2025-01-24 04:18:53 +00:00
akumatus
95cf2e047f
feat(core): cite source documents in the AI answer ( #9863 )
...
Support issue [BS-2424](https://linear.app/affine-design/issue/BS-2424 ).
### What changed?
- Add relevant document prompt templates.
- Add citation rules in system prompts.
- Change message `params` type to `Record<string, any>`
- Add unit test.
<div class='graphite__hidden'>
<div>🎥 Video uploaded on Graphite:</div>
<a href="https://app.graphite.dev/media/video/sJGviKxfE3Ap685cl5bj/ec24e664-039e-4fab-bd26-b3312f011daf.mov ">
<img src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/sJGviKxfE3Ap685cl5bj/ec24e664-039e-4fab-bd26-b3312f011daf.mov ">
</a>
</div>
<video src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/sJGviKxfE3Ap685cl5bj/ec24e664-039e-4fab-bd26-b3312f011daf.mov ">录屏2025-01-23 10.40.38.mov</video>
2025-01-24 04:04:01 +00:00
pengx17
6ac6a8d6d6
feat(core): unused blob management in settings ( #9795 )
...
fix AF-2144, PD-2064, PD-2065, PD-2066
2025-01-23 07:12:17 +00:00
akumatus
862a9d0bc4
feat: use footnote for perplexity search results ( #9851 )
...
Support issue [BS-2475](https://linear.app/affine-design/issue/BS-2475 ).

2025-01-22 10:54:01 +00:00
pengx17
4c665594d6
fix(editor): ref on click slots should not be global ( #9830 )
...
fix AF-2129
2025-01-22 05:20:55 +00:00
L-Sun
29995e498a
feat(editor): add start-with-ai button for empty doc ( #9836 )
...
Close [BS-2391](https://linear.app/affine-design/issue/BS-2391/bs-ai-toolbar-空状态下添加-actions-列表 )
https://github.com/user-attachments/assets/cbded517-2d3d-4a75-b144-644e2b03f68a
2025-01-21 16:00:49 +00:00
akumatus
a3164b4ccf
feat(core): support ai doc search panel ( #9831 )
...
Support issue [BS-2351](https://linear.app/affine-design/issue/BS-2351 ) and [BS-2461](https://linear.app/affine-design/issue/BS-2461 ).
## What changed?
- Add `chat-panel-add-popover` component.
- Refactor part of `AtMenuConfigService` into `DocSearchMenuService`.
- Add signal `content` property to `DocChip` interface for markdown content update.
<div class='graphite__hidden'>
<div>🎥 Video uploaded on Graphite:</div>
<a href="https://app.graphite.dev/media/video/sJGviKxfE3Ap685cl5bj/ff1d69b3-edd6-4d33-a01d-8b16e5192af7.mov ">
<img src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/sJGviKxfE3Ap685cl5bj/ff1d69b3-edd6-4d33-a01d-8b16e5192af7.mov ">
</a>
</div>
<video src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/sJGviKxfE3Ap685cl5bj/ff1d69b3-edd6-4d33-a01d-8b16e5192af7.mov ">录屏2025-01-21 18.46.29.mov</video>
2025-01-21 11:20:19 +00:00
Saul-Mirone
fa5e6e1f45
fix: remove bs shared and components in affine ( #9792 )
2025-01-20 09:41:06 +00:00
Saul-Mirone
2b3da1f0e9
fix: remove global, store and std in affine packages ( #9785 )
2025-01-20 06:14:46 +00:00
akumatus
d048ac6c91
feat(core): support chat panel chips and suggest current doc for embedding ( #9747 )
...
Support issue [BS-2347](https://linear.app/affine-design/issue/BS-2347 ).
## What Changed?
- Add chat panel components
- `chat-panel-chips`
- `chat-panel-doc-chip`
- `chat-panel-file-chip`
- `chat-panel-chip`
- Add `chips` and `docs` field in `ChatContextValue`
- Add `extractMarkdownFromDoc` function to extract markdown content of a doc
- Add e2e test
Click a candidate card to add it into AI chat context:
<div class='graphite__hidden'>
<div>🎥 Video uploaded on Graphite:</div>
<a href="https://app.graphite.dev/media/video/sJGviKxfE3Ap685cl5bj/4e6b11ef-f993-4e6a-9f40-b2826af1990c.mov ">
<img src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/sJGviKxfE3Ap685cl5bj/4e6b11ef-f993-4e6a-9f40-b2826af1990c.mov ">
</a>
</div>
<video src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/sJGviKxfE3Ap685cl5bj/4e6b11ef-f993-4e6a-9f40-b2826af1990c.mov ">录屏2025-01-17 01.02.04.mov</video>
2025-01-18 08:35:19 +00:00
akumatus
562e358dac
fix(core): downward arrow is visible when message panel is not scrollable ( #9670 )
...
Fix issue [AF-2056](https://linear.app/affine-design/issue/AF-2056 ).
### What changed?
- Check both `showDownIndicator` and `filteredItems.length` when rendering `DownArrowIcon`.
- Use `scrollIntoView` instead of `scrollToEnd` during AI result transmission.

2025-01-16 08:49:10 +00:00
donteatfriedrice
5c4e87ddb5
feat(editor): support text highlight html adapter ( #9632 )
...
[BS-2061](https://linear.app/affine-design/issue/BS-2061/html-adapter-支持-text-highlight-样式 )
2025-01-13 02:20:58 +00:00
Mirone
446b31b621
refactor(editor): rename job to transformer ( #9639 )
2025-01-11 12:04:07 +08:00
akumatus
2f49c064eb
feat(editor): remove chat-cards and Open AI Chat menu item ( #9626 )
...
Support issue [BS-2353](https://linear.app/affine-design/issue/BS-2353 ).
### What changed?
- Remove `Open AI Chat` menu item.
- Remove `chat-cards` web component.
- Add `extractAll` function for page and edgeless doc full content extract.
2025-01-10 03:53:11 +00:00
Saul-Mirone
126ab18967
feat(editor): selection as store extension ( #9605 )
2025-01-09 11:49:23 +00:00
Saul-Mirone
d21ef47ae8
chore(editor): rename std.doc to std.store ( #9596 )
2025-01-09 04:16:28 +00:00
akumatus
58ce86533e
feat(core): support ai network search ( #9357 )
...
### What Changed?
- Add `PerplexityProvider` in backend.
- Update session prompt name if user toggle network search mode in chat panel.
- Add experimental flag for AI network search feature.
- Add unit tests and e2e tests.
Search results are streamed and appear word for word:
<div class='graphite__hidden'>
<div>🎥 Video uploaded on Graphite:</div>
<a href="https://app.graphite.dev/media/video/sJGviKxfE3Ap685cl5bj/56f6ec7b-4b21-405f-9612-43e083f6fb84.mov ">
<img src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/sJGviKxfE3Ap685cl5bj/56f6ec7b-4b21-405f-9612-43e083f6fb84.mov ">
</a>
</div>
<video src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/sJGviKxfE3Ap685cl5bj/56f6ec7b-4b21-405f-9612-43e083f6fb84.mov ">录屏2024-12-27 18.58.40.mov</video>
Click the little globe icon to manually turn on/off Internet search:
<div class='graphite__hidden'>
<div>🎥 Video uploaded on Graphite:</div>
<a href="https://app.graphite.dev/media/video/sJGviKxfE3Ap685cl5bj/778f1406-bf29-498e-a90d-7dad813392d1.mov ">
<img src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/sJGviKxfE3Ap685cl5bj/778f1406-bf29-498e-a90d-7dad813392d1.mov ">
</a>
</div>
<video src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/sJGviKxfE3Ap685cl5bj/778f1406-bf29-498e-a90d-7dad813392d1.mov ">录屏2024-12-27 19.01.16.mov</video>
When there is an image, it will automatically switch to the openai model:
<div class='graphite__hidden'>
<div>🎥 Video uploaded on Graphite:</div>
<a href="https://app.graphite.dev/media/video/sJGviKxfE3Ap685cl5bj/56431d8e-75e1-4d84-ab4a-b6636042cc6a.mov ">
<img src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/sJGviKxfE3Ap685cl5bj/56431d8e-75e1-4d84-ab4a-b6636042cc6a.mov ">
</a>
</div>
<video src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/sJGviKxfE3Ap685cl5bj/56431d8e-75e1-4d84-ab4a-b6636042cc6a.mov ">录屏2024-12-27 19.02.13.mov</video>
2025-01-09 04:00:59 +00:00
Saul-Mirone
3683297ccf
feat(editor): add feature flag service ( #9592 )
2025-01-08 15:46:31 +00:00
Saul-Mirone
5842d45ab1
feat(editor): merge store and blocks ( #9591 )
2025-01-08 13:01:19 +00:00
Saul-Mirone
fe727412be
feat(editor): add editor store ( #9584 )
2025-01-08 07:47:43 +00:00
Saul-Mirone
26fb9d148c
chore: remove awareness sync since it's not used ( #9563 )
2025-01-07 06:12:08 +00:00
L-Sun
ded17abf7e
fix(editor): add childElementIds to ai generated frame ( #9537 )
...
Close [BS-1354](https://linear.app/affine-design/issue/BS-1354/更新-ai-slide-template-到新的-frame )
This PR add `childElementIds` to frame block in ai presentation templates
2025-01-07 04:19:09 +00:00
Saul-Mirone
f778d1a28a
refactor(editor): move extension to store ( #9552 )
2025-01-06 15:15:14 +00:00
Saul-Mirone
fc863e484c
refactor(editor): remove selection global types ( #9532 )
...
Closes: [BS-2217](https://linear.app/affine-design/issue/BS-2217/remove-global-types-in-selection )
2025-01-06 03:45:11 +00:00